引言
隨著我國(guó)城市化飛速發(fā)展,,路面交通擁堵問(wèn)題日益嚴(yán)重。交通信號(hào)機(jī)作為緩解交通擁堵問(wèn)題的重要手段之一,,其核心控制器主要包括兩類:一類是單片機(jī)控制器,,這類控制器基于8/16位單片機(jī),功能簡(jiǎn)單,,控制方式單一,;另一類采用工控機(jī)作控制器,功能強(qiáng)大,,但結(jié)構(gòu)復(fù)雜且多冗余,,成本高。相位控制方面,,傳統(tǒng)的信號(hào)機(jī)主要為兩相位和四相位信號(hào)控制,。兩相位控制時(shí),,直行方向和左轉(zhuǎn)方向同時(shí)放行,左轉(zhuǎn)車輛與對(duì)向直行車輛形成沖突,,極易造成交通事故,;四相位控制時(shí),將右轉(zhuǎn)方向作為常通狀態(tài)來(lái)對(duì)待,,這顯然忽視了沒(méi)有過(guò)街天橋或地下通道的情況下行人安全通行的要求,。
針對(duì)上述傳統(tǒng)信號(hào)機(jī)的缺陷,本文提出了一種基于ARM芯片LM3S8962的六相位交通信號(hào)機(jī)的系統(tǒng)控制方案及其軟硬件設(shè)計(jì)方法,。
1 六相位信號(hào)機(jī)控制方案
信號(hào)機(jī)的控制方案是相位設(shè)置,、相序設(shè)置、信號(hào)配時(shí)的有序集合,,是信號(hào)機(jī)運(yùn)行的數(shù)據(jù)源,,因此對(duì)信號(hào)機(jī)控制方案的研究異常重要。
1.1 平面交叉口六相位模型
本文對(duì)左轉(zhuǎn)方向,、右轉(zhuǎn)方向分別加以考慮,,將十字路口的信號(hào)相位分為6個(gè)相位,如圖1所示,。其中,,相位1,3,,4,,6用于機(jī)動(dòng)車,相位2,,5用于機(jī)動(dòng)車,、非機(jī)動(dòng)車和行人。從該模型中可以看出,,僅1,,4相位放行時(shí)產(chǎn)生兩個(gè)分流點(diǎn),其余各相位放行時(shí)不產(chǎn)生任何接觸點(diǎn),,較之傳統(tǒng)的兩相位,、四相位控制模型大幅減少了交通接觸點(diǎn),因此,,能夠更有效地降低事故隱患,。
1.2 控制模式與信號(hào)配時(shí)
本文采用對(duì)交通流時(shí)間分割的方法,按照設(shè)定的通行相序?yàn)槊恳幌辔环峙湟欢ǖ耐ㄐ袝r(shí)間,,在一次通行周期中,,各個(gè)相位的通行對(duì)象均會(huì)得到一次通行權(quán)??紤]到未來(lái)交通控制系統(tǒng)的要求,,同時(shí)兼顧傳統(tǒng)信號(hào)機(jī)的控制方式,,本文為信號(hào)機(jī)設(shè)計(jì)了多時(shí)段、定周期,、手動(dòng)、黃閃四種控制模式,。
信號(hào)配時(shí)方面,,為了保證各方向的通行對(duì)象能夠安全地通過(guò)交叉口,每個(gè)方向的通行時(shí)間不能少于15 s,,而為了避免各方向通行對(duì)象等待時(shí)間過(guò)長(zhǎng),,信號(hào)周期時(shí)長(zhǎng)不宜超過(guò)200 s。表1給出六相位信號(hào)機(jī)的一種信號(hào)配時(shí)方案,,通行相序?yàn)橄辔?至相位6,,黃閃時(shí)長(zhǎng)3s。
由此得到信號(hào)周期時(shí)長(zhǎng)為192 s,,各方向信號(hào)燈時(shí)長(zhǎng)如表2所示,。實(shí)際控制中,應(yīng)根據(jù)各相位車流量情況對(duì)各相通行時(shí)間作適當(dāng)調(diào)整,。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 硬件總體設(shè)計(jì)
信號(hào)機(jī)作為一個(gè)典型的嵌入式系統(tǒng),,其設(shè)計(jì)應(yīng)以應(yīng)用為中心,做到軟硬件可裁剪,。本文選用LM3S8962作為主控芯片,,根據(jù)信號(hào)機(jī)的功能要求,并結(jié)合LM3S8962的芯片特性,,設(shè)計(jì)的信號(hào)機(jī)系統(tǒng)硬件框圖如圖2所示,。
2.2 微處理器、存儲(chǔ)器模塊
嵌入式微處理器是整個(gè)嵌入式系統(tǒng)的核心,。LM3S8962是Luminary Micro公司的基于ARM Cortex-M3內(nèi)核具有32位RISC性能的微處理器,,提供豐富的片上資源,包括256 KB FLASH,,64 KB SRAM,,4個(gè)32位通用定時(shí)器、同步串行接口(SSI),、10/100以太網(wǎng)控制器,、6組共42個(gè)GPIO端口等,支持嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ,,適合于關(guān)注成本的片上系統(tǒng)級(jí)應(yīng)用,。
LM3S8962具有256 KB FLASH空間,F(xiàn)LASH是一種不揮發(fā)性內(nèi)存,,由一組可獨(dú)立擦除的1 KB區(qū)塊構(gòu)成,。本系統(tǒng)軟件占用空間小,,使用LM3S8 962自帶的FLASH存儲(chǔ)空間完全能夠滿足系統(tǒng)要求。因此,,本文將μC/OS-Ⅱ系統(tǒng)內(nèi)核,、控制軟件存放于第0~253區(qū)塊,控制參數(shù)存放于第254 255區(qū)塊,。這樣能夠降低系統(tǒng)復(fù)雜度,,提高數(shù)據(jù)訪問(wèn)速度。
2.3 信號(hào)燈,、倒計(jì)時(shí)模塊
本文為信號(hào)機(jī)設(shè)計(jì)了6個(gè)相位機(jī)動(dòng)車及人行道共6×2×3+2×2×2=44路信號(hào)的控制,。由LM3S8962的PB3-PB5,PB0-PB2,,PC4-PC6,,PD0-PD2,PE0-PE2,,PF0/PF1/PG0這6組GPIO端口分別輸出1~6相位LED信號(hào)燈的控制信號(hào),。
本文采用8段LED數(shù)碼管作為信號(hào)機(jī)的倒計(jì)時(shí)顯示組件。6個(gè)相位及人行道均采用兩位數(shù)碼管,,共6×2+4×2=20個(gè)兩位數(shù)碼管,。利用LM3S89 62自帶的同步串行接口(SSI,對(duì)應(yīng)于PA2~PA5 GPIO端口),,配置SSI為主模式,,使用Freeseale SPI幀格式,通過(guò)SSI每次向外發(fā)送16位數(shù)據(jù)(包括8位段碼和8位位碼),,再利用兩片級(jí)聯(lián)的74HC595芯片將16位串行數(shù)據(jù)轉(zhuǎn)換為16位并行數(shù)據(jù)輸出,,達(dá)到將段碼、位碼同時(shí)輸出的目的,。
2.4 實(shí)時(shí)時(shí)鐘,、以太網(wǎng)接口模塊
信號(hào)機(jī)執(zhí)行多時(shí)段控制模式時(shí),需要根據(jù)實(shí)時(shí)時(shí)間執(zhí)行對(duì)應(yīng)時(shí)段的控制方案,,并且為方便用戶校對(duì),,需要在液晶界面上顯示實(shí)時(shí)時(shí)間。本文選用DALLAS公司的時(shí)鐘芯片DS1302,,該芯片能夠?qū)δ?、月、日,、周,、時(shí)、分,、秒計(jì)時(shí),,具有閏年補(bǔ)償功能,。使用LM3S8962的3個(gè)GPIO端口PA0,PA1,,PA6分別控制DS1302的RST復(fù)位線,、I/O數(shù)據(jù)線、SCLK串行時(shí)鐘線,,將命令或數(shù)據(jù)按每次1個(gè)字節(jié)或31個(gè)字節(jié)的觸發(fā)模式傳入時(shí)鐘寄存器或移出RAM寄存器,,實(shí)現(xiàn)LM3S8962與DS1302之間的同步通信,從而為信號(hào)機(jī)提供實(shí)時(shí)時(shí)鐘,。
傳統(tǒng)的RS 232/RS 485串口,存在通信距離短,、傳輸速率低等缺陷,,不能滿足未來(lái)交通控制系統(tǒng)聯(lián)網(wǎng)的要求,因此本文為信號(hào)機(jī)設(shè)計(jì)了10/100Mb/s以太網(wǎng)接口,。LM3S8962自帶有10/100以太網(wǎng)控制器,,包括完全集成的媒體訪問(wèn)控制器(MAC)和網(wǎng)絡(luò)物理(PHY)接口器件。為了實(shí)現(xiàn)信號(hào)電平耦合與阻抗匹配,,避免信號(hào)機(jī)系統(tǒng)與以太網(wǎng)之間相互干擾,,本文在PHY和RJ 45接口之間連接網(wǎng)絡(luò)變壓器HR601680,將發(fā)送和接收信號(hào)線分別與PHY,,RJ 45對(duì)應(yīng)連接,。以太網(wǎng)接口如圖3所示。
2.5 綠沖突檢測(cè)模塊
綠沖突檢測(cè)是系統(tǒng)自檢的重要部分,,檢測(cè)同一時(shí)刻6個(gè)相位是否有2個(gè)或2個(gè)以上沖突相位的綠燈信號(hào)同時(shí)被點(diǎn)亮的情況,。本文利用8位數(shù)據(jù)并入串出芯片74HC165為信號(hào)機(jī)設(shè)計(jì)了綠沖突檢測(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)軟件設(shè)計(jì)
系統(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è)綠燈沖突。
軟件流程圖如圖4所示,。
4 結(jié)語(yǔ)
本文介紹了基于LM3S8962的六相位交通信號(hào)機(jī)相位模型,、信號(hào)配時(shí)、軟硬件設(shè)計(jì)及實(shí)現(xiàn)技術(shù),。該信號(hào)機(jī)改進(jìn)了傳統(tǒng)信號(hào)機(jī)的控制方式,,能夠?qū)崿F(xiàn)高性能、多相位,、多模式,、聯(lián)網(wǎng)控制,系統(tǒng)可靠性高,、操作簡(jiǎn)單,、升級(jí)擴(kuò)充性好。測(cè)試表明,,該六相位信號(hào)機(jī)能夠有效減少交叉口沖突點(diǎn),、減少車輛延誤、提高交叉口安全程度和服務(wù)水平、保護(hù)行人安全通行,、車輛暢通運(yùn)行,,其社會(huì)效益十分明顯。