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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 超低功耗奶牛發(fā)情期監(jiān)測(cè)器的設(shè)計(jì)

          超低功耗奶牛發(fā)情期監(jiān)測(cè)器的設(shè)計(jì)

          作者: 時(shí)間:2012-01-07 來源:網(wǎng)絡(luò) 收藏

          一、奶牛發(fā)情期監(jiān)測(cè)器的設(shè)計(jì)背景

          奶牛發(fā)情期監(jiān)測(cè)器(以下簡(jiǎn)稱監(jiān)測(cè)器)的設(shè)計(jì)啟發(fā)主要來自于北威爾士大學(xué)附屬學(xué)院的克萊夫、非利普斯和安斯?fàn)柕虏┦刻岢龅哪概0l(fā)情期運(yùn)動(dòng)量偏差的研究。在大多數(shù)牛群中不用計(jì)步器收集發(fā)情期母牛的成功率為40%~60%之間,而用計(jì)步器試驗(yàn)(一般發(fā)情期母牛一天走7英里,是正常母牛走2~3英里舉例的兩倍以上),現(xiàn)實(shí)成功率達(dá)90%~100%之間。于是這個(gè)研究小組就提出研制自動(dòng)計(jì)算母牛每天活動(dòng)量的電子計(jì)步器,母牛所增加的活動(dòng)量將啟動(dòng)計(jì)步器,產(chǎn)生一個(gè)聲頻信號(hào)。1監(jiān)測(cè)器自動(dòng)計(jì)量傳感器的信號(hào),通過奶牛每天運(yùn)動(dòng)量是否有大幅增加來判斷奶牛是否處于發(fā)情期中。

          二、奶牛發(fā)情期監(jiān)測(cè)器的設(shè)計(jì)原理

          (一)奶牛監(jiān)測(cè)器結(jié)構(gòu)圖

          完整的奶牛監(jiān)測(cè)器包括兩個(gè)大的組成部分:數(shù)據(jù)采集/發(fā)送模塊和數(shù)據(jù)接受/轉(zhuǎn)換模塊。如圖1所示:

          圖1:奶牛監(jiān)測(cè)器結(jié)構(gòu)

          (二)奶牛監(jiān)測(cè)器中的信號(hào)源及數(shù)據(jù)流分析

          (1)信號(hào)主要由振動(dòng)傳感器產(chǎn)生。www.51kaifa.com

          (2)數(shù)據(jù)采集/發(fā)送模塊采集母牛運(yùn)動(dòng)中產(chǎn)生的信號(hào),軟件累計(jì)計(jì)數(shù)并且將計(jì)數(shù)結(jié)果存儲(chǔ)到寄存器指定位置。將寄存器中的計(jì)數(shù)結(jié)果串行傳輸?shù)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/TX5000">TX5000中,進(jìn)行數(shù)據(jù)的無線發(fā)射(24小時(shí)發(fā)送一次)。

          (3)利用短距離無線發(fā)送芯片,PCB天線通過433.92M赫茲民用波段將數(shù)據(jù)進(jìn)行無方向性的自動(dòng)增益發(fā)送。

          (4)數(shù)據(jù)接受/轉(zhuǎn)換模塊接受傳送的數(shù)據(jù)包,并且將數(shù)據(jù)傳送到單片機(jī)中,最后通過RS232數(shù)據(jù)轉(zhuǎn)換接口傳輸?shù)絇C機(jī)上。

          (5)數(shù)據(jù)將載入用戶系統(tǒng),存儲(chǔ)到后臺(tái)數(shù)據(jù)庫(kù)中。用戶隨時(shí)可以管理數(shù)據(jù)庫(kù),調(diào)用相關(guān)數(shù)據(jù)。

          三、硬件電路分析及PROTEL制圖

          (一) 工作機(jī)理

          監(jiān)測(cè)器的數(shù)據(jù)采集/發(fā)送模塊是被掛在牛脖子上的,供電源僅有一節(jié)干電池。因?yàn)楦鼡Q電池的不便,監(jiān)測(cè)器必然要工作在低功耗模式下(一節(jié)干電池的保持系統(tǒng)正常工作期限為10年)。TI公司生產(chǎn)的單片機(jī)的時(shí)鐘系統(tǒng)產(chǎn)生CPU和各功能模塊所需的時(shí)鐘,并且這些時(shí)鐘可以在指令的控制下打開或者關(guān)閉,即只需打開工作模塊的時(shí)鐘。這樣單片機(jī)的功耗可以大大降低,單片機(jī)能在2微瓦的低能耗模式中穩(wěn)定而準(zhǔn)確的保證單片機(jī)工作模塊的運(yùn)轉(zhuǎn)(一般單片機(jī)工作能耗為毫安瓦級(jí))。這也是在監(jiān)測(cè)器的設(shè)計(jì)中選擇的理論根據(jù)2。本設(shè)計(jì)中單片機(jī)工作在第三種低能耗模式(LMP3)下,外接32766赫茲的時(shí)鐘晶振3。利用MSP430F1121A內(nèi)部16為定時(shí)器Timer_A中的捕捉/比較模塊CCR0的捕捉功能進(jìn)行計(jì)步。

          分析CCR0控制寄存器,如圖所示:

          15 14

          13 12

          11

          10

          9

          8

          7 6 5

          4

          3

          2

          1

          0

          CAPTMOD1-0

          CCISI-0

          SCS

          SCCIx

          CAP

          OUTMODx

          CCIEx

          CCIx

          OUT

          COV

          CCIFGx

          圖2:CCTLx 捕捉/比較模塊

          對(duì)于本設(shè)計(jì)中必要的初始化進(jìn)行說明,選擇捕捉模式(CAPTMOD1-0)設(shè)置為01,即選擇上升沿捕捉;捕捉模式中定義提供捕捉事件的輸入源(CCIS1-0)設(shè)置為CCI0A,即選擇Timer_A的第一個(gè)捕捉器;選擇捕捉信號(hào)與定時(shí)時(shí)鐘同步、異步關(guān)系設(shè)置為1,即同步捕捉,根據(jù)是此時(shí)捕捉器反復(fù)捕捉脈沖上升沿總是有效;選擇/捕捉模式(CAP)設(shè)置為1,即捕捉模式;中斷允許位(CCIEx)設(shè)置為1,即允許中斷,這也是計(jì)步子程序的入口;溢出標(biāo)志(COV)設(shè)置為1,根據(jù)時(shí)通常情況下母牛一天的運(yùn)動(dòng)量不會(huì)達(dá)到溢出水平量0xFFFF。Timer_A有中斷標(biāo)志時(shí),選擇捕捉器 1CCIFG1后,TAIV中的值為2,PC+2后轉(zhuǎn)入累加子程序,即捕捉到了一個(gè)上升沿(母牛走動(dòng)了一步)。中斷返回后重新掃描信號(hào)源的脈沖。www.51kaifa.com

          (二)TX5000發(fā)送機(jī)理

          TX5000具有兩種數(shù)據(jù)發(fā)送模式:OOK模式和ASK模式。在OOK工作模式中,信號(hào)輸出端以通斷脈沖來表示信號(hào)“1”和“0”;而在ASK工作模式中,輸出信號(hào)則分別以高、低電平來表示信號(hào)“1”和“0”;休眠模式的信號(hào)端通常被置于高阻狀態(tài)4。OOK模式的功耗較低,但數(shù)據(jù)傳輸率也低(10kbps);ASK模式的功耗較高,但數(shù)據(jù)傳輸率也較高(115.2kbps)。由于在ASK模式時(shí),信號(hào)可調(diào)幅,因此抗干擾能力也較強(qiáng),本設(shè)計(jì)同樣采用了ASK工作模式。發(fā)送芯片大部分時(shí)間處于休眠狀態(tài),每天發(fā)送數(shù)據(jù)的時(shí)候激活進(jìn)入發(fā)送模式,以保證低功耗的實(shí)現(xiàn)。

          (三)PROTEL硬件電路圖

          由于本文主要討論的是監(jiān)測(cè)器的計(jì)步環(huán)節(jié),因此給出了部分的硬件電路圖。如圖3所示:

          圖3:計(jì)步器硬件設(shè)計(jì)電路圖

          三、串行通訊程序

          文中的數(shù)據(jù)流進(jìn)行串行傳輸?shù)牟糠趾诵某绦蛉缦滤?SUP>【5

          程序初始化階段(省略)

          void main (void)

          {WDTCTL = WDTPW + WDTHOLD;

          CCTL0 = OUT;

          TACTL = TASSEL0+MC1;

          P1SEL = TXD;www.51kaifa.com

          P1DIR = TXD;

          P1SEL = RXD;

          _EINT();

          for (;;)

          {RX_Ready();

          _BIS_SR(CPUOFF + GIE);

          TX_Byte();}}

          兩個(gè)子程序結(jié)構(gòu)(省略)

          五、總結(jié)

          本次設(shè)計(jì)由于產(chǎn)品本身的特點(diǎn),需要低功耗運(yùn)作,成功的應(yīng)用了TI公司的單片機(jī)的低功耗模式進(jìn)行運(yùn)作管理,并且突破了單片機(jī)捕捉器的應(yīng)用局限,利用特殊中斷使能入口進(jìn)行軟件計(jì)數(shù)。在整個(gè)產(chǎn)品的研發(fā)過程中,解決了關(guān)鍵性的母牛運(yùn)動(dòng)計(jì)數(shù)問題。成功實(shí)現(xiàn)了帶有緩存(BUFFWER)的串行數(shù)據(jù)傳輸[6]。為進(jìn)一步研究做好鋪墊工作。

          本文作者創(chuàng)新點(diǎn):突破了單片機(jī)捕捉器的應(yīng)用局限,擴(kuò)展了MSP430F1121A中Timer_A的捕捉/比較模塊以往僅僅測(cè)量軟件程序、硬件事件之間的時(shí)間、系統(tǒng)頻率的功能。利用特殊中斷使能入口進(jìn)行軟件計(jì)數(shù)。成功的將高精度計(jì)步器技術(shù)應(yīng)用到奶牛養(yǎng)殖業(yè)中來,這在國(guó)內(nèi)寥寥無幾,國(guó)際上也是處于領(lǐng)先水平。計(jì)步器超低功耗的特點(diǎn)讓整個(gè)設(shè)計(jì)在實(shí)際應(yīng)用中變的異常方便。

          參考文獻(xiàn):

          [1] 英國(guó)《觀察報(bào)》,98。6。

          [2] The Data Sheet of MSP430x11x1, MSP430F11x1A Mixed Signal Microcontrollers (Rev. H)

          [3] MSP430系列16位超低功耗單片機(jī)原理與應(yīng)用,沈建華,楊艷琴等主編?!本呵迦A大學(xué)出版社,2004.11.

          [4]The Data Sheet of TX5000 433.92 MHz Transmitter 9.5x11mm packagewww.51kaifa.com

          [5] MSP430單片機(jī)應(yīng)用系統(tǒng)開發(fā)典型實(shí)例,秦龍主編。中國(guó)電力出版社,2005.7.

          [6] NAND Flash 在MSP430嵌入式系統(tǒng)中的應(yīng)用,余靖娜等,微計(jì)算機(jī)信息 2007年第1-2期。



          關(guān)鍵詞: MSP430F1121A TX5000 RX5000

          評(píng)論


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