基于ZYNQ AP SoC的安全駕駛系統(tǒng)設(shè)計與實(shí)現(xiàn)
疲勞駕駛和酒駕是嚴(yán)重的交通違法行為,駕駛員疲勞行車時,會造成反應(yīng)遲鈍、困倦、四肢無力,不能及時發(fā)現(xiàn)路面交通情況以采取準(zhǔn)確的駕駛操控措施,極易發(fā)生交通事故[1]。據(jù)交通部統(tǒng)計,2015年間,由于駕駛員疲勞駕駛導(dǎo)致的交通事故占總數(shù)的10.64%,在重特大交通事故中約占45%。在美國,每年與疲勞駕駛相關(guān)的車禍奪去了15000人的生命。而酒后的駕駛員會出現(xiàn)視覺障礙、運(yùn)動反射神經(jīng)遲鈍、判斷力降低。有數(shù)據(jù)顯示,在中國,每年因酒駕導(dǎo)致的交通事故占40%~50%,可見,車輛裝備具有疲勞檢測和酒駕提醒的安全駕駛系統(tǒng)的必要性。
先進(jìn)駕駛輔助系統(tǒng)(Advanced Driver Assistant System),簡稱ADAS,是利用安裝于車上的各式各樣的傳感器, 在第一時間收集車內(nèi)外的環(huán)境數(shù)據(jù), 進(jìn)行靜、動態(tài)物體的辨識、偵測與追蹤等技術(shù)上的處理, 從而能夠讓駕駛者在最快的時間察覺可能發(fā)生的危險, 以引起注意和提高安全性的主動安全技術(shù)。ADAS 采用的傳感器主要有攝像頭、雷達(dá)、激光和超聲波等,可以探測光、熱、壓力或其它用于監(jiān)測汽車狀態(tài)的變量, 通常位于車輛的前后保險杠、側(cè)視鏡、駕駛桿內(nèi)部或者擋風(fēng)玻璃上。早期的ADAS 技術(shù)主要以被動式報警為主,當(dāng)車輛檢測到潛在危險時, 會發(fā)出警報提醒駕車者注意異常的車輛或道路情況。對于最新的ADAS 技術(shù)來說,主動式干預(yù)也很常見。
硬件系統(tǒng)架構(gòu)及方案基于ZYNQ AP SoC(ZYNQ All Programmable SoC)的安全駕駛系統(tǒng)的硬件系統(tǒng)[2]如圖1所示,系統(tǒng)主要由高速CMOS圖像傳感器Ov7725、130萬像素USB網(wǎng)絡(luò)攝像頭、Zynq-7000可擴(kuò)展處理芯片、數(shù)據(jù)存儲單元DDR3、HDMI顯示屏、酒精傳感器和喇叭等組成。Xilinx公司的Zynq-7000可擴(kuò)展處理芯片是整個系統(tǒng)的核心,其包含處理系統(tǒng)(Processing System,PS)和可編程邏輯(Programmable Logic,PL)兩部分,PS部分集成了最高頻率為667GHz的高性能雙核ARM Cortex-A9處理器,而PL部分包含28nm工藝的FPGA(Field-Programmable Gate Array)邏輯單元和DSP資源。
PL端通過I2C協(xié)議驅(qū)動[3]Ov7725攝像頭,將攝像頭采集的圖像數(shù)據(jù)緩存于一個異步時鐘FIFO(First Input First Output)隊列中,而FIFO的寫時鐘由Ov7725攝像頭模塊提供,異步讀時鐘由VDMA Engine提供,并在讀過程進(jìn)行灰度圖轉(zhuǎn)換,后將數(shù)據(jù)讀入VDMA Engine。
PS端通過AMBA高速總線AXI_HP接口,驅(qū)動DDR3控制器,并讀取一幀圖片數(shù)據(jù),并對圖片進(jìn)行臉部識別等圖像處理,得到人臉五官特征值。(3)PS端同時通過USB-Host總線對網(wǎng)絡(luò)攝像頭進(jìn)行配置,并得到圖像數(shù)據(jù),在Linux系統(tǒng)下將圖像通過HDMI顯示器顯示,并將圖像數(shù)據(jù)存儲到SD存儲卡中。(4)PS端在Linux系統(tǒng)下驅(qū)動內(nèi)部集成的12位精度ADC轉(zhuǎn)換器,將酒精傳感器采集的模擬信號進(jìn)行數(shù)字轉(zhuǎn)換。
預(yù)警提示最終通過調(diào)用程序預(yù)設(shè)的語音組合,由HDMI接口輸出到帶功放或者音頻接口的HDMI顯示設(shè)備,達(dá)到提醒駕駛員的目的。