摘 要: 針對中低端車輛車載系統(tǒng)缺乏智能的問題,將嵌入式ARM控制系統(tǒng)與4G無線傳輸系統(tǒng)相結合,設計了基于ARM車載控制系統(tǒng)的無線遠程監(jiān)控系統(tǒng)。介紹了系統(tǒng)的整體架構以及模塊間的數(shù)據(jù)通信和信號控制。為加強車主對車身的把握,系統(tǒng)有激光測距進行平面建模的擴展功能。實驗表明,該方案可以用于中低端汽車實現(xiàn)快速、廉價的智能化。
關鍵詞: 智能生活;車載系統(tǒng);遠程監(jiān)控系統(tǒng);3G;嵌入式
0 引言
隨著經(jīng)濟的發(fā)展,人們對車的購買量越來越大,汽車成為了人們生活中的必需品。然而,許多中低檔車由于制造成本有限,智能化水平并不高,這迫切要求車輛的快速智能化的產(chǎn)生。
部分高檔車的智能化水平十分高,但價格十分昂貴,且智能化需求只能被動接受,不能主動配置。因此,研發(fā)可拆卸、可定制的基于嵌入式車載控制系統(tǒng)的無線控制系統(tǒng)具有積極意義。
4G通信技術最明顯的優(yōu)勢在于通話質量及數(shù)據(jù)通信速度。4G網(wǎng)絡具有100 Mb/s的數(shù)據(jù)下載能力和20 Mb/s的上傳能力,且價格比以往通信服務費用便宜。在生活中,4G已經(jīng)應用十分廣泛,車載系統(tǒng)通過4G模塊可以將預警信息發(fā)送給指定的聯(lián)系人。
結合4G網(wǎng)絡具有的高速無線數(shù)據(jù)傳輸?shù)膬?yōu)點以及ARM強大的控制功能,就可以通過手機短信的形式進行車輛的無線遠程監(jiān)控。
另外,越來越多的車輛進入生活,這也意味著越來越多的駕駛新手出現(xiàn),許多擦碰事故的原因在于駕駛員對車身的把握度不是很好。結合激光測距傳感器,實現(xiàn)對車身的平面建模,提高駕駛員對車身的把握程度,減少擦碰事故。
1 系統(tǒng)的整體結構
系統(tǒng)整體結構圖如圖1所示。系統(tǒng)主要由兩部分組成:一部分是4G模塊及其外圍電路(負責短信的發(fā)送)、嵌入式設備[1](負責ARM和4G模塊的通信)、振動傳感器、顯示屏(操作界面顯示)、手機(負責短信的收?。?;另一部分是激光測距傳感器、嵌入式設備(負責激光測距傳感器的相關處理和平面建模)。
系統(tǒng)中4G模塊選用華為ME906E模塊。該模塊支持移動3G、4G和聯(lián)通3G、4G,使得車載系統(tǒng)具有收發(fā)手機短信功能。ARM嵌入式系統(tǒng)[2]選擇Samsung S3C6410處理器,ARM1176JZF-S內核,通過USB2.0與4G模塊相連接。
當震動傳感器達到閾值時,開啟攝像頭進行錄像,錄制一段時間后,將視頻存儲到存儲器中,存儲器的存儲容量根據(jù)攝像頭的像素而定,基本需要足夠存儲5次一個小時視頻的容量大小,當錄制第6次視頻時會循環(huán)擦除原來的視頻,所以需要及時將錄像備份,但短期無需太擔心會被擦除。開啟攝像頭[3]的同時通過4G模塊將預警信息發(fā)往車主的手機,提醒車主車子存在安全隱患。當車主需要精確把握車身情況時,可以通過激光測距傳感器進行一定范圍的平面建模,在顯示屏上提醒車主車的邊緣與障礙物之間的距離,這樣就可以很好地避免一些擦碰事件,倒車進入較小空間也可以有很好的參考距離,方便車主提高對汽車的把握度,用時也為車主提供一種使用的舒適感。
2 車載系統(tǒng)的數(shù)據(jù)通信
2.1 振動傳感器與ARM的數(shù)據(jù)交互
為了避免振動傳感器[4]受到干擾而誤觸發(fā),利用電壓比較器LM393對振動產(chǎn)生的開關量信號進行預處理,過濾干擾信號[5],然后通過ARM上集成的A/D轉換器對信號采樣來將模擬量轉換為數(shù)字量,對離散信號進行算法處理,當數(shù)字量超過某個閾值時,ARM開啟攝像頭進行錄像。車載系統(tǒng)構成框圖如圖2所示,振動傳感器電路如圖3所示。
2.2 ARM和4G模塊的數(shù)據(jù)交互
4G模塊與ARM采用串口通信的方式,使用AT指令完成信息的交換和傳輸。ARM與4G的通信方式如下。
2.2.1 4G模塊初始化
4G模塊的初始化過程如下。首先ARM向模塊發(fā)送AT指令,如果返回“OK”,則說明模塊與ARM連接良好;然后ARM向4G模塊發(fā)送AT+CPIN指令,如果返回“READY”,則表示SIM工作正常,同時不需要登入密碼。
2.2.2 ARM發(fā)送短信至手機
當檢測到振動傳感時發(fā)送預警信息給車主。ARM對4G模塊進行配置和信號檢測的過程如下:
?。?)單片機發(fā)送“AT\r”到4G模塊,如果返回“OK”,則表明4G模塊與ARM連接成功;
(2)發(fā)送“AT+CSQ\r”到4G模塊,檢查網(wǎng)絡信號強度,判斷返回值是否為+CSQ:**,##(其中**在10~31之間,數(shù)值越大表明信號質量越好;##為誤碼率,值在0~99之間),否則應檢查天線或SIM卡是否正確安裝;
?。?)發(fā)送“AT+CMGF=1\r”,設置短信信息格式為文本。
常用的AT指令如表1所示。
2.3 ARM和激光測距傳感器的數(shù)據(jù)交互
激光測距傳感器HJ-40A的數(shù)據(jù)輸出口為串口UART(TTL電平,19 200 b/s)或者串口RS232。飛凌OK6410主板共4個串口,包括1個5線RS 232電平串口(DB9母座)和3個3線TTL電平串口(20 pin 2.0 mm間距插頭座),ARM通過串口RS232讀取到激光測距傳感器的數(shù)據(jù),進行空間上的距離顯示,方便車主把握車身。
激光測距傳感器的基本原理是光學三角法,如圖4所示:①半導體激光器被②鏡片聚焦到⑥被測物體;②反射光被③鏡片收集,投射到④CMOS陣列上;⑤信號處理器通過三角函數(shù)計算④陣列上的光點位置得到距物體的距離。
3 系統(tǒng)軟件設計
3.1 系統(tǒng)主程序工作流程
從圖1可以知道系統(tǒng)各部分的連接關系,所有系統(tǒng)外圍模塊都會接入OK6410的相關接口,都會與ARM進行數(shù)據(jù)交換。因此ARM在上電后必須首先進行初始化,保證各模塊連接正常。ARM編程是在操作系統(tǒng)上進行的,所以先選擇合適的操作系統(tǒng),OK6410官網(wǎng)上Linux的資料比較齊全,本系統(tǒng)選用的是Linux。
首先要編寫振動傳感器模塊[6]、攝像頭模塊[7]、激光測距傳感器模塊、4G通信模塊的函數(shù),接下來,在主程序中通過有選擇地關閉寄存器不需要的功能模塊,以達到省電的目的。在空閑模式下,CPU內核停止運行,只要保證喚醒CPU的I/O控制器正常工作即可。當震動信號傳來時,喚醒CPU,發(fā)出信號讓攝像頭開啟一段時間進行錄像并存儲。同時,利用4G模塊接入4G網(wǎng)絡,發(fā)送預警信息給車主。完整的工作流程如圖5所示。
3.2 攝像頭工作流程
本系統(tǒng)中因為使用Linux系統(tǒng),所以在攝像頭[8]方面涉及V4L2轉bmp格式的算法。格式轉換的代碼如下:
store_yuyv();
int n_len;
n_len=framebuf[buf.index].length*3/2;
newBuf=calloc((unsigned int)n_len,sizeof(unsigned char));
if(!newBuf){
printf("cannot assign the memory!\n");
exit(0);
}
printf("the information about the new buffer:\n start Address:0x%x,length=%d\n\n",(unsigned int)newBuf,n_len);
starter=(unsigned char*)framebuf[buf.index].start;
yuyv2rgb();
create_bmp_header();
store_bmp(n_len);
4 結論
本文結合4G網(wǎng)絡具有高速無線傳輸數(shù)據(jù)的優(yōu)點以及ARM強大的編程控制功能,采用發(fā)送預警短信給手機的方式,實現(xiàn)高性價比的車載無線監(jiān)控功能。同時,激光測距傳感器提取到的距離信息可以使車主對車身有很好的把握,展示了該車載無線中控系統(tǒng)的實用性、可靠性以及二次改造上的方便性。
參考文獻
[1] 王苗田.嵌入式系統(tǒng)設計和實例開發(fā)[M].北京:清華大學出版社,2002.
[2] 周立功,陳明計,陳渝.ARM嵌入式Linux研究及其在ARM上的移植[J].電腦知識與技術,2005,30(4):3-4.
[3] 宋麗華,高珂.嵌入式Linux下USB攝像頭驅動實現(xiàn)[J].計算機工程,2010,36(9):282-284.
[4] 楊學山.工程振動測量儀器和測試技術[M].北京:中國計量出版社,2001.
[5] 陳通,曹小強. A new DTMF detection scheme based on NDFT Goertzel filter[J]. 西南大學學報(自然科學報),2008,30(1):152-155.
[6] 周進節(jié),欒忠權,徐小力.基于ARM的振動監(jiān)測儀數(shù)采部分硬件設計[J].北京機械工業(yè)學院學報,2006,21(3):12-16.
[7] 王永清,何波,王乾,等.Linux下基于ARM920T的USB攝像頭圖像采集[J].微計算機信息,2007,23(1-2):176-177.
[8] 吳麗麗.嵌入式平臺下USB攝像頭驅動的開發(fā)與加載[J].科技信息(學術研究),2008(26):7-8.