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