基于S3C44B0X智能交通信號機的設計
信號機功能比較簡單時并不需要使用操作系統(tǒng),而只是運行一個控制循環(huán)程序,利用中斷來處理發(fā)生的事件,這樣的程序結構比較凌亂,難以維護和升級,功能也受限?,F(xiàn)代智能信號機功能發(fā)展需要同時運行多個任務,如信號燈控制、通訊、車流量檢測等,這就需要對多任務進行合理的調度,另外信號機接收和處理的信息、數(shù)據(jù)的增多,尤其是需要大量保存歷史車流量數(shù)據(jù)提供給信號燈控制模型計算和中心查詢使用,單靠表或數(shù)組來管理是復雜而低效的,因此文件管理也是必不可少的一項功能。
嵌入式Linux是一款優(yōu)秀的嵌入式操作系統(tǒng),它采用微內核體系結構,這使得內核小巧而可靠,易于ROM固化,可模塊化擴展,支持多種文件系統(tǒng),并直接提供完善的網(wǎng)絡支持。本文選用µClinux作為嵌入式操作系統(tǒng),µClinux是專門針對沒有MMU的CPU,為嵌入式系統(tǒng)做了許多小型化的工作,目前支持包括S3C44B0X等微處理器。µClinux采用一種平板式(Flat)的內存模型來去除對MMU的依賴,改變了用戶程序的加載方式,開發(fā)了運行于µClinux的C函數(shù)庫(µCLibc)。 µClinux內核可完成進程管理、內存管理、文件系統(tǒng)、設備控制、網(wǎng)絡實現(xiàn)等功能,內核采用模塊化設計,許多功能塊可以獨立的加上和卸下,我們在設計內核時把這些內核模塊作為可選的選項,可以在編譯系統(tǒng)內核時指定,對內核重新編譯時,選擇嵌入式設備所需要的功能模塊,刪除冗余的功能模塊,通過對內核的重新配置,可以使系統(tǒng)運行所需要的內核顯著減小,從而縮減資源使用量,使系統(tǒng)運行所需硬件資源顯著減少[4]。
交通信號機應用軟件由3個通信協(xié)議模塊和5個算法模塊構成。3個通信協(xié)議模塊是:控制中心通訊協(xié)議、串口通信協(xié)議和IIC通訊協(xié)議。5個算法模塊:定時控制、感應控制、多時段控制、黃閃控制和綠波帶控制。圖5是基于µClinux的交通信號機的軟件工作流程。
圖5 µClinux的工作流程
如果是8019中斷,系統(tǒng)調用控制中心的通訊協(xié)議,獲得控制中心的控制信息;如果是IIC中斷,系統(tǒng)調用IIC通訊協(xié)議,獲得手動修改的控制信息;如果是串口中斷,系統(tǒng)再查詢是16C554的哪個串口中斷,然后調用相應的協(xié)議,如果是關于車流量檢測的,就給車流量檢測板發(fā)出控制指令,如果是信號燈控制板,就給紅綠燈控制器發(fā)出控制指令,或者給交通指示牌發(fā)出相應的控制信息,不管什么中斷發(fā)生,都要調用正在運行的算法重新計算參數(shù)。
4.結束語
本文介紹了基于S3C44B0X微處理器的智能交通信號機的硬件設計以及µClinux軟件平臺。該設計方案改進了原信號機功能,增加了網(wǎng)絡通訊功能,并保存了過去的串口通信以保持兼容。整個開發(fā)板結構設計的串行接口與原信號機主板一樣,可以直接在現(xiàn)在的信號機上使用,而不用整個修改已經(jīng)開發(fā)成熟的信號機,簡化了開發(fā)工作。
本文作者創(chuàng)新點:在兼容原來信號機功能的基礎上,將嵌入式處理器和嵌入式操作系統(tǒng)結合起來應用于信號機上。
參考文獻:
[1] 許榮.基于ARM智能交通信號機控制板開發(fā)[J].現(xiàn)代電子技術,2006,7:138-141
[2] 胥靜.嵌入式系統(tǒng)設計與開發(fā)實例詳解—基于ARM的應用[M].北京:北京航空航天大學出版社,2005,1
[3] 石松泉,尚文剛.可重構交通信號控制機的設計[J].微電子學與計算機,2005,6(22):214-220
[4] 李巖,榮盤祥.基于S3C44B0X嵌入式µClinux系統(tǒng)原理及應用[M].北京:清華大學出版社,2005,1
[5] 尹耕欽,唐緒偉.城市交通信號燈模擬控制系統(tǒng)[J].微計算機信息,2005,10-1:68-87
評論