劉恒源 彭衛青 裴博 肖建利 張目雷 王法社


【摘 要】本設計為車載信號燈狀態采集和顯示系統。該系統由交通燈控制模塊、Zigbee協調器模塊,Zigbee終端等模塊構成。交通燈模塊通過串口將信號燈狀態信息傳送到協調器,利用Zigbee無線通信技術將信號燈狀態信息發送給終端并顯示。利用CC2530及外圍接口搭建硬件,Z-stack協議棧編寫底層軟件。測試結果表明:該系統能及時、準確的采集、顯示交通燈狀態信息。
【關鍵詞】交通信號燈;無線通信;Zigbee技術
中國分類號:U495 文獻標識碼: A 文章編號: 2095-2457(2019)05-0061-003
0 引言
隨著汽車的逐漸普及,城市交通安全和路口通行效率等問題日益突出。如何抑制交通事故的上升趨勢,成為當今智能交通[1-3]系統的主要研究方向,針對惡劣天氣(大雨、大霧、強光環境)以及有阻擋物使汽車駕駛員無法準確觀察和判斷交通信號燈的問題,交通燈狀態信息采集是關鍵。電子信息技術的進步加速了智能系統的研發進程。但由于交通場景復雜,且各國標準的不一,導致至今仍然沒有一種行之有效的交通燈信息采集和狀態顯示系統。本文設計了一種車載交通燈信息采集和顯示系統,不但能夠給駕駛者提供交通燈狀態的時間信息,駕駛者能對交通狀態做出預判,能有效地降低路口交通事故發生率,同時為當前日益發展的智能交通和智能車輛交通燈信息采集提供一種解決方案。
1 系統總體結構
基于Zigbee的車載交通信號燈狀態采集和顯示系統設計,它是由交通燈控制模塊、無線通信及顯示模塊構成,它可以實現將交通信號燈所傳達的視覺信息通過無線的方式傳達給車內的駕駛員。
圖1中,ZigBee協調器模塊與ZigBee接收終端模塊主要是由CC2530芯片組成。其中,協調器模塊與交通燈控制模塊通過UART串口相連,協調器模塊主要是負責建立協調器網絡,及時獲取信號燈的狀態信息,并允許設備加入到網絡中;接收終端模塊與車內的顯示模塊相連,接收終端模塊是將獲取的信息狀態傳輸給顯示模塊。ZigBee協調器模塊與ZigBee接收終端模塊共同組成了無線通信網絡,實現交通燈信號的實時傳輸。當車輛進入到信號發射半徑內時,由ZigBee特有的自組網功能,ZigBee接收終端模塊會自動作為終端節點加入到網絡中,由此獲取交通燈的狀態。通過基于ZigBee技術的車載交通信號燈狀態采集和顯示系統,能夠體現出其信息傳輸的時效性。
2 硬件設計
此系統屬于傳輸的詳細內容為:交通燈控制模塊控制的交通燈周期性變化,然后又由協調器模塊通過串口接收來自交通燈周期性變化的信息,接著協調器模塊會將信息通過網絡傳達給接收終端模塊,最后接收終端模塊會將收集到的信息處理后由車載顯示模塊顯示出來。
2.1 發送端設計
發送端硬件設計主要由電源模塊、交通燈控制模塊、協調器模塊和指示燈組成,如圖2所示。電源模塊為交通燈控制模塊和CC2530提供3.3V電源,交通燈模塊和ZIgBee協調器模塊通過USART串口相連,ZigBee節點的作用是獲取交通燈信息,自組織網絡并把信息發到自組織網絡中,指示燈模塊顯示為了顯示節點以及網絡的連接。
2.2 接收端設計
接收端設計如圖3所示電源模塊由汽車供電,通過電壓轉換為接收終端模塊和顯示模塊供電,LED指示是用來顯示終加入網絡狀態,顯示模塊模擬交通燈的狀態和時間顯示。
3 軟件設計
ZigBee網絡架構由物理層(PHY)、MAC層、網絡層(NWK)、應用程序支持子層(APS)、應用層(APL)組成,其中前兩層(PHY和MAC)由IEEE802.15.4協議標準定義[1-2]。后三層則由ZigBee聯盟定義。物理層定義了物理無線信道,工作頻段的分配,為MAC層提供數據服務和管理服務。MAC層負責處理所有的物理無線信道訪問,由此并產生網絡信號、同步信號;支持PAN連接和分離,提供兩個MAC實體之間可靠的鏈路。在以上基礎上定義了網絡層(NWK)和應用層( APL)架構。在應用層內提供了應用支持子層(APS)和ZigBee設備對象(ZDO),應用框架中則加入了自定義的應用對象。具有Z-Stack協議棧系統的CC2530設備在通電后會形成自組網絡[3-4]。其中ZigBee協調器模塊、終端路由設備均進行Z-Stack協議棧移植。Zsatck協議棧包含了Zigbee協議所規定的基本功能,這些功能大部分是通過函數的形式(即模塊化)實現的。為了便于管理這些函數集,Zstack協議棧中加入了實時操作系統,稱為OSAL[5-7](Operating System Abstraction Layer,操作系統抽象層)。
3.1 協調器節點設計
協調器模塊主要功能是建立網絡且允許其它的節點加入到該網絡,同時還可以和交通信燈控制模塊通過串口完成信息傳送,并把交通燈狀態信息發送出去。這部分的軟件實現主要包括各層的初始化設備、協調器的自組網、節點的入網申請、串口的初始化、數據信息的處理和發送等。
Stack由 main()函數開始執行,main()函數有兩個作用:一是系統初始化,二是開始執行輪轉查詢式操作系統,進入Osal_init_system()函數,執行操作系統初始化,進入osalInitTasks()函數,執行操作系統任務初始化,Zigbee網絡設備的啟動是通過ZDApp_Init()函數來實現的,ZDApp_Init()函數在ZDApp.c中定義。SampleApp.c中SampleApp_Init()函數是任務初始化函數。在移植過程中,修改SampleApp_ProcessEvemt( )函數,實現協調器網絡建立后點亮LED,通過MT_UartInit(),MT_UartTaskID() 對串 口 部 分 進行初始化[5-7]。
修改的就是波特率和流控制,波特率要修改和配置成115200,和連接串口的上位機保持一致,在SampleApp_Init(uint8 task_id)函數調用配置好的MT_UartInit ()函數;然后登記任務號。在協議棧的無線數據處理部分添加串口信號互相轉換的處理函數,通過調用串口回調函數 SerialApp_CallBack()查詢串口內容,一旦收到數據,則調用 HalUARTRead ()將數據讀至緩沖區 Buffer 并調用串口發送 SerialApp_Send()函數。在 SerialApp_Send()中使用函數 AF_DataRequest()把數據發送出去。
3.2 終端節點設計
工作在路由器模式的終端節點會自動搜尋附近的網絡并申請加入。終端節點自動加入網絡,再發出綁定請求,若無網絡連接或節點無應答,終端的節點再次進行發現網絡和綁定過兩個過程。當終端節點接收到的數據后,ZigBee 協議棧的應用層會接收AF_INCOMING_MSG_CMD 消息,隨后調用 SerialApp_ProcessMSGCmd( MSGpkt )函數進行相應的數據處理,修改SampleApp_MessageMSGCB( )函數實現對數據的處理,并把交通燈狀態的信息通過顯示模塊顯示信號燈狀態和時間。
4 硬件測試
經過軟件設計,通過CC2530芯片組成的系統,模擬當車輛通過交通信號燈時,先允許其加入當前路口的ZigBee信號網絡,模擬當前所交通信號信息接收的情景。在模擬測試中,用CC2530芯片組成的系統板作為協調器,模擬路口交通燈信號的發射,另一塊作為路由器,在車輛上進行模擬信號的接收模塊,最后由顯示模塊進行顯示當前信息。
5 結束語
本文將提出的基于ZigBee的車載交通信號燈狀態采集和顯示系統設計,硬件利用51單片機設計了交通燈模塊,采用CC2530設計了協調器模塊發送和接收信號,通過顯示模塊顯示交通燈信息,軟件上以Z-Stack協議棧為基礎進行移植。并對系統進行了測試,此系統可以辨識交通信號燈,并將信號實時傳輸,且受外界干擾較小,能有效地在環境惡劣情況下準確及時的將信號燈的狀態信息傳遞給駕駛員,為智能交通和智能車輛交通燈信息采集提供一種解決方案。
【參考文獻】
[1]孫靜,陳佰紅.Zigbee協議棧及應用實現,通化師范學院學報2007.4.35
[2]任秀麗,于海斌.Zigbee無線通信協議實現技術的研究.計算機工程與應用,2007.43.143
[3]青島東合信息技術有限公司.Zigbee開發技術及實踐[M].西安電子科技大學出版社,2014.
[4]賈玉雷,勒伍銀,等.基于Zigbee技術的智能車無線控制系統開發.傳感器微系統.2013.
[5]趙士鵬,魏嘯東,基于ZigBee的車載交通信號燈狀態采集系統設計,信息與通信,2016.7.162.
[6]張健.ZigBee技術在智能交通信號燈控制中的應用研究[J].銅陵學院報,2014(12).
[7]李新慧,俞阿龍,潘苗.基于CC2530的水產養殖監控系統的設計[J].傳感器與微系統,2013,32:85-88.