【導(dǎo)讀】目前有線通信技術(shù)始終是市場(chǎng)的主流,但是空間區(qū)域不能自由布線是最大瓶頸。而無(wú)線通信技術(shù)能很好的解決這一問(wèn)題,能更好的解決基礎(chǔ)硬件搭建調(diào)試及減小后期維護(hù)的難度。本文采用同類(lèi)產(chǎn)品中性?xún)r(jià)比較高的芯片NRF24L01,配合簡(jiǎn)單外圍電路和降低芯片,實(shí)現(xiàn)對(duì)其控制,很好地解決了這一問(wèn)題。
本文的控制部件選用AT89C51型單片機(jī)。由于這種芯片只有SPI通信接口,而目前常用的單片機(jī)都沒(méi)有這種接口,因此需要對(duì)該芯片的通信時(shí)序進(jìn)行模擬,所以在控制器里編程時(shí)要嚴(yán)格按照芯片工作時(shí)序進(jìn)行。
1 系統(tǒng)硬件組成
NRF24L01芯片是具有2.4GHz內(nèi)嵌基帶通信協(xié)議引擎功能的收發(fā)芯片。通過(guò)SPI接口對(duì)芯片內(nèi)部寄存器映射操作,可以使其在空中的傳輸速度最大達(dá)到2Mb/s。
該芯片主要特點(diǎn)包括GFSK調(diào)制技術(shù):126RF頻道滿(mǎn)足多點(diǎn)通信需要1~2Mb/s空中數(shù)據(jù)傳輸速率內(nèi)置硬件CRC檢錯(cuò)和點(diǎn)對(duì)點(diǎn)通信地址控制:發(fā)送方電源可以通過(guò)編程輸出0dBm,-6dBm,-12dBm,-18dBm:芯片可以通過(guò)軟件設(shè)置地址,確保通過(guò)地址認(rèn)證雙方才能通信:接收方采用集成通道過(guò)濾器,可編程的增益設(shè)置:主機(jī)接口采用4根SPI硬件接口線,最大8Mb/s傳輸速率,3個(gè)32字節(jié)的TX與RX的FIFO寄存器,5V容抗輸入。
該芯片引腳功能如圖1所示,引腳1為CE數(shù)字信號(hào)輸入,引腳2為CSN數(shù)字信號(hào)輸入,引腳3為SCK數(shù)字信號(hào)輸入,引腳4為MOSI數(shù)字信號(hào)輸入,引腳5為MISO數(shù)字信號(hào)輸出,引腳6為IRQ數(shù)字信號(hào)輸,引腳7,15,18為VDD電源,引腳8,14,17為VSS電源,引腳9為XC2模擬輸出,引腳10為XC1模擬輸入,引腳11為VDD_PA電源輸出,引腳12為ANT1
射頻,引腳13為ANT2射頻,引腳16為IREF模擬輸入,引腳19為DVDD電源,引腳20為VSS電源。
在硬件搭建時(shí)特別要注意在SPI接口與51單片機(jī)的P0引腳相接時(shí)需要接10kΩ的上拉電阻,其余的接口不需要。VCC引腳接入電壓范圍為1.9~3.6V,不能在這個(gè)區(qū)間之外,超過(guò)3.6V將會(huì)燒毀模塊,推薦電壓3.3V。因?yàn)檫@樣可以直接和NRF24L01模塊的I/O口線連接。如果是其他系列的單片機(jī),其電源是5V,單片機(jī)I/O口輸出電流如果超過(guò)10mA時(shí)需要串聯(lián)電阻分壓,否則容易燒毀模塊。例如AVR系列單片機(jī)電源是5V,需串接2kΩ的電阻。
圖1NRF2401芯片引腳功能圖
1.2 NRF24L01芯片構(gòu)成的通信模塊電路設(shè)計(jì)
NRF24L01芯片通信模塊電路核心器件NRF24L01配合網(wǎng)絡(luò)晶振、解耦電容、偏極電阻一起工作構(gòu)造穩(wěn)定射頻通信模塊。該芯片是貼片結(jié)構(gòu),模塊占用空間少,如圖2所示。
圖2由NRF24L01芯片構(gòu)成的通信模塊電路圖
1.3 電源電路
電源電路如圖3所示,B1是9V蓄電池或者鋰電池,能夠反復(fù)充電。C1,C2,C3,C4都是濾波電容,起到一次與二次濾波作用。D1,D2是穩(wěn)壓二極管,使輸出端的電壓穩(wěn)定在理想的水平電壓。芯片7805是三端穩(wěn)壓集成電路芯片,具有正電壓輸出。其電路內(nèi)部還有過(guò)流、過(guò)熱及調(diào)整管等保護(hù)電路,最終目的把9V電源轉(zhuǎn)變成穩(wěn)定5V輸出,為后續(xù)設(shè)備供電。
1.4 系統(tǒng)通信電路設(shè)計(jì)
系統(tǒng)通信電路如圖4所示。本電路中應(yīng)用單片機(jī)AT89C51作為控制芯片,對(duì)NRF24L01主通信模塊的接口時(shí)序模擬和對(duì)數(shù)據(jù)的發(fā)送與接收進(jìn)行處理。
圖3電源電路圖
圖4系統(tǒng)通信電路圖
1.5 與PC機(jī)通訊電路設(shè)計(jì)
如果單片機(jī)通信電路與單片機(jī)通信電路通信,則兩個(gè)硬件電路和圖4相同,只是在軟件設(shè)計(jì)時(shí)需在每個(gè)通信端設(shè)定不同的通信地址,以辨認(rèn)每個(gè)通信端口。若是單片機(jī)通信電路與PC機(jī)或者具有COM口的設(shè)備電路通信,則需要一個(gè)轉(zhuǎn)接電路,其硬件電路如圖5所示。
圖5SPI接口與MAX232通信硬件電路圖
在圖5所示的電路中,單片機(jī)左側(cè)是一塊MAX232芯片,其作用是將PC機(jī)中的232電平與單片機(jī)的TTL電平匹配。最左側(cè)是9芯母接頭,在使用時(shí)可接在計(jì)算機(jī)COM口上與計(jì)算機(jī)通信。單片機(jī)右側(cè)接一塊射頻通信模塊。由于此塊單片機(jī)同樣沒(méi)有SPI接口,所以需要用普通接口軟件模擬SPI接口,其編程要嚴(yán)格按SPI端口的通信邏輯時(shí)序。
2 單片機(jī)控制實(shí)現(xiàn)算法
通信芯片可以工作在四種模式下,即:配置模式、空閑模式、關(guān)機(jī)模式和收發(fā)模式。工作模式由PWR_UPregister、PRIM_RXregister和CE三個(gè)寄存器共同決定。在工作模式的收發(fā)模式中推薦使用EnhancedShockBurst收發(fā)模式,因?yàn)樵谶@種工作模式下,系統(tǒng)的程序編制會(huì)更加簡(jiǎn)單,并且穩(wěn)定性也會(huì)更高。兩種算法流程圖如圖6所示。
圖6發(fā)射流程與接收流程
3 結(jié)語(yǔ)
(1)提出基于射頻的無(wú)線通信技術(shù)方案,并且按照該方案搭建硬件電路。
(2)設(shè)計(jì)單片機(jī)控制算法,在PC機(jī)中編好上位機(jī)軟件,執(zhí)行機(jī)構(gòu)能迅速執(zhí)行預(yù)定結(jié)果,反應(yīng)時(shí)間小于1ms。
(3)在執(zhí)行機(jī)構(gòu)遇到障礙時(shí),能返回準(zhǔn)確命令,使上位機(jī)捕捉到相應(yīng)信息,直接反映雙向通信效果好。
(4)系統(tǒng)穩(wěn)定可靠,數(shù)據(jù)傳輸丟失率很小,低于0.01%。
(5)芯片互換性好,可根據(jù)不同傳輸距離選擇不同芯片,軟件不需改動(dòng)。