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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于Si1000的無線M-Bus通信系統(tǒng)設計

          基于Si1000的無線M-Bus通信系統(tǒng)設計

          作者: 時間:2013-05-23 來源:網絡 收藏

            無線收發(fā)模塊的通信是以數(shù)據(jù)包的形式發(fā)送的,無線發(fā)送程序負責寫入數(shù)據(jù),參考通信協(xié)議,為數(shù)據(jù)加上前導碼、同步字、數(shù)據(jù)載荷長度及CRC校驗字節(jié),形成數(shù)據(jù)包將其發(fā)送出去。為保證接收到數(shù)據(jù)的正確性,無線接收程序負責接收數(shù)據(jù)包并檢驗CRC字節(jié)。

            2.3協(xié)議棧實現(xiàn)

            協(xié)議棧如圖4所示。物理層定義了位是如何編碼和傳輸?shù)?、RF調制解調器的特性(碼率、前導碼和同步字)和RF參數(shù)(調制、中心頻率和頻率偏移)。物理層是通過硬件和嵌入式軟件結合來實現(xiàn)的,EZRadioPRO實現(xiàn)了所有RF和調制解調器的功能。MbusPhy.c模塊提供SPI接口、編碼/解碼、塊的讀/寫和數(shù)據(jù)包處理,并且管理收發(fā)器的狀態(tài)。

          協(xié)議棧

          數(shù)據(jù)鏈路層是在MbusLink.c模塊上實現(xiàn)的。M-Bus應用程序編程接口由公共函數(shù)組成,這些公共函數(shù)可以從主線程的應用層調用,MbusLink模塊也實現(xiàn)了數(shù)據(jù)鏈路層。數(shù)據(jù)鏈路層規(guī)定了數(shù)據(jù)的格式,為數(shù)據(jù)加上頭文件和循環(huán)冗余校驗,并且將數(shù)據(jù)從應用程序TX緩沖區(qū)復制到MbusPhy TX緩沖區(qū)。

            的射頻芯片為發(fā)送和接收提供了一個64字節(jié)FIFO.在數(shù)據(jù)鏈路層實現(xiàn)了數(shù)據(jù)包的發(fā)送和接收,數(shù)據(jù)包發(fā)送和接收流程圖如圖5所示。

          數(shù)據(jù)包發(fā)送和接收流程圖

            在發(fā)送時,計算編碼字節(jié)的總數(shù)。如果編碼字節(jié)總數(shù)(包括前導碼)小于64字節(jié),那么將整個數(shù)據(jù)包寫到FIFO,并且只有包發(fā)送中斷有效。大多數(shù)短包將在一個FIF0轉移中被發(fā)送。如果編碼字節(jié)的數(shù)量大于64字節(jié),那么需要多次FIFO轉移發(fā)送數(shù)據(jù)包。將前64個字節(jié)寫到FI FO,包發(fā)送中斷和TX FIFO幾乎空中斷有效,把TXFIFO幾乎空閾值設置為10字節(jié)。在每一個nIRQ之前,讀取狀態(tài)2寄存器。首先檢查包發(fā)送位,如果數(shù)據(jù)包沒有被完全發(fā)送,那么將編碼數(shù)據(jù)接下來的32字節(jié)寫到FIFO,重復上述過程直到所有編碼字節(jié)都被寫到FIFO,并且包發(fā)送中斷發(fā)生。

            在接收時,最初只有同步字中斷是有效的。接收同步字后,同步字中斷無效且FIFO幾乎滿中斷有效。FIFO幾乎滿閾值設置到2字節(jié),首個FIFO幾乎滿中斷用于確認這兩個長度字節(jié)何時已收到。一旦接收到這個長度,那么解碼這個長度且計算出編碼字節(jié)的數(shù)目,然后將RXFIFO幾乎滿閾值設置到54字節(jié),RX FIFO幾乎滿中斷和有效數(shù)據(jù)包中斷有效。在接收到一個有效數(shù)據(jù)包中斷后,MCU等待接收FIFO幾乎滿中斷,然后從接收FIFO讀取32字節(jié)。重復上述過程直到全部字節(jié)有效載荷被接收。在CRC錯誤的情況下,MCU將復位接收FIFO并丟棄數(shù)據(jù)包。

            3無線M-Bus系統(tǒng)低功耗的實現(xiàn)

            為了延長電池的使用壽命,在工作過程中并不是一直運行的。當沒有數(shù)據(jù)要發(fā)送時,處于休眠狀態(tài),其內部的MCU和射頻都是關閉的,只有定時器在工作。經過一定時間后,內部MCU喚醒偵聽載波,判斷是否有數(shù)據(jù)需要它來發(fā)送,當有數(shù)據(jù)需要發(fā)送時,Si1000發(fā)送數(shù)據(jù)。發(fā)送數(shù)據(jù)完成后,關閉MCU和射頻。這樣重復進行,只有數(shù)據(jù)發(fā)送時它才進行工作,否則一直處于休眠狀態(tài),這樣就大大延長了電池的使用壽命。

            結語

            無線M-Bus是一種專門用于各種消費類型儀表的遠程讀數(shù)或讀取相關信息的通信標準。將無線M-Bus與Si1000應用到各種消費儀表上,可將數(shù)據(jù)收集并傳到中心集中器,然后通過GPRS傳送到集抄中心進行相應的處理。這樣就可以實現(xiàn)遠程數(shù)據(jù)實時采集、巡檢和監(jiān)控等功能。無線M-Bus在我國的應用還處于起步階段,但考慮到它在計量應用領域的優(yōu)勢,應用前景十分廣闊。


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

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