新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于S3C2410的輔助倒車數字圖象系統設計

        基于S3C2410的輔助倒車數字圖象系統設計

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

        本文引用地址:http://www.104case.com/article/152634.htm


          4、測距報警模塊實現

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

          4.1 超聲波測距模塊

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

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

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

          4.2 超聲波測距軟件

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

        4.3 語音合成模塊

          本采用語音合成芯片XF-3011,與0通過串口進行通信,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、結論

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


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 滨州市| 四会市| 卓尼县| 青海省| 胶南市| 五华县| 崇信县| 嵊州市| 夏津县| 长汀县| 南陵县| 桂东县| 汝阳县| 东乌珠穆沁旗| 宝丰县| 桐城市| 庄浪县| 井研县| 南城县| 宁陕县| 保靖县| 盐山县| 新丰县| 墨脱县| 四会市| 宁河县| 庆元县| 绥德县| 体育| 黄冈市| 米脂县| 社会| 沁水县| 同江市| 芜湖县| 平定县| 白水县| 和硕县| 西昌市| 胶州市| 富川|