在為客戶提供技術支持和RF 定制的過程中,我們發(fā)現由于功能要求升級和產品更新換代等原因,經常會遇到需要內嵌不同無線芯片的模塊能相互通信的問題,但芯片間的規(guī)格、參數、數據格式的各種區(qū)別讓人不知從何著手。本次測試選用的是深圳市思為無線科技有限公司自主研發(fā)的RF 前端無線模塊RF4432PRO(內嵌Si4432 芯片)和RF4463PRO(內嵌Si4463 芯片),并描述了詳細實驗過程、硬件接口和相關示例程序,希望為解決不同無線芯片間的通信問題提供一個參考的方法。
一、實驗硬件設計
1.1 芯片性能和特點
圖1:Si4432和Si4463 芯片內置模塊框圖
RF4432PRO 無線模塊中的 Si4432 是美國 Silabs 研發(fā)的一款工作頻段低于 1GHz的高性能射頻收發(fā)芯片,屬于其 EzRadioPro 系類。在國內已經廣泛應用于工業(yè)、科研、醫(yī)療(ISM)以及短距離無線通信設備(SRD),其輸出功率可高達 +20 dBm,接收靈敏度亦達到 -121 dBm。
RF4463PRO 無線模塊采用的是 Silicon Lab Si4463 器件,這是一款高度集成的無線 ISM 頻段收發(fā)芯片。極低的接收靈敏度(-126 dBm),再加上業(yè)界領先的+20 dBm的輸出功率保證擴大范圍和提高鏈路性能。同時內置天線多樣性和對跳頻支持可以用于進一步擴大范圍,提高性能。
具體參數可見 Si4432 和 Si4463 的芯片手冊。RF4432PRO 和 RF4463PRO 無線模塊內提供了 Si4432 和 Si4463 芯片內置功能的硬件支持,用戶可直接根據芯片手冊進行模塊的編程開發(fā)與控制。
無線模塊 | RF4432PRO | RF4463PRO |
頻率范圍 | 403MHz,433MHz,463MHz | 403MHz,433MHz,463MHz |
發(fā)射電流 | 85mA,@20dBm | 85mA,@20dBm |
接收電流 | 18.5mA | 13.5mA |
靜態(tài)功耗 | <1uA | <0.1uA |
發(fā)射功率范圍 | 1dBm~20dBm | -5dBm~20dBm |
接收靈敏度 | -121dbm @data=1.2kbps | -126dbm @data=500bps |
表 1:經測試深圳市思為無線科技有限公司的 RF4432 與 RF4463 射頻參數對比
1.2 系統(tǒng)硬件設計
實驗系統(tǒng)硬件使用了深圳市思為無線科技有限公司無線模塊 RF4432PRO 和RF4463PRO 及其相應的 DEMO 演示板。RF4432PRO 和 RF4463PRO 模塊內含了經嚴格測試通過的工業(yè)級高性能的芯片應用電路。將各模塊通過插針連接在一起,便完成了硬件平臺的搭建。通過 DEMO 演示板中單片機的 SPI 口控制,兩個收發(fā)模塊之間相互通信,從而實現數據的無線傳輸。無線模塊 DEMO 演示板(如下圖 2)是深圳市思為無線科技有限公司配合無線前端收發(fā)模塊,為方便客戶調試程序、測試距離而研發(fā)的開發(fā)板。該DEMO演示板外置無線模塊引腳,設置參數可掉電保存。用戶可通過按鍵設置修改無線模塊的工作頻率、發(fā)射功率以及通訊速率等相關參數。RF4432PRO和RF4463PRO無線模塊的具體腳位定義可參考我司詳細的產品規(guī)格書。
圖 2:深圳市思為無線科技有限公司 DEMO 演示板和無線模塊硬件連接
二、無線模塊工作原理
無線信號的發(fā)射和接收是將信號調制和解調的過程。無論是相同還是不同的無線模塊通信,發(fā)射和接收兩部分調制格式、調制速率和頻率、頻偏和接收帶寬等調制參數的差別都會導致模塊之間無法通信的情況。
2.1 SPI 總線控制時序
RF4432PRO 和 RF4463PRO 模塊與單片機的通信是 RF 模塊根據單片機通過SPI 總線寫入的控制命令和數據將無線信號發(fā)射出去,并將接收到的數據和自身的相關信息通過 SPI 總線傳送給單片機。Si4432 與 Si4463 的 SPI 時序稍有區(qū)別。
圖3:Si4432 芯片 SPI 寫時序
圖4:Si4463 芯片 SPI 寫時序
2.2 測試模式
深圳市思為無線科技有限公司的 RF4432PRO 和 RF4463PRO 模塊的 DEMO演示板都有常發(fā)和常收兩種測試模式,便于調試程序。RF4432PRO 和 RF4463無線模塊在 DEMO 演示板測試模式下共同點是不停地傳送“101010......”,并可在相應引腳看到接收的實時波形。
圖5:深圳市思為無線科技有限公司 DEMO 演示板測試模式波形
2.3 正常模式
深圳市思為無線科技有限公司 RF4432PRO 和 RF4463PRO 無線模塊的 DEMO 演示板的正常收發(fā)模式運行在 Si4432 和 Si4463 的 PH+FIFO 模式。Si4432 與 Si4463 都配置了 64 字節(jié)的 FIFO 及相應的數據包處理功能。該模式下,芯片自動添加和偵測前導碼、同步字、校驗等,并通過中斷表示通信狀態(tài),大大方便了通信過程。在正常模式下通信,必須保證通信的兩個模塊的數據包格式設置完全一致,否則芯片將無法產生中斷。
圖6:Si4432 數據包格式
圖7:Si4463 數據包格式
2.4 總結
對比 Si4432 和 Si4463 芯片的數據包格式如表 2。可以發(fā)現除了 Si4463 的數據包中可分為多個部分并各自設 CRC 校驗外,其余部分基本一致。為保證兩個芯片可以通信,將測試數據包格式設置如表 3。
Si4432 | Si4463 | |
前導碼 Preamble | 1~8 Bytes | 1~8 Bytes |
同步字 Sync Word | 1~4 Bytes | 1~4 Bytes |
字頭 TX Header | √ | √ |
數據長度 Packet Length | √ | √ |
數據 DATA | 0~64 Bytes | 0~64 Bytes |
CRC | 0~2 Bytes | 0,2,4 Bytes |
表2: Si4432 與 Si4463 數據包格式對比
前導碼 | 同步字 | 字頭 | 數據 | ||
長 度 | Si4432 | 8 Bytes | 2 Bytes | 4 Bytes | 10 Bytes |
Si4463 | 8 Bytes | 2 Bytes | 4 Bytes | 10 Bytes | |
內 容 | Si4432 | “010101...” | 0xb42b | “swwx” | “ABCDEFGHIm” |
Si4463 | “010101...” | 0xb42b | “swwx” | “ABCDEFGHIm” |
表3:測試數據包格式
三、具體調試過程
系統(tǒng)通信采用的射頻參數設置為:Si4432和Si4463兩個模塊在433MHz,1.2Kbps速率下,接收靈敏度最高的參數分別如下:Si4432、Si4463頻偏:20kHz、5KHz;帶寬61KHz、28.62KHz;靈敏度-:121dBm、-123dBm當Si4432和Si4463使用以上參數通訊時,通訊距離達不到同芯片通訊的距離。因此考慮將兩個無線模塊的頻偏設成一樣。由于實際應用中,多為使用Si4463兼容Si4432的情況。因此,決定將Si4463的頻偏改為Si4432的頻偏20KHz。(具體寄存器配置見附件)發(fā)送的數據格式如表 3 所示。為確保 RF4432PRO 和 RF4463PRO 無線模塊都能正常工作和提供參考波形,首先分別使相同模塊能在該設置下使用 DEMO 演示板的正常模式通信。
3.1 對比接收與發(fā)射波形
數據包模式由于芯片自動處理數據,只顯示結果,不利于程序的調試。因此我們使用深圳市思為無線科技有限公司 DEMO 演示板測試模式和外置引腳,通過同步觀察發(fā)送和接收波形這種最直觀的方式,來判斷通信質量的好壞。
將RF4432PRO 和 RF4463PRO 的 GPIO2 和 GPIO1 設置為 Rx Data output 功能輸出,使接收的數據可以分別從 GPIO2 和 GPIO1 腳上實時輸出。使用邏輯分析儀來同步觀察 RF4463PRO 和 RF4432PRO 無線模塊發(fā)射、接收的波形并做相應的對比。如圖8,可發(fā)現 RF4432PRO 和 RF4463PRO 能正確接收對方的發(fā)射信號。
圖8:433MHz、1.2Kbps、20KHz 頻偏下 RF4432 與 RF4463 接收測試波形
持續(xù)在測試模式下接收一段時間,觀察每個接收波形,如圖 9,發(fā)現接收信號沒有變形,判斷在該射頻參數下 RF4432PRO 和 RF4463PRO 無線模塊可以正常通信。
圖9 :433MHz 、1.2Kbps、 30KHz 頻偏下的 RF4463 接收波形
3.2 數據包模式接收
RF4432PRO 模塊和 RF4463PRO 模塊互相接收波形正確,因此保留射頻參數,將深圳市思為無線科技有限公司 DEMO 演示板的工作模式設為正常模式,看能否讓芯片產生中斷。發(fā)現沒有 RF4432PRO 模塊和 RF4463PRO 模塊都沒有產生接收中斷。分別將 DEMO 演示板設置成 RF4432PRO 正常發(fā)射、RF4463PRO 測試接收,RF4463PRO 正常發(fā)射、RF4432PRO 測試接收,對比 RF4432PRO 和 RF4463PRO 發(fā)射的數據包波形,發(fā)現兩模塊的數據包格式設置不一致。
圖10: 433MHz 、1.2Kbps、20KHz 頻偏下 RF4432 和 RF4463 發(fā)送數據包波形
經對比,發(fā)現 4463 的同步字與設置“0x2DD4”不符,而是“0xB42B”。且 4432 的前導碼為“0101...”,不是之前默認的“1010...”。將兩模塊的數據包格式重新調整,用 DEMO 演示板正常模式通信。發(fā)現 RF4432PRO 和 RF4463PRO 無線模塊都產生了接收中斷。
圖11:433MHz 、1.2Kbps 、20KHz 頻偏 RF4463 和 RF4432 中斷
3.3 總體流程圖
圖12: RF4432PRO 和RF4463PRO 通信調試流程圖
四、實驗結果
4.1 硬件結果
RF4463PRO 工作在深圳市思為無線科技有限公司 DEMO 演示板的正常發(fā)射模式,RF4432PRO 工作在 DEMO 演示板的正常接收模式。發(fā)送和接收的數據包數量顯示在屏幕上。如圖 13,發(fā)送一段時間后沒有丟包現象。
圖13: RF4432PRO(左)與 RF4463PRO 通信實物圖
4.2 軟件結果
圖14 中 4432IRQ 為 RF4432PRO 中斷引腳,4463IRQ 為 RF4463PRO 的中斷引腳??梢娒總€發(fā)送中斷都有相應的接收中斷。
圖14: RF4432PRO 和 RF4463PRO 通信中斷
五、示例程序
實驗的關鍵在于 RF4432PRO 和 RF4463PRO 無線模塊的初始化設置部分,其余與相同無線模塊間的通信程序一致。將以下測試可行的 RF4432PRO 和 RF4463PRO 無線模塊初始化代碼直接代入通信程序,即可實現 RF4432PRO 和 RF4463PRO 無線模塊間的通信。本實驗使用的完整測試程序可見深圳市思為無線科技有限公司官網的 RF4432 DEMO CODE 和 RF4463 DEMO CODE。
5.1 RF4432PRO 初始化示例
si4432_config.rar
5.2 RF4463PRO 初始化示例
si4463_config.rar
注:附件下載位置在文章標題下方。
六、總結
本文描述了深圳市思為無線科技有限公司的無線收發(fā)模塊通信RF4432PRO和RF4463PRO 間的詳細實現過程、硬件接口和示例程序,經實驗驗證可行。實現通信的基本方法是將RF4432PRO 和RF4463PRO 設置相同射頻參數及數據格式。這個方法也可以引申至其他不同無線模塊和無線芯片的通信。如遇到與文中不同的實驗現象,對實驗過程有疑問或其他想法歡迎與我們進行技術交流
轉載請注明:出處為深圳市思為無線科技有限公司,否則一經查到,違者必究。