現代通信技術的發展,數據傳輸是一個重要的研究內容。目前有線通信技術始終是市場的主流,這也是在空間區域不能自由布線的最大瓶頸,而無線通信技術是該問題一個很好的通信方案。以成品的無線通信芯片作為通信媒介更能解決基礎硬件搭建調試及后期維護的難度。本文采用同類產品中性價比較高的芯片NRF24L01,配合簡單外圍電路和降低芯片,實現對其控制,很好地解決了這一問題。
本文的控制部件選用AT89C51型單片機。由于這種芯片只有SPI 通信接口,而目前常用的單片機都沒有這種接口,因此需要對該芯片的通信時序進行模擬,所以在控制器里編程時要嚴格按照芯片工作時序進行。
1 系統硬件組成
NRF24L01芯片是具有2.4GHz內嵌基帶通信協議引擎功能的收發芯片。通過SPI接口對芯片內部寄存器映射操作,可以使其在空中的傳輸速度最大達到2 Mb/ s。
該芯片主要特點包括GFSK調制技術:126RF頻道滿足多點通信需要1~ 2 Mb/ s空中數據傳輸速率內置硬件CRC檢錯和點對點通信地址控制:發送方電源可以通過編程輸出0 dBm,-6dBm,-12dBm,-18dBm:芯片可以通過軟件設置地址,確保通過地址認證雙方才能通信: 接收方采用集成通道過濾器,可編程的增益設置:主機接口采用4根SPI硬件接口線,最大8Mb/ s傳輸速率,3個32字節的TX與RX的FIFO寄存器,5V容抗輸入。
該芯片引腳功能如圖1所示,引腳1為CE數字信號輸入,引腳2為CSN數字信號輸入,引腳3為SCK數字信號輸入,引腳4為MOSI數字信號輸入,引腳5為MISO數字信號輸出,引腳6 為IRQ數字信號輸,引腳7,15, 18為VDD電源,引腳8,14,17為VSS電源,引腳9為XC2模擬輸出,引腳10為XC1模擬輸入,引腳11為VDD_PA電源輸出,引腳12為ANT1射頻,引腳13為ANT2射頻,引腳16為IREF模擬輸入,引腳19為DVDD電源,引腳20為VSS 電源。
在硬件搭建時特別要注意在SPI接口與51單片機的P0引腳相接時需要接10kΩ的上拉電阻,其余的接口不需要。VCC引腳接入電壓范圍為1. 9~ 3. 6 V,不能在這個區間之外,超過3.6V將會燒毀模塊,推薦電壓3.3V。因為這樣可以直接和NRF24L01模塊的I/ O口線連接。如果是其他系列的單片機,其電源是5V,單片機I/O口輸出電流如果超過10 mA時需要串聯電阻分壓,否則容易燒毀模塊。例如AVR系列單片機電源是5V,需串接2 kΩ的電阻。
圖1 NRF2401 芯片引腳功能圖。
1.2 NRF24L01芯片構成的通信模塊電路設計
NRF24L01芯片通信模塊電路核心器件NRF24L01配合網絡晶振、解耦電容、偏極電阻一起工作構造穩定射頻通信模塊。該芯片是貼片結構,模塊占用空間少,如圖2所示。
圖2由NRF24L01 芯片構成的通信模塊電路圖。
1.3電源電路
電源電路如圖3 所示, B1是9V蓄電池或者鋰電池, 能夠反復充電。C1,C2,C3,C4 都是濾波電容, 起到一次與二次濾波作用。D1,D2是穩壓二極管,使輸出端的電壓穩定在理想的水平電壓。芯片7805是三端穩壓集成電路芯片,具有正電壓輸出。其電路內部還有過流、過熱及調整管等保護電路,最終目的把9V電源轉變成穩定5V輸出,為后續設備供電。
1.4系統通信電路設計
系統通信電路如圖4所示。本電路中應用單片機AT89C51作為控制芯片,對NRF24L01主通信模塊的接口時序模擬和對數據的發送與接收進行處理。
圖3電源電路圖。
圖4系統通信電路圖。
1.5 與PC機通訊電路設計
如果單片機通信電路與單片機通信電路通信,則兩個硬件電路和圖4相同,只是在軟件設計時需在每個通信端設定不同的通信地址,以辨認每個通信端口。若是單片機通信電路與PC機或者具有COM口的設備電路通信,則需要一個轉接電路,其硬件電路如圖5所示。
圖5 SPI 接口與MAX232 通信硬件電路圖。
在圖5所示的電路中,單片機左側是一塊MAX232芯片,其作用是將PC機中的232電平與單片機的TTL電平匹配。最左側是9芯母接頭,在使用時可接在計算機COM口上與計算機通信。單片機右側接一塊射頻通信模塊。由于此塊單片機同樣沒有SPI接口,所以需要用普通接口軟件模擬SPI接口,其編程要嚴格按SPI端口的通信邏輯時序。
2 單片機控制實現算法
通信芯片可以工作在四種模式下,即: 配置模式、空閑模式、關機模式和收發模式。工作模式由PWR_U Pregister、PRIM_RX register 和CE三個寄存器共同決定。在工作模式的收發模式中推薦使用EnhancedSho ckBurst 收發模式,因為在這種工作模式下,系統的程序編制會更加簡單,并且穩定性也會更高。兩種算法流程圖如圖6所示。
圖6 發射流程與接收流程。
3 結語
(1) 提出基于射頻的無線通信技術方案,并且按照該方案搭建硬件電路。
(2) 設計單片機控制算法,在PC機中編好上位機軟件,執行機構能迅速執行預定結果, 反應時間小于1 ms。
(3) 在執行機構遇到障礙時,能返回準確命令,使上位機捕捉到相應信息,直接反映雙向通信效果好。
(4) 系統穩定可靠,數據傳輸丟失率很小,低于0.01%。
(5) 芯片互換性好,可根據不同傳輸距離選擇不同芯片,軟件不需改動。