摘 要: 設(shè)計了一種基于DSP的多路溫度采集系統(tǒng),用于采集和處理多路溫度數(shù)據(jù)。系統(tǒng)采用了溫度傳感器LM35和DSP芯片,并結(jié)合相關(guān)的程序和軟件,實現(xiàn)了多路溫度數(shù)據(jù)采集和處理。該系統(tǒng)硬件電路簡單,同時相對于單片機(jī)的數(shù)據(jù)采集系統(tǒng)更能滿足系統(tǒng)在精確度和實時性方面的要求。實驗證明,系統(tǒng)具有較好的實時性、方便性和安全性,可用于大多數(shù)工農(nóng)業(yè)領(lǐng)域的實時溫度采集。
關(guān)鍵詞: DSP; 溫度采集; LM35; 硬件電路
溫度是表征物體冷熱程度的物理量,是工業(yè)生產(chǎn)中的一個重要參數(shù)[1]。傳統(tǒng)的方式是采用熱電偶或熱電阻[2],但是由于模擬溫度傳感器輸出的是模擬信號,必須經(jīng)過轉(zhuǎn)換環(huán)節(jié)獲得數(shù)字信號后才能與單片機(jī)等微處理器接口,使得硬件電路結(jié)構(gòu)復(fù)雜,制作成本較高[3]。本文采用LM35溫度傳感器進(jìn)行溫度采集,LM35系列是精密集成電路溫度傳感器,其輸出電壓與攝氏溫度成線性正比。因此,LM35比按絕對溫標(biāo)校準(zhǔn)的線性溫度傳感器性能優(yōu)越得多。本文利用DSP內(nèi)部的12位模/數(shù)轉(zhuǎn)換器(ADC)來實現(xiàn)LM35溫度傳感器的模擬電壓信號轉(zhuǎn)換,不需要外擴(kuò)模/數(shù)轉(zhuǎn)換器,LM35溫度傳感器輸出的電壓范圍在DSP模/數(shù)轉(zhuǎn)換器輸入電壓范圍內(nèi)(0~3 V),不需要對LM35輸出的電壓信號進(jìn)行處理,可直接與DSP的ADC接口連接,這樣降低了電路的復(fù)雜程度和制作成本,同時能實現(xiàn)多路溫度信號的采集,精確度和實時性都比較高,能用于大多數(shù)的工農(nóng)業(yè)溫度測量領(lǐng)域。
1 芯片介紹
TMS320F2812是TI公司生產(chǎn)的面向數(shù)字控制、運(yùn)動控制領(lǐng)域的DSP芯片,它支持多項的高速實時算法,采用先進(jìn)的哈佛結(jié)構(gòu),將程序和數(shù)據(jù)放在不同的存儲空間。TMS320F2812芯片采用了高性能的CMOS技術(shù),CPU主頻高達(dá)150 MHz,時鐘周期為6.67 ns;采用低功耗設(shè)計,內(nèi)核電壓為1.8 V,數(shù)字I/O口引腳電壓為3.3 V[4-5]。同時TMS320F2812的片內(nèi)外設(shè)資源豐富,模擬量轉(zhuǎn)換為數(shù)字量的ADC采樣模塊理論精度為12 bit,具有16路輸入通道、兩個采樣保持器,有單一或者級聯(lián)兩種轉(zhuǎn)換模式,最高的轉(zhuǎn)換速率為12.5 MS/s。
LM35系列是精密集成電路溫度傳感器,其輸出的電壓線性地與攝氏溫度成正比。LM35系列傳感器生產(chǎn)制作時已經(jīng)過校準(zhǔn),輸出電壓與攝氏溫度一一對應(yīng),使用極為方便。靈敏度為10.0 mV/℃,精度為0.4℃~0.8℃(-55℃~+150℃溫度范圍內(nèi)),重復(fù)性好,低輸出阻抗,線性輸出和內(nèi)部精密校準(zhǔn)使其與讀出或控制電路接口簡單和方便,可單電源和正負(fù)電源工作。LM35電路設(shè)計簡單,在實際應(yīng)用中安裝也相當(dāng)簡便。
2 系統(tǒng)整體結(jié)構(gòu)及硬件設(shè)計
2.1 多路溫度采集系統(tǒng)整體結(jié)構(gòu)框圖
DSP模擬轉(zhuǎn)換器具有16通道,能實現(xiàn)16路溫度數(shù)據(jù)的順序采樣,本文只介紹3路溫度采集系統(tǒng)的硬件電路設(shè)計,其溫度采集系統(tǒng)框圖如圖1所示,該系統(tǒng)由4個部分組成:溫度采集電路、限幅電路、DSP模塊、執(zhí)行單元。
溫度傳感器把采集到的溫度數(shù)據(jù)轉(zhuǎn)換為電壓信號,電壓信號經(jīng)過限幅電路送至DSP模塊進(jìn)行處理運(yùn)算,處理運(yùn)算后的數(shù)據(jù)送至執(zhí)行單元實現(xiàn)一定的功能。溫度傳感器主要實現(xiàn)溫度采集;限幅電路主要是防止溫度傳感器輸出電壓超過DSP模塊中ADC的最大輸入電壓而燒壞DSP芯片;DSP模塊主要實現(xiàn)多路數(shù)據(jù)的采集和轉(zhuǎn)換,并將轉(zhuǎn)換的數(shù)據(jù)輸出;執(zhí)行單元主要是接收DSP采集的多路數(shù)據(jù),并利用數(shù)據(jù)進(jìn)行多種控制。
2.2 多路溫度采集系統(tǒng)硬件電路設(shè)計
溫度傳感器選擇LM35DZ, 工作溫度范圍0℃~+100℃。LM35DZ的輸出電壓與攝氏溫度成線性關(guān)系,0℃時輸出為0 V,每升高1℃輸出電壓增加10 mV[6]。由此可知,輸出電壓值為0 V~1 V,輸出電壓與溫度滿足關(guān)系:
V=10×T
式中,V為輸出電壓,單位為mV; T為溫度,單位為℃。
本文選用3個LM35DZ溫度傳感器,該傳感器有3個引腳,分別是輸入電壓輸入引腳、溫度信號輸出引腳和接地引腳。采用單電源工作,傳感器輸入電壓為5 V,電路設(shè)計相當(dāng)簡單,其電路如圖2所示[6]。
為了保險起見,在輸入信號進(jìn)入DSP的ADC端口時,最好加一個限幅電壓,以防止輸入電壓過大而導(dǎo)致DSP芯片損壞。本文限幅電路采用一個雙二極管,其電路如圖3所示。
由圖3可知,本文選擇的是飛凌公司的BAT68-04W,當(dāng)輸入電壓超過3.3 V時,雙二極管上端導(dǎo)通,ADCINAx輸入引腳電壓變?yōu)?.3 V;當(dāng)輸入電壓小于0 V時,雙二極管下端導(dǎo)通,ADCINAx輸入引腳電壓變?yōu)? V,因此這個電路能夠?qū)DCINAx輸入引腳的電壓保持在0~3.3 V[4]。本文選擇3.3 V電壓是從工程設(shè)計的實際情況出發(fā),DSP的I/O口工作電壓是3.3 V,最接近3 V。
本文DSP模塊中選擇的DSP芯片是TMS320F2812,DSP模塊包括DSP的電源電路、JATG口下載電路和時鐘電路,電源芯片采用TPSTD318,它將外部電壓5 V轉(zhuǎn)換為3.3 V和1.9 V,以完成對DSP外設(shè)和內(nèi)核的供電[7]。JATG下載口與DSP相連接的端口均采用上拉電阻,以提高抗干擾能力。時鐘電路采用DSP內(nèi)部時鐘,在DSP的X1/XCLKIN和X2兩個引腳之間連接一個石英晶體。
3 程序設(shè)計和軟件調(diào)試
3.1 程序設(shè)計
程序設(shè)計使用C語言編寫,程序開始首先對DSP模塊進(jìn)行初始化,其中包括:初始化系統(tǒng)控制模塊、初始化ADC模塊、初始化事件管理器模塊。再開啟中斷,啟動定時器計時,當(dāng)定時器產(chǎn)生周期中斷時,ADC開始轉(zhuǎn)換數(shù)據(jù),最后結(jié)束程序,輸出實驗結(jié)果。程序流程圖如圖4所示。
文中ADC轉(zhuǎn)換的啟動信號采用定時器的周期中斷啟動,設(shè)定定時器周期為0.1 ms,當(dāng)定時器計時0.1 ms時,產(chǎn)生周期中斷,DSP的ADC開始轉(zhuǎn)換。轉(zhuǎn)換結(jié)束后輸出數(shù)據(jù),并返回主程序準(zhǔn)備下一次數(shù)據(jù)轉(zhuǎn)換。
ADC轉(zhuǎn)換采用單序列順序采樣模式,其采樣頻率為2.5 MHz,程序設(shè)計如下:
AdcRegs.ADCTRL1.bit.CONT_RUN=0;
//運(yùn)行于啟動/停止模式
AdcRegs.ADCTRL1.bit.SEQ_CASC=1; //單序列發(fā)生器模式
AdcRegs.ADCTRL3.bit.SMODE_
SEL=0; //采用順序采樣模式
AdcRegs.ADCTRL3.bit.ADCCLKPS=15;
//ADCLK=HSPCLK/30=2.5 MHz
ADC轉(zhuǎn)換結(jié)果為:
adc[0]=(((float)AdcRegs.RESULT0)*3.0/65520.0+adclo)
*100; //存放ADCINA0的結(jié)果
adc[1]=(((float)AdcRegs.RESULT1)*3.0/65520.0+adclo)
*100; //存放ADCINA1的結(jié)果
adc[2]=(((float)AdcRegs.RESULT2)*3.0/65520.0+adclo)
*100; //存放ADCINA2的結(jié)果
3.2 軟件調(diào)試
CCS(Code Composer Studio)是開發(fā)DSP時所需的軟件開發(fā)環(huán)境,即程序編寫、調(diào)試DSP代碼都需要在CCS軟件中進(jìn)行。
實驗中將3個傳感器分別安裝在實驗室的不同位置,實驗調(diào)試結(jié)果如圖5所示。由圖可知,3個溫度傳感器均測得實驗室的溫度為29.494 5℃。
本文采用LM35溫度傳感器與DSP結(jié)合進(jìn)行多路溫度數(shù)據(jù)采集,電路設(shè)計簡單,制作成本低,相對于單片機(jī)的數(shù)據(jù)采集系統(tǒng)更能滿足系統(tǒng)在精確度和實時性方面的要求。同時,該系統(tǒng)具有較好的實時性、方便性和安全性,可用于工農(nóng)業(yè)大多數(shù)實時溫度采集領(lǐng)域。
參考文獻(xiàn)
[1] 谷志新,王述洋,馬雷,等.無線溫度采集系統(tǒng)的設(shè)計[J].自動化儀表,2010,4(31):73-76.
[2] 彭遠(yuǎn)芳,趙又新. 高精度溫度采集系統(tǒng)[J]. 儀表技術(shù)與傳感器,2007(5):45-46.
[3] 林婧. 基于AT89S52的多路溫度檢測設(shè)備的設(shè)計[J].中國新技術(shù)新產(chǎn)品,2011(15):153-153.
[4] 顧衛(wèi)鋼.手把手教你學(xué)DSP[M].北京:北京航空航天大學(xué)出版社,2011.
[5] 周正義,穆帥歡,陽路. DSP和AD9244的多路數(shù)據(jù)采集系統(tǒng)[J]. 微型機(jī)與應(yīng)用,2013,32(17):67-68.
[6] 王景景. 基于LM35的溫度測量系統(tǒng)[J]. 現(xiàn)代電子技術(shù),2007,30(5):157-158.
[7] 孫元敏,尹立新,楊書濤. 基于TMS320F2812的高速數(shù)據(jù)采集處理系統(tǒng)[J].計算機(jī)工程,2009,35(2):242-243.