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