新聞中心

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

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

作者: 時(shí)間:2013-05-23 來源:網(wǎng)絡(luò) 收藏

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

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

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

協(xié)議棧

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

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

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

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

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

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

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

  結(jié)語

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


上一頁 1 2 3 下一頁

評(píng)論


相關(guān)推薦

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

關(guān)閉