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