基于S3C44B0X智能交通信號機的設(shè)計
信號機功能比較簡單時并不需要使用操作系統(tǒng),而只是運行一個控制循環(huán)程序,利用中斷來處理發(fā)生的事件,這樣的程序結(jié)構(gòu)比較凌亂,難以維護和升級,功能也受限。現(xiàn)代智能信號機功能發(fā)展需要同時運行多個任務,如信號燈控制、通訊、車流量檢測等,這就需要對多任務進行合理的調(diào)度,另外信號機接收和處理的信息、數(shù)據(jù)的增多,尤其是需要大量保存歷史車流量數(shù)據(jù)提供給信號燈控制模型計算和中心查詢使用,單靠表或數(shù)組來管理是復雜而低效的,因此文件管理也是必不可少的一項功能。
嵌入式Linux是一款優(yōu)秀的嵌入式操作系統(tǒng),它采用微內(nèi)核體系結(jié)構(gòu),這使得內(nèi)核小巧而可靠,易于ROM固化,可模塊化擴展,支持多種文件系統(tǒng),并直接提供完善的網(wǎng)絡支持。本文選用µClinux作為嵌入式操作系統(tǒng),µClinux是專門針對沒有MMU的CPU,為嵌入式系統(tǒng)做了許多小型化的工作,目前支持包括S3C44B0X等微處理器。µClinux采用一種平板式(Flat)的內(nèi)存模型來去除對MMU的依賴,改變了用戶程序的加載方式,開發(fā)了運行于µClinux的C函數(shù)庫(µCLibc)。 µClinux內(nèi)核可完成進程管理、內(nèi)存管理、文件系統(tǒng)、設(shè)備控制、網(wǎng)絡實現(xiàn)等功能,內(nèi)核采用模塊化設(shè)計,許多功能塊可以獨立的加上和卸下,我們在設(shè)計內(nèi)核時把這些內(nèi)核模塊作為可選的選項,可以在編譯系統(tǒng)內(nèi)核時指定,對內(nèi)核重新編譯時,選擇嵌入式設(shè)備所需要的功能模塊,刪除冗余的功能模塊,通過對內(nèi)核的重新配置,可以使系統(tǒng)運行所需要的內(nèi)核顯著減小,從而縮減資源使用量,使系統(tǒng)運行所需硬件資源顯著減少[4]。
交通信號機應用軟件由3個通信協(xié)議模塊和5個算法模塊構(gòu)成。3個通信協(xié)議模塊是:控制中心通訊協(xié)議、串口通信協(xié)議和IIC通訊協(xié)議。5個算法模塊:定時控制、感應控制、多時段控制、黃閃控制和綠波帶控制。圖5是基于µClinux的交通信號機的軟件工作流程。

圖5 µClinux的工作流程
如果是8019中斷,系統(tǒng)調(diào)用控制中心的通訊協(xié)議,獲得控制中心的控制信息;如果是IIC中斷,系統(tǒng)調(diào)用IIC通訊協(xié)議,獲得手動修改的控制信息;如果是串口中斷,系統(tǒng)再查詢是16C554的哪個串口中斷,然后調(diào)用相應的協(xié)議,如果是關(guān)于車流量檢測的,就給車流量檢測板發(fā)出控制指令,如果是信號燈控制板,就給紅綠燈控制器發(fā)出控制指令,或者給交通指示牌發(fā)出相應的控制信息,不管什么中斷發(fā)生,都要調(diào)用正在運行的算法重新計算參數(shù)。
4.結(jié)束語
本文介紹了基于S3C44B0X微處理器的智能交通信號機的硬件設(shè)計以及µClinux軟件平臺。該設(shè)計方案改進了原信號機功能,增加了網(wǎng)絡通訊功能,并保存了過去的串口通信以保持兼容。整個開發(fā)板結(jié)構(gòu)設(shè)計的串行接口與原信號機主板一樣,可以直接在現(xiàn)在的信號機上使用,而不用整個修改已經(jīng)開發(fā)成熟的信號機,簡化了開發(fā)工作。
本文作者創(chuàng)新點:在兼容原來信號機功能的基礎(chǔ)上,將嵌入式處理器和嵌入式操作系統(tǒng)結(jié)合起來應用于信號機上。
參考文獻:
[1] 許榮.基于ARM智能交通信號機控制板開發(fā)[J].現(xiàn)代電子技術(shù),2006,7:138-141
[2] 胥靜.嵌入式系統(tǒng)設(shè)計與開發(fā)實例詳解—基于ARM的應用[M].北京:北京航空航天大學出版社,2005,1
[3] 石松泉,尚文剛.可重構(gòu)交通信號控制機的設(shè)計[J].微電子學與計算機,2005,6(22):214-220
[4] 李巖,榮盤祥.基于S3C44B0X嵌入式µClinux系統(tǒng)原理及應用[M].北京:清華大學出版社,2005,1
[5] 尹耕欽,唐緒偉.城市交通信號燈模擬控制系統(tǒng)[J].微計算機信息,2005,10-1:68-87









評論