??? 摘 要: 針對(duì)信息檢測(cè)中遇到的有線布線困難及工程造價(jià)高等情況,給出了一種無(wú)線解決方案,利用滿足Zigbee規(guī)范的無(wú)線收發(fā)芯片(CC2430)組成信息無(wú)線傳輸模塊,給出了完整的系統(tǒng)設(shè)計(jì)及軟件實(shí)現(xiàn)方案。
??? 關(guān)鍵詞: 無(wú)線傳輸? ZigBee? CC2430
?
??? 在現(xiàn)有工業(yè)生產(chǎn)的信息檢測(cè)中,大部分都采用數(shù)據(jù)有線傳輸?shù)姆绞剑窃谟行﹫?chǎng)合有線布線顯得很困難,工程造價(jià)又高,且維修和改造都很不方便。新興的Zigbee技術(shù)正好解決了這一難題,它是一種近距離、低復(fù)雜度、低功耗、低數(shù)據(jù)速率、低成本的雙向無(wú)線通信技術(shù),主要適合于自動(dòng)控制、遠(yuǎn)程數(shù)據(jù)采集" title="數(shù)據(jù)采集">數(shù)據(jù)采集等領(lǐng)域[1]。
1 系統(tǒng)方案的構(gòu)成
??? 整個(gè)系統(tǒng)按照運(yùn)行的流程大致分為三個(gè)部分:終端節(jié)點(diǎn)設(shè)備、中心節(jié)點(diǎn)設(shè)備、上位機(jī)" title="上位機(jī)">上位機(jī)部分。傳感器儀表加裝無(wú)線通信模塊構(gòu)成終端節(jié)點(diǎn)設(shè)備,中心節(jié)點(diǎn)負(fù)責(zé)數(shù)據(jù)和命令信息的轉(zhuǎn)發(fā),上位機(jī)端通過(guò)相應(yīng)的監(jiān)控程序,發(fā)出采集命令,同時(shí)接收并顯示終端傳送來(lái)的數(shù)據(jù)信息,對(duì)數(shù)據(jù)加以管理。其系統(tǒng)整體構(gòu)架如圖1所示。
?
2 系統(tǒng)的實(shí)現(xiàn)
2.1 無(wú)線節(jié)點(diǎn)的芯片選擇
??? 終端節(jié)點(diǎn)和中心節(jié)點(diǎn)的核心部分就是無(wú)線芯片, 本系統(tǒng)中選擇了CHIPCON公司的CC2430芯片。CC2430在單個(gè)芯片上整合了ZigBee射頻(RF)前端、內(nèi)存和微控制器。它內(nèi)含1個(gè)8位MCU(8051),具有128KB可編程閃存和8 KB的RAM,還包含模擬數(shù)字轉(zhuǎn)換器(ADC)、1個(gè)符合IEEE 802.15.4規(guī)范的MAC計(jì)數(shù)器、1個(gè)常規(guī)的16位計(jì)時(shí)器和2 個(gè)8 位計(jì)時(shí)器、AES 128協(xié)同處理器、看門狗定時(shí)器、32kHz晶振" title="晶振">晶振的休眠模式定時(shí)器、上電復(fù)位電路、掉電檢測(cè)電路,以及21個(gè)可編程I/O引腳。CC2430芯片采用0.18μm CMOS工藝生產(chǎn),工作時(shí)的電流損耗為27mA;在接收和發(fā)射模式下,電流損耗分別低于27mA或25mA。CC2430的休眠模式和轉(zhuǎn)換到主動(dòng)模式的超短時(shí)間特性,特別適合那些要求電池壽命非常長(zhǎng)的場(chǎng)合。
??? CC2430是一款Zigbee兼容的無(wú)線收發(fā)芯片,其工作頻段是2.405GHz~2.48GHz,數(shù)據(jù)傳輸速率為250kbps,采用O-QPSK調(diào)試方式。該頻帶劃分為16個(gè)信道,每個(gè)信道占5MHz的帶寬。采用直接序列擴(kuò)頻(DSSS)的方式,由于傳輸速率低而且所占帶寬大,所以其信道的信噪比很大,且其集成度很高,其應(yīng)用前景很好[2]。
2.2 無(wú)線模塊的硬件設(shè)計(jì)
??? 硬件接線如圖2 所示,其中芯片CC2430只給出了所用到的管腳。使用一個(gè)非平衡天線,連接非平衡變壓器使接收性能更好,電路中的非平衡變壓器由電容C4和電感L3、L1、L2 以及一個(gè)PCB 微波傳輸線組成,整個(gè)結(jié)構(gòu)滿足RF輸入/輸出匹配電阻(50Ω)的要求。內(nèi)部T/R 交換電路完成LNA與PA之間的交換。R1和R2為偏置電阻,電阻R2主要用來(lái)為32MHz的晶振提供一個(gè)合適的工作電流。用1個(gè)32MHz的石英諧振器(XTAL1)和2個(gè)電容(C5和C6)構(gòu)成一個(gè)32MHz 的晶振電路。用1個(gè)32.768kHz 的石英諧振器(XTAL2)和2個(gè)電容(C2 和C3)構(gòu)成一個(gè)32.768kHz 的晶振電路。電壓調(diào)節(jié)器為所有要求1.8V電壓的引腳和內(nèi)部電源供電,C1和C7 是去耦合電容,用來(lái)電源濾波,以提高芯片工作的穩(wěn)定性。
?
2.3 系統(tǒng)軟件設(shè)計(jì)
2.3.1 拓?fù)浣Y(jié)構(gòu)
??? 針對(duì)該系統(tǒng)的實(shí)際應(yīng)用場(chǎng)合,網(wǎng)絡(luò)拓?fù)洳捎玫湫偷男切徒Y(jié)構(gòu):一個(gè)中心節(jié)點(diǎn)擔(dān)任網(wǎng)絡(luò)協(xié)調(diào)器,其他各測(cè)點(diǎn)相當(dāng)于無(wú)線傳感器網(wǎng)絡(luò)中的RFD節(jié)點(diǎn),只與中心節(jié)點(diǎn)通信,其網(wǎng)絡(luò)初始化流程如圖3 所示。
2.3.2 底層協(xié)議
??? 本系統(tǒng)屬于點(diǎn)對(duì)多點(diǎn)通信,通信協(xié)議分為三層來(lái)實(shí)現(xiàn)。第一層為物理層,第二層為數(shù)據(jù)鏈路層,第三層為應(yīng)用層" title="應(yīng)用層">應(yīng)用層。物理層和數(shù)據(jù)鏈路層由CC2430芯片硬件實(shí)現(xiàn),屬于Zigbee協(xié)議范圍,其結(jié)構(gòu)簡(jiǎn)圖如圖4 所示。物理層負(fù)責(zé)硬件最底部的數(shù)據(jù)收發(fā),數(shù)據(jù)鏈路層的上半部為邏輯鏈路控制LLC(Logical Link Control)子層,負(fù)責(zé)將數(shù)據(jù)正確地發(fā)送到物理層;下半部為MAC(Media Access Control)子層,負(fù)責(zé)控制與連接物理層的物理介質(zhì)。MAC層定義了4種幀結(jié)構(gòu):數(shù)據(jù)幀、信標(biāo)幀、確認(rèn)幀和命令幀,如圖4 所示。當(dāng)發(fā)送數(shù)據(jù)時(shí),MAC層首先按規(guī)則從LLC層接收數(shù)據(jù),然后執(zhí)行媒體訪問(wèn)規(guī)程,查看網(wǎng)絡(luò)是否可以發(fā)送;一旦網(wǎng)絡(luò)可以發(fā)送,它將給數(shù)據(jù)附加上一些控制信息,把數(shù)據(jù)及控制信息以規(guī)定的格式(即幀)送往物理層。當(dāng)接收數(shù)據(jù)時(shí),MAC層從物理層接收到數(shù)據(jù)幀并檢查數(shù)據(jù)幀中的控制信息,判斷是否發(fā)生傳輸錯(cuò)誤,如數(shù)據(jù)正確,則去掉控制信息后把其送至LLC層。MAC層使用時(shí)隙化的載波偵聽(tīng)和沖突避免的信道接入算法(CSMA-CA),能有效地避免沖突的產(chǎn)生[3-4]。
?
2.3.3 應(yīng)用層軟件設(shè)計(jì)
??? 應(yīng)用層軟件是本系統(tǒng)的關(guān)鍵部分,它體現(xiàn)了整個(gè)系統(tǒng)的功能,通過(guò)對(duì)整個(gè)系統(tǒng)的分析,應(yīng)用層軟件大致可分為終端數(shù)據(jù)采集部分和中心節(jié)點(diǎn)部分。系統(tǒng)復(fù)位時(shí)終端節(jié)點(diǎn)先進(jìn)行硬件初始化,選擇通信信道,置收發(fā)標(biāo)志位。節(jié)點(diǎn)可采取需求喚醒的工作機(jī)制,沒(méi)請(qǐng)求時(shí)使之進(jìn)入休眠狀態(tài)以降低其能耗。當(dāng)有傳輸請(qǐng)求時(shí),馬上進(jìn)入工作狀態(tài),先解析請(qǐng)求命令并回應(yīng),然后采集數(shù)據(jù)并發(fā)送,完成后若沒(méi)有出錯(cuò)信息或請(qǐng)求則又進(jìn)入低功耗的休眠,等待下個(gè)命令的激活,其程序流程如圖5 所示。
?
??? 中心節(jié)點(diǎn)應(yīng)用程序功能是將主機(jī)端監(jiān)控程序發(fā)送的數(shù)據(jù)請(qǐng)求信號(hào)發(fā)送出去,另外還要接收終端采集的數(shù)據(jù)并上傳給上位機(jī)。復(fù)位時(shí)進(jìn)行系統(tǒng)初始化并開(kāi)中斷,置標(biāo)志位ST,完成后系統(tǒng)進(jìn)入休眠模式(ST=00)。當(dāng)上位機(jī)有數(shù)據(jù)采集要求時(shí),通過(guò)串口與之通信,此時(shí)將會(huì)觸發(fā)系統(tǒng)的串口中斷激活系統(tǒng)。隨后,中斷服務(wù)程序?qū)⑾到y(tǒng)置為發(fā)送命令狀態(tài)(即ST=01),先解析命令信號(hào),接著將命令信號(hào)打包發(fā)送出去,發(fā)送成功后將進(jìn)入等待接收數(shù)據(jù)模式(即ST=10)。此后,如果有數(shù)據(jù)發(fā)送過(guò)來(lái),底層將數(shù)據(jù)上交到應(yīng)用層后,就直接將數(shù)據(jù)通過(guò)串口上傳給上位機(jī),完成一次數(shù)據(jù)傳輸。其程序流程如圖6所示。
?
??? 上位機(jī)和中心節(jié)點(diǎn)的通信采用RS232C串行數(shù)據(jù)通信,串行口的通信方式為異步串行通信,信息格式為1個(gè)起始位、8個(gè)數(shù)據(jù)位、1個(gè)停止位,無(wú)奇偶校驗(yàn)位,速率為57 600bps,數(shù)據(jù)傳輸采用“停止-等待”協(xié)議模式。
3 試驗(yàn)調(diào)試開(kāi)發(fā)平臺(tái)" title="開(kāi)發(fā)平臺(tái)">開(kāi)發(fā)平臺(tái)
??? 本系統(tǒng)試驗(yàn)所用的開(kāi)發(fā)平臺(tái)為C51RF-3-BK,在線仿真器通過(guò)USB接口直接連接到電腦上,并連到CC2430的ZigBee無(wú)線單片及目標(biāo)板,具有代碼高速下載、在線調(diào)試DEBUG、硬件斷點(diǎn)、單步、變量觀察、寄存器觀察等全部C51源水平調(diào)試的功能,能實(shí)現(xiàn)對(duì)CC2430芯片節(jié)點(diǎn)的實(shí)時(shí)在線仿真/調(diào)試/測(cè)試。所用的集成開(kāi)發(fā)環(huán)境是IAR Embedded Workbench for MCS-51,一個(gè)與KELLC51類似的功能強(qiáng)大的C51編譯器/IDE/DEBUG開(kāi)發(fā)平臺(tái)。運(yùn)用該開(kāi)發(fā)平臺(tái),本信息傳輸系統(tǒng)能順利地調(diào)試成功,在沒(méi)有中繼路由的情況下,能組成多點(diǎn)對(duì)一點(diǎn)的半徑范圍為100m之內(nèi)的星型網(wǎng)絡(luò),增加發(fā)射功率可以增大通信的距離。
??? Zigbee技術(shù)是一種新興無(wú)線網(wǎng)絡(luò)數(shù)據(jù)傳輸技術(shù),為人們提供了一種全新的獲取信息、處理信息的途徑。本文將該技術(shù)應(yīng)用到信息檢測(cè)系統(tǒng),能有效地解決以往信息檢測(cè)中所存在的布線難、能耗大、維護(hù)和檢修難的問(wèn)題,提高了效率。本文所給出的這種解決問(wèn)題方案在實(shí)驗(yàn)室環(huán)境得到了驗(yàn)證,此外本方案有很大的系統(tǒng)升級(jí)空間,通過(guò)移植更好的組網(wǎng)Zigbee協(xié)議,能組成分布式大范圍內(nèi)的數(shù)據(jù)采集無(wú)線傳輸網(wǎng)絡(luò),更加靈活方便。
參考文獻(xiàn)
[1] 孫利民,李建中,陳渝,等.無(wú)線傳感器網(wǎng)絡(luò)[M]. 北京:清華大學(xué)出版社,2005.2.
[2] Overview of the IEEE 802.15.4 PHY Baseline,IEEE 802.15?Working.Group for Wireless Personal Area Networks.doc:IEEE 802.15.4——01/358.
[3] ?馮琳.無(wú)線傳感器網(wǎng)絡(luò)及ZigBee技術(shù)的應(yīng)用研究[D].合肥工業(yè)大學(xué),2006.
[4] ?陳凱,楊曉非. 基于Zigbee芯片的數(shù)據(jù)采集系統(tǒng)在鋼絲繩無(wú)損檢測(cè)中的應(yīng)用[J].工業(yè)控制計(jì)算機(jī),2006,19(6):55-59.