新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM的六相位交通信號(hào)機(jī)設(shè)計(jì)

基于ARM的六相位交通信號(hào)機(jī)設(shè)計(jì)

作者: 時(shí)間:2012-07-27 來(lái)源:網(wǎng)絡(luò) 收藏

傳統(tǒng)的RS 232/RS 485串口,存在通信距離短、傳輸速率低等缺陷,不能滿足未來(lái)控制系統(tǒng)聯(lián)網(wǎng)的要求,因此本文為了10/100Mb/s以太網(wǎng)接口。LM3S8962自帶有10/100以太網(wǎng)控制器,包括完全集成的媒體訪問(wèn)控制器(MAC)和網(wǎng)絡(luò)物理(PHY)接口器件。為了實(shí)現(xiàn)信號(hào)電平耦合與阻抗匹配,避免系統(tǒng)與以太網(wǎng)之間相互干擾,本文在PHY和RJ 45接口之間連接網(wǎng)絡(luò)變壓器HR601680,將發(fā)送和接收信號(hào)線分別與PHY,RJ 45對(duì)應(yīng)連接。以太網(wǎng)接口如圖3所示。

本文引用地址:http://butianyuan.cn/article/148715.htm

e.JPG


2.5 綠沖突檢測(cè)模塊
綠沖突檢測(cè)是系統(tǒng)自檢的重要部分,檢測(cè)同一時(shí)刻6個(gè)相位是否有2個(gè)或2個(gè)以上沖突相位的綠燈信號(hào)同時(shí)被點(diǎn)亮的情況。本文利用8位數(shù)據(jù)并入串出芯片74HC165為了綠沖突檢測(cè)電路,使用LM3S8962的3個(gè)GPIO端口PB7,PA4,PG1分別控制74HC165的并行數(shù)據(jù)加載、時(shí)鐘脈沖輸入和串行數(shù)據(jù)的讀取,74HC165的8個(gè)輸入端分別接至6個(gè)相位及2路人行道的綠燈信號(hào)。LM3S8962根據(jù)讀取的綠燈信號(hào)狀態(tài)及綠沖突判斷規(guī)則判定是否發(fā)生綠沖突。

3 系統(tǒng)軟件
系統(tǒng)軟件包括設(shè)備驅(qū)動(dòng)、控制軟件以及網(wǎng)絡(luò)通信協(xié)議三部分。
3.1 設(shè)備驅(qū)動(dòng)
設(shè)備驅(qū)動(dòng)程序作為系統(tǒng)軟件的基礎(chǔ),是硬件設(shè)備的接口,應(yīng)用程序通過(guò)這個(gè)接口才能控制硬件設(shè)備的工作。本信號(hào)機(jī)系統(tǒng)的驅(qū)動(dòng)程序包括:FLASH讀寫(xiě)驅(qū)動(dòng)、SSI驅(qū)動(dòng)、以太網(wǎng)控制器驅(qū)動(dòng)、DS1302讀寫(xiě)驅(qū)動(dòng)、74HC165驅(qū)動(dòng)等。
3.2 uIP協(xié)議
為了實(shí)現(xiàn)以太網(wǎng)通信,需要移植網(wǎng)絡(luò)通信協(xié)議。uIP協(xié)議棧是為小型嵌入式微處理器設(shè)計(jì)的微型TCP/IP協(xié)議棧,提供必需的網(wǎng)絡(luò)協(xié)議。本文為信號(hào)機(jī)系統(tǒng)移植uIP0.9協(xié)議棧,將信號(hào)機(jī)系統(tǒng)配置為一個(gè)小型WEB服務(wù)器。應(yīng)用程序中監(jiān)聽(tīng)80端口,從uip_conn結(jié)構(gòu)體中讀取當(dāng)前連接的相關(guān)信息,由uip_connected()判斷遠(yuǎn)程主機(jī)是否連接上本機(jī),由uip_newdata()判斷是否接收到遠(yuǎn)程主機(jī)的新數(shù)據(jù),由uip_send()向遠(yuǎn)程主機(jī)發(fā)送數(shù)據(jù)包。
3.3 軟件功能模塊
系統(tǒng)控制軟件是信號(hào)機(jī)軟件的核心,本文采用模塊化的設(shè)計(jì)方法,將控制軟件按功能分為初始化、方案處理、秒時(shí)段處理、綠沖突檢測(cè)、按鍵處理、通信等5個(gè)模塊。
初始化包括硬件和軟件初始化,硬件初始化包括對(duì)片內(nèi)FLASH、DS1302芯片、液晶模塊、以太網(wǎng)接口等的測(cè)試,軟件初始化包括初始化信號(hào)機(jī)參數(shù)、清除標(biāo)志等。
方案處理從FLASH中讀取系統(tǒng)控制模式、工作時(shí)段、信號(hào)配時(shí)、通行相序等信號(hào)機(jī)的基本工作參數(shù),并存入特定的數(shù)據(jù)結(jié)構(gòu),供其他模塊調(diào)用。
秒時(shí)段處理由每秒中斷一次的定時(shí)器完成各相位燈色信號(hào)輸出、為各相倒計(jì)時(shí)時(shí)間計(jì)數(shù)、切換通行相位等任務(wù)。
綠沖突檢測(cè)由定時(shí)器每隔特定的時(shí)間完成檢測(cè)各相位是否發(fā)生綠燈信號(hào)沖突的任務(wù)。若發(fā)生綠沖突,進(jìn)行聲光報(bào)警并進(jìn)入黃閃控制。
按鍵處理由外部中斷服務(wù)程序完成查詢系統(tǒng)狀態(tài)、修改系統(tǒng)參數(shù)、更改系統(tǒng)工作模式等任務(wù)。
通信部分為信號(hào)機(jī)與監(jiān)控中心的以太網(wǎng)通信,完成接收監(jiān)控中心的控制命令、發(fā)送信號(hào)機(jī)狀態(tài)參數(shù)等任務(wù)。
3.4 軟件流程
信號(hào)機(jī)上電后,首先進(jìn)行初始化,如果初始化能夠正常完成,則進(jìn)入方案處理,從FLASH中取出各控制模式對(duì)應(yīng)的工作參數(shù)并存入特定的數(shù)據(jù)結(jié)構(gòu)中,之后系統(tǒng)默認(rèn)進(jìn)入多時(shí)段控制模式,根據(jù)當(dāng)前時(shí)段的工作參數(shù)執(zhí)行對(duì)應(yīng)的控制。當(dāng)定時(shí)器產(chǎn)生1 s中斷時(shí),進(jìn)入秒時(shí)段處理輸出燈色、倒計(jì)時(shí)信號(hào)。當(dāng)接收到按鍵請(qǐng)求時(shí),進(jìn)入外部中斷處理程序響應(yīng)用戶請(qǐng)求。當(dāng)接收到遠(yuǎn)程主機(jī)命令或者發(fā)送數(shù)據(jù)給遠(yuǎn)程主機(jī)時(shí),進(jìn)入通信處理模塊。信號(hào)機(jī)每隔一定的時(shí)間間隔進(jìn)入綠沖突檢測(cè)模塊,檢測(cè)綠燈沖突。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉