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