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