關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于C8051和Si4432無線收發透明模塊設計與實現

        基于C8051和Si4432無線收發透明模塊設計與實現

        作者: 時間:2013-02-21 來源:網絡 收藏

        3.1 初始化
        初始化程序主要包括的初始化,串口的配置、SPI的配置,無線數據接收與發送的頻率、傳輸速率、工作模式等內部寄存器的初始化配置。
        的數字交叉開關可以將內部的系統資源映射到端口I/O引腳,通過設置交叉開關控制寄存器,將片內資源配置到相應的I/O引腳上,提高了配置的靈活性。在配置SPI時,可以通過對4個特殊功能寄存器:配置寄存器SPI0CFG、控制寄存器SPI0CN、數據寄存器SPI0DAT和時鐘頻率寄存器SPI0CKR的控制實現,采用4線主SPI模式,通過設置SPI0CKR寄存器,將同步時鐘頻率設為晶振的1/4,在時鐘的每一個上升沿進行操作。
        上電之初,也處于默認狀態,需要進行配置才能工作。有70多個寄存器需要配置,它們決定了的工作模式,具體配置可以參考Si4432的數據手冊。Si4432的初始化是一個重要的部分,配置的恰當與否對系統最終的通信效果有很大的影響。主控制器C8051 F340通過SPI配置Si4432的1ch和1dh等寄存器,寫入相應的初始化RF控制字(主要是頻率、傳輸速度和傳輸方式等);通過配置33h和34h等寄存器來設置包的結構、前導碼長度以及同步字內容等。本系統采用同步傳輸模式,以0x2DD4作為同步模式的標志碼,傳輸完同步字后才開始傳輸數據載荷。每次發送數據必須以同步字0x2DD4作為發送數據的同步標志,接收端在檢測到同步字后才開始接收數據。
        3.2 無線發送程序
        無線發送程序流程如圖3所示。完成、串口發送、SPI和Si4432的初始化后,配置寄存器寫入相應的初始化RF控制字。接下來,通過配置Si4432的寄存器3eh來設置包的長度,通過SPI連續寫寄存器7fh,往TXFIFO里寫入需要發送的數據。然后打開“發送完中斷允許標志”,將其他中斷都禁止。當有數據包發送完時,引腳IRQ會被拉低以產生一個低電平從而通知C8051F340數據包已發送完畢。完成中斷使能后,使能發送功能,數據開始發送。等待IRQ引腳因中斷產生而使電平拉低,當IRQ引腳變為低時讀取中斷狀態并拉高IRQ,否則繼續等待。如果數據發送成功,指示燈會變亮。一次數據發送成功后,進入下一次數據循環發送狀態。

        本文引用地址:http://www.104case.com/article/159514.htm

        c.JPG


        3.3 無線接收程序
        無線接收程序流程如圖4所示。程序完成C8051F340、串口接收、SPI接口和Si4432的初始化后,配置寄存器寫入相應的初始化RF控制字。通過訪問寄存器7fh從RX FIFO中讀取接收到的數據。相應的控制字設置好之后,若引腳IRQ變成低電平,則表示Si4432準備好接收數據。完成這些初始化配置后,通過寄存器4bh讀取包長度信息。然后,打開有效包中斷和同步字檢測中斷,將其他中斷都禁止。引腳IRQ用來檢測是否有有效包被檢測到,若引腳IRQ變為低電平,則表示有有效的數據包被檢測到。本系統用0x2DD4作為同步模式的標志碼,接收模塊通過檢測這個同步字來同步接收數據。最后,使能接收功能,數據開始接收。等待IRQ引腳因中斷產生而使電平拉低,讀取中斷標志位復位IRQ引腳,使IRQ恢復至初始的高電平狀態以準備下一次中斷觸發的檢測。通過SPI讀取RX FIFO中的數據,將數據送至液晶OCM12864顯示,之后進入下一次數據接收狀態。

        d.JPG



        4 系統測試與分析
        為驗證本無線射頻收發系統設計的可靠性,進行了7組“發射模塊一接收模塊”通信實驗。在空曠地通信距離約為1 500 m時,7組“發射模塊-接收模塊”分別工作在430.50 MHz,431.50 MHz,432.50 MHz等7個中心頻率上,帶寬均取112.8 kHz,頻率偏移取±25 kHz,發送4000個數據包。實驗證明,在傳輸速率較低時,誤碼率為0;在傳輸速率為100Kb/s(或以上)時,有一定的誤碼,但誤碼率低于0.075%。因此,該無線射頻收發系統具有傳輸距離遠、穿墻能力強以及通信誤碼率低的特點。設計良好時,收發距離最遠可達2 km。

        5 結語
        本系統完全可以擴充為一個網絡系統,形成一個無線網絡,以應用到現場控制或測控系統中。本文所設計的無線射頻收發系統工作可靠、穩定,具有很好的通用性,稍作改動就可以應用到小區傳呼、工業數據采集、生物信號采集、無線遙控等其他一些短距離無線通信領域,對于一些小公司、電子愛好者可以不管模塊里面的無線通信協議及硬件,快速、簡單地嵌入到自己產品中去。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 滁州市| 龙陵县| 西城区| 游戏| 邹平县| 武穴市| 扎鲁特旗| 恩施市| 惠水县| 区。| 达拉特旗| 平陆县| 阜新| 大埔区| 长宁县| 保靖县| 思茅市| 蒙山县| 息烽县| 菏泽市| 江陵县| 万荣县| 楚雄市| 林口县| 读书| 富民县| 鞍山市| 贵定县| 吉水县| 舒城县| 旬邑县| 吕梁市| 汝南县| 称多县| 诸城市| 桃江县| 丹棱县| 东莞市| 云浮市| 潜江市| 周宁县|