基于nRF905的LED屏無(wú)線通信設(shè)計(jì)與實(shí)現(xiàn)
摘要:針對(duì)采用芯片nRF905的LED屏無(wú)線通信,分別給出了上位機(jī)和下位機(jī)的系統(tǒng)框圖,分析系統(tǒng)的功耗,比較無(wú)線模塊和串口通信的通信速率,驗(yàn)證系統(tǒng)的可行性,設(shè)計(jì)串口通信協(xié)議。為保證數(shù)據(jù)質(zhì)量,設(shè)計(jì)了數(shù)據(jù)通信協(xié)議,針對(duì)串口數(shù)據(jù)的nRF905分包轉(zhuǎn)發(fā),設(shè)計(jì)了無(wú)線芯片通信協(xié)議。例舉了狀態(tài)機(jī)的5種狀態(tài),介紹狀態(tài)間的轉(zhuǎn)換條件,巧妙地編程設(shè)計(jì)了通信數(shù)據(jù)的定時(shí)器檢查,論述了基于狀態(tài)機(jī)的嵌入式單片機(jī)軟件編程。
關(guān)鍵詞:nRF905;單片機(jī)ATmega16A;可行性分析;狀態(tài)機(jī)
現(xiàn)行市場(chǎng)上的LED屏,多采用異步串口、TCP/IP接口等有線和GPRS無(wú)線進(jìn)行通信。對(duì)于裝修計(jì)劃中的LED屏,即使提前布線或預(yù)留線纜空間,在線纜損壞或調(diào)試LED屏還是有諸多不利條件。技術(shù)成熟的GPRS無(wú)線模塊,價(jià)格昂貴,不適用于大眾場(chǎng)合。針對(duì)普遍使用的串口通信控制的LED屏,本文介紹了采用nRF905芯片為核心的硬件電路,論述了無(wú)線通信系統(tǒng)中的功耗估計(jì)、速率適配、串口與無(wú)線的通信協(xié)議設(shè)計(jì)和嵌入式單片機(jī)的軟件設(shè)計(jì),實(shí)現(xiàn)單片機(jī)控制串口的無(wú)線通信。
1 硬件設(shè)計(jì)
1.1 硬件總體框圖
硬件框圖如圖1和圖2所示。圖1為上位機(jī)框圖,電路板上的單片機(jī)收到計(jì)算機(jī)發(fā)來(lái)的控制數(shù)據(jù),通過(guò)無(wú)線模塊轉(zhuǎn)發(fā)。圖2為下位機(jī)框圖,單片機(jī)將無(wú)線模塊收到的數(shù)據(jù),通過(guò)串口發(fā)給LED屏的電路控制板。LED屏回復(fù)數(shù)據(jù)的傳輸方向正好相反。
采用ProtelDXP繪制電路原理圖和雙面PCB板,使用JTAG mk II在AVR Studi04下編寫(xiě)基于單片機(jī)的嵌入式軟件,采用GCC編譯器進(jìn)行編譯連接。
1.2 電路設(shè)計(jì)
(1)單片機(jī)ATmega16A
采用芯片LM1117將DC 9 V穩(wěn)壓到DC 3.3 V,對(duì)單片機(jī)ATmega16A、芯片nRF905、芯片MAX3232進(jìn)行供電。串口通信采用芯片MAX3232進(jìn)行邏輯電平的轉(zhuǎn)換。系統(tǒng)采用高性能、低功耗的8位AVR微處理器ATmega16A單片機(jī)。該單片機(jī)具有16 KB的系統(tǒng)內(nèi)可編程FLASH、512 B的E2PROM和1 KB的SRAM,供嵌入式軟件使用;在線調(diào)試的JTAG端口,豐富了系統(tǒng)的調(diào)試手段;獨(dú)立的定時(shí)器和可編程的串口,加強(qiáng)了系統(tǒng)的功能。單片機(jī)ATmega16A上的SPI接口,可保證無(wú)線芯片nRF905的無(wú)縫連接。
(2)無(wú)線芯片nRF905
NORDIC公司的無(wú)線芯片nRF905采用高效的GFSK調(diào)制,使用開(kāi)放的ISM頻段,工作速率可達(dá)50 Kb/s,收發(fā)模式切換時(shí)間短,功耗低,內(nèi)置硬件CRC校驗(yàn)和點(diǎn)對(duì)多點(diǎn)的通信地址控制,這些優(yōu)點(diǎn)特別適合工業(yè)控制場(chǎng)合。
1.3 可行性分析
1.3.1 通信速率
nRF905無(wú)線收發(fā)芯片的最高工作速率50 Kb/s。PC機(jī)端的控制軟件可以設(shè)置串口的工作速率,典型波特率設(shè)置為9 600 b/s或115 200 b/s。串口的波特率的每個(gè)字節(jié)加上起始位、停止位和奇偶校驗(yàn)位,經(jīng)計(jì)算,串口工作速率小于無(wú)線芯片的工作速率,因此,可以采用無(wú)線芯片nRF905轉(zhuǎn)發(fā)串口數(shù)據(jù)進(jìn)行通信。
1.3.2 功耗估計(jì)
(1)單片機(jī)ATmega16A的耗散功率條件:溫度,25℃;單片機(jī)工作晶振:1 MHz;工作電壓,3.3 V。
激活模式:功率P=0.6×3.3=1.95 mW
空閑模式:功率P=0.2×3.3=0.66 mW。
(2)芯片MAX232的耗散功率工作電壓:V=3.3 V。
最大工作電流:I=1 mA。
典型工作電流:I=0.3 mA。
則最大功耗:P=VI=3.3 mW。
典型功耗:P=W=0.99 mW。
評(píng)論