一種海澤自動氣象站數(shù)據(jù)采集控制器的設計
1氣象傳感器
目前,海洋自動氣象站上的氣象傳感器有風速風向、相對濕度、氣溫、氣壓、雨量、長波輻射和太陽短波輻射傳感器,其中風速風向、相對濕度、氣壓、雨量、長波輻射電壓值和太陽短波輻射電壓值均為電壓輸出,具體輸出電壓如表1所示,而氣溫、長波外殼溫度和長波穹頂溫度為電阻輸出。
2高精度AD芯片
本系統(tǒng)采用了兩款高精度AD轉換芯片一AD7193和AD7793。它們均是由亞德諾公司推出的24位8-A型模數(shù)轉換芯片,廣泛應用于數(shù)據(jù)采集和精密儀器儀表的制造中。
AD7193集合了過采樣、抽取濾波和量化噪聲整形三項技術,具有更好的抗混疊性能和更高的分辨率。AD7193可使用外部晶振驅動,也可使用4.92MHz內(nèi)部晶振。若想得到更高的轉換精度,只能減小轉換速率。器件的數(shù)字部分與模擬部分相互隔離,兩部分的供電電壓范圍均為3~5.25V。
電阻類傳感器的測量由AD7793芯片來完成。該芯片也內(nèi)置了24位的8-A型模數(shù)轉換器,并內(nèi)部集成了低噪聲可編程儀表放大器,可直接用于采集微弱信號。AD7793內(nèi)置了一個精密低噪聲、低漂移內(nèi)部帶隙基準電壓源,可作為器件工作時的電壓基準。芯片還提供兩個可編程激勵電流源,極大地方便了分壓法測量電阻。
3模擬電路設計
3.1電壓模擬信號采集電路
模擬電壓信號測量電路的原理圖如圖1所示,電路共包含三個AD7193芯片。片內(nèi)的多路復用器將每個芯片通道擴展為四路差分通道,故系統(tǒng)共可以測量十二路差分模擬電壓輸入。
AD轉換芯片的模擬電源AVDD和數(shù)字電源DVDD是分開供電的。為了將模擬部分受到的干擾降至最低,系統(tǒng)采用模塊化設計。將每個AD芯片及其外圍電路都單獨設計為一塊獨立電路板,每一塊AD采集板都以最簡的電路設計和最少的元器件布局做到最大程度降低其受到數(shù)字電路干擾的可能性。
3.2電阻類傳感器測量
待測量的電阻傳感器有Pt100和長波輻射計的CaSe熱敏電阻、Dome熱敏電阻,它們都是用于測量溫度的,但用途卻不盡相同。Pt100用于測量大氣溫度,而CaSe熱敏電阻和Dome熱敏電阻用于測量長波輻射計內(nèi)部溫度,且此溫度只用于長波輻射強度的計算。
四線制Pt100測溫的原理圖如圖2所示,其中上、下兩部分分別為長波輻射計熱敏電阻的測量電路和Pt100的測量電路。
Pt100鉑電阻阻值可由式(1)求得:
長波輻射計內(nèi)熱敏電阻的測量原理與Pt100測量方法相同,也是采用了同樣的標準電阻與待測電阻串聯(lián),利用分壓法計算待測量電阻值。
4數(shù)據(jù)采集控制器硬件及軟件
4.1硬件
海洋自動氣象站主控芯片用意法半導體的STM32F103系列單片機,AD轉換芯片將轉換結果以SPI通信的方式傳輸給主控芯片,裝有文件系統(tǒng)的SD card可將傳感器原始數(shù)據(jù)完整保存。
4.1.1系統(tǒng)控制器
以ARM內(nèi)核的32位單片機作為海洋自動氣象站數(shù)據(jù)采集系統(tǒng)的控制器和數(shù)據(jù)處理器。
STM32的單片機外設豐富、電路簡單,故選用了其F103系列芯片,單片機外圍電路如圖3所示。
4.1.2AD779M芯片的通信過程
在通信過程中,單片機作為主機,AD芯片作為從機。AD779M的片選信號低電平有效,故TCU與AD779M的通信以片選信號的下降沿開始。AD779M操作寄存器的方式為:首先對芯片的通用寄存器進行寫操作,寫入通用寄存器的數(shù)據(jù)決定了下一步是對芯片進行寫操作還是讀操作以及所要操作的寄存器地址。然后便是對所選中的寄存器進行讀或寫,若是寫操作,AD779M將會把后續(xù)收到的l6字節(jié)的配置數(shù)據(jù)直接寫入到相應寄存器中;若是讀指令,主機需要提供足夠的時鐘脈沖,AD779M會將指定寄存器的數(shù)據(jù)置于D0US/RDY引腳發(fā)送給主機。操作完成之后,接口就會返回到對通信寄存器執(zhí)行寫操作的狀態(tài)。
AD779M最簡單轉換模式,只需將相應的配置信息寫入模式寄存器,芯片便可自動進入單次轉換模式。轉換完成后,將D0UT/RDy引腳拉低,待控制器讀取數(shù)據(jù)寄存器數(shù)據(jù)后,芯片便進入關斷模式,等待下一次指令喚醒。單次轉換的時序如圖4所示。
AD7193的通信過程與AD7793基本類似,只是在數(shù)據(jù)讀取過程存在一些差異。
4.2軟件流程
STM32一般用C語言進行編程。C語言是世界上應用最為廣泛的計算機編程語言之一,它擁有代碼量小、運行速度快、功能強大等優(yōu)點。在本系統(tǒng)中選用MDK作為開發(fā)工具。
單片機與AD7193、AD7793的通信從片選信號CS引腳變?yōu)榈碗娖介_始,以片選信號電平拉高結束。在進行模擬量轉換之前,要先進行校準。AD7193和AD7793包含多種校準模式,本系統(tǒng)中應用了其內(nèi)部校準模式。內(nèi)部零電平校準用于消除芯片的零點漂移,內(nèi)部滿量程校準則用于消除芯片的增益誤差。進行內(nèi)部零電平校準和滿量程校準過程中,芯片內(nèi)部提供的零輸入或滿量程輸入會與芯片待校準通道引腳自動相連,從操作上看,相當于進行了一次模數(shù)轉換。校準轉換完成后,芯片會自動將在內(nèi)部零電平校準中測得的失調(diào)系數(shù)寫入失調(diào)寄存器,將在內(nèi)部滿量程校準中測得的滿量程系數(shù)寫入滿量程寄存器。后續(xù)的轉換過程中,各通道的轉換結果需要分別利用各自的校準寄存器進行修正,先減去失調(diào)系數(shù),再乘以滿量程系數(shù),才能寫入數(shù)據(jù)寄存器。
單片機與AD7193的具體通信過程如圖5所示。
AD7793的通信過程與AD7193不同,原因主要在于AD7793無法同時使能多個模擬轉換通道,開啟一次轉換只能測試一個通道。片選引腳拉低之后,便可設置模式寄存器和配置寄存器,設置激勵電流源大小,開啟單次轉換模式,ADC便進入相應通道的轉換過程中。等待轉換完成并讀取轉換結果,完成后再次對配置寄存器進行寫操作,改變使能通道,而保持激勵電流源等設置不變,進入下一通道的轉換,直至此芯片的每一個通道都執(zhí)行完成轉換操作,便進入下一AD7793芯片的轉換過程。循環(huán)采集三十組電壓數(shù)據(jù),取平均值并用于計算待測電阻阻值。單片機與AD7793的具體通信過程如圖6所示。
5結語
該數(shù)據(jù)采集控制器主要由ARM芯片、AD7193、AD7793等組成,通過軟件編程實現(xiàn)對電壓、電阻信號的采集,特別是長波輻射和短波輻射的微弱電壓信號的采集。應用到實際的海洋自動氣象站中,取得了不錯的效果。