基于Si1000的無(wú)線(xiàn)M-Bus通信系統設計
無(wú)線(xiàn)收發(fā)模塊的通信是以數據包的形式發(fā)送的,無(wú)線(xiàn)發(fā)送程序負責寫(xiě)入數據,參考無(wú)線(xiàn)M-Bus通信協(xié)議,為數據加上前導碼、同步字、數據載荷長(cháng)度及CRC校驗字節,形成數據包將其發(fā)送出去。為保證接收到數據的正確性,無(wú)線(xiàn)接收程序負責接收數據包并檢驗CRC字節。
2.3無(wú)線(xiàn)M-Bus協(xié)議棧實(shí)現
協(xié)議棧如圖4所示。物理層定義了位是如何編碼和傳輸的、RF調制解調器的特性(碼率、前導碼和同步字)和RF參數(調制、中心頻率和頻率偏移)。物理層是通過(guò)硬件和嵌入式軟件結合來(lái)實(shí)現的,EZRadioPRO實(shí)現了所有RF和調制解調器的功能。MbusPhy.c模塊提供SPI接口、編碼/解碼、塊的讀/寫(xiě)和數據包處理,并且管理收發(fā)器的狀態(tài)。
無(wú)線(xiàn)M-Bus數據鏈路層是在MbusLink.c模塊上實(shí)現的。M-Bus應用程序編程接口由公共函數組成,這些公共函數可以從主線(xiàn)程的應用層調用,MbusLink模塊也實(shí)現了數據鏈路層。數據鏈路層規定了數據的格式,為數據加上頭文件和循環(huán)冗余校驗,并且將數據從應用程序TX緩沖區復制到MbusPhy TX緩沖區。
Si1000的射頻芯片為發(fā)送和接收提供了一個(gè)64字節FIFO.在數據鏈路層實(shí)現了數據包的發(fā)送和接收,數據包發(fā)送和接收流程圖如圖5所示。
在發(fā)送時(shí),計算編碼字節的總數。如果編碼字節總數(包括前導碼)小于64字節,那么將整個(gè)數據包寫(xiě)到FIFO,并且只有包發(fā)送中斷有效。大多數短包將在一個(gè)FIF0轉移中被發(fā)送。如果編碼字節的數量大于64字節,那么需要多次FIFO轉移發(fā)送數據包。將前64個(gè)字節寫(xiě)到FI FO,包發(fā)送中斷和TX FIFO幾乎空中斷有效,把TXFIFO幾乎空閾值設置為10字節。在每一個(gè)nIRQ之前,讀取狀態(tài)2寄存器。首先檢查包發(fā)送位,如果數據包沒(méi)有被完全發(fā)送,那么將編碼數據接下來(lái)的32字節寫(xiě)到FIFO,重復上述過(guò)程直到所有編碼字節都被寫(xiě)到FIFO,并且包發(fā)送中斷發(fā)生。
在接收時(shí),最初只有同步字中斷是有效的。接收同步字后,同步字中斷無(wú)效且FIFO幾乎滿(mǎn)中斷有效。FIFO幾乎滿(mǎn)閾值設置到2字節,首個(gè)FIFO幾乎滿(mǎn)中斷用于確認這兩個(gè)長(cháng)度字節何時(shí)已收到。一旦接收到這個(gè)長(cháng)度,那么解碼這個(gè)長(cháng)度且計算出編碼字節的數目,然后將RXFIFO幾乎滿(mǎn)閾值設置到54字節,RX FIFO幾乎滿(mǎn)中斷和有效數據包中斷有效。在接收到一個(gè)有效數據包中斷后,MCU等待接收FIFO幾乎滿(mǎn)中斷,然后從接收FIFO讀取32字節。重復上述過(guò)程直到全部字節有效載荷被接收。在CRC錯誤的情況下,MCU將復位接收FIFO并丟棄數據包。
3無(wú)線(xiàn)M-Bus系統低功耗的實(shí)現
為了延長(cháng)電池的使用壽命,Si1000在工作過(guò)程中并不是一直運行的。當沒(méi)有數據要發(fā)送時(shí),Si1000處于休眠狀態(tài),其內部的MCU和射頻都是關(guān)閉的,只有定時(shí)器在工作。經(jīng)過(guò)一定時(shí)間后,內部MCU喚醒偵聽(tīng)載波,判斷是否有數據需要它來(lái)發(fā)送,當有數據需要發(fā)送時(shí),Si1000發(fā)送數據。發(fā)送數據完成后,關(guān)閉MCU和射頻。這樣重復進(jìn)行,只有數據發(fā)送時(shí)它才進(jìn)行工作,否則一直處于休眠狀態(tài),這樣就大大延長(cháng)了電池的使用壽命。
結語(yǔ)
無(wú)線(xiàn)M-Bus是一種專(zhuān)門(mén)用于各種消費類(lèi)型儀表的遠程讀數或讀取相關(guān)信息的通信標準。將無(wú)線(xiàn)M-Bus與Si1000應用到各種消費儀表上,可將數據收集并傳到中心集中器,然后通過(guò)GPRS傳送到集抄中心進(jìn)行相應的處理。這樣就可以實(shí)現遠程數據實(shí)時(shí)采集、巡檢和監控等功能。無(wú)線(xiàn)M-Bus在我國的應用還處于起步階段,但考慮到它在計量應用領(lǐng)域的優(yōu)勢,應用前景十分廣闊。
評論