《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 基于S3C2410的輔助倒車數字圖像系統設計
基于S3C2410的輔助倒車數字圖像系統設計
edmchina
熊慶宇 邱濤 黃劍
摘要: 基于S3C2410的輔助倒車數字圖象系統設計,1 、引言  據統計,由于車后盲區所造成的交通事故在中國約占30%,美國20%。前兩代倒車輔助產品,一種是倒車喇叭,一種是倒車雷達。前者只能提醒路人自行躲閃,而司機卻一無所知,固定的障礙物更是無法探測,起到的
Abstract:
Key words :

    1 、引言

  據統計,由于車后盲區所造成的交通事故在中國約占30%,美國20%。前兩代倒車" title="倒車">倒車輔助產品,一種是倒車喇叭,一種是倒車雷達。前者只能提醒路人自行躲閃,而司機卻一無所知,固定的障礙物更是無法探測,起到的作用微乎其微,后者雖能把固定的障礙物通過報警的形式告知司機,但司機還是無法判斷障礙物的確切位置,更不能探測地坑或低矮障礙物。

  目前,國內外的研究趨勢是在倒車雷達的基礎上采用數字圖像" title="數字圖像">數字圖像處理技術,利用強大的嵌入式處理器,開發用于檢測車后物距和監視車后圖像的優點相結合的車載可視倒車裝置。

  因此本文提出一種基于S3C2410" title="S3C2410">S3C2410的輔助倒車系統設計,該系統不但使駕駛員可以在車內觀察到汽車車尾的真實場景,而且可以通過系統所帶的測距報警模塊可以實時測距,并在車與障礙物過近時,對駕駛員實施語音報警,從而克服了后試鏡小,視野窄的缺點,使倒車變得更加快速高效,增強倒車的安全性。

  2、系統概述

  系統以S3C2410為主控制器,主頻最高可達266MHz,選用Linux" title="Linux">Linux2.6.14.1操作系統,系統總體設計可以被分為三個部分:

1) 圖像數據實時顯示模塊設計;
2) 測距報警模塊設計;
3) 人機交互界面設計。

  圖像數據實時顯示模塊主要是實現圖像數據實時采集并顯示在LCD顯示器上,系統通過裝在汽車尾部的攝像頭采集車后實時圖像,并將圖像顯示在終端 LCD上。測距報警模塊以超聲波測距電路來進行測距,當所測距離值超過系統設定的安全距離時實施語音報警,人機交互界面模塊為系統提供了一個良好的人機交互界面,配合觸摸屏,操作便利、簡潔。其系統框架結構圖如圖1所示。

3、圖像數據實時顯示模塊實現

  圖像數據實時顯示模塊采用Linux內核公開支持ov511芯片的網眼公司的v3000USB攝像頭來采集圖像,其實現分為兩部分,Linux內核中攝像頭驅動程序模塊的加載和基于Qt的可視倒車應用程序設計。

  3.1 USB驅動模塊動態加載

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

  3.2 可視倒車程序設計      

  倒車過程中駕駛員與軟件交互操作較少,因此無需設計復雜的用戶操作界面。程序的設計主要集中在攝像頭圖像的采集上。Linux下進行視頻采集是通過Video4Linux驅動提供的接口函數和相關數據結構來完成,使用Video4Linux操作USB攝像頭的流程如圖2所示。

 在程序設計中,與攝像頭相關的操作和數據結構都被封裝在VideoCapture類中。其成員函數通過Video4Linux提供的接口完成對攝像頭的具體操作。VideoCapture類設計如下:

Class VideoCaPture
{ Public:

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

struct video_mbuf mbuf;//進行內存映射的幀信息

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

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

因為ov511不支持系統調用read的方式獲取圖像數據,所以使用內存映射輸入/輸出(MMIO)方式獲取圖像數,在使用MMIO方式獲取圖像數據時,圖像的內存的信息保存video_mbuf memoryBuffer這個變量中。所以進行圖像數據采集之前首先需要使用Video4Linux中的VIDIOCGMBUF接口獲取MMIO所需信息,然后通過mmap函數將攝像頭的圖像緩沖區映射到虛擬內存中并使用Video4Linux中的VIDIOCMCAPTURE接口捕獲圖像。函數 voidgetCameraImage(QImage & img)用來完成對一幀圖像的完整采集過程并通過定時器來實現的圖像數據的連續采集和顯示。每當定時器的時間到就觸發一個定時器事件,在事件中調用 getCameraImage函數完成對圖像的采集和顯示。

  4、測距報警模塊實現

  為提高系統的安全性和可靠性,增加測距報警功能,可視倒車功能啟動后,采用超聲波測距模塊來實現對車后方的障礙物的實時測距并使用語音合成模塊來實現障礙物距車身過近的語音報警。

  4.1 超聲波測距模塊

  超聲波測距電路主要由超聲波發射電路和接收電路組成,原理框圖如圖3所示。該模塊單片機選用Freescale公司的MC68HC908QL4,該芯片可靠性高、抗干擾能力強。超聲波探測車物之間的距離,并將數據傳送至車內主處理器進行處理。

由于超聲波測距只在汽車倒車時為駕駛員提供車后信息,而倒車時車速較慢,與聲速相比可認為是靜止的,因此采用渡越時間法來測距,即超聲波發射器不斷發射超聲波,遇到障礙物后反射回來,超聲波接受器接受到反射波信號并將其轉變為電信號,測出從發射超聲波到接受到反射波的時間差即可求出距離s。

式中,s為所測距離;c為超聲波聲速;t為發射超聲波到接受反射波的時間差。

  4.2 超聲波測距軟件設計

  超聲波測距軟件主要包括測距及數據發送,其流程圖如圖4所示。

4.3 語音合成模塊

  本系統采用語音合成芯片XF-3011,與S3C2410通過串口進行通信,s3c2410與語音合成芯片XF-3011通信時,發送給XF- 3011的所有命令和數據都需要用“幀”方式進行封裝后,再通過串口發送到芯片,幀的最大度為204字節(包括幀頭標記字節)。具體的幀格式如表1所示。

表1 語音合成芯片通信傳輸數據幀格式

XF-3011收到控制命令后。當XF-3011收到一幀正確的命令幀后會立即反饋“0x41”。如果是語音合成命令,那么開始合成所接收的文本數據,所有文本合成完畢之后,向上位機反饋“0x4F”,然后進行語音播放。

  4.4 語音合成模塊流程圖

  當測距模塊所測距離大小超過系統設定的安全距離時,主處理器發送控制命令給XF-3011,啟動語音合成功能提醒駕駛員注意。

5、人機交互界面模塊的實現

  本系統采用Qtopia嵌入式桌面環境,用戶不僅可以方便的管理系統資源和程序,而且能在幀緩沖機制基礎上實現程序的屏幕顯示,達到與用戶的友好交互。

  5.1 圖形界面系統的建立

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

① 編譯Qt/X11,Qt/X11是運行在IBM兼容PC中標準Linux之上的,它主要為Qt/Embedded及其應用程序提供圖形編譯環境及仿真運行環境;
② 編譯Qt/Embedded,Qt/Embedded為在嵌入式Linux平臺上運行的圖形界面系統及應用程序提供一系列的函數庫;
③ 編譯Qtopia,通過使用Qt/X11提供的編譯工具以及Qt/Embedded提供的函數庫,編譯出最終基于嵌入式Linux平臺的圖形界面系統及該環境下的應用程序。

  5.2 擴展可視倒車程序

  Qtopia圖形桌面環境為在qtopia平臺上擴展應用程序提供了一個良好的機制,把應用程序發布到qtopia平臺上,需要有三個文件:一個執行文件、一個啟動器文件和一個圖標文件,在這里可視倒車程序可執行文件就是這個執行文件取名為car,圖標文件是一個.Png文件,我們可以自己制作一個car.png,啟動器文件是一個.desktop文件,可以參考qtopia已有的.desktop為例,創建一個car.desktop,具體內容如下:

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

完成以上內容后,把這三個文件分別復制到qtopia相應的目錄中。圖標文件Car.png復制到qtopia目錄下的pics目錄,執行文件car復制到qtopia目錄下的bin目錄,啟動器文件car.desktop復制到qtopia目錄中apps/Applications 下,拷貝完成后,重新啟動qtopia,點擊其界面上出現可視倒車功能圖標,可視倒車功能啟動,結果顯示如圖6所示。

6、結論

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

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产在线不卡午夜精品2021 | 亚洲欧美视频一区二区三区 | 亚洲网站一区 | 一区二区三区免费在线观看 | 手机国产日韩高清免费看片 | 亚洲伊人久久综合影院2021 | 免费精品国产日韩热久久 | 天堂色网站 | 国内精品久久久久久野外 | 欧美做爰免费大片在线观看 | 欧美国产成人免费观看永久视频 | 成人性动漫高清免费观看网址 | 免费在线观看黄色毛片 | 萌白酱国产一区 | 亚洲品质自拍网站 | 久久综合狠狠综合久久综合88 | 亚洲黄色官网 | 九九re6精品视频在线观看 | 欧美一级片在线 | 日韩福利视频精品专区 | 一区二区影院 | 亚洲日韩中文字幕天堂不卡 | 99视频有精品 | 国产激情久久久久久影院 | 精品成人在线观看 | 欧美一级高清视频在线播放 | 99久久国产免费 - 99久久国产免费 | 成年人黄页 | 台湾黄三级高清在线观看播放 | 欧美毛片日韩一级在线 | 美女张开腿让男人桶爽免 | 无内丝袜透明在线播放 | 香蕉久久高清国产精品免费 | 精品国产自 | 不卡一区在线观看 | 国内久久 | 国产精品久久国产三级国电话系列 | 99爱视频在线 | 久久精品国产免费高清 | 欧美亚洲日本在线 | 一级毛片在线不卡直接观看 |