作者:劉青青,朱清芳
數(shù)據(jù)采集是為了對溫度、壓力、流量、速度、位移、光強(qiáng)度、聲音等物理量進(jìn)行在線測量和控制,通過傳感器把上述物理量轉(zhuǎn)換成模擬物理量的電信號。然后將模擬電信號經(jīng)過處理并轉(zhuǎn)換成計算機(jī)能識別的數(shù)字量,送入計算機(jī)處理、存儲、傳輸和顯示。
在操縱桿控制器的工作過程中,需要對操縱桿X軸和Y軸輸出的2路電壓信號進(jìn)行A/D轉(zhuǎn)換,轉(zhuǎn)換后的數(shù)據(jù)范圍要求在-1 500~1 500,采樣精度為12位。另外還需要對采集后的數(shù)據(jù)進(jìn)行計算,并通過串口與兩自由度光電穩(wěn)定平臺進(jìn)行通信,實現(xiàn)對穩(wěn)定平臺的功能控制,通信周期為80 ms。出于成本的考慮,沒有采用傳統(tǒng)專用A/D芯片+單片機(jī)的設(shè)計模式,只用了一片C8051F020單片機(jī)實現(xiàn)了上述功能。
1 芯片簡介
Cygnal公司的C8051F020單片機(jī)是一款高性能的數(shù)字/模擬混合微處理器,具有與8051指令集完全兼容的CIP-51內(nèi)核。具有豐富的片內(nèi)資源和外圍接口,-40~+85℃的工作環(huán)境,內(nèi)置有12位精度的A/D采集接口,在工業(yè)甚至軍用領(lǐng)域中自動控制和智能監(jiān)控等方面得到了廣泛的應(yīng)用。
2 系統(tǒng)設(shè)計
傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)信號處理電路復(fù)雜龐大,且采集速率慢,溫漂大,抗干擾性差。所以本系統(tǒng)采用C8051F020單片機(jī)直接將模擬量轉(zhuǎn)換為數(shù)字量傳給穩(wěn)定平臺系統(tǒng),電路簡單實用,采集速率快,精度高并且通過RS 422通信模塊與穩(wěn)定平臺通信,抗干擾性強(qiáng)。
該系統(tǒng)由C8051F020單片機(jī)、晶體、電源模塊及RS 422通信模塊等部分組成。外部電源為+28 V,經(jīng)DC28S5電源模塊變換后輸出+5 V,給操縱桿和MAX490芯片供電。由于單片機(jī)需要3.3 V的電源才能工作,因此需要將+5 V電源經(jīng)三端穩(wěn)壓器LT1117-3.3 V變換后供給單片機(jī)使用。然后把經(jīng)過電壓調(diào)制的操縱桿模擬信號連接到單片機(jī)的ADC輸入端口上,啟動單片機(jī)內(nèi)部A/D轉(zhuǎn)換電路,將其轉(zhuǎn)換成數(shù)字信號存儲到內(nèi)存。最后,按照規(guī)定的通信格式,通過單片機(jī)的串口和MAx490芯片將信號發(fā)送給穩(wěn)定平臺,從而實現(xiàn)了穩(wěn)定平臺的操縱控制過程。
系統(tǒng)工作原理如圖1所示。
2.1 基準(zhǔn)電壓的配置
單片機(jī)ADC0模塊所使用的電壓基準(zhǔn)采用內(nèi)部基準(zhǔn)電壓1.2 V,其內(nèi)部電壓基準(zhǔn)電路由一個1.2 V1 5 ppm/典型值的帶隙電壓基準(zhǔn)發(fā)生器和一個兩倍增益的輸出緩沖放大器組成內(nèi)部基準(zhǔn)電壓(2.4 V)。通過VREF引腳連到芯片的VREF0引腳,并在VREF引腳與AGND之間接入0.1 μF和4.7μF的旁路電容,用來將VREF的開啟時間控制在2 ms。
2.2 信號處理電路
一般操縱桿包括操縱和控制兩部分。根據(jù)一般目標(biāo)運動特性,該操縱桿采用X,Y兩個方向運動控制。
而本文選用的操縱桿X軸和Y軸采用霍爾元件感應(yīng)其位移,輸出電壓范圍為0~5 V。而單片機(jī)C8051F020的A/D基準(zhǔn)參考電壓為2.4 V,因此需要做一個電壓變換電路,將0~5 V的電壓變換到0~2.4 V,才能被單片機(jī)的A/D模塊使用。電壓變換電路如圖2所示。
采用公式out=in×R2/(R1+R2)來計算電阻R1和R2的阻值,令out=2.4,in=5,可以得到R2/R1=48/52??紤]到功耗因素,R1采用5.2 kΩ的電阻,R2采用4.8 kΩ的電阻,電阻采用0.5%的高精度軍品電阻,可以滿足系統(tǒng)高溫和低溫工作要求。
2.3 A/D采集模塊的配置
C8051F020的ADCO模塊包括一個9通道的可編程模擬多路選擇器AMUX0,一個可編程增益放大器PGA0和一個100 KSPS 12位分辨率的逐次逼近寄存器ADC。ADC中集成了跟蹤保持電路和可編程窗口檢測器,原理框圖如圖3所示。
AMUX0,PGA0、數(shù)據(jù)轉(zhuǎn)換方式及窗口檢測器都可用軟件通過圖3所示的特殊功能寄存器來控制。只有當(dāng)ADC0控制寄存器中的AD0EN位被置1時,ADC0子系統(tǒng),ADC0跟蹤保持器和PGA0才被允許工作;當(dāng)ADOEN位為0時,ADC0子系統(tǒng)處于低功耗關(guān)斷方式。
3 軟件編程
軟件主要包括主程序、A/D采集子程序和串口通信子程序。
為了提高采集精度,采用了過采樣技術(shù),即多次采集累加后求平均值的辦法。但考慮到采集速度的要求,也不能無限制地增加采樣次數(shù)。經(jīng)過試驗測試,采用8次采樣即可同時滿足采樣精度和采樣速度的雙重要求。
此外,根據(jù)系統(tǒng)的實際工作環(huán)境條件,選擇恰當(dāng)?shù)耐ㄐ沤涌诤蛥f(xié)議,合理設(shè)計通信硬件和軟件,獲得高可靠性、強(qiáng)抗干擾和容錯能力,成為衡量此類系統(tǒng)好壞的最重要因素。
為了提高通信傳輸?shù)目煽啃?,通信協(xié)議采用了“消息頭+消息體+校驗和”的防錯設(shè)計。具體表述如下:消息結(jié)構(gòu)總共10個字節(jié),消息頭占2個字節(jié),一般采用固定值,比如EB,90(16進(jìn)制)。消息體內(nèi)是有用的數(shù)據(jù)信息,占7個字節(jié)。最后是檢驗和,一般采用數(shù)學(xué)和,即消息頭和消息體9個字節(jié)累加后,整除256的余數(shù)。采用這種方式進(jìn)行通信傳送,接收機(jī)必須在正確判讀了消息頭和校驗和后才認(rèn)為命令是有效的,否則該命令消息就被忽略。
軟件流程如圖4~圖6所示。
4 結(jié)語
本文基于工程實際對A/D轉(zhuǎn)換速度和精度的要求,采用了過采樣原理以提高數(shù)模轉(zhuǎn)換的精度。利用C8051F020單片機(jī)自身的片上資源,給出了一種簡便有效的過采樣原理的工程實現(xiàn)方法。自2007年投入工程應(yīng)用后實驗證明:用這種方法可以提高測量分辨率,并且可以簡化外部電路、降低硬件成本。因此,這種方法對硬件成本和采樣精度都有較高要求的控制、采集、測量系統(tǒng)來說具有較高的參考價值,可同時滿足軍事和商業(yè)領(lǐng)域。