CAN總線在交通信號燈動態調整系統中的應用
3.2.1 主程序
主程序根據中斷程序返回的狀態循環調用命令處理、交通狀態判定和紅綠燈控制模塊,并定時調用數據上傳模塊。其流程圖見圖5。

3.2.2 交通狀態判定
交通狀態的判定方法在第3.1節算法原理中已經闡述,這里不再贅述。在該模塊中,系統若發現單位時間中通過不同方向的汽車相差較多或下游有發生擁堵的可能時,自動修改紅綠燈間隔,由紅綠燈控制模塊調用。
3.2.3 中斷處理
系統將環形線圈振蕩器所連接的STR7lO的4個外部中斷設置為FIQ,以降低中斷反應時間。在車輛通過時,中斷子程序計數后退出,主要的計算在擁堵判定中完成,以提高系統響應速度。系統以中斷方式接收控制中心的命令,在接收到命令時,只將命令轉存后退出,進一步的處理由命令處理程序執行。由于STR710的CAN控制器只有AMR,沒有ACR,因此,STR710在接收到數據后需要根據ID判斷是否是發給自己的,只有在AMR和ID相同時,才開始接收命令。
3.2.4 數據上傳
程序先將數據打包成CAN幀格式,再寫入緩沖區,由硬件自動發送出去。
3.2.5 命令處理
系統根據中斷處理程序設置的標記,對時間間隔緩沖區進行刷新。由紅綠燈控制模塊執行調整。
3.2.6 紅綠燈控制
紅綠燈控制模塊框圖見圖6。該模塊根據命令處理或擁堵判定所做的標記,執行調整紅綠燈間隔時間。

4 結語
根據交通擁擠和消散過程的特征,給出了利用微機技術自動判定道路交通狀況的算法,并試圖在此基礎上實時地控制紅綠燈的變換周期,實現在無人工干預情況下改善交通狀況,同時將路況信息通過CAN總線發送到控制中心,控制中心可以在特殊情況下進行遠距離人工干預。該系統具有高效、實時、客觀的特點,且簡單易于實現,具有良好的應用前景。
評論