摘 要:本文首先對IEEE802.15.4協(xié)議和ZigBee協(xié)議進行了研究,分析了JN5121 ZigBee的軟硬件開發(fā)環(huán)境,包括JN5121芯片、傳感器開發(fā)板、編譯環(huán)境CodeBlocks、燒寫器Flash Programmer等,然后基于該軟硬件環(huán)境,實現(xiàn)了無線鍵盤的軟件設計,包括系統(tǒng)設計的總體結構,ZigBee無線鍵盤的工作原理和過程,并給出了程序流程。最后對本文做了總結并指出了下一步研究方向。
關鍵詞:IEEE802.15.4協(xié)議;ZigBee協(xié)議;無線鍵盤
中圖分類號:TP212.9
1 ZigBee協(xié)議及其應用
ZigBee協(xié)議底層是基于IEEE802.15.4無線通訊協(xié)議。ZigBee規(guī)范是由半導體廠商、技術供應商和其他公司組成的一家非營利工業(yè)協(xié)會(即ZigBee聯(lián)盟)制定的。聯(lián)盟當前的成員規(guī)模不斷廣大。ZigBee規(guī)范致力于利用IEEE802.15.4所提供的特性,ZigBee適用于低速率、低功耗的應用環(huán)境。
ZigBee是部署無線傳感器網(wǎng)絡的新技術。它是一種短距離、低速率無線網(wǎng)絡技術,是一種介于無線標記技術和BlueTooth之間的技術提案。ZigBee一詞源自蜜蜂群在發(fā)現(xiàn)花粉位置時,通過跳ZigZag形舞蹈來告知同伴,達到交換信息的目的。借此稱呼一種專注于低功耗、低成本、低復雜度、低速率的近程無線網(wǎng)絡通信技術。
2 開發(fā)環(huán)境
2.1 硬件環(huán)境
JN51XX芯片是英國Jennic公司推出的高性能、低功耗的一系列無線SoC芯片,該系列芯片完全兼容,封裝與管腳也完全一樣,用戶能夠很容易的在該系列的產品中進行平臺移植。JN5139與JN5121相比較,天線的靈敏度更高,功耗更低,通訊距離更遠。
2.2 開發(fā)板
JN51XX-Z01-MXX模塊:JN51XX-Z01模塊是基于JN51XX芯片所開發(fā)的一系列表帖形式的模塊產品。該系列模塊集成了所有的射頻組件和無線微控制器。采用模塊進行開發(fā)可以大大的減少開發(fā)人員的工作量,縮短產品的開發(fā)周期。這一系列的模塊包含下列不同的型號:JN51XX-Z01-M00內置陶瓷天線;JN51XX-Z01-M01帶有SMA天線連接接口;JN51XX-Z01-M02帶有功率放大器和SMA天線連接接口。
開發(fā)包中的主要部件就是傳感器板,之所以叫做傳感器板是因為每一個板子上都集成了相應的溫濕度一體傳感器,這樣用戶就可以直接利用傳感器板進行一些應用的測試和開發(fā)。傳感器板包含的部件如下所介紹:
JN51XX模塊板載溫濕度傳感器RS232接口:用于編程或者連接其他的串口設備JN51XX的I/O擴展端口,RS485 J1 CMOS Program,J2 Prog Run,J3 Flash,J4 I/O腳,J5 RS232/Program Port,J6 J1和J5編程/串口選擇,J7 RS485端電阻,J8如圖標注,SW1,SW2可編程按鍵,SW3開關(可選擇外供電或電池),PWR電源指示燈LED1,LED2可編程LED。
2.3 軟件環(huán)境
ZigBee開發(fā)環(huán)境有多種平臺,在設計過程中主要使用了Jennic的設計平臺Code::Blocks,它是一個全功能的,開放的免費提供的IDE,基本包含代碼開發(fā)編譯工具、程序下載工具等基本組成部分。其中,代碼編譯工具包括以下幾個內容:CodeBlocks IDE、Jennic Cygwin、ZigBee stack和MAC stack、Jennic Debugger Tools;第二個部分則是Jennic Flash Programmer的安裝。
3 程序的設計和實現(xiàn)
3.1 方案設計
此方案有硬件有五部組成:傳感器板子,控制器板子,一個普通的鍵盤,一個5V電源,連接線。可以實現(xiàn)通過鍵盤輸入字符,此字符先轉化為二進制代碼,并打包分批傳遞到傳感器板子,傳感器板子通過無線網(wǎng)絡發(fā)送給控制板子,控制板接受數(shù)據(jù)后將二進制代碼還原為字符,并通過屏幕顯示出來。
3.2 程序設計流程
根據(jù)性能和作用的分析,可以把這兩塊代碼執(zhí)行的情況用流程圖表示出來。傳感器板應用程序軟件的主要任務有三個:讀PS2總線,傳輸一個字節(jié)的鍵盤碼,接受到一個確定。傳感器板把鍵盤傳過來的鍵碼一個一個的發(fā)送給控制板,等待控制板的確認信息,收到確認后接著發(fā)送下一個鍵碼,沒有收到且超時就重新發(fā)送一次。在無線鍵盤應用程序的設計中最主要的是把應用程序中斷和協(xié)議棧中斷分開??刂瓢鍛贸绦蛟谡麄€流程中顯得很簡單,只接受到鍵盤碼序列,然后翻譯成ASCII碼,再將其顯示到LED,然后發(fā)送一個確認給等同的應用程序。既控制板那邊就是不停檢測是否收到數(shù)據(jù),如果收到,首先判斷收到的數(shù)據(jù)是否在有效范圍內,如果是就翻譯,然后把翻譯后的數(shù)據(jù)顯示在LCD顯示屏上,如果不是就接收下一個數(shù)據(jù)。
3.3 程序調試、下載和運行結果
打開Jennic CodeBlocks,打開ZigBeeKEyboardEndDevice工程目錄,并鼠標右鍵選擇Build options,選擇合適的調試器,用同樣的方法對ZigBeeKeyboardCoord工程目錄執(zhí)行同樣的操作,具體步驟同上。然后對ZigBeeKEyboardEndDevice工程下的PS2socket.c文件,ZKBgetKey.c文件,ZKBsensor.c文件進行編譯和鏈接,選擇ZigBeeKEyboardEndDevice后點擊build按鈕。編譯ZigBeeKEyboardEndDevice。編譯完成后您將在工程目錄下找到一個 JN5121_Build目錄,將在這個目錄下找到ZigBeeKeyboardEndDevice.bin文件,同樣的方法編譯ZigBeeKeyboardCoord在JN5121_Build 目錄同樣也生成相應的bin文件,下載和編譯應用程序如下所示:
第一步:保證工程目錄存在于
第二步:使用在當?shù)谺uild目錄下提供的MakeFile文件,Build應用程序?;蛘呤翘峁〤ode::Blocks工程文件 (.cbp文件)。
第三步:下載已經生成的二進制文件到板子上。
(1)下載ZigBeeKeyboardCoord.bin 到Jennic控制板上;
(2)下載ZigBeeKeyboardEndDevice.bin到Jennic控制板上。
4 結束語
通過ZigBee技術,以其高效的傳輸速率、良好的可靠性、網(wǎng)絡組建方便、節(jié)點容量大和功耗小等優(yōu)點無線網(wǎng)絡設備中扮演著重要角色。通過以上對無線鍵盤系統(tǒng)的設計得出其在當今網(wǎng)絡通信領域的特點:首先網(wǎng)絡連接方便,有多種網(wǎng)絡結構可以選擇:星型網(wǎng)絡適合實現(xiàn)對鍵盤設備的幾種無線控制;樹型網(wǎng)絡則適合于分級控制;網(wǎng)格型網(wǎng)絡適合對無線通信系統(tǒng)的交錯控制;其次采用編碼技術,提高了信息傳輸過程中的可靠性;路由技術應用提高了連接的節(jié)點數(shù)量,并且保證可靠信息傳輸路徑,延長了傳輸局距離、拓展了控制范圍;增加了傳輸信道;并且保證了在每一個節(jié)點都能工作在節(jié)點模式下。
參考文獻:
[1]雷亞平,沈春林,楊忠.嵌入式系統(tǒng)的組成、設計與調試[J].航空計算技術,2003(03).
[2]斯托林斯.無線通信與網(wǎng)絡[M].北京:清華大學出版社,2004:453-462.
[3] 參考文獻有問題 改成:關宇東,李澤鯤.基于CAN總線的無線通信技術研究[J].工業(yè)控制計算機,2004(10).
作者簡介:呂曉芳(1983.11-),女,河南鄭州人,本科,助教,學士學位,研究方向:計算機應用技術。
作者單位:鄭州電力職業(yè)技術學院,鄭州 450000