由STC12C2052AD控制的改進(jìn)型調(diào)壓電路
在ZXC10通信電源系統(tǒng)中,上位機(jī)輸出的PWM調(diào)制信號(hào)的頻率為1 kHz,而且系統(tǒng)要求電源能根據(jù)PWM信號(hào)的占空比進(jìn)行調(diào)壓。即對(duì)電源輸出電壓在40 Vdc~60 Vdc范圍內(nèi)通過(guò)此PWM信號(hào)進(jìn)行線性調(diào)節(jié)。PWM信號(hào)5%占空比對(duì)應(yīng)40±0.5 Vdc,95%的占空比對(duì)應(yīng)60±0.5 Vdc。以前此功能是用帶有D/A的單片機(jī)來(lái)實(shí)現(xiàn).即把PWM調(diào)制信號(hào)輸入單片機(jī),通過(guò)單片機(jī)來(lái)計(jì)算PWM信號(hào)的占空比,再根據(jù)PWM信號(hào)的占空比與輸出電壓的關(guān)系,并通過(guò)D/A轉(zhuǎn)換來(lái)產(chǎn)生用于調(diào)節(jié)輸出電壓的偏移量,最后通過(guò)此偏移量和電源輸出反饋量的共同作用來(lái)實(shí)現(xiàn)調(diào)壓。
2 單片機(jī)調(diào)壓系統(tǒng)
通過(guò)帶有D/A的單片機(jī)來(lái)實(shí)現(xiàn)調(diào)壓系統(tǒng)的方框圖如圖1所示。但是,由于帶有D/A的單片機(jī)比較貴,因而會(huì)增加產(chǎn)品成本。而如果把PWM調(diào)制信號(hào)的頻率提高,再經(jīng)過(guò)一個(gè)簡(jiǎn)單的二階有源低通濾波器來(lái)產(chǎn)生調(diào)壓偏移量,則可用不帶D/A轉(zhuǎn)換的單片機(jī)來(lái)實(shí)現(xiàn)調(diào)壓,這樣可以大大節(jié)省成本。其改進(jìn)后的電路方框圖如圖2所示。
3STC12C2052AD的PCA/PWM工作原理
由于STC12C2052AD單片機(jī)是作于1個(gè)時(shí)鐘/機(jī)器周期,且有增強(qiáng)型8051內(nèi)核,故其速度比普通8051快8~12倍。該單片機(jī)有2路可編程計(jì)數(shù)器陣列(PCA)/PWM,其中PCA1模塊用作捕獲模式,可識(shí)別輸入的PWM調(diào)制信號(hào),PCA0模塊用作脈寬調(diào)節(jié)模式(PWM),可實(shí)現(xiàn)頻率轉(zhuǎn)換。此外,由于該單片機(jī)價(jià)格比較便宜,故采用此單片機(jī)作為核心控制芯片。
3.1 STC12C2052AD單片機(jī)的PCA捕獲模式
STC12C2052AD系列單片機(jī)中的PCA可編程計(jì)數(shù)器陣列含有一個(gè)特殊的16位定時(shí)器,它可與2個(gè)16位捕獲/比較模塊相連。每個(gè)模塊可編程工作在4種模式下,即:上升/下降沿捕獲、軟件定時(shí)器、高速輸出或可調(diào)制脈沖輸出。設(shè)計(jì)時(shí),可將模塊0連接到P3.7(CEX0/PCA0/PWM0),模塊1連接到P3.5(CEX1/PCA1/PWM1)。由于寄存器CH和CL的內(nèi)容是正在自由遞增計(jì)數(shù)的16位PCA定時(shí)器的值,因此,PCA定時(shí)器可作為2個(gè)模塊的公共時(shí)間基準(zhǔn),并可通過(guò)編程工作在1/12振蕩頻率、1/2振蕩頻率、定時(shí)器0溢出或ECI腳的輸入(P3.4)。定時(shí)器的計(jì)數(shù)源由CMOD SFR的CPS1和CPS0位來(lái)確定。
要使PCA模塊工作在圖3所示的捕獲模式,寄存器CCAPMn中的CAPNn和CAPPn至少應(yīng)有一位必須置1。對(duì)模塊的外部CEXn輸入(包括CEX0/P3.7、CEX1/P3.5、CEX2/P2.0、CEX3/P2.4口)的跳變進(jìn)行采樣時(shí),若采樣到有效跳變,其PCA硬件就將PCA計(jì)數(shù)器陣列寄存器(CH和CL)的值裝載到模塊的捕獲寄存器中(CCAPnL和CCAPnH)。
3.2 STC12C2052AD的PCA脈寬調(diào)節(jié)模式
所有PCA模塊都可按圖4所示的工作模式用作PWM輸出。其輸出頻率取決于PCA定時(shí)器的時(shí)鐘源。由于所有模塊均共用僅有的PCA定時(shí)器,所以,它們的輸出頻率相同。各個(gè)模塊的輸出占空比是獨(dú)立變化的,與使用的捕獲寄存器{EPCnL,CCAPnL}有關(guān)。當(dāng)CL SFR的值小于{EPCnL,CCAPhL}時(shí),輸出為低,而當(dāng)PCA CLSFR的值等于或大于{EPCnL,CCAPnL}時(shí),輸出為高。當(dāng)CL的值由FF變?yōu)?0溢出時(shí),{EPCnH,CCAPnH}的內(nèi)容將被裝載到{EPCnL,CCAPnL}中。這樣就可實(shí)現(xiàn)無(wú)干擾地更新PWM。使能PWM模式時(shí),模塊CCAPMn寄存器的PWMn和ECOMn位必須置位。由于PWM是8位的,所以可用下式來(lái)計(jì)算PWM的信號(hào)頻率:
本文引用地址:http://m.butianyuan.cn/article/201612/324920.htm
4 PWM信號(hào)的接收與轉(zhuǎn)換
4.1 PWM調(diào)制信號(hào)接收模塊
由于要用PCA1模塊來(lái)把上位機(jī)輸出的頻率為1 kHz的PWM調(diào)制信號(hào)的頻率提高(因?yàn)轭l率越高,越容易濾波),故將PCA定時(shí)器的時(shí)間基準(zhǔn)置為1/2振蕩頻率。用PCA1 (P3.7)模塊來(lái)識(shí)別接收的PWM調(diào)制信號(hào)時(shí),應(yīng)使PCA1工作在上升/下降沿捕獲工作模式,并打開(kāi)PCA中斷。設(shè)計(jì)時(shí),可首先設(shè)置PCA1工作在上升沿捕獲工作模式,這樣,當(dāng)P3.7腳采樣到上升沿跳變時(shí),PCA0模塊即可將PCA計(jì)數(shù)器陣列寄存器CH和CL的值裝載到模塊的捕獲寄存器中{CCAP1H,CCAP1L}。然后在中斷中把{CCAP1H,CCAP1L}的值存放到自定義的數(shù)據(jù)單元{UP_DATAH,UP_DATAL}中,并在中斷中把PCA1工作模式設(shè)置為下降沿捕獲工作模式,從而在P3.7腳采樣到下降沿跳變時(shí),PCA1模塊硬件就可將PCA計(jì)數(shù)器陣列寄存器{CH,CL)的值裝載到模塊的捕獲寄存器中{CCAP1H,CCAP1L}。之后,再在中斷中把{CCAP1H,CCAP1L}的值存放在數(shù)據(jù)單元{DOWN_DATAH,DOWN_DATAL}中,并利用雙字節(jié)無(wú)符號(hào)數(shù)減法得出PWM調(diào)制信號(hào)正脈沖時(shí)定時(shí)器的計(jì)數(shù)個(gè)數(shù)為:
N1={DOWN_DATAH,DOWN_DATAL)-{DOWN_DATAH,DOWN_DATAL}
由于PWM調(diào)制信號(hào)的頻率為1 kHz,周期T為1 ms。因此,可設(shè)1 ms中PCA定時(shí)器的計(jì)數(shù)個(gè)數(shù)為N2,則PWM調(diào)制信號(hào)的占空比為:
4.2 PWM調(diào)制信號(hào)的頻率轉(zhuǎn)換
上位機(jī)輸出的PWM調(diào)制信號(hào)的頻率為1 kHz左右。由于該頻率比較低,直接對(duì)其進(jìn)行濾波后的紋波比較大,因此,在濾波之前,應(yīng)先把接收的PWM調(diào)制信號(hào)轉(zhuǎn)變成與占空比成線性比例的高頻PWM調(diào)制信號(hào),頻率轉(zhuǎn)換可通過(guò)PCA0 (P3.5)PWM功能模塊來(lái)實(shí)現(xiàn)。由于選擇的晶振為20MHz,故可選Fosc/2為PCA/PWM時(shí)鐘輸入源,這樣,其PWM的頻率為39.062 kHz。
評(píng)論