在許多傳統行業中,多路高精度溫度采集系統是不可或缺的。電廠、石化行業、鋼鐵廠以及制藥廠等企業使用了大量的各類測溫器件,如熱電阻、熱電偶等,這些器件需要定期校準;在嚴格執行GMP規范的制藥廠等企業,高溫滅菌箱需要定期進行滅菌率的驗證;在某些要求進行嚴格的溫度控制的場合,也需要進行多點高精度溫度測量。這些工作往往需要一個多路高精度測溫系統來完成。
在被測溫度變化緩慢的情況下,可以使用多路掃描開關配以一個高精度測溫表進行多路溫度測量以及數據采集。但在溫度測量點數目較多、被測溫度變化較快的場合,如大量熱電阻、熱電偶的自動計量檢定系統以及高溫滅菌箱自動驗證系統中,傳統的掃描式多路溫度測量系統就無法滿足要求了。近年來,隨著高精度A/D轉換器件價格的不斷下降以及A/D轉換器件功能的不斷完善,研制廉價的多路、快速、高精度溫度采集系統成為可能。
美國德州儀器公司(TEXAS INSTRUMENTS)新近推出了一種功能很強的帶24位A/D轉換器的微處理器MSC1210。MSC1210具有一些增強特性,特別適合測量高精度溫度、壓力傳感器等輸出的微弱信號。
本文介紹以MSC1210作為測量、信號處理以及通訊核心的多路高精度溫度采集系統模塊。該系統測量通道易于擴充,溫度測量精度高,可以快速地進行多路高精度溫度測量。
1、 多路高精度測溫系統框架
系統由主機與多個智能測溫模塊組成。模塊與主機之間通過光電隔離的SPI接口進行通訊,使用帶有CRC糾錯的自定義指令集控制數據傳輸,主機帶有計算機接口(RS232串口以及USB接口)。系統框架參見圖1。
智能測溫模塊由MSC1210微轉換器構成,模塊本身具有完整的信號調理、A/D轉換、數據修正計算及變換、內部校準等功能。為了避免外部干擾對A/D轉換的影響,SPI接口使用高速光電耦合電路,并采用模塊自帶的穩壓電路供電。由于一個模塊只能處理1~4路溫度,因此可以同步進行多組模塊的溫度測量,大大加快了多點溫度測量的速度。主機用來控制測溫模塊,從測溫模塊中讀取溫度數據并處理,同時完成人機接口以及其它功能。視應用場合的不同,主機可以使用多種類型的單片機,這里選用ATMEL公司的ATmega128。該款CPU采用Harvard流水線結構以及RISC指令,并具有較大程序容量(128KB)的FLASH,在16MHz主頻下可以達到16MIPS的處理速度。
2、 MSC1210的增強功能及使用注意事項
作為智能高精度測溫模塊的核心,MSC1210完成了微弱信號的多路切換、信號緩沖、PGA編程放大、24位Σ-ΔA/D轉換、數字濾波、數據處理、信號校準以及SPI通訊等功能。
MSC1210集成了一個8通道24位Σ-ΔA/D轉換器,采用8051兼容內核。與筆者之前使用的ADuC824相比,其有如下增強的功能:
(1)CPU工作頻率可達33MHz,每條指令只需4個時鐘周期,運算速度較快。
(2)采用非常靈活的FLASH與SRAM存儲器配置,可以對片上FLASH進行分區,根據需要設定程序FLASH與數據SRAM所占的比例。讀寫次數可達一百萬次,數據可保存100年。
(3)片上RAM為1280B,有34個高電流驅動I/O,可以設定外部存儲器的存取時間,使用雙數據指針提高存取速度,具有完善的節電功能,還有電壓監視器、21個中斷源、3個16位定時計數器以及內部時間間隔計數器(TIC)。
(4)自帶BOOT ROM,可以調試使用或在程序中調用內置固化程序,完成在線調試、數據采集、UART通訊以及讀寫FALSH等工作,方便了編程以及調試。
(5)片上24位Σ-ΔADC具有一些增強特性:8路輸入通道可以任意配置為單端或差分輸入;有快速、Sinc2、Sinc3 三種數字濾波,同時有自動數字濾波功能,可以加快A/D轉換輸出;帶PGA偏置DAC,可以不引入額外誤差而擴大測量范圍;自帶一個32位累加器,可以對ADC輸出數據作快速平均處理。
(6)自帶高精度電壓標準,精度為0.2%,漂移為
5ppm/°C,可以節省空間以及器件成本,也可輸出該電壓標準或外接電壓標準。
(7)片上16位PWM,可以作為DAC輸出來源。
(8)增強的SPI接口可以使用DMA方式傳輸數據,在DMA方式下,可以間接尋址RAM,設定多達128B的發送接收FIFO;具有完整的端口驅動以及發送接收中斷設定,適合大批量的數據傳輸,同時占用CPU資源較少。
MSC1210功能較強且易于使用,但因為是新器件,參考資料較少。筆者在使用過程中發現需要注意如下問題:
(1)MSC1210片內FLASH分區只能通過對HCR0以及HCR1這兩個硬件配置寄存器事先編程來進行,在程序運行過程中無法設定或更改分區比例。在程序運行中讀寫FLASH時,要注意讀寫地址與調試時的地址不同,具體應參考存儲器分配表;用戶程序無法直接讀寫FLASH,需要調用BOOT ROM中的讀寫函數來進行;與AVR等芯片的EEPROM不同,寫入FLASH之前必須先進行擦除操作,BOOT ROM中有可調用的塊擦除子程序,可以在匯編或C程序中調用。
(2)在做A/D轉換時,每次更改PGA放大倍數需要重新校準,在需要頻繁切換輸入通道的場合,建議設定特殊寄存器ADCON1的SM1~0位為00,即進入自動模式數字濾波。這樣當通道切換后,隨著A/D采樣次數的增加,數字濾波依次為快速轉換、Sinc2、Sinc3數字濾波,可以最大限度地提高轉換速度和轉換精度。
(3)BOOT ROM中固化的程序對于MSC1210的編程和調試非常關鍵,其中部分程序可以在用戶程序中直接調用,完成數據采集、UART輸入輸出等重要功能。可以通過串口或并口進行編程。
(4)使用TI提供的下載工具及調試終端,可以對MSC1210實現在線調試。這種調試會占用UART0資源,同時輔助中斷的入口地址也有變化,這在編程時需要注意。也可以利用Windows自帶的超級終端進行調試。與TI終端不同,Windows超級終端不能自動初始化MSC1210使之進入調試狀態,需要人工進行調試復位。
3、高精度測溫模塊的硬件描述
MSC1210最多可以配置4組差分輸入通道:對于標準四線熱電阻的測量,需要兩組通道來分別測量驅動電流及電壓;對于標準熱電偶的測量,如果采用冰點作為冷端補償,需要一組差分通道;如果采用自帶冷端測量,則往往需要另外兩組通道測量冷端熱電阻的溫度。因此,對于標準熱電阻測量,同一個模塊最多有兩路測溫通道;對于標準熱電偶測量,如果采用統一的冷端補償,最多可以有4路測溫通道。同一模塊的不同測溫通道的切換需要時間穩定信號以及重新建立ADC測量輸出,在有速度要求或需要進行多值平均的情況下,為了得到較快的測溫速度,每個模塊的測溫路數會相應減少。這里介紹單通道標準熱電阻測溫模塊,其硬件框圖如圖2所示。
模塊采用獨立的模擬供電(5V)和數字供電(3V)。在印制板設計上,數字地與模擬地分離,在MSC1210芯片下相連。同樣,為了進一步減少外界和數字電路對模擬電路部分的干擾,SPI接口與外部之間采用高速光電耦合連接。所有的電源以及信號接口采用統一的兩邊插針形式,便于直接插入主機母板。這里將比較有特色的標準熱電阻測量以及信號調理電路繪出,如圖3所示。
在圖3中,分壓電阻R12與R13為運算放大器U2提供一個參考電壓,在R10上產生一個恒定的電流,經Q1輸出。為了減少高精度低溫漂電阻的使用數量,R10、R12、R13均采用普通電阻。使用高精度低溫漂電阻Rr作為電流檢測電阻,將輸出電壓信號經R2、R3送往MSC1210的一組差分輸入端,恒定電流通過四線標準鉑電阻Rs,將產生電壓經R4、R5送入MSC1210的另一組差分輸入端,經MSC1210進行四線法測量電阻的計算,以消除鉑電阻溫度計引線的影響。R2、R3、R4、R5是限流電阻,防止輸入電壓過高損壞MSC1210;D1、R6、C12提供一個參考電壓,使MSC1210有合適的差分電壓輸入。由于使用MSC1210的內置電壓標準輸出,電容C9、C10、C11是不可缺少的。MSC1210具有內置PGA(1~128),因此無需放大電路即可直接測量微弱信號。
4 、高精度測溫模塊軟件的描述
在多路高精度測溫系統中,測溫模塊能獨立進行數據采集、擬合修正、分度轉換、與下位機的數據通訊,并通過SPI接口向上位機(主機)發送測量到的溫度數據,接收上位機發來的控制指令,進行參數設置及校準操作。與上位機通訊的指令采用不定長的ASC代碼指令,用不同的信令頭(SOT)代表不同的控制,并有CRC糾錯以保證數據正確傳輸,信令有統一的結束碼(EOT)。
在測溫模塊的MSC1210的程序功能中,分度轉換是重要的組成部分,也是耗時較多的計算過程,這里簡要說明一下。
對于高精度溫度測量,需要考慮的一個重要問題是溫度傳感器的選擇。對于熱電阻與熱電偶,有標準傳感器與工業傳感器之分,這里選擇精度較高的標準傳感器,并根據ITS-90國際溫標以及中國相關計量檢定規程進行分度轉換。
與工業熱電阻、熱電偶不同,標準熱電阻或熱電偶的分度計算是一個比較復雜的問題,簡單的查表計算或曲線擬合一般很難達到分度轉換的精度要求。以標準鉑電阻溫度計為例,它使用一組規定的定義固定點和參考函數以及相應的差值函數內插,在0~419.527°C溫區內,溫度t由下列公式確定:
其中,Wr(t)為參考函數,Ci與Di為系數,ΔW8(t)為差值函數,W(t)為電阻比,a8與b8為具體標準鉑電阻溫度計的分度系數,可以通過具體溫度計校準結果WZn、WSn、W100等參數計算得到。在選擇了相應的熱電阻之后,將該參數通過SPI接口的通訊控制指令輸入測溫模塊。
可以看到,MCU只有具有較快的運算速度,才能在每次ADC輸出數據后及時將電阻值轉換為溫度值,分度計算、誤差修正、數值處理以及通訊控制等均由MSC1210完成。輸出到上位機的是測量得到的溫度值,這樣上位機即使在配置多個測溫模塊的情況下也能從容完成處理工作。
MSC1210是較有特色、功能較強的一種新器件,特別適合于智能變送器、高精度測量儀器儀表等應用領域。這套多路高精度溫度采集系統充分利用了MSC1210的新功能、新特性,采用智能測溫模塊與主機通訊的設計方式,以較少的成本完成了多點快速溫度測量。筆者使用這套多路高精度溫度采集系統作為基礎硬件,配以PC機的控制軟件,完成了多套應用于不同場合的自動溫度測量及控制系統,實際應用情況良好。
責任編輯:gt
評論
查看更多