軟件設計 - 基于nRF24L01和PIC16F877無線數據傳輸系統設計
要設計好系統的軟件,必須清楚其工作原理:首先給發射機上電,配置其L01為PRX,使其進入接收模式等待主機的握手指令,此時采集裝置并未開始工作。然后將接收機通過USB接口連接計算機,運行VB程序,點擊開始試驗按鈕,握手指令(H’33’)便通過接收機的L01 (上電配置為PTX)發射出去,發射機在接收到握手指令后,還要做出判斷,若不是H’33’,則繼續等待握手指令;若是,表示雙方建立連接成功,此時發射機的L01便配置為PTX,同時單片機向采集裝置發送一脈寬為3.6us的高電平脈沖以激活A/D,使其開始采樣,采樣率為1KHz。由于每路傳感器信號都要被A/D采樣,并轉換為12bit數字量(認為是2 Byte),那么10通道則為20 Byte,經過單片機處理后再送入L01打包發射。350us之后,接收機收到該數據,并通過單片機和USB芯片實時寫入計算機緩存區內,這樣雙方數據傳輸10000次,每次20Byte,傳輸完畢后數據曲線會在VB界面上實時顯示。
基于以上分析,該系統軟件分為兩部分:單片機控制程序和計算機界面程序。前者主要完成以nRF24L01為核心的多通道信號的采集和無線傳輸,后者則完成信號的顯示,以供研究人員分析。本文只介紹控制程序,它采用模塊化程序設計方法, 分為發射機程序和接收機程序兩部分。其流程圖如圖3所示。
?
由于采集系統以1KHz進行采樣,即每1ms送20Byte數據,因此無線部分進行一次傳輸需1ms。若接收機執行接收子程序不夠1ms,則必須通過延遲補夠,以和發射同步。另外,在接收機程序中特設置800us定時器中斷,以防接收機因接收不到數據而長時間等待,影響數據的傳輸效率。
4.問題分析
本系統在運行時出現了一些問題,使其不能正常工作,現說明如下:
① L01在收發轉換時出現問題;
原因:配置字并未寫入L01內。
② 數據傳輸時發現其低八位為零,但高四位有數;
原因:開啟了單片機的PSP功能,導致D口不能用了。
③ 數據傳輸波形圖嚴重失真;
原因:無線模塊在收發同步上存在問題,數據包之間沒有一一對應。
5.實驗結果
本系統需進行10000次數據傳輸,每次傳輸20字節。傳輸數據時務必保證發射機和接收機的同步性,否則數據包之間將會出現錯位,得到的數據曲線會嚴重失真,影響分析,所以同步問題在無線數據傳輸系統占重要地位。現附上本系統在同步良好情況下的無線數據傳輸波形圖,見圖4。圖中的10條曲線是傳感器信號被10片A/D采樣后經無線傳輸至計算機后通過VB界面顯示出的,中間幅值較高的曲線是兩路正弦波,其余為基線。
?
6.結論
本系統控制方便、工作穩定,能實現可靠的無線數據傳輸。經大量實驗測得:該系統的平均傳輸率可以達到256Kbps,平均誤碼率只有0.2%,可滿足絕大部分無線數據傳輸的需要。
- 第 1 頁:基于nRF24L01和PIC16F877無線數據傳輸系統設計
- 第 2 頁:軟件設計
本文導航
非常好我支持^.^
(3) 100%
不好我反對
(0) 0%
相關閱讀:
- [移動通信] 5G 3GPP全球頻譜介紹 2023-10-24
- [電子說] NB-IOT無線傾角傳感器用于伊利智能貨架安全監測的具體案例 2023-10-24
- [電子說] 環旭電子推出Pisces企業級無線路由器助力企業應對高密度數據挑戰 2023-10-24
- [電子說] 首批高通驍龍8 Gen3旗艦入網 2023-10-24
- [RF/無線] 5G-A時代的室內網絡建設解決方案 2023-10-24
- [電子說] 無線模擬信號采集器0-10v0-5v 4-20mA數據wifi通訊 2023-10-24
- [電子說] 物聯網無線傳感器節點可使用國產鐵電存儲器PB85RS2MC 2023-10-24
- [電子說] 御芯微亮相2023年世界物聯網博覽會 2023-10-24
( 發表人:葉子 )