基于S3C2410的輔助倒車數字圖象系統設計
4、測距報警模塊實現
為提高系統的安全性和可靠性,增加測距報警功能,可視倒車功能啟動后,采用超聲波測距模塊來實現對車后方的障礙物的實時測距并使用語音合成模塊來實現障礙物距車身過近的語音報警。
4.1 超聲波測距模塊
超聲波測距電路主要由超聲波發射電路和接收電路組成,原理框圖如圖3所示。該模塊單片機選用Freescale公司的MC68HC908QL4,該芯片可靠性高、抗干擾能力強。超聲波探測車物之間的距離,并將數據傳送至車內主處理器進行處理。
由于超聲波測距只在汽車倒車時為駕駛員提供車后信息,而倒車時車速較慢,與聲速相比可認為是靜止的,因此采用渡越時間法來測距,即超聲波發射器不斷發射超聲波,遇到障礙物后反射回來,超聲波接受器接受到反射波信號并將其轉變為電信號,測出從發射超聲波到接受到反射波的時間差即可求出距離s。
式中,s為所測距離;c為超聲波聲速;t為發射超聲波到接受反射波的時間差。
4.2 超聲波測距軟件設計
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上并滿足汽車倒車實時測距的性能要求,克服了后試鏡小,視野窄的缺點,消除了盲目倒車造成的事故隱患,大大提高了汽車倒車的安全效率。經實驗調試,該輔助倒車系統能運行良好,操作方便,基本達到了設計要求。
評論