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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于MSP430的新型自報(bào)式水文遙測(cè)終端機(jī)設(shè)計(jì)

          基于MSP430的新型自報(bào)式水文遙測(cè)終端機(jī)設(shè)計(jì)

          ——
          作者:桂林電子工業(yè)學(xué)院 楊帆 趙利 時(shí)間:2007-01-26 來源:《今日電子》 收藏

          水文遙測(cè)系統(tǒng)通常由終端機(jī)、中繼站和中心站三部分組成。由于終端機(jī)是用來直接測(cè)量雨量、水位等水文數(shù)據(jù),是整個(gè)遙測(cè)系統(tǒng)信息的來源,故其設(shè)計(jì)成為整個(gè)遙測(cè)系統(tǒng)的關(guān)鍵。遙測(cè)終端機(jī)一般處于河流上游或者湖泊邊緣,分布分散,維護(hù)起來很不方便,需要長(zhǎng)期工作在無人值守的環(huán)境中,并且往往無交流電源提供,需要靠太陽能浮充和免維護(hù)蓄電池供電,因此在終端機(jī)的設(shè)計(jì)過程中低功耗和高可靠性尤為重要。

          本文引用地址:http://www.ex-cimer.com/article/20691.htm

          現(xiàn)有的遙測(cè)終端機(jī)通常采用mcs51微控制器作為控制芯片并配以較多的模擬電路和邏輯門電路,其設(shè)計(jì)復(fù)雜,功耗和可靠性難以得到保證,所以很有必要利用新型的性能更高的器件來對(duì)終端機(jī)重新設(shè)計(jì)。ti公司的msp430系列集成了大量的外圍部件,是低工作電壓、超低功耗、高性能的微控制器,在電池供電的便攜式設(shè)備和儀器中有著廣泛的應(yīng)用。和mcs51等其他微控制器相比,mps430具有很多優(yōu)勢(shì):它能夠工作在1.8~3.6v的寬電壓范圍內(nèi);在1mhz時(shí)鐘、2.2v電壓的典型工作條件下,靜態(tài)電流僅為225μa;具有5種低功耗工作模式,在不同的模式下消耗電流為 0.1~340μa,用中斷方式將微控制器從低功耗模式喚醒至激活模式下,僅需要6μs。本文以msp430f147作為控制芯片,同時(shí)結(jié)合其他外圍低功耗器件分別從硬件和軟件兩個(gè)方面介紹一種新型低功耗終端機(jī)的設(shè)計(jì)。 終端機(jī)工作原理

          終端機(jī)采用自報(bào)工作方式,在雨量或水位數(shù)據(jù)沒有變化時(shí)處于低功耗的值守模式,此時(shí)cpu、主時(shí)鐘(mclk)以及內(nèi)部數(shù)字振蕩器(dco)均不工作,微控制器僅由低速輔助時(shí)鐘(aclk)來驅(qū)動(dòng),系統(tǒng)功耗很低。當(dāng)水位或雨量變化一個(gè)單位或定時(shí)發(fā)送時(shí),便會(huì)使微控制器立即進(jìn)入激活模式,并且啟動(dòng)fm發(fā)射機(jī)發(fā)送一次數(shù)據(jù),數(shù)據(jù)發(fā)送完后再轉(zhuǎn)入低功耗模式,直到下一次發(fā)送數(shù)據(jù)。終端機(jī)除具有雨量、水位、定時(shí)發(fā)送等基本功能外,為了便于維護(hù),還具有強(qiáng)發(fā)和編程功能,各個(gè)功能的描述如下。

          雨量發(fā)送

          當(dāng)雨量計(jì)產(chǎn)生一個(gè)通斷信號(hào)時(shí),由雨量傳感器輸出一個(gè)具有一定寬度的雨量脈沖信號(hào),此信號(hào)作為外部中斷,喚醒處于低功耗模式的微控制器,在6μs內(nèi)微控制器轉(zhuǎn)入激活工作狀態(tài),并控制供電電路給處于掉電狀態(tài)的電路和fm發(fā)射機(jī)供電,使之上電工作。此時(shí)微控制器將檢測(cè)到的雨量信號(hào)進(jìn)行累加和保存,并讀入測(cè)量站站址和電池狀態(tài),將以上數(shù)據(jù)裝幀后傳送給fm發(fā)射機(jī),由fm發(fā)射機(jī)將數(shù)據(jù)發(fā)送給中繼站,發(fā)送完畢后控制相關(guān)電路掉電后轉(zhuǎn)入低功耗模式工作。

          水位發(fā)送

          與雨量發(fā)送的過程相似,水位發(fā)送只是當(dāng)微控制器檢測(cè)到水位脈沖信號(hào)后,從水位計(jì)上讀入此時(shí)的水位值,并與上次所讀入值相比較。若有變化則讀入測(cè)量站站址、電池狀態(tài)后發(fā)送數(shù)據(jù);若無變化則直接返回低功耗模式工作。

          定時(shí)發(fā)送

          微控制器由內(nèi)部定時(shí)中斷喚醒后,首先讀入編程開關(guān)狀態(tài),依據(jù)編程開關(guān)設(shè)置確定由eeprom中讀入水位數(shù)據(jù)還是雨量數(shù)據(jù),然后再發(fā)送。

          強(qiáng)發(fā)功能

          按下強(qiáng)發(fā)鍵并持續(xù)0.5s將迫使終端機(jī)發(fā)送數(shù)據(jù),以此達(dá)到維護(hù)和檢查終端機(jī)的目的。

          編程功能

          通過外部dip編程開關(guān),可以對(duì)終端機(jī)的站址、是否清除已有數(shù)據(jù)以及定時(shí)發(fā)送何種數(shù)據(jù)進(jìn)行編程設(shè)置。由于外部eeprom存儲(chǔ)器的擦寫次數(shù)有限,“清除”可使外部eeprom內(nèi)的數(shù)據(jù)更換新地址,從而延長(zhǎng)其使用壽命。同時(shí)還可以通過此開關(guān)設(shè)置定時(shí)發(fā)送水位數(shù)據(jù)還是雨量數(shù)據(jù),或者兩者一起發(fā)送,從而使終端機(jī)配置水位終端機(jī)、雨量終端機(jī)或者水文終端機(jī)。
          硬件電路設(shè)計(jì)

          由于硬件電路是主要的耗電部分,故在芯片選擇和電路設(shè)計(jì)過程中主要考慮低功耗的因素。終端機(jī)硬件電路如圖1所示,雨量、水位和電壓信息分別通過各自的傳感器接到微控制器的i/o口,微控制器對(duì)這些數(shù)據(jù)進(jìn)行采集,然后進(jìn)行相應(yīng)的處理。

          控制單元

          整個(gè)硬件電路的核心是msp430f147微控制器,它控制各個(gè)單元協(xié)調(diào)工作,是整個(gè)電路主要的耗電部分,對(duì)它的功耗控制主要是系統(tǒng)交替工作于高速、低速兩種時(shí)鐘和通過軟件設(shè)置其不同工作模式來完成,這兩部分的設(shè)置和實(shí)現(xiàn)將在時(shí)鐘電路和軟件設(shè)計(jì)部分介紹。

          電源管理電路

          終端機(jī)由太陽能浮充的免維護(hù)蓄電池供電,該蓄電池除了給fm發(fā)射機(jī)提供+12v電源外,還給控制電路提供 +3v的電源,這就需要電壓轉(zhuǎn)換電路。maxim公司的電源管理icl7663的靜態(tài)工作電流只有10μa,輸入電壓范圍1.5~16v,輸出電壓范圍1.3~16v,由于它功耗極低,非常適合于電池供電的設(shè)備中,故采用icl7663可以進(jìn)一步降低終端機(jī)的功耗。輸出電壓可由式 (1)得出。

          式(1)中vset的典型值為1.3v,r1、r2為偏置電阻,用來設(shè)置輸出電壓。圖1電路中中選擇r1=1mω、r2=1.3mω,經(jīng)式(1)計(jì)算可得輸出電壓vout=3v。

          輸出電流可以通過限流電阻rcl來設(shè)置,由式(2)得出。

          圖1電路中選擇rcl=20ω,經(jīng)計(jì)算輸出電流為35ma,滿足本設(shè)計(jì)的要求。

          時(shí)鐘電路

          在cmos數(shù)字邏輯器件中,功耗與系統(tǒng)時(shí)鐘頻率f(clk)成正比,見式(3)。

          式(3)中c是coms的負(fù)載電容,v是電源電壓,e(sw)是跳變頻率。由式(3)可知在負(fù)載電容、電源電壓和跳變頻率基本不變的前提下,要實(shí)現(xiàn)低功耗就需要降低微控制器的工作頻率。msp430f147的特色是具有兩個(gè)外部時(shí)鐘源,一個(gè)為低速的輔助時(shí)鐘(aclk),另一個(gè)為高速的主時(shí)鐘(mclk)。aclk可以使用32.768hz的手表晶振,它可以給系統(tǒng)提供穩(wěn)定的時(shí)間基準(zhǔn)并且降低微控制器的功耗,而mclk可以使用4mhz的晶振,并可以配置成在需要系統(tǒng)全速工作時(shí)由中斷喚醒,從而高效執(zhí)行相應(yīng)的程序和高速處理數(shù)據(jù)。

          外部存儲(chǔ)器和復(fù)位電路

          這部分電路采用xicor公司的x25045,該芯片將可編程看門狗、電壓監(jiān)控、eeprom集于一體,具有體積小、占用i/o少等優(yōu)點(diǎn),應(yīng)用于系統(tǒng)中可以簡(jiǎn)化微控制器系統(tǒng)的設(shè)計(jì)。芯片采用spi口與微控制器數(shù)據(jù)交換,通過片內(nèi)可選時(shí)間的看門狗定時(shí)器可以在微控制器程序跑飛或者死鎖時(shí)復(fù)位,這樣便提高了系統(tǒng)的可靠性。
          軟件設(shè)計(jì)

          在軟件方面,主要通過模式的選擇和片內(nèi)模塊的使用兩方面來降低功耗。

          msp430f147的低功耗工作模式

          msp430f147共有5種低功耗工作模式(lpm0~lpm4)和一個(gè)激活模式(am),任何低功耗的模式都可以由任何允許的中斷喚醒,從而回到激活模式,且轉(zhuǎn)換時(shí)間低于6μs。不同工作模式在1mhz時(shí)鐘下的典型功耗見表1。


          表1 不同模式下典型電流值(μa)

          msp430f147的不同低功耗模式是通過配置狀態(tài)寄存器sr中cpuoff、oscoff、scg0、scg1 4個(gè)模式控制位來實(shí)現(xiàn)的,這四位有效與否的不同組合可以達(dá)到控制微控制器時(shí)鐘系統(tǒng)的目的。根據(jù)終端機(jī)的低功耗設(shè)計(jì)要求,可以配置狀態(tài)寄存器sr使微控制器工作于lpm3模式。此時(shí)cpuoff、oscoff、scg0、scg1 4個(gè)模式控制位的值分別為1、0、1、1。在該模式下,cpu、主時(shí)鐘(mclk)和內(nèi)部數(shù)字振蕩器(dco)均不工作,微控制器僅由輔助時(shí)鐘(aclk)驅(qū)動(dòng),此時(shí)工作電流僅為2μa,功耗很低。處于該模式的微控制器可以由雨量、水位等外部中斷或者內(nèi)部定時(shí)中斷喚醒,喚醒后進(jìn)入激活工作模式,此時(shí)被關(guān)閉的各部分電路將恢復(fù)正常工作。由此可以在終端機(jī)需要發(fā)送數(shù)據(jù)的時(shí)候激活微控制器,不發(fā)送的時(shí)候則使微控制器進(jìn)入lpm3模式,這樣就大大降低了系統(tǒng)的功耗。

          片內(nèi)模塊的考慮

          msp430f147集成了較多的模擬模塊,如adc、comparator a、svs等。對(duì)于模擬模塊,工作頻率對(duì)供電電流幾乎沒有影響,而工作電壓卻有較大影響,故對(duì)于不使用的模塊應(yīng)該在程序初始化時(shí)將其關(guān)閉,從而通過軟件設(shè)置降低功耗。

          軟件流程

          終端機(jī)的軟件流程如圖2所示。整個(gè)程序采用查詢式結(jié)構(gòu),分為主程序和中斷程序。主程序包括端口、變量和內(nèi)部寄存器的初始化以及數(shù)據(jù)處理。中斷程序用于響應(yīng)事件并對(duì)相應(yīng)標(biāo)志置位,然后將參數(shù)返回給主程序處理。將微控制器從低功耗模式喚醒至激活模式共有兩類中斷:外部中斷和內(nèi)部中斷。由于雨量、水位、強(qiáng)發(fā)信號(hào)具有隨機(jī)性,故由微控制器的外部中斷響應(yīng)這三個(gè)事件。另外由片內(nèi)定時(shí)器產(chǎn)生內(nèi)部定時(shí)中斷,用于在無水位和雨量變化時(shí)定時(shí)發(fā)送數(shù)據(jù)。對(duì)于清除、站址等編程功能,則在主程序中通過對(duì)外部編程開關(guān)的讀取來完成。



          關(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); })();