• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于MCU和nRF24L01的無線通信系統設計

    基于MCU和nRF24L01的無線通信系統設計

    作者: 時間:2015-03-26 來源:網絡 收藏

      隨著微電子技術的迅速發展,高性能廣泛地運用在嵌入式系統中,完成數據的采集、分析、處理與通訊功能。有線模式下的數據通訊系統,由于受時空、環境等因素的制約,不能完全滿足所有條件下任務的執行,而通過無線數據傳輸方式代替有線數據傳輸,則能很好地解決此類問題。綜上論述,文中提出一種基于高性能的網絡化無線通信系統的解決方案,穩定可靠地實現數據傳輸,滿足各種條件的需要。

    本文引用地址:http://www.czjhyjcfj.com/article/271625.htm

      1 系統硬件設計

      1.1 無線通訊模塊介紹

      系統選用云佳科技的無線射頻收發模塊來實現子母機間的通訊,它使用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型是宏晶科技新一代低電壓增強型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個模塊組成。

      

     

      2 系統軟件設計

      2.1 數據包處理方式

      將nRF24L01配置成增強型ShockBurst模式,使得雙向鏈接協議執行更為簡易有效。發送方要求終端設備在接收數據后有應答信號,以便發送方檢測有無數據丟失。一旦數據丟失則通過重新發送功能將丟失的數據恢復。它可以同時控制應答及重發功能而無需增加MCU工作量。nR F24L01配置為增強型的ShockBurst發送模式下時,只要MCU有數據要發送,nRF24L01就會啟動ShockBurst模式來發送數據。在發送完數據后nRF24L01轉到接收模式并等待終端的應答信號。如未收到應答信號,nRF24L01將重發相同的數據包,直到收到應答信號或重發次數超過SETUP _RETR_ARC寄存器中設置的值為止。如果重發次數超過了設定值,則產生MAX_RT中斷。只要收到確認信號,nRF24L01就認為最后一包數據已經發送成功,把TX FIFO中的數據清除掉并產生TX_DS中斷,IRQ引腳置高。

      

     

      nRF24L01在接收模式下可以接收6路不同通道的數據,如圖3所示。每個數據通道使用不同的地址,但共用相同的頻道。即6個不同的nRF 24L01設置為發送模式后,可以與同一個設置為接收模式的nRF24L01進行通訊,而設置為接收模式的nRF24L01可以對這6個發射端進行識別。n RF24L01在確認收到數據后記錄地址,并以此地址為目標地址發送應答信號。在發送端,數據通道0被用作接收應答信號。

      2.2 系統軟件設計流程

      圖4為子模塊和主模塊程序設計流程圖,軟件開發環境為KeilC uVision3。

      

    通信相關文章:通信原理


    晶振相關文章:晶振原理

    上一頁 1 2 下一頁

    關鍵詞: MCU nRF24L01

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 玉门市| 浠水县| 西城区| 荥经县| 齐齐哈尔市| 南通市| 固阳县| 鄱阳县| 台江县| 博客| 洛宁县| 金坛市| 芦山县| 永顺县| 抚州市| 东光县| 金门县| 田阳县| 会宁县| 天津市| 阜阳市| 蒙城县| 澄城县| 墨竹工卡县| 清水河县| 恩平市| 平度市| 大冶市| 福清市| 习水县| 永年县| 蒲城县| 盘锦市| 信阳市| 敖汉旗| 苏尼特左旗| 通化市| 吴江市| 兴和县| 通州区| 犍为县|