基于ARM的六相位交通信號機設計
傳統(tǒng)的RS 232/RS 485串口,存在通信距離短、傳輸速率低等缺陷,不能滿足未來交通控制系統(tǒng)聯(lián)網的要求,因此本文為信號機設計了10/100Mb/s以太網接口。LM3S8962自帶有10/100以太網控制器,包括完全集成的媒體訪問控制器(MAC)和網絡物理(PHY)接口器件。為了實現(xiàn)信號電平耦合與阻抗匹配,避免信號機系統(tǒng)與以太網之間相互干擾,本文在PHY和RJ 45接口之間連接網絡變壓器HR601680,將發(fā)送和接收信號線分別與PHY,RJ 45對應連接。以太網接口如圖3所示。本文引用地址:http://cafeforensic.com/article/148715.htm
2.5 綠沖突檢測模塊
綠沖突檢測是系統(tǒng)自檢的重要部分,檢測同一時刻6個相位是否有2個或2個以上沖突相位的綠燈信號同時被點亮的情況。本文利用8位數(shù)據并入串出芯片74HC165為信號機設計了綠沖突檢測電路,使用LM3S8962的3個GPIO端口PB7,PA4,PG1分別控制74HC165的并行數(shù)據加載、時鐘脈沖輸入和串行數(shù)據的讀取,74HC165的8個輸入端分別接至6個相位及2路人行道的綠燈信號。LM3S8962根據讀取的綠燈信號狀態(tài)及綠沖突判斷規(guī)則判定是否發(fā)生綠沖突。
3 系統(tǒng)軟件設計
系統(tǒng)軟件包括設備驅動、控制軟件以及網絡通信協(xié)議三部分。
3.1 設備驅動
設備驅動程序作為系統(tǒng)軟件的基礎,是硬件設備的接口,應用程序通過這個接口才能控制硬件設備的工作。本信號機系統(tǒng)的驅動程序包括:FLASH讀寫驅動、SSI驅動、以太網控制器驅動、DS1302讀寫驅動、74HC165驅動等。
3.2 uIP協(xié)議
為了實現(xiàn)以太網通信,需要移植網絡通信協(xié)議。uIP協(xié)議棧是為小型嵌入式微處理器設計的微型TCP/IP協(xié)議棧,提供必需的網絡協(xié)議。本文為信號機系統(tǒng)移植uIP0.9協(xié)議棧,將信號機系統(tǒng)配置為一個小型WEB服務器。應用程序中監(jiān)聽80端口,從uip_conn結構體中讀取當前連接的相關信息,由uip_connected()判斷遠程主機是否連接上本機,由uip_newdata()判斷是否接收到遠程主機的新數(shù)據,由uip_send()向遠程主機發(fā)送數(shù)據包。
3.3 軟件功能模塊
系統(tǒng)控制軟件是信號機軟件的核心,本文采用模塊化的設計方法,將控制軟件按功能分為初始化、方案處理、秒時段處理、綠沖突檢測、按鍵處理、通信等5個模塊。
初始化包括硬件和軟件初始化,硬件初始化包括對片內FLASH、DS1302芯片、液晶模塊、以太網接口等的測試,軟件初始化包括初始化信號機參數(shù)、清除標志等。
方案處理從FLASH中讀取系統(tǒng)控制模式、工作時段、信號配時、通行相序等信號機的基本工作參數(shù),并存入特定的數(shù)據結構,供其他模塊調用。
秒時段處理由每秒中斷一次的定時器完成各相位燈色信號輸出、為各相倒計時時間計數(shù)、切換通行相位等任務。
綠沖突檢測由定時器每隔特定的時間完成檢測各相位是否發(fā)生綠燈信號沖突的任務。若發(fā)生綠沖突,進行聲光報警并進入黃閃控制。
按鍵處理由外部中斷服務程序完成查詢系統(tǒng)狀態(tài)、修改系統(tǒng)參數(shù)、更改系統(tǒng)工作模式等任務。
通信部分為信號機與監(jiān)控中心的以太網通信,完成接收監(jiān)控中心的控制命令、發(fā)送信號機狀態(tài)參數(shù)等任務。
3.4 軟件流程
信號機上電后,首先進行初始化,如果初始化能夠正常完成,則進入方案處理,從FLASH中取出各控制模式對應的工作參數(shù)并存入特定的數(shù)據結構中,之后系統(tǒng)默認進入多時段控制模式,根據當前時段的工作參數(shù)執(zhí)行對應的控制。當定時器產生1 s中斷時,進入秒時段處理輸出燈色、倒計時信號。當接收到按鍵請求時,進入外部中斷處理程序響應用戶請求。當接收到遠程主機命令或者發(fā)送數(shù)據給遠程主機時,進入通信處理模塊。信號機每隔一定的時間間隔進入綠沖突檢測模塊,檢測綠燈沖突。
評論