<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 低功耗智能傳感器的設(shè)計(jì)

          低功耗智能傳感器的設(shè)計(jì)

          ——
          作者:東南大學(xué)動(dòng)力工程系 王寶海 周斌 時(shí)間:2006-09-20 來源:今日電子 收藏

          過程中,經(jīng)常需要對(duì)一些參數(shù)進(jìn)行測(cè)量,而一般傳感器的輸出信號(hào)較弱,不適合作遠(yuǎn)距離傳輸。為了減小干擾,通常采用4~20mA電流輸出的雙絞線變送器。信號(hào)模擬處理的變送器,由于電路的復(fù)雜性的限制,非線性補(bǔ)償效果不理想,很難在全溫度范圍內(nèi)實(shí)現(xiàn)溫度補(bǔ)償,因此達(dá)不到較高的精度要求。隨著低功耗高精度單片機(jī)、Σ-Δ ADC和Σ-ΔDAC的日益普及,為高精度的智能變送器的設(shè)計(jì)提供了技術(shù)途徑。

          本文介紹的單片傳感信號(hào)接口設(shè)計(jì)采用了德州儀器公司新近推出的一款多功能的微控制器MSP430F2013,它內(nèi)部集成了16位的Σ-ΔADC。2kb的程序空間和128b的數(shù)據(jù)存儲(chǔ)空間,可以完成數(shù)據(jù)的智能采集,并采用差分傳輸方式進(jìn)行數(shù)據(jù)的傳輸。數(shù)據(jù)按幀進(jìn)行傳輸,傳輸過程中采用CRC檢驗(yàn)進(jìn)行差錯(cuò)控制。

          MSP430F2013的結(jié)構(gòu)特點(diǎn)

          MSP430F2013是TI公司MSP430系列的一款微控制器, 它具有以下結(jié)構(gòu)特點(diǎn):16位的RISC CPU、16位的寄存器和常數(shù)發(fā)生器,可以獲得很高的代碼效率;五種低功耗模式,在便攜式的測(cè)量應(yīng)用中可以延長(zhǎng)電池的使用壽命;數(shù)控振蕩器(DCO)使得從低功耗模式切換到正常模式只要不到1μs;一個(gè)16位的定時(shí)器;10個(gè)I/O口;具備同步通信協(xié)議(SPI或者I2C);一個(gè)16位的Σ-Δ ADC。

          MSP430F2013的典型應(yīng)用是傳感系統(tǒng)捕獲模擬信號(hào),將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),然后利用數(shù)字信號(hào)作屏幕顯示或者將數(shù)字信號(hào)傳輸?shù)揭粋€(gè)主機(jī)系統(tǒng)中用作其他處理。

          系統(tǒng)介紹

          常見的模數(shù)轉(zhuǎn)換電路對(duì)模擬信號(hào)要進(jìn)行信號(hào)放大,而且一般都要設(shè)計(jì)一個(gè)與單片機(jī)的接口電路,本系統(tǒng)具有很高的集成度,單片即可完成信號(hào)的放大、模數(shù)轉(zhuǎn)換,軟件濾波,同時(shí)實(shí)現(xiàn)了一個(gè)單線協(xié)議,直接可以和高檔計(jì)算機(jī)進(jìn)行通訊,無須設(shè)計(jì)與單片機(jī)的接口電路。

          MSP430F2013是一個(gè)低功耗的器件,當(dāng)運(yùn)行在1MHz的時(shí)鐘條件下,系統(tǒng)的工作電流為220μA,而待命模式的工作電流僅為0.5μA,保持RAM的節(jié)電模式的工作電流更是只有0.1μA,這樣的低功耗完全可以利用電池供電,適合于便攜式的測(cè)量。

          本系統(tǒng)利用MSP430F2013進(jìn)行智能數(shù)據(jù)采集,從前端傳感器采集來的數(shù)據(jù)經(jīng)過程控增益放大器進(jìn)行放大,隨后進(jìn)入模數(shù)轉(zhuǎn)換器進(jìn)行模數(shù)轉(zhuǎn)換,轉(zhuǎn)換完成后以異步串行的方式輸出。圖1是整個(gè)系統(tǒng)的原理圖。


          圖1 系統(tǒng)原理圖

          為簡(jiǎn)化系統(tǒng),同時(shí)避免外部晶振對(duì)系統(tǒng)的影響,系統(tǒng)采用內(nèi)部DCO作為時(shí)鐘,系統(tǒng)利用差分傳輸數(shù)據(jù),無需進(jìn)行數(shù)據(jù)的隔離。本應(yīng)用中配置傳輸速率為9600b/s,可以用串口設(shè)定匹配的波特率進(jìn)行接收。

          無論系統(tǒng)采用內(nèi)部參考電壓還是外部參考電壓,輸入電壓都有相應(yīng)的范圍,所以前端模擬量的輸入要用穩(wěn)壓管進(jìn)行限幅。

          系統(tǒng)可以根據(jù)外界信號(hào)的大小調(diào)節(jié)轉(zhuǎn)換的精度,只需拉高P2.6同時(shí)調(diào)節(jié)外部輸入的模擬量為所測(cè)量的最大值,這時(shí)系統(tǒng)將自動(dòng)調(diào)整PGA(程控增益放大器)。

          由于采用半雙工的差分傳輸,系統(tǒng)很容易進(jìn)行擴(kuò)展,系統(tǒng)可以利用多個(gè)傳感器組成一個(gè)傳感器網(wǎng)絡(luò),通過總線控制傳感器采集數(shù)據(jù)。

          1. 系統(tǒng)軟件

            系統(tǒng)的軟件流程圖如圖2所示。


            圖2 系統(tǒng)軟件流程圖

          2. 初始化

            初始化部分主要完成以下功能。

            負(fù)責(zé)系統(tǒng)時(shí)鐘的初始化,使系統(tǒng)工作頻率為DCO指定的標(biāo)準(zhǔn)8MHz時(shí)鐘。

            配置系統(tǒng)的端口,由于芯片引腳功能復(fù)用,這一過程就顯得尤為重要。通過設(shè)定SD16AE和SD16INCTL0,使得P1.0和P1.1的工作狀態(tài)分別為A0+、A0-。設(shè)定P2.6、P2.7為通用IO口,其中P2.6用作調(diào)整PGA的控制信號(hào),P2.7用作數(shù)據(jù)傳輸?shù)耐ǖ馈?BR>
            初始化系統(tǒng)的AD轉(zhuǎn)換器,采用系統(tǒng)內(nèi)部的參考電壓,由于輸入頻率最多只能為1.1MHz,故將系統(tǒng)主頻率8分頻輸入。MSP430F2013中ADC沒有輸入緩存,在緩存模式選擇中關(guān)閉緩存。系統(tǒng)用來測(cè)量連續(xù)變化的物理量,設(shè)定系統(tǒng)為連續(xù)轉(zhuǎn)換模式。
          3. 測(cè)量

            測(cè)量時(shí)打開中斷,當(dāng)有測(cè)量結(jié)果產(chǎn)生時(shí),產(chǎn)生中斷,中斷標(biāo)志位置位,測(cè)量結(jié)果存放在轉(zhuǎn)換結(jié)果寄存器中,當(dāng)從轉(zhuǎn)換結(jié)果寄存器中讀出測(cè)量結(jié)果后,中斷標(biāo)志位自動(dòng)復(fù)位。所以讀取轉(zhuǎn)換結(jié)果時(shí)只需查詢中斷標(biāo)志位即可。

            測(cè)量結(jié)果濾波采用中位值平均濾波法,每個(gè)測(cè)量值采樣10次,去除最大值和最小值,其余8個(gè)值取算術(shù)平均值。



            這種算法能夠有效地克服因偶然因素引起的波動(dòng)干擾,尤其適用于溫度、液位等變化緩慢的物理量。

            測(cè)量時(shí)使用內(nèi)部參考電壓,測(cè)量信號(hào)的電壓輸入范圍為0~500mV,當(dāng)輸入信號(hào)滿量程輸入,模數(shù)轉(zhuǎn)換輸出的最高位不為1時(shí),可進(jìn)行信號(hào)放大,最大放大倍數(shù)可達(dá)32。當(dāng)輸入信號(hào)的放大倍數(shù)為N時(shí),輸入信號(hào)的范圍會(huì)相應(yīng)地縮小為原來的1/N。例如,當(dāng)選擇PGA的放大倍數(shù)為2倍時(shí),測(cè)量信號(hào)的電壓輸入范圍為0~250mV。

            整個(gè)測(cè)量過程用偽代碼表示如下。

            int  measure (void)
            {
             int i;
             if ( SET==1 )
             {
              調(diào)整增益;
            }
            For (i=0;i<10;i++)
            {
             等待轉(zhuǎn)換結(jié)果產(chǎn)生;
             讀取并保存轉(zhuǎn)換結(jié)果;
            }
            累加轉(zhuǎn)換結(jié)果;
            查找最大值與最小值;
            中位值平均濾波;
            返回測(cè)量結(jié)果;
            }
          4. 數(shù)據(jù)傳輸

            數(shù)據(jù)發(fā)送按幀發(fā)送,幀結(jié)構(gòu)如圖3所示。


            圖3 數(shù)據(jù)幀結(jié)構(gòu)圖


            每幀數(shù)據(jù)包括同步碼,AD轉(zhuǎn)換結(jié)果和檢驗(yàn)碼,幀的同步可以采用特定的同步碼或者間隙同步,這里采用第二種方法。在數(shù)據(jù)幀發(fā)送時(shí),首先拉高數(shù)據(jù)發(fā)送線,拉高的時(shí)間為發(fā)送16個(gè)數(shù)據(jù)位的時(shí)間,幀頭高電平的間隙用作數(shù)據(jù)幀的同步。

            奇偶校驗(yàn)碼作為一種檢錯(cuò)碼雖然簡(jiǎn)單,但是漏檢率太高。在計(jì)算機(jī)網(wǎng)絡(luò)和數(shù)據(jù)通信中用得最廣泛的檢錯(cuò)碼,是一種漏檢率低得多也便于實(shí)現(xiàn)的循環(huán)冗余碼CRC。CRC生成多項(xiàng)式階數(shù)越高,誤判的概率越小。本文采用CCITT-16,其生成多項(xiàng)式為g(x)=x16+x15+x5+1。實(shí)現(xiàn)CRC的方法一般有兩種:直接計(jì)算和查表。由于查表法至少需要1kb的空間用來存儲(chǔ)表值,所以這里采用直接計(jì)算的方法。

            數(shù)據(jù)傳輸時(shí)使用單線串行輸出,用口線模擬串行發(fā)送,發(fā)送字節(jié)時(shí)在口線上依次發(fā)送如圖4所示數(shù)據(jù)(數(shù)據(jù)為0時(shí)拉低口線電平,數(shù)據(jù)為1時(shí)拉高口線電平),位持續(xù)時(shí)間根據(jù)波特率計(jì)算,本應(yīng)用中設(shè)定波特率為9600b/s。當(dāng)沒有數(shù)據(jù)發(fā)送時(shí),輸出口線上維持高電平。


            圖4 發(fā)送字節(jié)的順序示意圖


            數(shù)據(jù)發(fā)送最后通過光耦隔離,使得現(xiàn)場(chǎng)和數(shù)據(jù)的輸出隔離,同時(shí)可以根據(jù)后級(jí)系統(tǒng)輸入的需要簡(jiǎn)單地更改電路。

          結(jié)束語(yǔ)

          經(jīng)過實(shí)際應(yīng)用,單片MSP430F2013可實(shí)現(xiàn)小信號(hào)傳感器輸出電平測(cè)量,轉(zhuǎn)換時(shí)間小于1ms。并可實(shí)現(xiàn)低功耗測(cè)量,整機(jī)功耗不超過6mW。該系統(tǒng)特別適合于實(shí)現(xiàn)了一個(gè)智能傳感器,當(dāng)輸入信號(hào)滿輻度大于40mV時(shí)可以保證16位A/D轉(zhuǎn)換分辨率。由于采用半雙工的差分傳輸,可以方便地實(shí)現(xiàn)傳感器的組網(wǎng)。

          電流變送器相關(guān)文章:電流變送器原理


          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();