一種ZigBee以太網網關的設計
2 軟件設計
2.1 主控板軟件設計
主控板軟件設計在LM3S6911微處理器上移植了μC/OS-Ⅱ嵌入式實時操作系統,μC/OS-Ⅱ是一個開放源碼的實時操作系統,但它只是一個實時的任務調度及通信內核,缺少對外圍設備和接口的充分支持。為獲得對以太網接口的支持,在其上移植了LwIP(Light Weight IP)TCP/IP協議棧。LwIP是一套用于嵌入式系統的開放源代碼的TCP/IP協議棧,實現的重點是在保持TCP協議主要功能的基礎上減少對RAM的占用,適合在低端嵌入式系統中使用。
在設計中基于μC/OS-Ⅱ操作系統,同時編寫了SPI通信驅動程序和串口通信驅動程序,其中SPI驅動程序用于和ZigBee射頻模塊進行通信,串口驅動程序用于提供網關的串口配置功能。主控板軟件工作流程如圖4所示。本文引用地址:http://www.104case.com/article/153502.htm
其中OSTaskCreate(taskStart,…)為μC/OS-Ⅱ操作系統第一個任務,在其中要進行目標板和TCP/IP的初始化,并建立以太網通信處理任務taskNet、SPI通信處理任務taskSPI和串口通信處理任務taskUART,最后通過OSStart()啟動μC/OS-Ⅱ內核。以太網通信處理任務task Net啟動LwIP協議棧,完成TCP和UDP相關通信服務;SPI通信處理任務taskSPI完成通過SPI總線與ZigBee射頻模塊的通信;串口通信處理任務taskUART完成網關參數配置相關工作。
2.2 射頻模塊軟件設計
ZigBee射頻模塊軟件設計是基于CC2530芯片,移植了TI公司的ZigBee協議棧Z-Stack,Z-Stack協議棧采用輪轉查詢式操作系統,包括系統初始化和操作系統的執行,系統初始化完成初始化硬件平臺和軟件架構所需要的各個模塊,為操作系統的運行做好準備工作,系統初始化完成后,就開始執行操作系統入口程序。輪轉查詢式操作系統專門分配了存放所有任務事件的tasksEvents[]數組,每個單元對應存放著每一個任務的所有事件,操作系統通過一個do—while循環來遍歷tasksEvents[],找到優先級最高的任務來處理,射頻模塊軟件工作流程如圖5所示。
評論