基于A(yíng)NT協(xié)議的無(wú)線(xiàn)收發(fā)器nRF24AP1及其應用
1 nRF24AP1簡(jiǎn)介
本文引用地址:http://dyxdggzs.com/article/90535.htmnRF24AP1是針對無(wú)線(xiàn)個(gè)人網(wǎng)絡(luò )(PAN)互連的單片式嵌入協(xié)議棧的超低功耗無(wú)線(xiàn)收發(fā)器,工作在2.4 GHz ISM頻段。它支持點(diǎn)對點(diǎn)、點(diǎn)對多點(diǎn)通信,具有125個(gè)頻點(diǎn),空中接口的最高傳輸速率可達到1 Mb/s,實(shí)際用戶(hù)數據速率可達20 Kb/s。采用SoC方法設計,只需少量外圍元件便可組成射頻收發(fā)電路。ANT協(xié)議集成在器件內部.參數全部通過(guò)串口消息配置,應用方便,縮短了開(kāi)發(fā)周期。

2封裝與引腳功能
nRF24AP1采用5 mm×5 mm的24引腳QFN封裝,它的引腳排列如圖1所示(頂視圖)。其引腳功能如表1所列。
3 內部結構
nRF24AP1的內部結構如圖2所示。它包含異步串行接口UART、時(shí)鐘模塊、ANT協(xié)議機和1 Mb/s的射頻收發(fā)信機等4個(gè)模塊。nRF24AP1可通過(guò)簡(jiǎn)單的同步或異步串口實(shí)現與外部主機的通信,也可將nRF24AP1看作一個(gè)黑盒的無(wú)線(xiàn)解決方案,無(wú)需深入理解物理層和協(xié)議,僅需通過(guò)串口配置信道參數,就可發(fā)送或接收數據消息。nRF24AP1執行配置任務(wù),并通過(guò)空中接口完成與其他設備間的消息包的發(fā)送與接收。
4工作模式
nRF24AP1直接與單片機的串口連接,可以通過(guò)配置不同參數實(shí)現工作模式選擇。在異步串口工作模式時(shí),端口選擇模式引腳PORTSEL置為低電平,速度設置引腳BR2、BR1設定不同組合,得到所需的異步串口的波特率,如表2所示。另外,異步串口控制引腳RTS具有控制數據傳輸作用,當每次接收正確格式的消息后約50μs,RTS信號置為低電平,MCU向nRF24AP1傳輸數據。當RTS信號置為高電平,MCU不再向nRF24AP1傳輸任何數據,直到RTS被恢復為低電平。而nRF24AP1向MCU傳輸數據,由于nRF24AP1不具備流控制功能,要求外部MCU能隨時(shí)接收數據。

nRF24AP1具有"休眠"和"待機"兩種低功耗工作模式。在不需要串口通信時(shí)將SLEEP信號置為高電平,使nRF24AP1進(jìn)入休眠狀態(tài)達到省電目的。當SLEEP信號置為低電平時(shí),nRF24AP1處于準備接收串口數據狀態(tài),此時(shí)nRF24AP1不會(huì )進(jìn)入待機模式。不論nRF24AP1處于何種工作模式下,只要將待機模式控制引腳SUSPEND置為低電平,nRF24AP1將立即中斷所有射頻和串口操作,進(jìn)入省電狀態(tài)。但進(jìn)入與退出待機工作模式還需要SLEEP信號的配合。只有在SLEEP引腳置為高電平時(shí),待機模式控制引腳SUSPEND置為低電平才能有效。而退出待機工作模式時(shí),只有將SLEEP信號重新置為低電平。
5在智能家居中的應用
內嵌ANT協(xié)議的nRF24AP1無(wú)線(xiàn)收發(fā)器適用于短距離無(wú)線(xiàn)收發(fā)模塊,是智能家居、傳感器網(wǎng)絡(luò )、工業(yè)自動(dòng)化、體育場(chǎng)監控等領(lǐng)域的理想解決方案。
硬件設計電路方面,處理器模塊選用AVR系列的ATmega16L單片機,用于節點(diǎn)設備的控制、任務(wù)調度、能量計算以及功能協(xié)調,無(wú)線(xiàn)收發(fā)模塊則選用nRF24AP1,用于節點(diǎn)間的數據收發(fā),nRF24AP1與MCU之間通過(guò)異步串口方式實(shí)現通信,其工作電壓為3 V,選擇CR2032鋰離子電池作為節點(diǎn)電源,時(shí)鐘由16 MHz晶體提供。nRF24AP1邏輯控制引腳均由ATmega16L的I/O端口控制,通過(guò)軟件靈活更改nRF24AP1的工作模式。nRF24AP1射頻信號輸出端口的負載阻抗為(100+i175)Ω,需要阻抗匹配電路提高通信效率。nRF24AP1在智能家居中的典型應用電路如圖3所示。
根據硬件電路設計,硬件驅動(dòng)實(shí)現系統各模塊的初始化以及MCU與nRF24AP1之間的通信程序。系統在初始化時(shí)除了要注意根據硬件連接設置ATmega16L各通用I/O端口為所需的狀態(tài),還要根據所選的nRF24AP1工作模式,利用ATmega16L的I/O端口設置nRF24AP1的控制端口狀態(tài)。MCU與nRF24AP1之間采用異步串口方式進(jìn)行通信,ATmega16L片內集成有USART,簡(jiǎn)單設置后即可在異步模式下工作。異步數據以1個(gè)起始比特、8個(gè)數據比特、1個(gè)停止比特以及無(wú)奇偶校驗的方式進(jìn)行傳輸。串口接收與發(fā)送均采用中斷方式,同時(shí)為發(fā)送和接收分別設置一個(gè)長(cháng)度為16字節的緩沖區(buffer),緩沖區設有單獨讀/寫(xiě)指針,并與緩沖計數器相關(guān)聯(lián)。串口發(fā)送的數據首先通過(guò)調用函數putchar()寫(xiě)入tx_buffer,再由串口發(fā)出。接收數據時(shí),先將接收到的數據寫(xiě)入rx_buffer,再根據應用需要調用函數getchar()從緩沖區中取得相應的數據,AVR串口接收中斷服務(wù)程序及函數getchar()的流程圖如圖4所示。
6 結束語(yǔ)
nRF24AP1內嵌ANT協(xié)議,該協(xié)議結構簡(jiǎn)單,使用方便,加快開(kāi)發(fā)進(jìn)程,同時(shí)內嵌ANT協(xié)議還減少了用戶(hù)開(kāi)發(fā)成本。利用ANT技術(shù)可使系統具有待機和休眠兩種狀態(tài),節省電能,而且ANT的時(shí)延短,反應快,系統根據需要能快速蘇醒并在最短時(shí)間內完成傳輸,并快速回到休眠模式。而競爭者的"低功耗"技術(shù)在類(lèi)似應用中采用相同的工作模式僅僅可以支持數月或更短的時(shí)間。因此,nRF24AP1功耗超低,適用于傳感器網(wǎng)絡(luò )、遠程控制系統、智能家居等應用的數據采集、分析處理,具有廣闊的市場(chǎng)前景。
評論