基于MCU和nRF24L01的無線通信系統設計
程序基本思路為子模塊配置為接收狀態,如成功接收到數據則進行EEPROM子程序操作,否則切換成發射模式,成功發送并接收到應答信號后再變成接收模式,進入下一次接收發射循環;主模塊設置為接收數據信息狀態,能與多路處于發射狀態的數據通道進行通訊,并從接收到的數據中判別數據通道口;接收信息后自動回復應答信號。通過切換接收發射狀態實現多點對單點的雙向無線數據通訊。
本文引用地址:http://www.104case.com/article/271625.htm2.2.1 nRF24L01初始化程序
nRF24L01初始化程序包括引腳初始化和中斷初始化。引腳初始化使芯片工作在待機模式下(CE=0),時鐘設置SCK低電平,片選不使能(CSN=1),工作在串行輸入狀態(MOSI=0);中斷初始化則使能外部中斷(EX1=1),低電平觸發。
2.2.2 nRF24L01配置接收/發射模式
對芯片內部的特殊功能寄存器進行初始化操作。
通過對CONFID配置設定其工作模式,設置接收地址,接收有效數據寬度、選擇射頻通道、數據傳輸率、發射功率等參數。配置完成后,置高CE,準備接收數據包,如表1所示。

2.2.3 單片機內部EEPROM應用子程序
單片機內部EEPROM應用子程序進行扇區的擦除、寫入以及讀出功能,實現系統信息的讀取保存。

STC12L5608AD單片機內部有8個扇區,每個扇區512 Byte。在使用時,統一修改的數據放在同一個扇區。使用ISP/IAP功能,所使用的特殊功能寄存器為ISP_DATA、ISP_ADDRH、ISP_ADDRL、ISP_CMD、ISP_TRIG、ISP_CONTR。扇區寫入數據流程圖如圖5所示,扇區擦除以及讀操作流程與之類似。
3 結束語
介紹了利用高性能MCU和nRF24L01芯片設計的網絡化無線通訊系統,說明了其軟硬件設計要點。該系統已應用于某故障監測系統中,系統成本低、體積小、傳輸速率高、具有良好的通用性和可靠性,可供無線數據傳輸系統參考。
通信相關文章:通信原理
晶振相關文章:晶振原理
評論