基于ZigBee的城市照明監控系統網(wǎng)關(guān)節點(diǎn)的軟硬件設計

圖5 液晶顯示主控界面
本設計方案液晶顯示的主控界面如圖5所示??墒褂蒙舷骆I選擇菜單,使用OK鍵確認。
3.1 基本任務(wù)實(shí)現
MCF52223主要實(shí)現接收ZigBee無(wú)線(xiàn)傳感網(wǎng)絡(luò )主控節點(diǎn)傳輸的數據,然后通過(guò)GPRS發(fā)送到中心服務(wù)器。同時(shí)對于中心服務(wù)器發(fā)送的一些控制命令進(jìn)行處理,并通過(guò)串口傳輸到無(wú)線(xiàn)傳感網(wǎng)絡(luò )主控節點(diǎn)中。此外還包括一些LCD顯示、按鍵、I2C總線(xiàn)的操作。MCF52223主控程序流程如圖6所示。
3.2 μC/OSII系統移植
μC/OSII作為一個(gè)源代碼公開(kāi)的操作系統,在具體應用中穩定可靠,可擴展性強,功能強大,并且支持uIP、 TCP/IP協(xié)議棧、μC/GUI等。μC/OSII內核屬于搶占式,最多可以處理64個(gè)任務(wù),每個(gè)任務(wù)相對獨立,都有超時(shí)函數,時(shí)間用完后交出MCU使用權。μC/OSII系統架構如圖7所示。
為了使所設計的網(wǎng)關(guān)程序實(shí)時(shí)性更強、運行穩定性更高、擴展性更強,將μC/OSII操作系統移植到MCF52223上。其移植步驟如下:
① 設置與處理器及編譯器相關(guān)的代碼(OS_CPU.H)。OS_CPU.H包括了用#define定義的與處理器相關(guān)的常量、宏和類(lèi)型定義。不同的編譯器會(huì )使用不同的字節長(cháng)度來(lái)表示同一數據類(lèi)型,所以要定義一系列數據類(lèi)型以確保移植的正確性。
② 處理器相關(guān)部分匯編實(shí)現OS_CPU_A.ASM函數的修改。要求用戶(hù)編寫(xiě)4個(gè)匯編語(yǔ)言函數:OSStartHighRdy()、OSCtxSw()、OSIntCtxSw()、OSTickISR()。
③ 用C語(yǔ)言實(shí)現與處理器任務(wù)相關(guān)的函數OS_CPU_C.C。μC/OS_II的移植要求用戶(hù)編寫(xiě)6個(gè)簡(jiǎn)單的C函數:OSTaskStkInit()、OSTaskCreateHook()、OSTaskDelHook()、OSTaskSwHook()、OSTaskStatHook()、OSTimeTickHook()。

圖6 MCF52223主控程序流程

圖7 μC/OSII系統架構
當μC/OSII系統移植完成后,添加網(wǎng)關(guān)節點(diǎn)實(shí)現的基本任務(wù),包括網(wǎng)關(guān)與GPRS模塊通信任務(wù);網(wǎng)關(guān)與ZigBee模塊通信任務(wù);液晶屏顯示任務(wù);按鍵任務(wù);I2C總線(xiàn)存儲任務(wù)。
結語(yǔ)
在蘇州科技園的某條道路上對20個(gè)景觀(guān)燈安裝了單燈測控節點(diǎn),組成單燈ZigBee無(wú)線(xiàn)傳感器網(wǎng)絡(luò ),而后在道路電控柜中安裝了所設計的網(wǎng)關(guān),最后通過(guò)監控中心的上位機軟件進(jìn)行了測試。經(jīng)實(shí)際運行,該系統可以很好地達到預期的效果,該網(wǎng)關(guān)方案較好地解決了ZigBee無(wú)線(xiàn)傳感器網(wǎng)絡(luò )與監控中心之間的數據傳輸問(wèn)題。此外,雖然該網(wǎng)關(guān)設計方案是以照明監控系統為依托的,但為類(lèi)似的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的網(wǎng)關(guān)設計提供了很好的參考,具有較高的實(shí)際應用價(jià)值。
評論