常州大學(xué)信息科學(xué)與工程學(xué)院 陳江燁
華北石化公司機(jī)動(dòng)設(shè)備處 喬悅峰
中國(guó)石油北京油氣調(diào)控中心 高 巖
華北油田公司采油四廠 張 裔
華北油田公司采油工藝研究院 高振濤
數(shù)據(jù)采集系統(tǒng)在國(guó)民經(jīng)濟(jì)各領(lǐng)域的應(yīng)用日益廣泛。AVR系列單片機(jī)一直以功能強(qiáng)、可靠性高、速度快和功耗低等特點(diǎn)而得到廣泛應(yīng)用;MCP3302是一種多通道輸入、低功耗、帶有SPI串行接口的A/D轉(zhuǎn)換器。用AVR單片機(jī)和MCP3302組成的數(shù)據(jù)采集系統(tǒng)成功用于生產(chǎn)實(shí)際,完成對(duì)兩路參數(shù)的數(shù)據(jù)采集,取得了較好的效果。
該數(shù)據(jù)采集系統(tǒng)是為監(jiān)測(cè)壓力和溫度兩個(gè)參數(shù)而設(shè)計(jì)的,總體設(shè)計(jì)框圖見圖1。
單片機(jī)是該數(shù)據(jù)采集系統(tǒng)的核心,選用了AVR單片機(jī)ATmega 16,ATmega 16是Atmel公司生產(chǎn)的8位嵌入式單片機(jī),它是基于增強(qiáng)的AVR RISC結(jié)構(gòu)的低功耗8位CMOS微控制器。特點(diǎn)為:16K字節(jié)的系統(tǒng)內(nèi)可編程Flash,512字節(jié)EEPROM,1K字節(jié)SRAM,32個(gè)通用I/O口線,32個(gè)通用工作寄存器,用于邊界掃描的JTAG接口,支持片內(nèi)調(diào)試與編程,3個(gè)具有比較模式的靈活的定時(shí)器/計(jì)數(shù)器(T/C),片內(nèi)/外中斷,1個(gè)可編程串行USART,1個(gè)SPI串行端口等,硬件資源非常豐富。
MCP3302是一種13位差分輸入、低功耗、帶有SPI串行接口的A/D轉(zhuǎn)換器。有以下特點(diǎn):?jiǎn)坞娫垂ぷ鳎ぷ麟妷悍秶鷮?,可?.7~5.5V電壓間工作;功耗低,激活工作電流僅為450μA,而維持電流小于1μA;工作方式靈活,單端輸入工作方式和差分輸入工作方式可通過命令設(shè)置,其中差分輸入工作方式能有效抑制輸入端共模干擾的影響;與微處理器可以采用SPI接口總線通訊,為微處理器節(jié)約口線,同時(shí),也使數(shù)據(jù)采集更加方便;幾乎無外圍器件,從而減少了由于外圍器件而引入的干擾和誤差,提高了可靠性;
(1)MCP3302引腳功能
CH0-CH3:模擬信號(hào)輸入端
NC:保留未用端子
DGND:數(shù)字地
CS/SHDN:片選/關(guān)閉輸入
DIN:串行數(shù)據(jù)輸入端
DOUT:串行數(shù)據(jù)輸出端
CLK:串行時(shí)鐘
AGND:模擬地
VREF:參考電壓輸入
VDD:電源電壓
(2)MCP3302的簡(jiǎn)要操作過程
微處理器對(duì)MCP3302的操作控制按照MCP3302工作時(shí)序進(jìn)行,MCP3302的工作時(shí)序見圖3。
表1 MCP3302控制命令
圖1 總體設(shè)計(jì)框圖
圖2 MCP3302引腳圖
圖3 MCP3302工作時(shí)序
當(dāng)輸入完4位命令數(shù)據(jù)后,MCP3302將開放選通通道開始對(duì)其電壓值進(jìn)行采樣,采樣周期在從起始位算起的第5個(gè)時(shí)鐘的下降沿結(jié)束。在下一個(gè)時(shí)鐘的下降沿在DOUT上將輸出一個(gè)無效的“0”,緊接著下一個(gè)時(shí)鐘的下降沿DOUT將依次輸出轉(zhuǎn)換后的二進(jìn)制數(shù)據(jù),其順序是由最高位到最低位(B11~B0)共12位數(shù)據(jù),這樣便完成了一次A/D轉(zhuǎn)換周期。
圖4 單片機(jī)程序流程圖
軟件設(shè)計(jì)包括單片機(jī)程序設(shè)計(jì)和PC機(jī)軟件設(shè)計(jì)。
單片機(jī)程序流程圖見圖4。
在單片機(jī)程序設(shè)計(jì)中,為了降低功耗,充分利用單片機(jī)的低功耗工作方式,在數(shù)據(jù)采集開始前、兩組采集的間隔、采集結(jié)束后都使單片機(jī)進(jìn)入低功耗工作方式。
PC機(jī)軟件的功能是首先與單片機(jī)配合,把存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)回放出來;然后,對(duì)數(shù)據(jù)進(jìn)行計(jì)算處理,把兩個(gè)參數(shù)的變化情況保存成數(shù)據(jù)文件,也可以繪制成曲線,以便查詢數(shù)據(jù)或分析判斷。用VB6.0編寫,主要使用了MScomm控件。
使用AVR單片機(jī)和模數(shù)轉(zhuǎn)換器MCP3302開發(fā)的數(shù)據(jù)采集系統(tǒng),經(jīng)過各種試驗(yàn),達(dá)到了預(yù)期效果。因MCP3302有四通道輸入,故可用于各種兩路差分信號(hào)或四路單端輸入信號(hào)的數(shù)據(jù)采集系統(tǒng)中。