C8051F的模數(shù)轉(zhuǎn)換及直流電機(jī)驅(qū)動(dòng)系統(tǒng)中的應(yīng)用
出處:xyele 發(fā)布于:2007-07-03 14:09:33
1 引言
隨著微型計(jì)算機(jī)的迅速發(fā)展,單片機(jī)的性能也大大增強(qiáng)。本文介紹Silicon Labs公司的8位單片機(jī)C8051F001系列,該系列器件內(nèi)部集成了A/D轉(zhuǎn)換器,這給測(cè)量模擬信號(hào)帶來(lái)了極大方便。利用單片機(jī)自身的PWM口可實(shí)現(xiàn)對(duì)電機(jī)數(shù)字系統(tǒng)的控制,提高了控制,大大簡(jiǎn)化了電路,符合小型化和低功耗的設(shè)計(jì)要求。
2 ADC的內(nèi)部結(jié)構(gòu)和特點(diǎn)
C8051F001/2/5/6/7系列自帶一個(gè)9通道的可配置模擬開(kāi)關(guān)(AMUX),一個(gè)可編程增益放大器(PGA)和一個(gè)100 kS/s,12位分辨率的逐次逼近型ADC,ADC還集成了跟蹤保持電路和可編程窗口檢測(cè)器。AMUX、PGA、模數(shù)轉(zhuǎn)換方式和窗口檢測(cè)器都可通過(guò)軟件對(duì)特殊功能寄存器的設(shè)置來(lái)實(shí)現(xiàn)。模擬多路開(kāi)關(guān)AMUX中的8個(gè)通道用于外部測(cè)量,第9通道內(nèi)部接至片內(nèi)溫度傳感器。采樣的模擬量由多路開(kāi)關(guān)配置后進(jìn)入可編程放大器。值得注意的是,PGA的增益對(duì)溫度傳感器也起作用。PGA增益可以用軟件編程為0.5、1、2、4、8或16,復(fù)位時(shí)的默認(rèn)增益為1。可以對(duì)AMUX編程為工作在差分方式或單端方式。系統(tǒng)復(fù)位后AMUX的默認(rèn)方式為單端輸入。ADC功能框圖如1所示。
![]() |
3 ADC工作原理
從外圍設(shè)備中采集出來(lái)的模擬量被選通后,由采樣和保持電路通過(guò)PGA增益放大,經(jīng)過(guò)一個(gè)12位的逐次逼近寄存器(SAR)轉(zhuǎn)化為數(shù)字量,具體過(guò)程是將二進(jìn)制規(guī)則變化的參考電壓逐次與模擬輸入電壓作比較,以尋找一個(gè)與輸入電壓接近的參考電壓,在逐次逼近寄存器(SAR)中獲得12位的轉(zhuǎn)換結(jié)果。
4 初始化設(shè)置
設(shè)置寄存器REF0CNR的0位選擇是否應(yīng)用內(nèi)部電壓基準(zhǔn)緩沖器,設(shè)置AMUX配置寄存器A-MUX0CF以選擇模擬端口的輸入方式。通道選擇寄存器AMUX0SL的低3位用于選擇0~7個(gè)通道或者溫度傳感器(AMXAD0),配置寄存器ADC0CF用來(lái)設(shè)置SAR轉(zhuǎn)換時(shí)鐘和ADC內(nèi)部放大增益??刂萍拇嫫鰽DCOCN用于設(shè)置ADC啟動(dòng)方式、ADC窗口比較中斷及ADCOH和ADCOL的對(duì)齊方式。將ADCEN置1,使能ADC,準(zhǔn)備轉(zhuǎn)換數(shù)據(jù)。寄存器ADCOCN的內(nèi)容如圖2所示。
![]() |
5 ADC的啟動(dòng)方式
A/D轉(zhuǎn)換的啟動(dòng)方式有4種,由ADC0CN的ADC啟動(dòng)轉(zhuǎn)換方式選擇位(ADSTM1,ADSTM0)的狀態(tài)決定。轉(zhuǎn)換觸發(fā)源有:
1) 寫(xiě)1到ADC0CN的ADBUSY位;
2) 定時(shí)器3溢出(即定時(shí)的連續(xù)轉(zhuǎn)換);
3) 外部ADC轉(zhuǎn)換啟動(dòng)信號(hào)的上升沿,CNVSTR;
4) 定時(shí)器2溢出(即定時(shí)的連續(xù)轉(zhuǎn)換)。
向ADBUSY寫(xiě)1方式提供在需要時(shí)用軟件控制ADC啟動(dòng)轉(zhuǎn)換的性能。ADBUSY位在轉(zhuǎn)換期間置1,轉(zhuǎn)換結(jié)束后復(fù)0。ADBUSY位的下降沿觸發(fā)一個(gè)中斷(當(dāng)被允許時(shí))并置1中斷標(biāo)志ADCINT。注意:當(dāng)轉(zhuǎn)換是由軟件(on-demand)啟動(dòng)時(shí),應(yīng)查詢ADCINT標(biāo)志(而不是ADBUSY)判斷轉(zhuǎn)換何時(shí)結(jié)束。轉(zhuǎn)換結(jié)果保存在ADC數(shù)據(jù)字的MSB和LSB寄存器:ADC0H和ADC0L中。轉(zhuǎn)換數(shù)據(jù)在寄存器對(duì)ADC0H:ADC0L中的存儲(chǔ)方式可以是左對(duì)齊或右對(duì)齊,由ADC0CN寄存器中ADLJST位的編程狀態(tài)決定。
6 ADC可編程窗口檢測(cè)器
8051中的ADC可編程窗口檢測(cè)器非常有用。它不停地將ADC輸出與用戶編程的限制量進(jìn)行比較,并在檢查到越限條件時(shí)通知系統(tǒng)控制器,這在中斷驅(qū)動(dòng)的系統(tǒng)中尤其有效,既可以節(jié)省代碼空間和CPU帶寬,又能提供快速響應(yīng)時(shí)間。窗口檢測(cè)器中斷標(biāo)志(ADCOCN中的ADWINT位)也可被用于查詢方式。參考字的高字節(jié)和低字節(jié)被裝入到ADC下限(大于)和ADC上限(小于)寄存器(ADC0GTH、ADC0GTL、ADC0LTH和ADC0LTL)。注意,窗口檢測(cè)器標(biāo)志即可以在測(cè)量數(shù)據(jù)位于用戶編程的極限值以內(nèi)時(shí)有效,也可以在測(cè)量數(shù)據(jù)位于用戶編程的極限值以外時(shí)有效,這些全部取決于ADC0GTx和ADC0LTx的編程值。
7 實(shí)際應(yīng)用
圖3是直流測(cè)速發(fā)電機(jī)與單片機(jī)的接口電路。在該系統(tǒng)中,通過(guò)單片機(jī)口產(chǎn)生PWM信號(hào)控制直流電機(jī)的轉(zhuǎn)速。在直流電機(jī)的軸上安裝直流測(cè)速發(fā)電機(jī),用來(lái)測(cè)量電動(dòng)機(jī)的轉(zhuǎn)速,測(cè)速發(fā)電機(jī)輸出是模擬量,所以必須經(jīng)過(guò)A/D轉(zhuǎn)換將輸出信號(hào)轉(zhuǎn)換成數(shù)字測(cè)速信號(hào),通過(guò)單片機(jī)將測(cè)速信號(hào)和給定的PWM信號(hào)進(jìn)行比較,用于加速或減速。從而形成電動(dòng)機(jī)的閉環(huán)控制系統(tǒng)。
![]() |
該電路采用了C8051005單片機(jī)。用模擬通道0采集信號(hào),采用2.4 V內(nèi)部參考電壓,模擬輸入端具有限流和限壓保護(hù)。直流測(cè)速發(fā)電機(jī)要與被測(cè)電機(jī)同軸,兩者以相同轉(zhuǎn)速轉(zhuǎn)動(dòng),測(cè)速發(fā)電機(jī)的輸出電壓必須經(jīng)過(guò)RC濾波處理后才能得到穩(wěn)定的直流電壓。R1為限壓電阻,調(diào)整滑動(dòng)變阻器的位置使測(cè)速電機(jī)達(dá)到轉(zhuǎn)速時(shí),滑變抽頭采樣得到的電壓為2.4 V。通過(guò)脈寬調(diào)制PWM控制開(kāi)關(guān)管工作的開(kāi)關(guān)狀態(tài),柵極輸入高電平時(shí),開(kāi)關(guān)管導(dǎo)通,12 V電壓加在電動(dòng)機(jī)兩端,時(shí)間為t1;柵極輸入低電平時(shí),開(kāi)關(guān)管截止,電動(dòng)機(jī)兩端電壓為0,時(shí)間為t2??傻玫秸伎毡萢=t1/(t1+t2)。在t2時(shí)段內(nèi),電源斷開(kāi),電動(dòng)機(jī)電感通過(guò)二極管D1釋放電能,D1起到續(xù)流作用。
圖4為產(chǎn)生PWM波的程序圖,圖5為調(diào)速子程序的流程圖。
![]() |
![]() |
![]() |
![]() |
CA生成PWM波主要是調(diào)節(jié)PCA0CPH0的值改變PWM波的占空比a=[256-(PCA0CPH0)]/256。下面是調(diào)速子程序,設(shè)電機(jī)給定值存放在50H單元中。
8.1 信號(hào)處理
C8051F內(nèi)部基準(zhǔn)電壓的范圍為AGND~AV±0.3 V,任意引腳在任何情況下(不論ADC或PGA的設(shè)置如何)必須使其輸入電壓保持在AGND和AV+之間,如果測(cè)試的模擬輸入電壓范圍為0~5 V,必須使信號(hào)衰減才能輸入ADC引腳。這里用到8051內(nèi)部的PGA(可編程增益放大器)。如果選用放大倍數(shù)為0.5倍,那么信號(hào)將衰減一半。如使用外部1.25 V參考電壓,PGA增益GAIN為0.5,允許的電壓輸入范圍是0 V~2.5 V,AIN電壓還必須在AGND和VREF/GAIN之間。假設(shè)一個(gè)12位的ADC,AINx引腳的輸人電壓小于AGND,結(jié)果將是0x000;如果輸入電壓大于(VREF/GAIN),結(jié)果將是0xFFF。
要注意的是,PGA不會(huì)改變信號(hào)的輸入范圍。同樣當(dāng)使用外部VREF時(shí),也要求VREF的值比AV+小300 mV,建議采用MAX873作為外部基準(zhǔn)電壓源。
8.2 抗擾處理
C8051F的ADC轉(zhuǎn)換結(jié)果一般很準(zhǔn)確,但如果A/D轉(zhuǎn)換后測(cè)得的數(shù)據(jù)跳變很大,那么很有可能是輸入信號(hào)中有干擾脈沖,需要加抗擾處理:
1) 將模擬電源和數(shù)字電源分開(kāi),電源之間的電壓差必須滿足數(shù)據(jù)手冊(cè)中的規(guī)定 D <0.5 V。
2) 將模擬地和數(shù)字地分開(kāi),不能混用。注意一定要在遠(yuǎn)離CPU處(或電源處)通過(guò)導(dǎo)線連接,否則會(huì)在CPU的模擬地和數(shù)字地引腳之間產(chǎn)生電勢(shì)差,造成系統(tǒng)不穩(wěn)定,甚至死機(jī)現(xiàn)象。
3) 沒(méi)有用到的模擬引腳要接模擬地。
4) 在VREF引腳接0.1μF和4.7μF電容,用于濾波和抑制噪聲。
5) 模擬信號(hào)的輸入電壓不能超過(guò)AV+-0.3 V,為保證模擬輸入引腳不被高電平損傷,要采取保護(hù)措施,如加入穩(wěn)壓二極管MBR360等。另外為防止模擬輸入通過(guò)大的電流,還要在模擬引腳和模擬地之間加一只1μF的電容。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識(shí)介紹2025/8/29 16:58:56
- SQL核心知識(shí)點(diǎn)總結(jié)2025/8/11 16:51:36
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復(fù)控制的復(fù)合控制策略2025/7/29 16:58:24
- 什么是樹(shù)莓派?一文快速了解樹(shù)莓派基礎(chǔ)知識(shí)2025/6/18 16:30:52
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法
- PCB電磁兼容(EMC)設(shè)計(jì)與干擾抑制核心實(shí)操規(guī)范
- 用于相位噪聲測(cè)量的低通濾波器設(shè)計(jì)與本振凈化技術(shù)
- MOSFET在高頻開(kāi)關(guān)中的EMI問(wèn)題
- 電源IC在便攜式設(shè)備中的設(shè)計(jì)要點(diǎn)
- 連接器結(jié)構(gòu)設(shè)計(jì)常見(jiàn)問(wèn)題分析
















