用C8051F構成的采集與控制系統(tǒng)
在實際應用中,對被控對象的物理參數(shù)(溫度、濕度、位移、電流及電壓等)在一定的范圍內(nèi)進行控制,是單片機的典型應用之一。很多宏觀要求精確控制的場合,其微觀控制過程,仍可歸結為是對某些參數(shù)變化范圍的控制。如傳統(tǒng)的三相異步電機從啟動到正常運行,電流、電壓和溫度的變化;抽水塔水位的變化;機床刀具的行程變化及數(shù)字電表的自動量程變換等。這些控制過程最顯著的特點是:被控物理量都是一個變化范圍,而非某一個精確的“點”。對物理量變化范圍進行有效控制的方法很多,本文重點介紹利用C8051F000單片機片內(nèi)8路高性能的12位ADC數(shù)據(jù)采集系統(tǒng)和可編程窗口檢測器,實現(xiàn)對多路參數(shù)變化范圍控制的硬件組成和軟件設計方法。
1C8051FXXX系列單片機介紹
總部位于美國德克薩斯州的美國Cygnal公司,是一家專門從事混合信號片上系統(tǒng)單片機設計與制造的新興半導體公司。C8051FXXX系列單片機是該公司以擁有自主產(chǎn)權,并與MCS-51內(nèi)核及指令集完全兼容的CIP-51為內(nèi)核而集成的混合信號片上系統(tǒng)(System on Chip)。片內(nèi)集成了數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬部件,能方便地通過數(shù)字交叉開關,將內(nèi)部數(shù)字系統(tǒng)資源定向到外部I/O口上;高達25MIPS的執(zhí)行速度、強大的模擬信號處理和資源控制功能;8路高性能的12位ADC(速度為100kHz)數(shù)據(jù)采集系統(tǒng),2路12位精度DAC,2路模擬比較器和 ADC可編程窗口檢測器;8~64KB的閃速/電可擦除程序存儲器,256~2304B的RAM;典型的串行通信接口、22個中斷源、7個復位源;先進的 JTAG非侵入式在線調(diào)試和看門狗、電源監(jiān)視等可靠的安全機制。它匯集了許多單片機領域的先進技術,成為目前功能最強大的8位單片機之一。
2硬件電路組成及原理
硬件電路如圖1所示,分成數(shù)據(jù)采集、按鍵控制和顯示輸出三大部分。C8051FXXX系列的8路模擬量采集通道,通過選擇不同功能的傳感器或電量轉換裝置(如電流、電壓互感器、集成溫度傳感器等),完成對被測目標系統(tǒng)多路參數(shù)的數(shù)據(jù)采集。工作時,系統(tǒng)不斷將各通道采集來的數(shù)據(jù)與用戶事先設定的上/下限極值進行比較;系統(tǒng)執(zhí)行機構根據(jù)比較結果,確定是否越限而作出相應的具體操作。系統(tǒng)顯示部分為5位LED顯示,低4位用來顯示用戶所選定通道的模擬信號大小或上/下限極值設置 數(shù)據(jù),最高位LED4為通道數(shù)字(0~7)顯示位。 P0.0~P0.7為各通道越限處理輸出,分別控制相應的執(zhí)行機構。
圖1
2.1按鍵控制功能
按鍵控制部分是整個系統(tǒng)最復雜、最能體現(xiàn)設計思想的一部分。為了方便地選擇通道及顯示設置數(shù)據(jù),以盡量少的按鍵完成盡可能多的功能,實現(xiàn)較好的人機界面和軟、硬件資源的有機結合,設置了選擇通道的“切換”鍵S1、進行ADC窗口檢測器上/下限極值設定的“設置”鍵S5、改變LED顯示數(shù)據(jù)的“+”、 “-”鍵S3、S4,并要求每按一次使顯示值加(減)1。如果連續(xù)按鍵超過一定時間(如2s),則顯示值將很快地遞增或遞減。用戶設置完畢,按下“存儲” 鍵S2,可將所設數(shù)據(jù)保存在非易失性數(shù)據(jù)存儲器Flash中,避免由于斷電而需重新設置數(shù)據(jù)的麻煩。通過軟件設計,完成數(shù)據(jù)的自我備份與保護,不需要另置備用電池,簡化了硬件結構。
2.2ADC的工作方式及窗口檢測器
C8051F000片內(nèi)ADC子系統(tǒng)內(nèi)除集成了1個多通道模擬輸入選擇器(AMUX)、可編程增益放大器(PGA)和1個100Ksps、12位分辨率的逐次逼近型ADC外,還集成了跟蹤保持電路和可編程窗口檢測器。它們完全由CIP-51通過特殊功能寄存器控制。
①ADC0CN寄存器。控制轉換啟動方式和結果數(shù)據(jù)存放方式,設置ADC轉換結束和窗口檢測器中斷標志等。A/D轉換允許用軟件事件、硬件信號觸發(fā)轉換或進行連續(xù)轉換。每次轉換完成后產(chǎn)生一個中斷,或者用軟件查詢來判斷轉換是否結束,完成后數(shù)據(jù)字被鎖存在指定的寄存器中。
②AMXOSL、AMXOCF寄存器。ADC通道選擇。當AMXOCF=00H時,AMXOSL的00H~07H分別表示選擇AIN0~AIN7八個模擬輸入通道。
③ADC0GTH ADC0GTL寄存器。該兩個存儲單元為ADC可編程窗口檢測器,為供用戶設定上限的12位數(shù)據(jù)寄存器。ADC0GTH為高四位,ADC0GTL為低八位。
④ADC0LTH ADC0LTL寄存器。ADC可編程窗口檢測器,為供用戶設定下限的12位數(shù)據(jù)寄存器。
3軟件設計
為便于升級和維護,軟件設計采用積木式模塊化處理,各功能模塊既相互聯(lián)系,又自成一體。其基本設計思想是:利用定時/計數(shù)器T3的溢出,定時地啟動 ADC轉換和窗口比較器中斷。通過中斷處理,將相應通道的12位轉換數(shù)據(jù)與由用戶設定的上/下限極值作為越限條件進行比較,產(chǎn)生新的中斷輸出,驅使系統(tǒng)執(zhí)行機構進行相應的調(diào)整,從而達到數(shù)據(jù)被控制在某一范圍內(nèi)的目的。
主程序由初始化、顯示、定時比較及按鍵處理等軟件功能模塊組成,圖2為主程序流程框圖。主程序及所有被調(diào)用的子程序見本刊網(wǎng)絡補充版(www.dpj.com.cn)。
圖2
結語
自2000年美國Cygnal公司推出C8051FXXX系列單片機以來,強大的內(nèi)部功能和豐富的片內(nèi)資源,使之能用最簡單的硬件結構實現(xiàn)多通道數(shù)據(jù)范圍的檢測。本文設計的控制系統(tǒng),只要配置合適的電量傳感器,就可方便地用于各類電力變電系統(tǒng)對三相電流、電壓等進行范圍控制。
參考文獻
1. 李剛.林凌 與8051兼容的高性能、高速單片機-C8051Fxxx 2002
2. 肖定柏 LHB型交流互感器在家電中的應用 1996(12)
3. 龔成龍 智能異步電動機綜合保護器設計 2002(2)
4. 何立民 單片機應用技術選編 1997
5. 潘琢金.施國君 C8051Fxxx高速SOC單片機原理及應用 2002
6. 李華 MCS-51系列單片機實用接口技術 2002