基于ARM的六相位交通信號機設計
由此得到信號周期時長為192 s,各方向信號燈時長如表2所示。實際控制中,應根據(jù)各相位車流量情況對各相通行時間作適當調(diào)整。
2 系統(tǒng)硬件設計
2.1 硬件總體設計
信號機作為一個典型的嵌入式系統(tǒng),其設計應以應用為中心,做到軟硬件可裁剪。本文選用LM3S8962作為主控芯片,根據(jù)信號機的功能要求,并結合LM3S8962的芯片特性,設計的信號機系統(tǒng)硬件框圖如圖2所示。
2.2 微處理器、存儲器模塊
嵌入式微處理器是整個嵌入式系統(tǒng)的核心。LM3S8962是Luminary Micro公司的基于ARM Cortex-M3內(nèi)核具有32位RISC性能的微處理器,提供豐富的片上資源,包括256 KB FLASH,64 KB SRAM,4個32位通用定時器、同步串行接口(SSI)、10/100以太網(wǎng)控制器、6組共42個GPIO端口等,支持嵌入式實時操作系統(tǒng)μC/OS-Ⅱ,適合于關注成本的片上系統(tǒng)級應用。
LM3S8962具有256 KB FLASH空間,F(xiàn)LASH是一種不揮發(fā)性內(nèi)存,由一組可獨立擦除的1 KB區(qū)塊構成。本系統(tǒng)軟件占用空間小,使用LM3S8 962自帶的FLASH存儲空間完全能夠滿足系統(tǒng)要求。因此,本文將μC/OS-Ⅱ系統(tǒng)內(nèi)核、控制軟件存放于第0~253區(qū)塊,控制參數(shù)存放于第254 255區(qū)塊。這樣能夠降低系統(tǒng)復雜度,提高數(shù)據(jù)訪問速度。
2.3 信號燈、倒計時模塊
本文為信號機設計了6個相位機動車及人行道共6×2×3+2×2×2=44路信號的控制。由LM3S8962的PB3-PB5,PB0-PB2,PC4-PC6,PD0-PD2,PE0-PE2,PF0/PF1/PG0這6組GPIO端口分別輸出1~6相位LED信號燈的控制信號。
本文采用8段LED數(shù)碼管作為信號機的倒計時顯示組件。6個相位及人行道均采用兩位數(shù)碼管,共6×2+4×2=20個兩位數(shù)碼管。利用LM3S89 62自帶的同步串行接口(SSI,對應于PA2~PA5 GPIO端口),配置SSI為主模式,使用Freeseale SPI幀格式,通過SSI每次向外發(fā)送16位數(shù)據(jù)(包括8位段碼和8位位碼),再利用兩片級聯(lián)的74HC595芯片將16位串行數(shù)據(jù)轉換為16位并行數(shù)據(jù)輸出,達到將段碼、位碼同時輸出的目的。
2.4 實時時鐘、以太網(wǎng)接口模塊
信號機執(zhí)行多時段控制模式時,需要根據(jù)實時時間執(zhí)行對應時段的控制方案,并且為方便用戶校對,需要在液晶界面上顯示實時時間。本文選用DALLAS公司的時鐘芯片DS1302,該芯片能夠?qū)δ?、月、日、周、時、分、秒計時,具有閏年補償功能。使用LM3S8962的3個GPIO端口PA0,PA1,PA6分別控制DS1302的RST復位線、I/O數(shù)據(jù)線、SCLK串行時鐘線,將命令或數(shù)據(jù)按每次1個字節(jié)或31個字節(jié)的觸發(fā)模式傳入時鐘寄存器或移出RAM寄存器,實現(xiàn)LM3S8962與DS1302之間的同步通信,從而為信號機提供實時時鐘。
評論