基于MCU和nRF24L01的無(wú)線(xiàn)通信系統設計

發(fā)布時(shí)間:2015-11-4 09:48    發(fā)布者:designapp
關(guān)鍵詞: MCU , nRF24L01
  隨著(zhù)微電子技術(shù)的迅速發(fā)展,高性能MCU廣泛地運用在嵌入式系統中,完成數據的采集、分析、處理與通訊功能。有線(xiàn)模式下的數據通訊系統,由于受時(shí)空、環(huán)境等因素的制約,不能完全滿(mǎn)足所有條件下任務(wù)的執行,而通過(guò)無(wú)線(xiàn)數據傳輸方式代替有線(xiàn)數據傳輸,則能很好地解決此類(lèi)問(wèn)題。綜上論述,文中提出一種基于高性能MCU和nRF24L01的網(wǎng)絡(luò )化無(wú)線(xiàn)通信系統的解決方案,穩定可靠地實(shí)現數據傳輸,滿(mǎn)足各種條件的需要。
  1 系統硬件設計
  1.1 nRF24L01無(wú)線(xiàn)通訊模塊介紹
  系統選用云佳科技的nRF24L01無(wú)線(xiàn)射頻收發(fā)模塊來(lái)實(shí)現子母機間的通訊,它使用Nordic公司的nRF24L01芯片開(kāi)發(fā)而成,是一款工作在2.4~2.5 GHz世界通用ISM頻段的單片無(wú)線(xiàn)收發(fā)器芯片,其具有如下性能特點(diǎn):
  (1)低工作電源電壓,且范圍廣1.9~3.6 V,體積小巧,能方便集成到各種電子器件。
  (2)極低的功耗。當工作在發(fā)射模式下發(fā)射功率為-6 dBm時(shí)電流消耗為9 mA,接收模式時(shí)為12.3 mA。待機模式下電流消22μA,掉電模式電流消耗僅為900 nA。
  (3)無(wú)線(xiàn)速率達到2 Mbit·s-1,SPI接口速率為0~8 Mbit·s-1,具自動(dòng)應答機制,極大地降低丟包率。
  (4)擁有自動(dòng)重發(fā)功能、地址及CRC校驗功能。
  (5)具有125個(gè)可選工作頻道,擁有很短的頻道切換時(shí)間,可用于跳頻。
  nRF24L01引腳封裝如圖1所示。
  


  1.2 STC12L5608AD芯片簡(jiǎn)介
  STC12L5608AD型MCU是宏晶科技新一代低電壓增強型8051單片機,該系列單片機具有如下特性:寬工作電壓(2.1~3.6 V);具有1個(gè)時(shí)鐘/機器周期的高速性能,比普通8051快8~12倍,可用低頻晶振;自帶-8路10位AD轉換器等;加密性強,無(wú)法解密;超強抗干擾、高抗靜電、輕松過(guò)4 kV快速脈沖干擾(EFT測試)、寬溫度范圍(-40~85℃);超低功耗,正常工作模式2.7~7 mA,空閑模式1.8mA,掉電模式功耗


  2 系統軟件設計
  2.1 數據包處理方式
  將nRF24L01配置成增強型ShockBurst模式,使得雙向鏈接協(xié)議執行更為簡(jiǎn)易有效。發(fā)送方要求終端設備在接收數據后有應答信號,以便發(fā)送方檢測有無(wú)數據丟失。一旦數據丟失則通過(guò)重新發(fā)送功能將丟失的數據恢復。它可以同時(shí)控制應答及重發(fā)功能而無(wú)需增加MCU工作量。nR F24L01配置為增強型的ShockBurst發(fā)送模式下時(shí),只要MCU有數據要發(fā)送,nRF24L01就會(huì )啟動(dòng)ShockBurst模式來(lái)發(fā)送數據。在發(fā)送完數據后nRF24L01轉到接收模式并等待終端的應答信號。如未收到應答信號,nRF24L01將重發(fā)相同的數據包,直到收到應答信號或重發(fā)次數超過(guò)SETUP _RETR_ARC寄存器中設置的值為止。如果重發(fā)次數超過(guò)了設定值,則產(chǎn)生MAX_RT中斷。只要收到確認信號,nRF24L01就認為最后一包數據已經(jīng)發(fā)送成功,把TX FIFO中的數據清除掉并產(chǎn)生TX_DS中斷,IRQ引腳置高。
  


  nRF24L01在接收模式下可以接收6路不同通道的數據,如圖3所示。每個(gè)數據通道使用不同的地址,但共用相同的頻道。即6個(gè)不同的nRF 24L01設置為發(fā)送模式后,可以與同一個(gè)設置為接收模式的nRF24L01進(jìn)行通訊,而設置為接收模式的nRF24L01可以對這6個(gè)發(fā)射端進(jìn)行識別。n RF24L01在確認收到數據后記錄地址,并以此地址為目標地址發(fā)送應答信號。在發(fā)送端,數據通道0被用作接收應答信號。
  2.2 系統軟件設計流程
  圖4為子模塊和主模塊程序設計流程圖,軟件開(kāi)發(fā)環(huán)境為KeilC uVision3。
  

                               
                  程序基本思路為子模塊配置為接收狀態(tài),如成功接收到數據則進(jìn)行EEPROM子程序操作,否則切換成發(fā)射模式,成功發(fā)送并接收到應答信號后再變成接收模式,進(jìn)入下一次接收發(fā)射循環(huán);主模塊設置為接收數據信息狀態(tài),能與多路處于發(fā)射狀態(tài)的數據通道進(jìn)行通訊,并從接收到的數據中判別數據通道口;接收信息后自動(dòng)回復應答信號。通過(guò)切換接收發(fā)射狀態(tài)實(shí)現多點(diǎn)對單點(diǎn)的雙向無(wú)線(xiàn)數據通訊。
  2.2.1 nRF24L01初始化程序
  nRF24L01初始化程序包括引腳初始化和中斷初始化。引腳初始化使芯片工作在待機模式下(CE=0),時(shí)鐘設置SCK低電平,片選不使能(CSN=1),工作在串行輸入狀態(tài)(MOSI=0);中斷初始化則使能外部中斷(EX1=1),低電平觸發(fā)。
  2.2.2 nRF24L01配置接收/發(fā)射模式
  對芯片內部的特殊功能寄存器進(jìn)行初始化操作。
  通過(guò)對CONFID配置設定其工作模式,設置接收地址,接收有效數據寬度、選擇射頻通道、數據傳輸率、發(fā)射功率等參數。配置完成后,置高CE,準備接收數據包,如表1所示。
  


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


  STC12L5608AD單片機內部有8個(gè)扇區,每個(gè)扇區512 Byte。在使用時(shí),統一修改的數據放在同一個(gè)扇區。使用ISP/IAP功能,所使用的特殊功能寄存器為ISP_DATA、ISP_ADDRH、ISP_ADDRL、ISP_CMD、ISP_TRIG、ISP_CONTR。扇區寫(xiě)入數據流程圖如圖5所示,扇區擦除以及讀操作流程與之類(lèi)似。
  3 結束語(yǔ)
  介紹了利用高性能MCU和nRF24L01芯片設計的網(wǎng)絡(luò )化無(wú)線(xiàn)通訊系統,說(shuō)明了其軟硬件設計要點(diǎn)。該系統已應用于某故障監測系統中,系統成本低、體積小、傳輸速率高、具有良好的通用性和可靠性,可供無(wú)線(xiàn)數據傳輸系統參考。
                               
               
本文地址:http://selenalain.com/thread-155371-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页