新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 基于MSC1210的多路高精度溫度采集系統(tǒng)模塊

基于MSC1210的多路高精度溫度采集系統(tǒng)模塊

作者: 時間:2008-09-02 來源:網(wǎng)絡(luò) 收藏
在許多傳統(tǒng)行業(yè)中,溫度采集系統(tǒng)是不可或缺的。電廠、石化行業(yè)、鋼鐵廠以及制藥廠等企業(yè)使用了大量的各類測溫器件,如熱電阻、熱電偶等,這些器件需要定期校準(zhǔn);在嚴(yán)格執(zhí)行GMP規(guī)范的制藥廠等企業(yè),高溫滅菌箱需要定期進(jìn)行滅菌率的驗證;在某些要求進(jìn)行嚴(yán)格的溫度控制的場合,也需要進(jìn)行多點溫度測量。這些工作往往需要一個測溫系統(tǒng)來完成。

  在被測溫度變化緩慢的情況下,可以使用掃描開關(guān)配以一個高精度測溫表進(jìn)行多路溫度測量以及數(shù)據(jù)采集。但在溫度測量點數(shù)目較多、被測溫度變化較快的場合,如大量熱電阻、熱電偶的自動計量檢定系統(tǒng)以及高溫滅菌箱自動驗證系統(tǒng)中,傳統(tǒng)的掃描式多路溫度測量系統(tǒng)就無法滿足要求了。近年來,隨著高精度A/D轉(zhuǎn)換器件價格的不斷下降以及A/D轉(zhuǎn)換器件功能的不斷完善,研制廉價的多路、快速、高精度溫度采集系統(tǒng)成為可能。

  美國德州儀器公司(TEXAS INSTRUMENTS)新近推出了一種功能很強的帶24位A/D轉(zhuǎn)換器的微處理器。具有一些增強特性,特別適合測量高精度溫度、壓力傳感器等輸出的微弱信號。

本文介紹以作為測量、信號處理以及通訊核心的多路高精度溫度采集系統(tǒng)模塊。該系統(tǒng)測量通道易于擴(kuò)充,溫度測量精度高,可以快速地進(jìn)行多路高精度溫度測量。

1 多路高精度測溫系統(tǒng)框架

  系統(tǒng)由主機(jī)與多個智能測溫模塊組成。模塊與主機(jī)之間通過光電隔離的SPI接口進(jìn)行通訊,使用帶有CRC糾錯的自定義指令集控制數(shù)據(jù)傳輸,主機(jī)帶有計算機(jī)接口(RS232串口以及USB接口)。系統(tǒng)框架參見圖1。

  智能測溫模塊由MSC1210微轉(zhuǎn)換器構(gòu)成,模塊本身具有完整的信號調(diào)理、A/D轉(zhuǎn)換、數(shù)據(jù)修正計算及變換、內(nèi)部校準(zhǔn)等功能。為了避免外部干擾對A/D轉(zhuǎn)換的影響,SPI接口使用高速光電耦合電路,并采用模塊自帶的穩(wěn)壓電路供電。由于一個模塊只能處理1~4路溫度,因此可以同步進(jìn)行多組模塊的溫度測量,大大加快了多點溫度測量的速度。主機(jī)用來控制測溫模塊,從測溫模塊中讀取溫度數(shù)據(jù)并處理,同時完成人機(jī)接口以及其它功能。視應(yīng)用場合的不同,主機(jī)可以使用多種類型的單片機(jī),這里選用ATMEL公司的ATmega128。該款CPU采用Harvard流水線結(jié)構(gòu)以及RISC指令,并具有較大程序容量(128KB)的FLASH,在16MHz主頻下可以達(dá)到16MIPS的處理速度。

2 MSC1210的增強功能及使用注意事項

  作為智能高精度測溫模塊的核心,MSC1210完成了微弱信號的多路切換、信號緩沖、PGA編程放大、24位Σ-ΔA/D轉(zhuǎn)換、數(shù)字濾波、數(shù)據(jù)處理、信號校準(zhǔn)以及SPI通訊等功能。

  MSC1210集成了一個8通道24位Σ-ΔA/D轉(zhuǎn)換器,采用8051兼容內(nèi)核。與筆者之前使用的ADuC824相比,其有如下增強的功能:

  (1)CPU工作頻率可達(dá)33MHz,每條指令只需4個時鐘周期,運算速度較快。

  (2)采用非常靈活的FLASH與SRAM存儲器配置,可以對片上FLASH進(jìn)行分區(qū),根據(jù)需要設(shè)定程序FLASH與數(shù)據(jù)SRAM所占的比例。讀寫次數(shù)可達(dá)一百萬次,數(shù)據(jù)可保存100年。

  (3)片上RAM為1280B,有34個高電流驅(qū)動I/O,可以設(shè)定外部存儲器的存取時間,使用雙數(shù)據(jù)指針提高存取速度,具有完善的節(jié)電功能,還有電壓監(jiān)視器、21個中斷源、3個16位定時計數(shù)器以及內(nèi)部時間間隔計數(shù)器(TIC)。

  (4)自帶BOOT ROM,可以調(diào)試使用或在程序中調(diào)用內(nèi)置固化程序,完成在線調(diào)試、數(shù)據(jù)采集、UART通訊以及讀寫FALSH等工作,方便了編程以及調(diào)試。

  (5)片上24位Σ-ΔADC具有一些增強特性:8路輸入通道可以任意配置為單端或差分輸入;有快速、Sinc2、Sinc3 三種數(shù)字濾波,同時有自動數(shù)字濾波功能,可以加快A/D轉(zhuǎn)換輸出;帶PGA偏置DAC,可以不引入額外誤差而擴(kuò)大測量范圍;自帶一個32位累加器,可以對ADC輸出數(shù)據(jù)作快速平均處理。

  (6)自帶高精度電壓標(biāo)準(zhǔn),精度為0.2%,漂移為

  5ppm/C,可以節(jié)省空間以及器件成本,也可輸出該電壓標(biāo)準(zhǔn)或外接電壓標(biāo)準(zhǔn)。

  (7)片上16位PWM,可以作為DAC輸出來源。

  (8)增強的SPI接口可以使用DMA方式傳輸數(shù)據(jù),在DMA方式下,可以間接尋址RAM,設(shè)定多達(dá)128B的發(fā)送接收FIFO;具有完整的端口驅(qū)動以及發(fā)送接收中斷設(shè)定,適合大批量的數(shù)據(jù)傳輸,同時占用CPU資源較少。

  MSC1210功能較強且易于使用,但因為是新器件,參考資料較少。筆者在使用過程中發(fā)現(xiàn)需要注意如下問題:

  (1)MSC1210片內(nèi)FLASH分區(qū)只能通過對HCR0以及HCR1這兩個硬件配置寄存器事先編程來進(jìn)行,在程序運行過程中無法設(shè)定或更改分區(qū)比例。在程序運行中讀寫FLASH時,要注意讀寫地址與調(diào)試時的地址不同,具體應(yīng)參考存儲器分配表;用戶程序無法直接讀寫FLASH,需要調(diào)用BOOT ROM中的讀寫函數(shù)來進(jìn)行;與AVR等芯片的EEPROM不同,寫入FLASH之前必須先進(jìn)行擦除操作,BOOT ROM中有可調(diào)用的塊擦除子程序,可以在匯編或C程序中調(diào)用。

  (2)在做A/D轉(zhuǎn)換時,每次更改PGA放大倍數(shù)需要重新校準(zhǔn),在需要頻繁切換輸入通道的場合,建議設(shè)定特殊寄存器ADCON1的SM1~0位為00,即進(jìn)入自動模式數(shù)字濾波。這樣當(dāng)通道切換后,隨著A/D采樣次數(shù)的增加,數(shù)字濾波依次為快速轉(zhuǎn)換、Sinc2、Sinc3數(shù)字濾波,可以最大限度地提高轉(zhuǎn)換速度和轉(zhuǎn)換精度。

  (3)BOOT ROM中固化的程序?qū)τ贛SC1210的編程和調(diào)試非常關(guān)鍵,其中部分程序可以在用戶程序中直接調(diào)用,完成數(shù)據(jù)采集、UART輸入輸出等重要功能??梢酝ㄟ^串口或并口進(jìn)行編程。

  (4)使用TI提供的下載工具及調(diào)試終端,可以對MSC1210實現(xiàn)在線調(diào)試。這種調(diào)試會占用UART0資源,同時輔助中斷的入口地址也有變化,這在編程時需要注意。也可以利用Windows自帶的超級終端進(jìn)行調(diào)試。與TI終端不同,Windows超級終端不能自動初始化MSC1210使之進(jìn)入調(diào)試狀態(tài),需要人工進(jìn)行調(diào)試復(fù)位。

3 高精度測溫模塊的硬件描述

  MSC1210最多可以配置4組差分輸入通道:對于標(biāo)準(zhǔn)四線熱電阻的測量,需要兩組通道來分別測量驅(qū)動電流及電壓;對于標(biāo)準(zhǔn)熱電偶的測量,如果采用冰點作為冷端補償,需要一組差分通道;如果采用自帶冷端測量,則往往需要另外兩組通道測量冷端熱電阻的溫度。因此,對于標(biāo)準(zhǔn)熱電阻測量,同一個模塊最多有兩路測溫通道;對于標(biāo)準(zhǔn)熱電偶測量,如果采用統(tǒng)一的冷端補償,最多可以有4路測溫通道。同一模塊的不同測溫通道的切換需要時間穩(wěn)定信號以及重新建立ADC測量輸出,在有速度要求或需要進(jìn)行多值平均的情況下,為了得到較快的測溫速度,每個模塊的測溫路數(shù)會相應(yīng)減少。這里介紹單通道標(biāo)準(zhǔn)熱電阻測溫模塊,其硬件框圖如圖2所示。

  模塊采用獨立的模擬供電(5V)和數(shù)字供電(3V)。在印制板設(shè)計上,數(shù)字地與模擬地分離,在MSC1210芯片下相連。同樣,為了進(jìn)一步減少外界和數(shù)字電路對模擬電路部分的干擾,SPI接口與外部之間采用高速光電耦合連接。所有的電源以及信號接口采用統(tǒng)一的兩邊插針形式,便于直接插入主機(jī)母板。這里將比較有特色的標(biāo)準(zhǔn)熱電阻測量以及信號調(diào)理電路繪出,如圖3所示。

  在圖3中,分壓電阻R12與R13為運算放大器U2提供一個參考電壓,在R10上產(chǎn)生一個恒定的電流,經(jīng)Q1輸出。為了減少高精度低溫漂電阻的使用數(shù)量,R10、R12、R13均采用普通電阻。使用高精度低溫漂電阻Rr作為電流檢測電阻,將輸出電壓信號經(jīng)R2、R3送往MSC1210的一組差分輸入端,恒定電流通過四線標(biāo)準(zhǔn)鉑電阻Rs,將產(chǎn)生電壓經(jīng)R4、R5送入MSC1210的另一組差分輸入端,經(jīng)MSC1210進(jìn)行四線法測量電阻的計算,以消除鉑電阻溫度計引線的影響。R2、R3、R4、R5是限流電阻,防止輸入電壓過高損壞MSC1210;D1、R6、C12提供一個參考電壓,使MSC1210有合適的差分電壓輸入。由于使用MSC1210的內(nèi)置電壓標(biāo)準(zhǔn)輸出,電容C9、C10、C11是不可缺少的。MSC1210具有內(nèi)置PGA(1~128),因此無需放大電路即可直接測量微弱信號。

4 高精度測溫模塊軟件的描述

  在多路高精度測溫系統(tǒng)中,測溫模塊能獨立進(jìn)行數(shù)據(jù)采集、擬合修正、分度轉(zhuǎn)換、與下位機(jī)的數(shù)據(jù)通訊,并通過SPI接口向上位機(jī)(主機(jī))發(fā)送測量到的溫度數(shù)據(jù),接收上位機(jī)發(fā)來的控制指令,進(jìn)行參數(shù)設(shè)置及校準(zhǔn)操作。與上位機(jī)通訊的指令采用不定長的ASC代碼指令,用不同的信令頭(SOT)代表不同的控制,并有CRC糾錯以保證數(shù)據(jù)正確傳輸,信令有統(tǒng)一的結(jié)束碼(EOT)。

  在測溫模塊的MSC1210的程序功能中,分度轉(zhuǎn)換是重要的組成部分,也是耗時較多的計算過程,這里簡要說明一下。

對于高精度溫度測量,需要考慮的一個重要問題是溫度傳感器的選擇。對于熱電阻與熱電偶,有標(biāo)準(zhǔn)傳感器與工業(yè)傳感器之分,這里選擇精度較高的標(biāo)準(zhǔn)傳感器,并根據(jù)ITS-90國際溫標(biāo)以及中國相關(guān)計量檢定規(guī)程進(jìn)行分度轉(zhuǎn)換。

  與工業(yè)熱電阻、熱電偶不同,標(biāo)準(zhǔn)熱電阻或熱電偶的分度計算是一個比較復(fù)雜的問題,簡單的查表計算或曲線擬合一般很難達(dá)到分度轉(zhuǎn)換的精度要求。以標(biāo)準(zhǔn)鉑電阻溫度計為例,它使用一組規(guī)定的定義固定點和參考函數(shù)以及相應(yīng)的差值函數(shù)內(nèi)插,在0~419.527C溫區(qū)內(nèi),溫度t由下列公式確定:

  

  其中,Wr(t)為參考函數(shù),Ci與Di為系數(shù),ΔW8(t)為差值函數(shù),W(t)為電阻比,a8與b8為具體標(biāo)準(zhǔn)鉑電阻溫度計的分度系數(shù),可以通過具體溫度計校準(zhǔn)結(jié)果WZn、WSn、W100等參數(shù)計算得到。在選擇了相應(yīng)的熱電阻之后,將該參數(shù)通過SPI接口的通訊控制指令輸入測溫模塊。

  可以看到,MCU只有具有較快的運算速度,才能在每次ADC輸出數(shù)據(jù)后及時將電阻值轉(zhuǎn)換為溫度值,分度計算、誤差修正、數(shù)值處理以及通訊控制等均由MSC1210完成。輸出到上位機(jī)的是測量得到的溫度值,這樣上位機(jī)即使在配置多個測溫模塊的情況下也能從容完成處理工作。

  MSC1210是較有特色、功能較強的一種新器件,特別適合于智能變送器、高精度測量儀器儀表等應(yīng)用領(lǐng)域。這套多路高精度溫度采集系統(tǒng)充分利用了MSC1210的新功能、新特性,采用智能測溫模塊與主機(jī)通訊的設(shè)計方式,以較少的成本完成了多點快速溫度測量。筆者使用這套多路高精度溫度采集系統(tǒng)作為基礎(chǔ)硬件,配以PC機(jī)的控制軟件,完成了多套應(yīng)用于不同場合的自動溫度測量及控制系統(tǒng),實際應(yīng)用情況良好。



關(guān)鍵詞: 1210 MSC 多路 高精度

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉