基于MCU和nRF24L01的無線通信系統設計
摘要 介紹了一種由STC12L5608AD高性能MCU和nRF24L01無線傳輸芯片組成的網絡化無線通訊系統;闡述了系統的硬件電路設計和軟件開發關鍵技術,以及軟件的配置要點。實現了多點對單點的雙向通訊需求,并通過無線傳輸方式對單片機EEPROM進行讀寫操作,保存系統信息。系統運行結果表明,該系統能可靠穩定地實現無線數據傳輸,達到了預期效果,滿足了網絡化條件下無線通訊的功能。
關鍵詞 無線通訊;STC12L5608AD;nRF24L01;網絡化;雙向通訊;EEPROM
隨著微電子技術的迅速發展,高性能MCU廣泛地運用在嵌入式系統中,完成數據的采集、分析、處理與通訊功能。有線模式下的數據通訊系統,由于受時空、環境等因素的制約,不能完全滿足所有條件下任務的執行,而通過無線數據傳輸方式代替有線數據傳輸,則能很好地解決此類問題。綜上論述,文中提出一種基于高性能MCU和nRF24L01的網絡化無線通信系統的解決方案,穩定可靠地實現數據傳輸,滿足各種條件的需要。
1 系統硬件設計
1.1 nRF24L01無線通訊模塊介紹
系統選用云佳科技的nRF24L01無線射頻收發模塊來實現子母機間的通訊,它使用Nordic公司的nRF24L01芯片開發而成,是一款工作在2.4~2.5 GHz世界通用ISM頻段的單片無線收發器芯片,其具有如下性能特點:
(1)低工作電源電壓,且范圍廣1.9~3.6 V,體積小巧,能方便集成到各種電子器件。
(2)極低的功耗。當工作在發射模式下發射功率為-6 dBm時電流消耗為9 mA,接收模式時為12.3 mA。待機模式下電流消22μA,掉電模式電流消耗僅為900 nA。
(3)無線速率達到2 Mbit·s-1,SPI接口速率為0~8 Mbit·s-1,具自動應答機制,極大地降低丟包率。
(4)擁有自動重發功能、地址及CRC校驗功能。
(5)具有125個可選工作頻道,擁有很短的頻道切換時間,可用于跳頻。
nRF24L01引腳封裝如圖1所示。
1.2 STC12L5608AD芯片簡介
STC12L5608AD型MCU是宏晶科技新一代低電壓增強型8051單片機,該系列單片機具有如下特性:寬工作電壓(2.1~3.6 V);具有1個時鐘/機器周期的高速性能,比普通8051快8~12倍,可用低頻晶振;自帶-8路10位AD轉換器等;加密性強,無法解密;超強抗干擾、高抗靜電、輕松過4 kV快速脈沖干擾(EFT測試)、寬溫度范圍(-40~85℃);超低功耗,正常工作模式2.7~7 mA,空閑模式1.8mA,掉電模式功耗0.1μA;能在系統編程等。
1.3 硬件接口電路
nRF24L01通過SPI接口與外部單片機進行數據交換,CE作為片選端,它與CONFIG寄存器的PWR_UP和PRIM_RX位組合用于選擇芯片的工作方式;CSN為芯片內部SPI硬件接口的使能端,低電平有效;SCK為SPI的時鐘輸入端,MOSI為SPI接口的數據輸入端,MISO為SPI接口的數據輸出端,IRQ為中斷請求端,與單片機的外部中斷1相連,當nRF24L01產生中斷后IRQ將置低,單片機檢測到此中斷后通過程序得知其與nRF24L01無線射頻模塊的數據收發情況。通過單片機與無線通訊模塊的硬件連接,從而實現模式控制和數據交換。圖2給出兩模塊的硬件接口設計。整個無線通訊系統由3個模塊組成。
評論