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