摘 要: 龐大、昂貴的列車及其設(shè)備使軌道信號系統(tǒng)邏輯的實車驗證成本高、實施難,而半實物模型仿真是降低成本的有效手段。鑒于此,提出了一種模型列車系統(tǒng),以CC2530芯片為硬件核心,以Z-Stack協(xié)議棧為軟件構(gòu)架,通過狀態(tài)機實現(xiàn)應(yīng)用層通信邏輯,模擬實車間的通信仿真。首先介紹了CC2530芯片及系統(tǒng)框架,再闡述了模型節(jié)點硬件及軟件設(shè)計,并成功組建了由控制中心與列車節(jié)點構(gòu)成的星形網(wǎng)絡(luò),實現(xiàn)了控制中心對列車節(jié)點的實時運行控制及列車節(jié)點對控制中心的信息反饋。實驗結(jié)果表明,基于ZigBee的軌道列車模型系統(tǒng)可用于信號系統(tǒng)邏輯驗證。
關(guān)鍵詞: CC2530;ZigBee;軌道列車信號仿真;Z-Stack協(xié)議棧
0 引言
列車及其設(shè)備的龐大、昂貴,致使軌道列車信號系統(tǒng)與列車控制網(wǎng)絡(luò)系統(tǒng)的實車驗證成本高、難度大;而純計算機仿真環(huán)境下的信號邏輯實驗及驗證的實踐性低、直觀性差。由此考慮搭建軌道列車網(wǎng)絡(luò)模型,采用全仿真列車、軌道及信號設(shè)備,同時建立控制中心,通過網(wǎng)絡(luò)通信,模擬軌道列車運行。由此建立的軌道列車模型系統(tǒng)具有體積小、成本低、可控性高、擴展性好、直觀性強的特點,適合于軌道列車信號系統(tǒng)研發(fā)測試及邏輯驗證。
1 模型系統(tǒng)設(shè)計
系統(tǒng)設(shè)計采用2輛1:40全仿真列車,40 m雙環(huán)仿真軌道,2個道岔(包括轉(zhuǎn)轍機)及4個信號燈設(shè)備。在各設(shè)備上嵌入無線控制芯片,自組織成網(wǎng)絡(luò),移植現(xiàn)有協(xié)議棧,通過建立應(yīng)用支持子層,分離底層及應(yīng)用層,提供對上接口。根據(jù)不同種類的軌道設(shè)備,建立有限狀態(tài)機邏輯,編程嵌入節(jié)點。最終通過模型運轉(zhuǎn)尋找軌道列車信號系統(tǒng)的邏輯問題。
考慮到無線通信可以降低線路排布復(fù)雜度,以及系統(tǒng)應(yīng)具有容量擴展、自組網(wǎng)、抗干擾能力[1]和經(jīng)濟性,選擇以低功耗、低速率、低成本為目標(biāo)的ZigBee-IEEE 802.15.4[2]標(biāo)準(zhǔn)作為網(wǎng)絡(luò)協(xié)議,并采用TI公司的CC2530片上系統(tǒng)為硬件核心,移植符合ZigBee 2007 Pro規(guī)范、支持1 000個以上節(jié)點的Z-Stack協(xié)議棧為軟件核心,建立仿真系統(tǒng)。
2 硬件電路設(shè)計
2.1 芯片組合選擇
采用ZigBee技術(shù)搭建網(wǎng)絡(luò),必要硬件包括無線收發(fā)模塊以及微處理器。無線收發(fā)模塊和微處理器可為分立芯片,如Freescale公司的ZigBee無線收發(fā)器MC13193配合MCF523x系列的32位微處理器;或使用單芯片方案,即無線收發(fā)模塊和微處理器在同一芯片中集成,如TI公司的CC2430芯片等。
分立方式操作靈活,收發(fā)模塊、微處理器性能可根據(jù)課題需求進(jìn)行選擇,但開發(fā)難度較單芯片大。單芯片方式集成度高、成本低廉,有數(shù)個可選級別,在空間局限板路中布置方便,但對于特殊要求微處理器與收發(fā)器方法有限。
業(yè)界有多種單芯片解決方案[3],如Freescale公司的MC13214、TI公司的CC2530[4]。考慮到CC2530集成的增強型8051內(nèi)核易于開發(fā),性能與容量符合應(yīng)用要求,最終選擇CC2530芯片。
2.2 電路設(shè)計
節(jié)點電路以CC2530芯片為核心。根據(jù)Datasheet以及經(jīng)驗設(shè)計天線[5]、晶振、接地和復(fù)位電路構(gòu)成最小系統(tǒng),如圖1所示。
主節(jié)點電路增加RS232串口電路與電腦通信;增加12864液晶顯示屏,通過74HC595串口轉(zhuǎn)并口芯片通信,提高IO復(fù)用率;增加按鍵,利用分壓電路使4個按鍵并入同個IO,根據(jù)電壓采樣獲得按鍵輸入。
3 軟件設(shè)計
3.1 協(xié)議棧層結(jié)構(gòu)
ZigBee協(xié)議棧體系結(jié)構(gòu)基于標(biāo)準(zhǔn)開放式系統(tǒng)互連(Open System Interconnect,OSI)七層協(xié)議模型,如圖2所示。
協(xié)議棧有兩個物理層,它操作于兩個分離的頻率范圍:900 MHz和2.4 GHz。低頻率主要用于歐美大陸,高頻率全球通用,本文使用2.4 GHz頻率段。物理層采用16個信道、偽噪聲PN序列(Pseudo-noise Sequence)擴頻以及O-QPSK編碼方式,以避免同頻干擾[1]。
MAC層信道時間控制使用超幀方式,競爭接入信道使用的是載波偵聽多點接入/避免沖撞(Carrier Sense Multiple Access with Collision Avoidance,CSMA/CA)方式。
網(wǎng)絡(luò)層完成網(wǎng)絡(luò)建立、加入和離開,使用AODV[6]等路由算法發(fā)現(xiàn)、選擇和維護(hù)網(wǎng)絡(luò)。
應(yīng)用支持子層(Application Support Sublayer,APS)用于維護(hù)和建立綁定表。
設(shè)備對象層(ZigBee Device Object,ZDO)層用于定義設(shè)備在網(wǎng)絡(luò)中的角色,發(fā)起或響應(yīng)綁定請求。
應(yīng)用層是本文功能邏輯實現(xiàn)的具體位置。
Z-Stack協(xié)議棧是ZigBee協(xié)議標(biāo)準(zhǔn)的一個實體,符合上述層結(jié)構(gòu)。
3.2 操作系統(tǒng)流程
各節(jié)點棧分層任務(wù)通過OSAL(Operating System Abstraction Layer)操作系統(tǒng)實現(xiàn)。
OSAL操作系統(tǒng)具有任務(wù)優(yōu)先權(quán),每層任務(wù)在執(zhí)行完成后回到循環(huán)原點。以應(yīng)用層為例,如果鏈路層與應(yīng)用層任務(wù)同時激活,先執(zhí)行鏈路層任務(wù),任務(wù)結(jié)束后,系統(tǒng)回到循環(huán)原點。如果這時鏈路層又有任務(wù)被激活,那么應(yīng)用層的任務(wù)將再次得不到執(zhí)行,只有當(dāng)所有較低層的任務(wù)全部執(zhí)行完成后,才會執(zhí)行應(yīng)用層任務(wù)。
這樣構(gòu)建系統(tǒng)的原因在于底層任務(wù)需要維持網(wǎng)絡(luò)運行以及設(shè)備實際操作,并保證操作的實時性。應(yīng)用層在處理完應(yīng)用請求后,一般也是把消息傳遞給底層,使底層實際完成應(yīng)用層的請求。實際系統(tǒng)處理速度快,較少遇到底層任務(wù)繁多迫使高層無法運行的情況。
3.3 控制中心狀態(tài)機
圖3所示為控制中心應(yīng)用層有限狀態(tài)機模型,其主要功能是建立和維護(hù)網(wǎng)絡(luò)。
首先建立網(wǎng)絡(luò),完成后,控制中心即允許列車節(jié)點加入網(wǎng)絡(luò),實時接收、定時顯示列車信息(包括車號、車速以及目標(biāo)車速)。
控制中心能要求列車以給定的速度運行。列車的速度控制作為非周期操作,使用鍵盤的中斷方式輸入。
列車信息是周期數(shù)據(jù),10 Hz的信息頻率使用接收中斷激活任務(wù)。若網(wǎng)絡(luò)的信息顯示頻率過高,將導(dǎo)致CPU的大部分時間都在等待LED控制芯片的應(yīng)答,從而降低系統(tǒng)工作效率,因此根據(jù)人的大腦一般條件反應(yīng)時間為0.1~0.5 s以及復(fù)雜選擇性反應(yīng)時間為1~3 s,設(shè)定控制中心信息顯示周期為1 s。
為節(jié)省通信帶寬,列車反饋信息不含列車目標(biāo)車速。目標(biāo)車速在每次控制中心發(fā)送控制命令時被截獲,直到下一次控制中心再次發(fā)送控制命令,信息才會被修改。
3.4 列車狀態(tài)機
圖4所示為列車節(jié)點應(yīng)用層有限狀態(tài)機模型,列車的主要功能是加入網(wǎng)絡(luò)、控制電機、反饋并顯示列車信息、實時接收控制命令。
列車在初始化階段掃描信道中的協(xié)調(diào)器信標(biāo),一旦發(fā)現(xiàn)協(xié)調(diào)器(即控制中心),就向控制中心發(fā)出請求加入網(wǎng)絡(luò)幀。加入網(wǎng)絡(luò)后,定時接收網(wǎng)絡(luò)中的信標(biāo)幀,一旦失聯(lián),就向上報錯處理。
“接收控制”、“信息反饋”、“電機控制”和“顯示信息”具有不同優(yōu)先級。
“電機控制”優(yōu)先級最高,是設(shè)計的服務(wù)目標(biāo)。采用后臺的PWM波輸出,定時改變PWM輸出值,只要間隔夠短,離散控制將接近實時控制,其影響系數(shù)將通過數(shù)字PID控制給出。實踐中,單核多任務(wù)系統(tǒng)通過心跳保證實時性在可控范圍內(nèi),OSAL最小心跳為1 ms,采用控制頻率為100 Hz。
“接收控制”優(yōu)先級次之,是完成“電機控制”的依據(jù)。由于不可預(yù)測,用中斷的方式較好。中斷處理函數(shù)應(yīng)盡量短,不增加系統(tǒng)的響應(yīng)延時。這里只執(zhí)行保存控制命令一條語句。
“信息反饋”具有次一等優(yōu)先級,它是控制中心掌控列車信息的依據(jù)。根據(jù)人的反應(yīng)速度,選擇反饋信息頻率為5 Hz。
“顯示信息”優(yōu)先級最低,列車上的信息顯示為調(diào)試接口,設(shè)置顯示周期為5 s。
4 實驗過程與結(jié)果
移植Z-Stack協(xié)議棧,在應(yīng)用支持子層建立應(yīng)用號、簇號以及綁定表,注冊任務(wù)信息。根據(jù)控制中心及列車節(jié)點有限狀態(tài)機,編寫應(yīng)用層程序。通過控制中心按鍵改變列車車速,實時觀察各列車信息。實驗過程如圖5所示。
實驗結(jié)果顯示,網(wǎng)絡(luò)具有自組網(wǎng)、掉線重入網(wǎng)能力,控制中心可以控制列車節(jié)點速度并實時顯示列車節(jié)點當(dāng)前速度??刂乒?jié)點實時列車信息如圖6所示。
5 結(jié)論
本文介紹了以CC2530為硬件核心,以Z-Stack協(xié)議棧為軟件核心,基于ZigBee無線技術(shù)的列車模型軟硬件設(shè)計方法,并且在一個控制中心、兩個列車節(jié)點環(huán)境下完成了通信控制過程。該方法為軌道列車信號系統(tǒng)與列車控制網(wǎng)絡(luò)系統(tǒng)的實車設(shè)計與邏輯驗證提供了直觀可行的半實物仿真環(huán)境。
參考文獻(xiàn)
[1] SALLABI F M, GAOUDA A M, EL-HAG A H, et al. Evaluation of ZigBee wireless sensor networks under high power disturbances[J]. IEEE Transactions on Power Delivery,2014,29(1):13-20.
[2] 湯鎮(zhèn)輝,張正明.基于CC2530的ZigBee無線路燈節(jié)能智能監(jiān)控系統(tǒng)[J].微型機與應(yīng)用,2011,30(19):81-83.
[3] 周怡,凌志浩.ZigBee無線通信技術(shù)及其應(yīng)用探討[J].自動化儀表,2005,26(6):5-9.
[4] 黃新波,羅兵,劉存孝,等.采用ZigBee芯片的無線加速度傳感器網(wǎng)絡(luò)節(jié)點的實現(xiàn)[J].高電壓技術(shù),2010,36(8):1962-1969.
[5] 李俊斌,胡永忠.基于CC2530的ZigBee通信網(wǎng)絡(luò)的應(yīng)用設(shè)計[J].電子設(shè)計工程,2011,19(16):108-111.
[6] KIM T H, KIM S H, YANG J Y, et al. Neighbor table based shortcut tree routing in ZigBee wireless networks[J]. IEEE Transactions on Parallel and Distributed Systems,2014,25(3):706-716.