一種優(yōu)化Zigbee協(xié)議的節(jié)能方法
【專利摘要】本發(fā)明提供一種優(yōu)化Zigbee協(xié)議的節(jié)能方法,包括按照Zigbee終端的硬件設(shè)計,初始化板上硬件設(shè)置。由于Zigbee終端可以按照自身的硬件設(shè)計初始化板上硬件設(shè)置,實現(xiàn)對Zigbee終端的硬件初始化過程進(jìn)行裁剪,裁剪一些不必要的功能部件初始化,使協(xié)議棧的運行占用更少的能源,從而減少了Zigbee終端的能耗。
【專利說明】一種優(yōu)化z i gbee協(xié)議的節(jié)能方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及Zigbee【技術(shù)領(lǐng)域】,具體涉及一種優(yōu)化Zigbee協(xié)議的節(jié)能方法。
【背景技術(shù)】
[0002]Zigbee技術(shù)是近年來提出的一種近距離、低復(fù)雜度、低功耗、低數(shù)據(jù)速率、低成本的雙向無線通信技術(shù),主要適用于自動控制和遠(yuǎn)程控制領(lǐng)域,是為了滿足小型廉價設(shè)備的無線聯(lián)網(wǎng)和控制而制定的。Zigbee技術(shù)適合應(yīng)用于家庭網(wǎng)絡(luò),進(jìn)行家居設(shè)備的控制信號和數(shù)據(jù)信號的傳輸。
[0003]家庭網(wǎng)絡(luò)中Zigbee節(jié)點的數(shù)目是非常龐大的,所以減少節(jié)點的能耗對整個能源的節(jié)省是非常有意義的。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供一種優(yōu)化Zigbee協(xié)議的節(jié)能方法,包括:關(guān)閉總中斷;按照Zigbee終端的硬件設(shè)計,初始化板上硬件設(shè)置;檢測電壓,以確保提供足夠的電壓,支持運行;初始化內(nèi)存中的堆;初始化板上I/O 口 ;初始化HAL層驅(qū)動;初始化非易失性存儲器;分配64位地址;初始化基本的NV條目;初始化MAC層;初始化操作系統(tǒng);打開總中斷;最終板載初始化;顯示設(shè)備的信息;在LCD屏上顯示設(shè)備信息;啟動操作系統(tǒng)。
[0005]在本發(fā)明中,Zigbee終端可以按照自身的硬件設(shè)計初始化板上硬件設(shè)置,實現(xiàn)對Zigbee終端的硬件初始化過程進(jìn)行裁剪,裁剪一些不必要的功能部件初始化,使協(xié)議棧的運行占用更少的能源,從而減少了 Zigbee終端的能耗。
【專利附圖】
【附圖說明】
[0006]圖1為本發(fā)明實施例中的一種優(yōu)化Zigbee協(xié)議的節(jié)能方法的流程示意圖。
【具體實施方式】
[0007]本發(fā)明實施例提供一種優(yōu)化Zigbee協(xié)議的節(jié)能方法,詳細(xì)闡述如下。
[0008]在Zigbee網(wǎng)絡(luò)中,節(jié)點無須經(jīng)過中央交換機(jī)節(jié)點便可以相互通信,任意節(jié)點癱瘓,其他節(jié)點可以選擇其他路由,而新的節(jié)點經(jīng)上電之后,就能收聽鄰近節(jié)點,只要滿足接入標(biāo)準(zhǔn),就可以加入網(wǎng)絡(luò)。Zigbee網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)包括星型結(jié)構(gòu)、樹狀結(jié)構(gòu)或者網(wǎng)狀結(jié)構(gòu),無論哪種拓?fù)浣Y(jié)構(gòu),每個獨立的網(wǎng)絡(luò)均有一個唯一的PAN標(biāo)識符。根據(jù)標(biāo)識符,各個網(wǎng)絡(luò)設(shè)備之間就可以確定其從屬關(guān)系并進(jìn)行通信。每個網(wǎng)絡(luò)中都有一個唯一的協(xié)調(diào)器,它相當(dāng)于有線局域網(wǎng)中的服務(wù)器,具有對本網(wǎng)絡(luò)的管理功能,它負(fù)責(zé)發(fā)起和建立整個網(wǎng)絡(luò),加入網(wǎng)絡(luò)的終端設(shè)備分布在PAN協(xié)調(diào)器的覆蓋范圍內(nèi),與PAN協(xié)調(diào)器進(jìn)行直接通信。
[0009]在本實施例中,具體的應(yīng)用場景為遠(yuǎn)程三表抄表系統(tǒng),在該抄表系統(tǒng)中,將網(wǎng)絡(luò)協(xié)調(diào)器稱之為Zigbee基站,將網(wǎng)絡(luò)的鄰近節(jié)點稱之為Zigbee終端。每樓層的水電煤三表通過RS485總線連接數(shù)據(jù)采集器,再接到Zigbee終端,每個單元樓設(shè)置一個Zigbee終端,一個小區(qū)設(shè)置一個Zigbee基站,Zigbee終端負(fù)責(zé)數(shù)據(jù)收發(fā)上傳到Zigbee基站,Zigbee基站將數(shù)據(jù)通過GPRS/CDMA或ADSL上傳到集抄中心。
[0010]在本實施例中,Zigbee基站和Zigbee終端采用的是Ζ-Stack協(xié)議棧,Z-Stack是基于OSAL的支持多任務(wù)的Zigbee協(xié)議棧。Z-Stack采用操作系統(tǒng)的思想來構(gòu)建,采用事件輪循機(jī)制,當(dāng)操作系統(tǒng)硬件初始化之后,操作系統(tǒng)進(jìn)入休眠模式,當(dāng)事件發(fā)生時,喚醒操作系統(tǒng),開始進(jìn)入中斷處理時間,結(jié)束后繼續(xù)進(jìn)入休眠模式。如果同時有幾個事件發(fā)生,判斷優(yōu)先級,按照優(yōu)先級的級別從高到低逐次處理。
[0011]需要說明的是,由于Zigbee基站和Zigbee終端需要的功能不同(通常Zigbee基站需要的功能比Zigbee終端要多),Zigbee基站和Zigbee終端的硬件設(shè)計不同,這就需要對Zigbee終端的硬件初始化過程進(jìn)行裁剪,裁剪一些不必要的功能部件初始化,使協(xié)議棧的運行占用更少的能源,從而減少了 Zigbee終端的能耗。
[0012]Zigbee終端的硬件初始化過程為:操作系統(tǒng)上電后,通過執(zhí)行ZMain文件夾中ZMain.c的ZSEG int main O函數(shù)實現(xiàn)硬件的初始化,其中包括關(guān)總中斷osal_int_disable (INTS_ALL)、按照Zigbee終端的硬件設(shè)計初始化板上硬件設(shè)置HAL_B0ARD_INITO、初始化板上 I/O 口 InitBoard(0B_C0LD)、初始化 HAL 層驅(qū)動 HalDriverInitO、初始化非易失性存儲器sal_nv_init (NULL)、初始化MAC層ZMacInit O、分配64位地址zmain_ext_addr O、初始化操作系統(tǒng) osal_init_system()等。
[0013]具體流程可參見圖1:
[0014]101、關(guān)閉總中斷;
[0015]本步驟可以通過執(zhí)行osal_int_disable (INTS_ALL)實現(xiàn)。
[0016]102、按照Zigbee終端的硬件設(shè)計,初始化板上硬件設(shè)置;
[0017]本步驟可以通過執(zhí)行HAL_B0ARD_INIT()實現(xiàn)。函數(shù)HAL_B0ARD_INIT O是一個宏,定義在HAL文件夾中的hal_board_cfg.h文件中。在本步驟中,可以按照Zigbee終端的硬件設(shè)計進(jìn)行板上硬件設(shè)置的初始化,裁剪一些不必要的功能部件初始化。如Zigbee終端不需要看門狗和計時器功能,也不需要組網(wǎng)的功能,這些功能部件的初始化都可以在hal_board_cfg.h 中裁剪。
[0018]103、檢測電壓,以確保提供足夠的電壓,支持運行;
[0019]本步驟可以通過執(zhí)行zmain_vdd_check O實現(xiàn)。
[0020]104、初始化內(nèi)存中的堆;
[0021]本步驟可以通過執(zhí)行zmain_ram_init O實現(xiàn)。
[0022]105、初始化板上I/O 口 ;
[0023]本步驟可以通過執(zhí)行InitBoard(0B_C0LD)實現(xiàn)。
[0024]106、初始化HAL層驅(qū)動;
[0025]本步驟可以通過執(zhí)行HalDriverInit O實現(xiàn)。
[0026]107、初始化非易失性存儲器;
[0027]本步驟可以通過執(zhí)行sal_nv_init (NULL)實現(xiàn)。
[0028]108、分配64位地址;
[0029]本步驟可以通過執(zhí)行zmain_ext_addr O實現(xiàn)。
[0030]109、初始化基本的NV條目;
[0031]本步驟可以通過執(zhí)行ZgInitO實現(xiàn)。
[0032]110、初始化 MAC 層;
[0033]本步驟可以通過執(zhí)行ZMacInit O實現(xiàn)。
[0034]111、初始化操作系統(tǒng);
[0035]本步驟可以通過執(zhí)行osal_init_system()實現(xiàn)。
[0036]112、打開總中斷;
[0037]本步驟可以通過osal_int_enable (INTS_ALL)實現(xiàn)。
[0038]113、最終板載初始化;
[0039]本步驟可以通過InitBoard(0B_READY)實現(xiàn)。
[0040]114、顯示設(shè)備的信息;
[0041]本步驟可以通過zmain_dev_info O實現(xiàn)。
[0042]115、在LCD屏上顯示設(shè)備信息;
[0043]本步驟可以通過zmain_lcd_init O實現(xiàn)。
[0044]116、啟動操作系統(tǒng)。
[0045]本步驟可以通過osal_start_system()實現(xiàn)。
[0046]所有初始化結(jié)束以后開始進(jìn)入osal_start_system(),也就是真正的開始啟動操作系統(tǒng),操作系統(tǒng)真正啟動后按照事件輪循機(jī)制運行。當(dāng)操作系統(tǒng)初始化之后,操作系統(tǒng)進(jìn)入休眠模式,當(dāng)事件發(fā)生時,喚醒操作系統(tǒng),開始進(jìn)入中斷處理時間,結(jié)束后繼續(xù)進(jìn)入休眠模式。如果同時有幾個事件發(fā)生,判斷優(yōu)先級,按照優(yōu)先級的級別從高到低逐次處理。
[0047]以上對本發(fā)明實施例所提供的一種優(yōu)化Zigbee協(xié)議的節(jié)能方法進(jìn)行了詳細(xì)介紹,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明實施例的思想,在【具體實施方式】及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
【權(quán)利要求】
1.一種優(yōu)化Zigbee協(xié)議的節(jié)能方法,其特征在于,包括:關(guān)閉總中斷;按照Zigbee終端的硬件設(shè)計,初始化板上硬件設(shè)置;檢測電壓,以確保提供足夠的電壓,支持運行;初始化內(nèi)存中的堆;初始化板上I/O 口 ;初始化HAL層驅(qū)動;初始化非易失性存儲器;分配64位地址;初始化基本的NV條目;初始化MAC層;初始化操作系統(tǒng);打開總中斷;最終板載初始化;顯示設(shè)備的信息;在LCD屏上顯示設(shè)備信息;啟動操作系統(tǒng)。
【文檔編號】H04W52/02GK104469913SQ201410753938
【公開日】2015年3月25日 申請日期:2014年12月10日 優(yōu)先權(quán)日:2014年12月10日
【發(fā)明者】馮秋朝 申請人:廣東廣聯(lián)電子科技有限公司, 廣州廣聯(lián)數(shù)字家庭產(chǎn)業(yè)技術(shù)研究院