基于SH69P42 PWM的10位D/A轉換器
1引言
本文引用地址:http://www.biyoush.com/article/148995.htm提高單片機片內資源的利用率;縮小最終產(chǎn)品的體積,降低功耗,減輕重量,提高集成度,提高可靠性,是單片機應用系統(tǒng)設計的基本原則。
在單片機選型時,由于內部資源針對不同應用有多種組合,從而形成了單片機系列。例如:片內程序存儲器的大小、RAM的大小、A/D精度及通道數(shù)、D/A精度及通道數(shù)、是否有LCD驅動、I/O數(shù)、是否有PWM、精度、中斷數(shù)量及嵌套、定時器數(shù)及精度等。但在實際應用中,也很難做到單片機的配置完全符合應用要求。因為應用是多樣化的,而單片機的型號、系列畢竟有限。因此,如果能方便地將單片機所提供的內部功能元件轉為另一功能,將大大拓展單片機的應用領域。
當應用需要模擬量輸出時,就需要有D/A轉換器,一般地,還需有專門的元件以及外圍電路。這里闡述一種基于SH69P42的一路PWM實現(xiàn)D/A轉換器的方法。
SH69P42是中穎公司基于SH6610D內核的4位RISC指令集的單片機,內部集成有四通道8位SARA/D轉換器,兩通道10位PWM輸出,三種兩級中斷(A/D中斷、端口中斷和定時器中斷)、兩個8位定時器,16個I/O引腳,內有OTP型ROM:3072×16位,RAM:192×4位,內置低電壓監(jiān)視復位和看門狗電路,振蕩器工作頻率從32768Hz至8MHz,可編程選擇片內RC振蕩、片外RC振蕩、外接晶體振蕩等形式。SH69P42共有43條指令,每條指令的執(zhí)行時間均等,是振蕩器周期的4倍。
SH69P42符合工業(yè)規(guī)格,適用于對系統(tǒng)抗干擾能力要求極高的場合。
3SH69P42的PWM編程
3。1SH69P42的RAM編址
SH69P42的內部寄存器除累加器A、進位標志CY、程序計數(shù)器PC之外,端口、定時器、A/D、PWM中斷、WDT與通用RAM一起統(tǒng)一編址。其地址由10位組成,源操作數(shù)的有效位為7位,因此采用了BANK概念,每128單元為一個BANK,用BANK值給出高3位地址。
例如:LDAMx,bbb
其中,Mx為取數(shù)單元地址的低7位,BANK值bbb為取數(shù)單元地址的高3位。
LDA10H,01H
表示將RAM單元90H的內容送至累加器A。
3。2SH69P42的PWM編程
SH69P42具有兩通道10位PWM輸出,分別由三個寄存器控制。
系統(tǒng)寄存器PWMC控制PWM輸出,系統(tǒng)寄存器PWMP設置PWM輸出信號周期,系統(tǒng)寄存器PWMD設置PWM輸出信號的占空比。如表1、表2、表3所列。
4PWM實現(xiàn)D/A轉換
4。1實現(xiàn)電路及參數(shù)計算
圖1為基于SH69P42PWM1的D/A轉換的原理圖。
(1)振蕩選擇
由于PWM的周期、占空比與SH69P42的振蕩周期密切相關,為保證高精度。尤其是避免溫度影響,采用外接晶體振蕩器的方法,而不采用內部或外部RC振蕩方式。因為后者受工作環(huán)境溫度影響較大。
4。1。210位D/A的實現(xiàn)方法
從表2、表3看出,SH69P42的PWM輸出時,先設定周期再設定占空比,周期確定后,占空比其實就是在本周期內有效高電平(正向,反之同理)脈沖的數(shù)量與周期電平數(shù)量的比。SH69P42允許最大的周期設定是10位,因此,采用周期固定,也就是3FFH,將待轉換數(shù)直接對應為占空比的數(shù)值,就可以實現(xiàn)10位的D/A轉換。
4。1。3輸出滿量程的分辨率假定輸出電壓為SH69P42的工作電壓為5V,10位數(shù)字量的數(shù)字分辨率為1/1024,轉換為模擬量為5V/1024=4。8mV,這就是模擬輸出的分辨率。
4。1。4輸出端RC網(wǎng)絡的參數(shù)選擇
輸出端根據(jù)后續(xù)電路的需要,可以采取一階RC積分網(wǎng)絡或二階RC低通網(wǎng)絡。圖1所示為二階RC低通網(wǎng)絡,一方面可濾除高頻雜波,另一方面可根據(jù)PWM的周期頻率輸出滿足需要的不會過滯后隨動模擬電壓。
當PWM1輸出為高電平時,通過電阻R2、R3對電容C5、C4充電,Output電壓升高,當PWM1輸出低電平時兩電容C5、C4通過兩電阻R2、R3放電,使得Output電壓降低。這樣,PWM1輸出時,在固定周期下隨著占空比的變化,Output電壓值上下波動,波動幅度與占空比的數(shù)值線性相關。
4。2程序設計規(guī)則
SH69P42單片機的PWM在軟件設計時需遵循以下規(guī)則:
設置PWMn的周期或占空比時,先設置高四位,然后設置中四位,最后設置低四位;
在PWM輸出狀態(tài)下,只有寫入PWMn周期或占空比的第四位數(shù)據(jù)后,數(shù)據(jù)才會裝入重裝入計數(shù)器并在下一個周期開始時計數(shù);
當選擇以PWMn輸出(PWMCbit0=1)時,PWMn輸出的第一個周期和第一個占空比是按3FFH計數(shù),系統(tǒng)寄存器PWMP和PWMD的數(shù)據(jù)從第二個周期開始計數(shù);
PWM能在HALT方式下繼續(xù)工作,并在執(zhí)行STOP指令后自動停止工作。
另外,SH69P42的振蕩方式編程不是在程序中實現(xiàn),而是在對OTP編程之前的燒寫設置中按照實際設定的。
4。3轉換結果分析
單片機外接振蕩器振蕩頻率為4MHz,PWM時鐘設定為8倍tOSC($21=0111),周期設定為3FFH($2A$29$28=0011,1111,1111)時,PWM的時鐘周期為2。048ms,占空比(這里相當于D/A轉換的數(shù)字量)為0FFH($2D$2C$2B=000011111111)。理論計算輸出為1。25V(0FFH×5/3FFH),波形顯示約為1。25V,基本一致。此時PWM占空比的時間為125μs,周期為2。048ms,與理論值基本一致。
5結束語
常溫下實際轉換結果與理論計算結果基本一致。在45℃時,實際轉換結果和理論計算值的偏差為0。15%左右,能夠滿足大多數(shù)場合的需要。如果對振蕩系統(tǒng)、二階RC低通網(wǎng)絡的元件參數(shù)提高篩選要求的話,可以實現(xiàn)偏差值在0。1%以內。
pwm相關文章:pwm是什么
pwm相關文章:pwm原理
評論