《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 設(shè)計(jì)應(yīng)用 > 基于S3C2410的輔助倒車(chē)數(shù)字圖像系統(tǒng)設(shè)計(jì)
基于S3C2410的輔助倒車(chē)數(shù)字圖像系統(tǒng)設(shè)計(jì)
edmchina
熊慶宇 邱濤 黃劍
摘要: 基于S3C2410的輔助倒車(chē)數(shù)字圖象系統(tǒng)設(shè)計(jì),1 、引言  據(jù)統(tǒng)計(jì),由于車(chē)后盲區(qū)所造成的交通事故在中國(guó)約占30%,美國(guó)20%。前兩代倒車(chē)輔助產(chǎn)品,一種是倒車(chē)?yán)?,一種是倒車(chē)?yán)走_(dá)。前者只能提醒路人自行躲閃,而司機(jī)卻一無(wú)所知,固定的障礙物更是無(wú)法探測(cè),起到的
Abstract:
Key words :

    1 、引言

  據(jù)統(tǒng)計(jì),由于車(chē)后盲區(qū)所造成的交通事故在中國(guó)約占30%,美國(guó)20%。前兩代倒車(chē)" title="倒車(chē)">倒車(chē)輔助產(chǎn)品,一種是倒車(chē)?yán)?,一種是倒車(chē)?yán)走_(dá)。前者只能提醒路人自行躲閃,而司機(jī)卻一無(wú)所知,固定的障礙物更是無(wú)法探測(cè),起到的作用微乎其微,后者雖能把固定的障礙物通過(guò)報(bào)警的形式告知司機(jī),但司機(jī)還是無(wú)法判斷障礙物的確切位置,更不能探測(cè)地坑或低矮障礙物。

  目前,國(guó)內(nèi)外的研究趨勢(shì)是在倒車(chē)?yán)走_(dá)的基礎(chǔ)上采用數(shù)字圖像" title="數(shù)字圖像">數(shù)字圖像處理技術(shù),利用強(qiáng)大的嵌入式處理器,開(kāi)發(fā)用于檢測(cè)車(chē)后物距和監(jiān)視車(chē)后圖像的優(yōu)點(diǎn)相結(jié)合的車(chē)載可視倒車(chē)裝置。

  因此本文提出一種基于S3C2410" title="S3C2410">S3C2410的輔助倒車(chē)系統(tǒng)設(shè)計(jì),該系統(tǒng)不但使駕駛員可以在車(chē)內(nèi)觀察到汽車(chē)車(chē)尾的真實(shí)場(chǎng)景,而且可以通過(guò)系統(tǒng)所帶的測(cè)距報(bào)警模塊可以實(shí)時(shí)測(cè)距,并在車(chē)與障礙物過(guò)近時(shí),對(duì)駕駛員實(shí)施語(yǔ)音報(bào)警,從而克服了后試鏡小,視野窄的缺點(diǎn),使倒車(chē)變得更加快速高效,增強(qiáng)倒車(chē)的安全性。

  2、系統(tǒng)概述

  系統(tǒng)以S3C2410為主控制器,主頻最高可達(dá)266MHz,選用Linux" title="Linux">Linux2.6.14.1操作系統(tǒng),系統(tǒng)總體設(shè)計(jì)可以被分為三個(gè)部分:

1) 圖像數(shù)據(jù)實(shí)時(shí)顯示模塊設(shè)計(jì);
2) 測(cè)距報(bào)警模塊設(shè)計(jì);
3) 人機(jī)交互界面設(shè)計(jì)。

  圖像數(shù)據(jù)實(shí)時(shí)顯示模塊主要是實(shí)現(xiàn)圖像數(shù)據(jù)實(shí)時(shí)采集并顯示在LCD顯示器上,系統(tǒng)通過(guò)裝在汽車(chē)尾部的攝像頭采集車(chē)后實(shí)時(shí)圖像,并將圖像顯示在終端 LCD上。測(cè)距報(bào)警模塊以超聲波測(cè)距電路來(lái)進(jìn)行測(cè)距,當(dāng)所測(cè)距離值超過(guò)系統(tǒng)設(shè)定的安全距離時(shí)實(shí)施語(yǔ)音報(bào)警,人機(jī)交互界面模塊為系統(tǒng)提供了一個(gè)良好的人機(jī)交互界面,配合觸摸屏,操作便利、簡(jiǎn)潔。其系統(tǒng)框架結(jié)構(gòu)圖如圖1所示。

3、圖像數(shù)據(jù)實(shí)時(shí)顯示模塊實(shí)現(xiàn)

  圖像數(shù)據(jù)實(shí)時(shí)顯示模塊采用Linux內(nèi)核公開(kāi)支持ov511芯片的網(wǎng)眼公司的v3000USB攝像頭來(lái)采集圖像,其實(shí)現(xiàn)分為兩部分,Linux內(nèi)核中攝像頭驅(qū)動(dòng)程序模塊的加載和基于Qt的可視倒車(chē)應(yīng)用程序設(shè)計(jì)。

  3.1 USB驅(qū)動(dòng)模塊動(dòng)態(tài)加載

  在嵌入式Linux的內(nèi)核定制和編譯時(shí),加入對(duì)Video4Linux模塊及OV511設(shè)備的支持,通過(guò)Video4Linux模塊提供的編程接口(API)從OV511設(shè)備中獲取圖像幀。如下配置Linux內(nèi)核:Multimedia device->< M >VideoforLinux; usb support->usb camera ov511,采用模塊方式編譯video4Linux驅(qū)動(dòng)和OV511攝像頭驅(qū)動(dòng),用命令insmod加載USB及OV511設(shè)備驅(qū)動(dòng)模塊。加載驅(qū)動(dòng)后將 OV511攝像頭插入U(xiǎn)SB接口,攝像頭將被正確識(shí)別并生成 /dev/v4l/video設(shè)備。

  3.2 可視倒車(chē)程序設(shè)計(jì)      

  倒車(chē)過(guò)程中駕駛員與軟件交互操作較少,因此無(wú)需設(shè)計(jì)復(fù)雜的用戶(hù)操作界面。程序的設(shè)計(jì)主要集中在攝像頭圖像的采集上。Linux下進(jìn)行視頻采集是通過(guò)Video4Linux驅(qū)動(dòng)提供的接口函數(shù)和相關(guān)數(shù)據(jù)結(jié)構(gòu)來(lái)完成,使用Video4Linux操作USB攝像頭的流程如圖2所示。

 在程序設(shè)計(jì)中,與攝像頭相關(guān)的操作和數(shù)據(jù)結(jié)構(gòu)都被封裝在VideoCapture類(lèi)中。其成員函數(shù)通過(guò)Video4Linux提供的接口完成對(duì)攝像頭的具體操作。VideoCapture類(lèi)設(shè)計(jì)如下:

Class VideoCaPture
{ Public:

bool hasCamera() const
//判斷是否有可用的攝像頭
Void getCameralmage(Qlmage & img),
//獲取攝像頭的圖像數(shù)據(jù)
QSize captureSize()const;//返回?cái)z像使用的分辨率
Void setCaptureSize(QSizesize);//設(shè)置攝像使用的分辨率
int minimumFramePeriod() const;
Private:

struct video_mbuf mbuf;//進(jìn)行內(nèi)存映射的幀信息

void setupCamera(QSize size);//攝像頭初始化及參數(shù)設(shè)置函數(shù)
void shut down();//關(guān)閉攝像頭
};

  VideoCapture類(lèi)中的void setupCamera(QSize size)成員函數(shù)來(lái)初始化USB攝像頭設(shè)備,根據(jù)系統(tǒng)LCD顯示器的特點(diǎn),主要參數(shù)設(shè)置為:圖像色彩模式設(shè)置為 VIDEO_PALETTE_RGB565 格式;圖像分辨率設(shè)置為640*480;圖像位深設(shè)置為16位。每采集一幀數(shù)據(jù)后調(diào)用ioctl(fd,VIDIOCSYNC,&frame)函數(shù)等待采集結(jié)束,然后根據(jù)需要繼續(xù)采集下一幀圖像或關(guān)閉攝像頭。

因?yàn)閛v511不支持系統(tǒng)調(diào)用read的方式獲取圖像數(shù)據(jù),所以使用內(nèi)存映射輸入/輸出(MMIO)方式獲取圖像數(shù),在使用MMIO方式獲取圖像數(shù)據(jù)時(shí),圖像的內(nèi)存的信息保存video_mbuf memoryBuffer這個(gè)變量中。所以進(jìn)行圖像數(shù)據(jù)采集之前首先需要使用Video4Linux中的VIDIOCGMBUF接口獲取MMIO所需信息,然后通過(guò)mmap函數(shù)將攝像頭的圖像緩沖區(qū)映射到虛擬內(nèi)存中并使用Video4Linux中的VIDIOCMCAPTURE接口捕獲圖像。函數(shù) voidgetCameraImage(QImage & img)用來(lái)完成對(duì)一幀圖像的完整采集過(guò)程并通過(guò)定時(shí)器來(lái)實(shí)現(xiàn)的圖像數(shù)據(jù)的連續(xù)采集和顯示。每當(dāng)定時(shí)器的時(shí)間到就觸發(fā)一個(gè)定時(shí)器事件,在事件中調(diào)用 getCameraImage函數(shù)完成對(duì)圖像的采集和顯示。

  4、測(cè)距報(bào)警模塊實(shí)現(xiàn)

  為提高系統(tǒng)的安全性和可靠性,增加測(cè)距報(bào)警功能,可視倒車(chē)功能啟動(dòng)后,采用超聲波測(cè)距模塊來(lái)實(shí)現(xiàn)對(duì)車(chē)后方的障礙物的實(shí)時(shí)測(cè)距并使用語(yǔ)音合成模塊來(lái)實(shí)現(xiàn)障礙物距車(chē)身過(guò)近的語(yǔ)音報(bào)警。

  4.1 超聲波測(cè)距模塊

  超聲波測(cè)距電路主要由超聲波發(fā)射電路和接收電路組成,原理框圖如圖3所示。該模塊單片機(jī)選用Freescale公司的MC68HC908QL4,該芯片可靠性高、抗干擾能力強(qiáng)。超聲波探測(cè)車(chē)物之間的距離,并將數(shù)據(jù)傳送至車(chē)內(nèi)主處理器進(jìn)行處理。

由于超聲波測(cè)距只在汽車(chē)倒車(chē)時(shí)為駕駛員提供車(chē)后信息,而倒車(chē)時(shí)車(chē)速較慢,與聲速相比可認(rèn)為是靜止的,因此采用渡越時(shí)間法來(lái)測(cè)距,即超聲波發(fā)射器不斷發(fā)射超聲波,遇到障礙物后反射回來(lái),超聲波接受器接受到反射波信號(hào)并將其轉(zhuǎn)變?yōu)殡娦盘?hào),測(cè)出從發(fā)射超聲波到接受到反射波的時(shí)間差即可求出距離s。

式中,s為所測(cè)距離;c為超聲波聲速;t為發(fā)射超聲波到接受反射波的時(shí)間差。

  4.2 超聲波測(cè)距軟件設(shè)計(jì)

  超聲波測(cè)距軟件主要包括測(cè)距及數(shù)據(jù)發(fā)送,其流程圖如圖4所示。

4.3 語(yǔ)音合成模塊

  本系統(tǒng)采用語(yǔ)音合成芯片XF-3011,與S3C2410通過(guò)串口進(jìn)行通信,s3c2410與語(yǔ)音合成芯片XF-3011通信時(shí),發(fā)送給XF- 3011的所有命令和數(shù)據(jù)都需要用“幀”方式進(jìn)行封裝后,再通過(guò)串口發(fā)送到芯片,幀的最大度為204字節(jié)(包括幀頭標(biāo)記字節(jié))。具體的幀格式如表1所示。

表1 語(yǔ)音合成芯片通信傳輸數(shù)據(jù)幀格式

XF-3011收到控制命令后。當(dāng)XF-3011收到一幀正確的命令幀后會(huì)立即反饋“0x41”。如果是語(yǔ)音合成命令,那么開(kāi)始合成所接收的文本數(shù)據(jù),所有文本合成完畢之后,向上位機(jī)反饋“0x4F”,然后進(jìn)行語(yǔ)音播放。

  4.4 語(yǔ)音合成模塊流程圖

  當(dāng)測(cè)距模塊所測(cè)距離大小超過(guò)系統(tǒng)設(shè)定的安全距離時(shí),主處理器發(fā)送控制命令給XF-3011,啟動(dòng)語(yǔ)音合成功能提醒駕駛員注意。

5、人機(jī)交互界面模塊的實(shí)現(xiàn)

  本系統(tǒng)采用Qtopia嵌入式桌面環(huán)境,用戶(hù)不僅可以方便的管理系統(tǒng)資源和程序,而且能在幀緩沖機(jī)制基礎(chǔ)上實(shí)現(xiàn)程序的屏幕顯示,達(dá)到與用戶(hù)的友好交互。

  5.1 圖形界面系統(tǒng)的建立

  本系統(tǒng)使用的是基于Qt/Embedded的圖形界面系統(tǒng),Qt/Embedded的編譯主要分為三個(gè)步驟:

① 編譯Qt/X11,Qt/X11是運(yùn)行在IBM兼容PC中標(biāo)準(zhǔn)Linux之上的,它主要為Qt/Embedded及其應(yīng)用程序提供圖形編譯環(huán)境及仿真運(yùn)行環(huán)境;
② 編譯Qt/Embedded,Qt/Embedded為在嵌入式Linux平臺(tái)上運(yùn)行的圖形界面系統(tǒng)及應(yīng)用程序提供一系列的函數(shù)庫(kù);
③ 編譯Qtopia,通過(guò)使用Qt/X11提供的編譯工具以及Qt/Embedded提供的函數(shù)庫(kù),編譯出最終基于嵌入式Linux平臺(tái)的圖形界面系統(tǒng)及該環(huán)境下的應(yīng)用程序。

  5.2 擴(kuò)展可視倒車(chē)程序

  Qtopia圖形桌面環(huán)境為在qtopia平臺(tái)上擴(kuò)展應(yīng)用程序提供了一個(gè)良好的機(jī)制,把應(yīng)用程序發(fā)布到qtopia平臺(tái)上,需要有三個(gè)文件:一個(gè)執(zhí)行文件、一個(gè)啟動(dòng)器文件和一個(gè)圖標(biāo)文件,在這里可視倒車(chē)程序可執(zhí)行文件就是這個(gè)執(zhí)行文件取名為car,圖標(biāo)文件是一個(gè).Png文件,我們可以自己制作一個(gè)car.png,啟動(dòng)器文件是一個(gè).desktop文件,可以參考qtopia已有的.desktop為例,創(chuàng)建一個(gè)car.desktop,具體內(nèi)容如下:

[Desktop Entry]
comment=A car program
Exec=car
Icon=car
Type=Application
Name=car

完成以上內(nèi)容后,把這三個(gè)文件分別復(fù)制到qtopia相應(yīng)的目錄中。圖標(biāo)文件Car.png復(fù)制到qtopia目錄下的pics目錄,執(zhí)行文件car復(fù)制到qtopia目錄下的bin目錄,啟動(dòng)器文件car.desktop復(fù)制到qtopia目錄中apps/Applications 下,拷貝完成后,重新啟動(dòng)qtopia,點(diǎn)擊其界面上出現(xiàn)可視倒車(chē)功能圖標(biāo),可視倒車(chē)功能啟動(dòng),結(jié)果顯示如圖6所示。

6、結(jié)論

  本文介紹了一種基于S3C2410的輔助倒車(chē)系統(tǒng)設(shè)計(jì)。由于系統(tǒng)采用了高性能、低功耗的嵌入式微處理器S3C2410及可視倒車(chē)與測(cè)距報(bào)警功能的結(jié)合運(yùn)用,系統(tǒng)攝像頭實(shí)際捕捉到的視頻信號(hào)能很夠很好的顯示在LCD上并滿足汽車(chē)倒車(chē)實(shí)時(shí)測(cè)距的性能要求,克服了后試鏡小,視野窄的缺點(diǎn),消除了盲目倒車(chē)造成的事故隱患,大大提高了汽車(chē)倒車(chē)的安全效率。經(jīng)實(shí)驗(yàn)調(diào)試,該輔助倒車(chē)系統(tǒng)能運(yùn)行良好,操作方便,基本達(dá)到了設(shè)計(jì)要求。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 国产卡一 | 香蕉久久综合 | 九月婷婷人人澡人人添人人爽 | 老司机午夜性生免费福利 | 看真人视频一一级毛片 | 日韩第一 | 麻豆一区二区 | 成人国产精品免费软件 | 九九99视频在线观看视频观看 | 国产一级特黄高清在线大片 | 日韩在线精品 | 波多野结衣日韩 | 天天添天天操 | 国产在线不卡视频 | 97碰视频人人做人人爱欧美 | 国产精品日韩欧美一区二区 | 婷婷久久综合九色综合绿巨人 | 亚洲国产精品一区 | 亚洲人成小说色在线 | 性v天堂| 国产免费一级视频 | 18p爽视频在线观看免费 | 一本久久道 | 噜噜操 | 小明中文字幕 | 成人在线免费播放 | 多人伦交性欧美在线观看 | 麻豆日韩国产精品欧美在线 | 最近最新免费中文字幕一 | 五月综合色婷婷影院在线观看 | 国产视频福利一区 | 午夜免费在线观看 | 九九久久国产 | 免费看污的视频网站 | 青青青久热国产精品视频 | 1024手机在线播放 | 91午夜精品亚洲一区二区三区 | 午夜爽爽性刺激一区二区视频 | 欧美成人久久久免费播放 | 日韩一级欧美一级在线观看 | 无遮羞肉体动漫影院免费版 |