新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于Si1000的無線M-Bus通信系統

        基于Si1000的無線M-Bus通信系統

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

        從節點中,儀表與芯片的UART串口引腳P0.4/TX和P0.5/RX相連。主節點芯片的UART串口引腳P0.4/TX和P0.5/RX與集中器進行連接,集中器內部MCU串口通過RS232與GPRS模塊相連,借助移動網和Internet實現數據的遠程傳輸。圖中可編程負載電容是可集成的,L1~L6和C1~C5的值是由頻率帶寬、天線阻抗和供給電壓決定的。

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

        2.3 無線協議棧實現

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

        d.JPG

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

        的射頻芯片為發送和接收提供了一個64字節FIFO。在數據鏈路層實現了數據包的發送和接收,數據包發送和接收流程圖如圖5所示。

        e.JPG

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



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 惠水县| 沙雅县| 鲜城| 河池市| 乌什县| 保靖县| 永吉县| 射洪县| 海淀区| 谷城县| 阿克苏市| 锦州市| 沂水县| 宁津县| 丰顺县| 安仁县| 宣汉县| 民县| 潍坊市| 龙江县| 广宗县| 巴林右旗| 凌云县| 平武县| 东平县| 五原县| 新营市| 江永县| 淄博市| 彭阳县| 大英县| 宁城县| 江北区| 慈利县| 高尔夫| 河源市| 星座| 平阳县| 桐庐县| 黄冈市| 祁东县|