低功耗智能傳感器的設計
在工業(yè)控制過(guò)程中,經(jīng)常需要對一些參數進(jìn)行測量,而一般傳感器的輸出信號較弱,不適合作遠距離傳輸。為了減小干擾,通常采用4~20mA電流輸出的雙絞線(xiàn)變送器。信號模擬處理的變送器,由于電路的復雜性的限制,非線(xiàn)性補償效果不理想,很難在全溫度范圍內實(shí)現溫度補償,因此達不到較高的精度要求。隨著(zhù)低功耗高精度單片機、Σ-Δ ADC和Σ-ΔDAC的日益普及,為高精度的智能變送器的設計提供了技術(shù)途徑。
本文介紹的單片傳感信號接口設計采用了德州儀器公司新近推出的一款多功能的微控制器MSP430F2013,它內部集成了16位的Σ-ΔADC。2kb的程序空間和128b的數據存儲空間,可以完成數據的智能采集,并采用差分傳輸方式進(jìn)行數據的傳輸。數據按幀進(jìn)行傳輸,傳輸過(guò)程中采用CRC檢驗進(jìn)行差錯控制。
MSP430F2013的結構特點(diǎn)
MSP430F2013是TI公司MSP430系列的一款微控制器, 它具有以下結構特點(diǎn):16位的RISC CPU、16位的寄存器和常數發(fā)生器,可以獲得很高的代碼效率;五種低功耗模式,在便攜式的測量應用中可以延長(cháng)電池的使用壽命;數控振蕩器(DCO)使得從低功耗模式切換到正常模式只要不到1μs;一個(gè)16位的定時(shí)器;10個(gè)I/O口;具備同步通信協(xié)議(SPI或者I2C);一個(gè)16位的Σ-Δ ADC。
MSP430F2013的典型應用是傳感系統捕獲模擬信號,將模擬信號轉換為數字信號,然后利用數字信號作屏幕顯示或者將數字信號傳輸到一個(gè)主機系統中用作其他處理。
系統介紹
常見(jiàn)的模數轉換電路對模擬信號要進(jìn)行信號放大,而且一般都要設計一個(gè)與單片機的接口電路,本系統具有很高的集成度,單片即可完成信號的放大、模數轉換,軟件濾波,同時(shí)實(shí)現了一個(gè)單線(xiàn)協(xié)議,直接可以和高檔計算機進(jìn)行通訊,無(wú)須設計與單片機的接口電路。
MSP430F2013是一個(gè)低功耗的器件,當運行在1MHz的時(shí)鐘條件下,系統的工作電流為220μA,而待命模式的工作電流僅為0.5μA,保持RAM的節電模式的工作電流更是只有0.1μA,這樣的低功耗完全可以利用電池供電,適合于便攜式的測量。
本系統利用MSP430F2013進(jìn)行智能數據采集,從前端傳感器采集來(lái)的數據經(jīng)過(guò)程控增益放大器進(jìn)行放大,隨后進(jìn)入模數轉換器進(jìn)行模數轉換,轉換完成后以異步串行的方式輸出。圖1是整個(gè)系統的原理圖。
圖1 系統原理圖
為簡(jiǎn)化系統,同時(shí)避免外部晶振對系統的影響,系統采用內部DCO作為時(shí)鐘,系統利用差分傳輸數據,無(wú)需進(jìn)行數據的隔離。本應用中配置傳輸速率為9600b/s,可以用串口設定匹配的波特率進(jìn)行接收。
無(wú)論系統采用內部參考電壓還是外部參考電壓,輸入電壓都有相應的范圍,所以前端模擬量的輸入要用穩壓管進(jìn)行限幅。
系統可以根據外界信號的大小調節轉換的精度,只需拉高P2.6同時(shí)調節外部輸入的模擬量為所測量的最大值,這時(shí)系統將自動(dòng)調整PGA(程控增益放大器)。
由于采用半雙工的差分傳輸,系統很容易進(jìn)行擴展,系統可以利用多個(gè)傳感器組成一個(gè)傳感器網(wǎng)絡(luò ),通過(guò)總線(xiàn)控制傳感器采集數據。
- 系統軟件
系統的軟件流程圖如圖2所示。
圖2 系統軟件流程圖
- 初始化
初始化部分主要完成以下功能。
負責系統時(shí)鐘的初始化,使系統工作頻率為DCO指定的標準8MHz時(shí)鐘。
配置系統的端口,由于芯片引腳功能復用,這一過(guò)程就顯得尤為重要。通過(guò)設定SD16AE和SD16INCTL0,使得P1.0和P1.1的工作狀態(tài)分別為A0+、A0-。設定P2.6、P2.7為通用IO口,其中P2.6用作調整PGA的控制信號,P2.7用作數據傳輸的通道。
初始化系統的AD轉換器,采用系統內部的參考電壓,由于輸入頻率最多只能為1.1MHz,故將系統主頻率8分頻輸入。MSP430F2013中ADC沒(méi)有輸入緩存,在緩存模式選擇中關(guān)閉緩存。系統用來(lái)測量連續變化的物理量,設定系統為連續轉換模式。
- 測量
測量時(shí)打開(kāi)中斷,當有測量結果產(chǎn)生時(shí),產(chǎn)生中斷,中斷標志位置位,測量結果存放在轉換結果寄存器中,當從轉換結果寄存器中讀出測量結果后,中斷標志位自動(dòng)復位。所以讀取轉換結果時(shí)只需查詢(xún)中斷標志位即可。
測量結果濾波采用中位值平均濾波法,每個(gè)測量值采樣10次,去除最大值和最小值,其余8個(gè)值取算術(shù)平均值。
這種算法能夠有效地克服因偶然因素引起的波動(dòng)干擾,尤其適用于溫度、液位等變化緩慢的物理量。
測量時(shí)使用內部參考電壓,測量信號的電壓輸入范圍為0~500mV,當輸入信號滿(mǎn)量程輸入,模數轉換輸出的最高位不為1時(shí),可進(jìn)行信號放大,最大放大倍數可達32。當輸入信號的放大倍數為N時(shí),輸入信號的范圍會(huì )相應地縮小為原來(lái)的1/N。例如,當選擇PGA的放大倍數為2倍時(shí),測量信號的電壓輸入范圍為0~250mV。
整個(gè)測量過(guò)程用偽代碼表示如下。
int measure (void)
{
int i;
if ( SET==1 )
{
調整增益;
}
For (i=0;i<10;i++)
{
等待轉換結果產(chǎn)生;
讀取并保存轉換結果;
}
累加轉換結果;
查找最大值與最小值;
中位值平均濾波;
返回測量結果;
}
- 數據傳輸
數據發(fā)送按幀發(fā)送,幀結構如圖3所示。
圖3 數據幀結構圖
每幀數據包括同步碼,AD轉換結果和檢驗碼,幀的同步可以采用特定的同步碼或者間隙同步,這里采用第二種方法。在數據幀發(fā)送時(shí),首先拉高數據發(fā)送線(xiàn),拉高的時(shí)間為發(fā)送16個(gè)數據位的時(shí)間,幀頭高電平的間隙用作數據幀的同步。
奇偶校驗碼作為一種檢錯碼雖然簡(jiǎn)單,但是漏檢率太高。在計算機網(wǎng)絡(luò )和數據通信中用得最廣泛的檢錯碼,是一種漏檢率低得多也便于實(shí)現的循環(huán)冗余碼CRC。CRC生成多項式階數越高,誤判的概率越小。本文采用CCITT-16,其生成多項式為g(x)=x16+x15+x5+1。實(shí)現CRC的方法一般有兩種:直接計算和查表。由于查表法至少需要1kb的空間用來(lái)存儲表值,所以這里采用直接計算的方法。
數據傳輸時(shí)使用單線(xiàn)串行輸出,用口線(xiàn)模擬串行發(fā)送,發(fā)送字節時(shí)在口線(xiàn)上依次發(fā)送如圖4所示數據(數據為0時(shí)拉低口線(xiàn)電平,數據為1時(shí)拉高口線(xiàn)電平),位持續時(shí)間根據波特率計算,本應用中設定波特率為9600b/s。當沒(méi)有數據發(fā)送時(shí),輸出口線(xiàn)上維持高電平。
圖4 發(fā)送字節的順序示意圖
數據發(fā)送最后通過(guò)光耦隔離,使得現場(chǎng)和數據的輸出隔離,同時(shí)可以根據后級系統輸入的需要簡(jiǎn)單地更改電路。
結束語(yǔ)
經(jīng)過(guò)實(shí)際應用,單片MSP430F2013可實(shí)現小信號傳感器輸出電平測量,轉換時(shí)間小于1ms。并可實(shí)現低功耗測量,整機功耗不超過(guò)6mW。該系統特別適合于實(shí)現了一個(gè)智能傳感器,當輸入信號滿(mǎn)輻度大于40mV時(shí)可以保證16位A/D轉換分辨率。由于采用半雙工的差分傳輸,可以方便地實(shí)現傳感器的組網(wǎng)。
電流變送器相關(guān)文章:電流變送器原理
評論