基于CC2430和ZigBee2006協(xié)議棧的通信模塊設(shè)計
綜上所述,選用CC2430芯片作為無線通信模塊硬件核心芯片,軟件部分選用ZigBee2006協(xié)議棧來實現(xiàn)無線模塊之間的通信功能。本文引用地址:http://m.butianyuan.cn/article/157540.htm
2 硬件設(shè)計
無線通信部分作為監(jiān)測系統(tǒng)中重要的數(shù)據(jù)傳輸通道,不僅需要實現(xiàn)無線通信模塊之間的數(shù)據(jù)接收和發(fā)送功能,同時還需要提供數(shù)據(jù)接口與終端數(shù)據(jù)采集部分及本地主控制系統(tǒng)以進行連接。系統(tǒng)結(jié)構(gòu)如圖2所示。
圖3所示為無線模塊硬件原理圖。電路選用CC2430芯片作為無線傳感器網(wǎng)絡節(jié)點的核心CPU。選用1個32.768 kHz的石英諧振器(X2)和2個電容(C441和C431)組成32.768 kHz的晶振電路;選用1個32 MHz的石英諧振器(X1)和2個電容(C191和C211)組成32 MHz的晶振電路。電壓調(diào)節(jié)器可為所有要求1.8 V電壓的內(nèi)部電源供電,電容C241和C421是用來作為電源濾波的去耦合電容,以提高芯片工作的穩(wěn)定性。電路中J1是10引腳JTAG仿真器接口,J2是3.3 V電源接口,J3是CC2430芯片擴展輸出口,在擴展輸出口上主要預留了SPI口和整個PO I/O口。設(shè)計了2個發(fā)光二極管指示燈,作為電路調(diào)試指示燈。使用1個非平衡天線,為了使天線性能更好,在天線與CC2430之間連接了1個非平衡變壓器。非平衡變壓器由電容C341和電感L321、L331、L341以及1個PCB微波傳輸線組成,整個結(jié)構(gòu)滿足RF輸入/輸出匹配電阻(50 Ω)的要求。
3 協(xié)議棧軟件設(shè)計
軟件開發(fā)的軟件環(huán)境:IAR 7.30B、數(shù)據(jù)分析儀、串口調(diào)試工具以及各硬件驅(qū)動軟件等;硬件環(huán)境:計算機、CC2430開發(fā)板等。
系統(tǒng)軟件基于TI/Chipcon公司免費提供的ZigBee2006協(xié)議棧,以ZStack-1.4.3-1.2.1版本中GenericApp例程為基礎(chǔ)。GenericApp例子基本功能很齊全,而且在ZStack上實現(xiàn)了無線網(wǎng)絡數(shù)據(jù)傳輸。例程沒有多余的功能,所以是典型的ZStack模板,即為用戶提供了一個通用模板,可以通過它建立自己的應用程序。因此,建立一個項目的方法主要是改動應用層(APP)程序。
無線通信模塊通過串口分別實現(xiàn)與數(shù)據(jù)采集部分及本地主控制部分的連接。因此,應用層軟件主要功能是實現(xiàn)串口數(shù)據(jù)的收發(fā)和無線網(wǎng)絡數(shù)據(jù)傳輸。在ZStack程序中嵌入了實時操作系統(tǒng),用于統(tǒng)一調(diào)度網(wǎng)絡組建、節(jié)點加入、數(shù)據(jù)收發(fā)等功能運行。其工作機制主要是多任務事件運行機制,對于同一個任務可能有多種事件發(fā)生,需要執(zhí)行不同的事件處理。為了方便,對于每個任務的事件處理函數(shù)都統(tǒng)一在一個事件處理函數(shù)中實現(xiàn),然后根據(jù)任務ID號(task id)和該任務的具體事件(event)調(diào)用某個任務的事件處理函數(shù)。進入該任務的事件處理函數(shù)之后,再根據(jù)event來判別是該任務的哪一種事件發(fā)生,進而執(zhí)行相應的事件處理。任務處理部分具體流程如圖4所示。
下面詳細介紹串口部分和無線接收、發(fā)送部分程序。
評論