當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]分析基于ARM 的紅外光汽車(chē)速度管理系統(tǒng)

近來(lái)汽車(chē)市場(chǎng)出現(xiàn)了一種叫“電子狗”的反雷達(dá)測(cè)速裝置,這種裝置在接近雷達(dá)測(cè)速區(qū)時(shí),能夠提前捕捉到雷達(dá)測(cè)速的信息并發(fā)出報(bào)警,使違章車(chē)輛逃脫處罰,事故隱患非常嚴(yán)重。本文分析的以紅外光傳感器、ARM 為核心部件的新型測(cè)速系統(tǒng)測(cè)速時(shí)不會(huì)被“電子狗”所發(fā)現(xiàn),不僅能識(shí)別汽車(chē)速度V 的大小,還能測(cè)出其速度超過(guò)上限速度(Vmax)的量值(+△V)或低于下限速度(Vmin)的量值(—△V)等信息,據(jù)該信息酌情驅(qū)動(dòng)取證系統(tǒng)工作,能夠有效地提高交通管制的力度。

1 系統(tǒng)工作原理

系統(tǒng)由調(diào)制式紅外光傳感器、飛利浦公司的LPC2294 ARM 嵌入式處理器,帶觸摸屏的彩色液晶顯示器以及報(bào)警攝像等系統(tǒng)構(gòu)成,如圖1 所示。圖1 中M、N 兩點(diǎn)是路旁一側(cè)護(hù)欄上的兩點(diǎn),分別安裝著可發(fā)射38KHz 的紅外發(fā)光管,一直向外發(fā)射調(diào)制式紅外光。調(diào)制式紅外光被另一側(cè)護(hù)欄上相應(yīng)的兩點(diǎn)M’、N’處安放的光電接收器接收,共同組成一個(gè)光控測(cè)速區(qū)。當(dāng)汽車(chē)達(dá)到N 點(diǎn)時(shí),第二個(gè)光電探測(cè)器N-N’將光信號(hào)轉(zhuǎn)換為電信號(hào)經(jīng)信號(hào)調(diào)理電路送至ARM 處理器使計(jì)數(shù)器停止計(jì)數(shù),t 的值就確定了。由M、N 兩點(diǎn)間的距離L 除以t 便得到速度V。如果計(jì)算得到的V 值在設(shè)定的安全速度范圍之內(nèi),顯示屏則顯示當(dāng)前安全速度值,攝像、報(bào)警電路就不工作;如果V 值超出設(shè)定范圍之外,則計(jì)算速度偏移量△V =Vmax—V,同時(shí)顯示該車(chē)輛超速行駛,并讓攝像、報(bào)警電路啟動(dòng)工作。同理,若車(chē)輛以V《Vmin 的低速狀態(tài)通過(guò)光控測(cè)速區(qū)時(shí),照相及報(bào)警系統(tǒng)亦啟動(dòng)工作,顯示屏顯示超速信息,提示此時(shí)車(chē)輛處于超低速行駛狀態(tài)。

2 系統(tǒng)硬件設(shè)計(jì)

2.1 光電發(fā)射接收系統(tǒng)

光電發(fā)射接收系統(tǒng)原理如圖2 所示。振蕩器產(chǎn)生頻率為38KHz 的信號(hào), 驅(qū)動(dòng)紅外發(fā)光管發(fā)光。光電接收器則接收紅外發(fā)光管射出的光脈沖,接收到的光脈沖信號(hào)經(jīng)調(diào)節(jié)電位器連接到檢測(cè)器的輸入端。將接收到的調(diào)制式光脈沖信號(hào)送入放大器進(jìn)行放大,經(jīng)閾值檢測(cè)后變成與同步振蕩器同步輸出的邏輯電平脈沖,再通過(guò)脈沖同步解調(diào),得到與車(chē)輛運(yùn)動(dòng)狀態(tài)相關(guān)的光電信號(hào),并經(jīng)緩沖輸出。
 

2.2 信號(hào)接收與定時(shí)器工作

如圖3 所示,在沒(méi)有車(chē)輛經(jīng)過(guò)光控測(cè)速區(qū)時(shí),M’、N’兩點(diǎn)一直能接收到38KHz 的調(diào)制紅外光,均輸出高電平,暫穩(wěn)態(tài)電路均處在穩(wěn)態(tài)。門(mén)G 的輸出為邏輯1,UL 始終為高電平。當(dāng)有車(chē)輛通過(guò)光控測(cè)速區(qū)時(shí),M 點(diǎn)發(fā)出的光線(xiàn)首先被阻斷,UM 由高電平先變?yōu)榈碗娖剑瑫悍€(wěn)態(tài)電路1 被觸發(fā)而進(jìn)入暫穩(wěn)態(tài),如圖4 中的t1 時(shí)刻之后所示。
 

2.3 ARM 核心板及觸摸顯示系統(tǒng)

系統(tǒng)核心板采用DEVICEARM2200 工控板, 其內(nèi)嵌飛利浦公司的LPC2294ARM7TDMI-S 嵌入式處理器,最高頻率60MHz,并帶有8M PSRAM 存儲(chǔ)器和16M NANDFlash,性能完全滿(mǎn)足高速車(chē)速測(cè)量系統(tǒng)的要求。由于其較小的封裝、極低的功耗,可使用電池供電,因此十分適合于野外無(wú)外接電源的情況下工作。電路連接如圖 5 所示:顯示屏選用320×240 彩色液晶屏,將液晶控制器S1D13503 的AB0 至AB16 與LPC2294 的地址總線(xiàn)A1 至A17 相連,以16 位總線(xiàn)方式操作;S1D13503的數(shù)據(jù)總線(xiàn)DB0 至DB7 接LPC2294 的外部存儲(chǔ)器數(shù)據(jù)線(xiàn)D0 至D7, DB8 至DB15 接VDD,實(shí)現(xiàn)與LPC2294 的8 位數(shù)據(jù)總線(xiàn)連接;其硬件配置由兩片高速CMOS 靜態(tài)存儲(chǔ)器IS61C1024對(duì)S1D13503 的VD0 至VD15 來(lái)完成。四線(xiàn)電阻式觸摸屏可檢測(cè)到觸摸信號(hào)并通過(guò)觸摸屏控制器FM7843 將模擬信號(hào)轉(zhuǎn)換為位置坐標(biāo)數(shù)據(jù),傳遞給LPC2294 進(jìn)行處理。

3 系統(tǒng)軟件設(shè)計(jì)

3.1 uclinux 系統(tǒng)移植

雖然當(dāng)前 uclinux 已經(jīng)支持無(wú)MMU 的ARM 體系結(jié)構(gòu),但由于具體使用的ARM 處理器芯片存儲(chǔ)系統(tǒng)不同、片內(nèi)的外設(shè)不同、中斷系統(tǒng)也不同,因此需添加或修改LPC2294 芯片相關(guān)的具體代碼。

3.2 設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)

由于uclinux 2.4.x內(nèi)核為非搶占式,進(jìn)程時(shí)間片為10ms,本身實(shí)時(shí)性并不高。設(shè)備信息結(jié)構(gòu)體用來(lái)描述該設(shè)備的open、release、read等操作方法:其中,在系統(tǒng)和應(yīng)用程序首次使用此定時(shí)器時(shí),首先執(zhí)行timer1_open(struct inode *inode, struct file *filp) 方法調(diào)用request_irq(IRQ_timer1, timer1_irq_handle, SA_INTERRUPT, “my” DEVICE_NAME, NULL)函數(shù)進(jìn)行中斷響應(yīng)函數(shù)注冊(cè),配置定時(shí)器T1IR、T1PR、T1TC、T1TCR等寄存器完成定時(shí)器初始化,使用中斷開(kāi)關(guān)函數(shù)local_irq_save()和local_irq_restore()來(lái)控制臨界區(qū);最終由uclinux系統(tǒng)接收硬件中斷并調(diào)用中斷服務(wù)程序;當(dāng)系統(tǒng)和應(yīng)用程序不再使用該定時(shí)器時(shí)調(diào)用timer1_release(struct inode *inode, struct file *filp)進(jìn)行關(guān)閉和釋放。中斷服務(wù)程序timer1_irq_handle(int irq,void *dev_id,struct pt_regs *regs)完成清除中斷源、定時(shí)器計(jì)數(shù)器復(fù)位以及通過(guò)uclinux提供的宏inl(T1CR)讀取捕獲寄存器中計(jì)數(shù)器的值并調(diào)用系統(tǒng)函數(shù)copy_to_usr()將數(shù)據(jù)從內(nèi)核空間拷貝至用戶(hù)空間。最后,將設(shè)備驅(qū)動(dòng)程序timer1. c復(fù)制到linux-2.4.x/driver/char目錄下,在timer1.c中加入函數(shù)timer1_init()完成設(shè)備的注冊(cè)。在mem.c文件中添加timer1_init()外部函數(shù)說(shuō)明,在chr_dev_init()函數(shù)添加timer1_init()調(diào)用,編譯得到新內(nèi)核。

3.3 MiniGUI 移植

MiniGUI 為實(shí)現(xiàn)其跨平臺(tái)特性,采用GAL(圖形抽象層)和IAL(輸入抽象層)將MiniGUI上層和操作系統(tǒng)隔離開(kāi)。因此,首先創(chuàng)建lcdgal.c 文件,參考native 圖形引擎數(shù)據(jù)結(jié)構(gòu)和Framebuffer 驅(qū)動(dòng)程序按照GAL 接口編寫(xiě)接口函數(shù);然后將液晶驅(qū)動(dòng)程序lcddriver.clcddriver.h 及LPC2294 的頭文件lpc2294.h 放在libminigui 下的/src/gal/native 目錄下并修改Makefile.am 文件。在libminigui 的/src/ial 目錄下添加ialinput.h 和 ialinput.c 編寫(xiě)IAL 接口函數(shù),并添加觸摸屏控制器驅(qū)動(dòng)程序fm7843.c、fm7843.h 到/src/ial 目錄,同時(shí)修改Makefile.am文件。加入MINIGUI 擴(kuò)展庫(kù)libmgext 支持,以Threads 模式交叉編譯并將得到的MiniGUI靜態(tài)鏈接庫(kù)與交叉編譯后的用戶(hù)應(yīng)用程序進(jìn)行鏈接,生成可在目標(biāo)板上運(yùn)行的目標(biāo)文件,最后在移植好的uclinux 系統(tǒng)上安裝運(yùn)行MiniGUI 所需的資源文件。

3.4 用戶(hù)界面設(shè)計(jì)

用戶(hù)界面主要包括一個(gè)主窗體用來(lái)顯示速度信息以及一個(gè)為車(chē)輛速度報(bào)警而設(shè)定的對(duì)話(huà)框。以MniniGUIMain( int argc, const char* argv[ ] ) 為入口,定義顯示區(qū)域,使用CreateThreadForMainWindow( )函數(shù)創(chuàng)建了兩個(gè)并發(fā)的線(xiàn)程,定義線(xiàn)程的入口函數(shù)地址并返回線(xiàn)程標(biāo)識(shí)符;在主線(xiàn)程中配置完成對(duì)timer1 的初始化操作,通過(guò)hMainWnd =CreateMainWindow( &Createinfo ) 創(chuàng)建主窗體并配置Createinfo 的各項(xiàng)屬性, 調(diào)用ShowWindows( hMainWnd, SW_SHOWNORMAL )函數(shù)顯示窗體作為用戶(hù)主界面,最終進(jìn)入消息循環(huán)。監(jiān)視線(xiàn)程和主線(xiàn)程同時(shí)啟動(dòng),此后,監(jiān)視線(xiàn)程在后臺(tái)對(duì)車(chē)速信息數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)控,并通過(guò)SendMessage( )向主線(xiàn)程發(fā)送相應(yīng)的消息。消息的處理與超速報(bào)警判定可在主窗體窗口過(guò)程函數(shù)SpeedWinProc( )中實(shí)現(xiàn)。

4 結(jié)語(yǔ)

調(diào)制式紅外光汽車(chē)速度識(shí)別系統(tǒng),不僅能準(zhǔn)確測(cè)出汽車(chē)車(chē)速狀況,其測(cè)速信息還能避開(kāi)“電子狗”式的反測(cè)速裝置捕捉,對(duì)提高交通管制的質(zhì)量、消除事故隱患、保證人民群眾的生命財(cái)產(chǎn)安全具有重要作用,并可用于其他測(cè)速場(chǎng)合,應(yīng)用前景好。系統(tǒng)采用ARM 嵌入式處理器、uclinux 操作系統(tǒng)以及觸摸屏,不但人機(jī)交互性好,而且升級(jí)與擴(kuò)展能力強(qiáng),工作穩(wěn)定,具有強(qiáng)大的應(yīng)用前景。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀(guān)點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉