999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于i.MX6D的視覺輔助系統設計

2021-03-26 03:29:50張宏寬樓勇亮胡權顧晨舒信陽
電子元器件與信息技術 2021年11期
關鍵詞:系統

張宏寬,樓勇亮,胡權,顧晨,舒信陽

(數源科技股份有限公司,浙江 杭州 310012)

0 引言

目前公交和旅游大巴等大型車輛的汽車后視鏡采用的是玻璃反光鏡,車輛在行駛過程中容易受到天氣和惡劣環境影響,比如在雨雪、大霧等天氣情況,玻璃反光鏡會很模糊,駕駛員存在視覺模糊問題,另外大型車輛車身比較長,車輛轉彎時前內輪轉彎半徑與后內輪轉彎半徑不同,存在“內輪差”,使得前、后車輪的運動軌跡不重合,車輛在轉彎過程中玻璃反光鏡存在明顯的視覺盲區,駕駛員在行駛過程中無法實時觀察到車輛側后方的障礙物和行人車輛信息[1]。本文給出的視覺輔助系統,可以實時將車外盲區圖像視頻在車內顯示屏上進行呈現,有效解決了傳統光學后視鏡的盲區問題,為安全駕駛提供了保障。

1 系統整體設計

基于i.MX6D的視覺輔助系統的整體系統框架圖如圖1所示,系統主要有i.MX6D主機、左LCD屏和右LCD屏、4路高清數字攝像輸入和處理模塊組成。兩組高清屏分別安裝在車內左側A柱和右側A柱,屏的高度與司機的視角平行,車外左側和右側分別安裝2路高清攝像頭,角度對著車外兩側的視覺盲區區域,將左右兩側視覺盲區的視頻實時呈現在A柱顯示屏上,可以讓司機實時了解到車外狀況,為安全駕駛提供保障。

圖1 視覺輔助系統整體系統框架圖

系統采用的嵌入式SOC處理器是恩智浦公司的ARM Cortex-A9架構i.MX6D芯片,CPU雙核,主頻1.2GHz。它擁有3個vivante的GPU(Graphics Processing Unit),用于圖形的加速處理[2]。i.MX6D有2個IPU(Image Processing Unit),能夠接受MIPI CSI-2格式的數據,用于攝像頭數據的處理。i.MX6D可以通過LDB子模塊控制顯示內容輸出到左顯示屏,HDMI子模塊控制顯示內容輸出到右顯示屏。i.MX6D的視頻編解碼處理單元(VPU)完全支持H.264編碼格式[3-4],可以將攝像頭采集到的數據進行H.264編碼壓縮并且存儲到TF卡里面。

系統的主要工作流程為4路高清的數字攝像頭產生的數字影像通過同軸線纜傳輸到i.MX6D 處理器,再通過處理器的子模塊進行格式的轉換,輸出到左右顯示屏,同時將視頻流進行H.264壓縮編碼存儲到TF卡。

2 硬件設計

系統主機主要有SOC處理器NXP i.MX6D,視頻圖像接口MAX9286,LCD的驅動顯示接口DS90UB947和DS90UB949。MAX9286芯片集成四個通道的解串器,能夠接收和同步來自四個串行器的視頻輸入,并且能夠通過CSI-2輸出[5],主機的功能框架圖如圖2所示。

圖2 i. MX6D主機的功能框架圖

視頻圖像接口驅動芯片MAX9286接受4路高清的數字攝像頭產生的影像數據,并進行數據格式的轉換,將CSI-2格式的數據輸出到i.MX6D內。i.MX6D通過硬件模塊IPU接受到CSI-2格式的影像數據后,會將其轉換成4路YUV422格式的數據,再通過DMA的方式傳輸到指定的內存塊上,使用GPU對其進行處理。同時IPU再把內存中YUV422格式的數據轉換成YUV420格式,使用DMA傳輸到指定內存的物理地址上,可以通過VPU進行對其進行H.264的編碼壓縮處理,同時將其存儲到TF存儲卡內。

i.MX6D內部的硬件模塊GPU主要負責圖像的處理,將通過IPU處理后傳輸到內存中YUV422格式的數據轉換成RGB的格式,并且可以對視頻數據進行鏡像操作,這樣便于攝像頭實際安裝位置的調整。通過DMA的方式將RGB格式的數據傳輸到framebuffer指定的內存物理地址上,便于linux應用程序在顯示屏上進行顯示。2路高清顯示是通過串行總線FPD-LINK III來實現的,使用的高速信號傳輸方式是單個差分鏈路高速視頻數據傳輸,采用的通信方式為雙向全雙工通信。采用的TI DS90UB947是一款OpenLDI到FPD-Link III的橋接器件[6]。該器件可將LVDS的輸入轉換成串行數據并且支持WUXGA和1080P60的視頻分辨率,支持的色深為24位。采用的TI DS90UB949是一款HDMI到FPD-Link III的橋接器件[7]。該器件可將HDMI的輸入轉換成串行數據并且支持WUXGA和1080P60的視頻分辨率,支持的色深為24位。TI的DS90UB948是FPD-Link III 的解串器,它與DS90UB949/947的串行器進行配合,可將單通道或雙通道的FPD-Link III 流轉換成OpenLDI 接口的格式數據[8]。并且DS90UB948能夠從單通道或雙通道的FPD-Link III串行數據流中恢復數據,并且將其轉換成LVDS格式的數據和相對應的時鐘。在使用上主要是通過DS90UB947串行器和DS90UB948解串器進行配合,以及DS90UB949串行器和DS90UB948解串器進行配合。i.MX6D有多種輸出顯示方式,本文通過i.MX6D的LDB 子模塊來輸出低壓差分信號LVDS 到TI 的DS90UB947串行器通過FPD-LINK III串行總線到TI的DS90UB948解串器最后輸出到左高清顯示屏。另外一路則是通過i.MX6D的HDMI控制器輸出顯示信號到TI的DS90UB949串行器再通過FPD-LINK III串行總線到TI的DS90UB948解串器最后輸出到右顯示屏,以此來完成雙屏同時顯示的功能。FPD-LINK III接口能夠實現一條差分鏈路上的雙向全雙工通信,來透傳i2c的通信數據。光感模塊采用的是BH1750FVI[9],使用i2c接口接入到DS90UB948 解串器的接口上。IMX6D 可以通過DS90UB947串行器、FPD-Link總線和DS90UB948解串器這一條鏈路獲取光感值數據,來實現對環境光照大小的檢測,并且通過讀取光感的值來實現對LCD顯示屏的背光亮度大小的調節。

3 軟件設計

在i.MX6D處理器上運行的是linux操作系統,其版本為4.1.15。由于視覺輔助系統需要有實時性、清晰度和可靠性作為保障,因此本設計采用的數字攝像頭,其幀率為30FPS、分辨率為720P[10-11]。為了能夠充分利用CPU的多核架構,在軟件上采用的是多線程的設計方式。視覺輔助系統的軟件流程圖,如圖3所示。在linux應用主程序中派生出4個視頻存儲的線程、1個4路攝像頭視頻顯示的線程和1個背光自動調節的線程,由于4個視頻存儲的線程是類似的,因此在圖3的軟件流程圖中只畫了其中的一路。

圖3 視覺輔助系統的軟件流程圖

在攝像頭視頻顯示的線程中,分為這幾個步驟進行處理,分別為對攝像頭參數的初始化、視頻圖像信號的采集、圖像顯示格式的轉換處理和對圖像數據的顯示。本文是通過linux的V4L2框架與顯示系統框架來進行編程的,主要步驟如下:

(1)打開視頻設備文件獲得文件描述符。

(2)查詢視頻設備是否是一個視頻捕捉設備并且具有數據流控制模式。

(3)設置視頻的制式和幀的格式。

(4)打開顯示設備文件,獲得顯示文件描述符。

(5)使用顯示文件描述符獲取相應顯示設備的可變信息(Framebuffer的長度、寬度以及顏色深度)。

(6)使用顯示文件描述符獲取相應顯示設備的固定信息(Framebuffer的起始物理地址)。

(7)使用顯示文件描述符設置虛擬屏幕的大小為實際屏幕大小的3倍。

(8)通過GPU來申請連續的物理內存,將申請的視頻幀緩沖區映射到GPU申請的物理內存上。

(9)將申請到的幀緩沖全部入隊列,以便存放采集到的數據。

(10)開始視頻的采集。

(11)通過出隊列來獲取已采集到幀緩沖數據。

(12)將采集到的YUV422格式數據轉成RGBA8888格式,用于顯示。

(13)將采集到的YUV422格式數據轉成YUV420格式,同時降低分辨率為480P,復制數據到用于H.264編碼的內存中。

(14)將幀緩沖區重新入隊列尾,以便用于循環采集。

背光自動調節的線程,首先將光感驅動注冊到內核中,根據數據手冊對光感進行上電,通過讀ID判斷光感這顆粒是否可以工作。在線程的應用程序中,其操作步驟主要如下:

(1)打開光感所掛載的i2c設備文件,獲得文件描述符。

(2)通過文件描述符,設置光感的設備地址。

(3)通過文件描述符,讀光感的值。

(4)打開控制背光亮度的文件描述符。

(5)根據光感和背光亮度值的對照表,調節背光亮度。

(6)延時500ms,讀光感的值。

(7)再次調節背光亮度值,回到第6部,循環執行。

視頻存儲的線程,主要采用的是VPU 硬件模塊[12],來實現H.264的視頻編碼壓縮,具體編程的步驟如下:

(1)打開一個編碼器實例,使用讀寫方式打開TF卡所在的目錄文件。

(2)對VPU硬件子模塊進行參數的初始化。

(3)獲得編碼器的關鍵參數,幀緩沖區的大小。

(4)通過上一步獲取到的信息,申請幀緩沖區。

(5)將IPU轉換后的YUV420格式的數據拷貝到上一步申請到的幀緩沖區中。

(6)產生圖像編碼后數據頭的高級語法結構。

(7)開始對當前圖像數據進行H.264編碼,等待圖像編碼完成產生的中斷。

(8)檢查壓縮圖像的編碼信息,同時將編碼壓縮后的數據寫入到TF卡存儲器內。

(9)程序跳轉到第5步來進行循環操作。

(10)關閉打開的編碼器實例,同時釋放VPU的資源。

通過攝像頭視頻顯示線程、背光自動調節線程和視頻存儲線程的操作,來實現4路攝像頭數據的采集,顯示以及壓縮存儲,同時能夠根據光感獲取到的環境光照大小,自動地調節背光的亮度,從而完成一個完整的產品。

4 測試驗證

為保證系統可靠運行,本文從系統運行資源和高低溫負荷試驗入手,對系統性能進行了模擬測試。采用linux操作系統,版本4.1.15,兩路高清LCD顯示分別采用1920*720分辨率,4路攝像輸入為720p 30fps數字格式,通過top指令查看系統運行資源使用情況,如圖4所示,內存占比為8%,CPU占比為1%,這是由于視頻圖像處理部分主要由系統GPU、VPU和IPU單元實現,所以對CPU和內存的資源消耗比較低。

圖4 系統運行資源測試

車載設備要求在 -30 ℃到80℃范圍穩定運行, 圖5-1和圖5-2分別給出了系統在 -30 ℃和80℃環境下24小時CPU運行曲線圖,在高溫試驗中CPU溫度最后穩定在91℃,經過高低溫負荷試驗,設備運行穩定。

圖5-2 高溫80℃負荷CPU運行曲線

圖5-1 低溫-30℃負荷CPU運行曲線

5 結論

針對公交和商用大巴等大型車輛在行駛過程中后視鏡存在視覺盲區問題,本文設計了基于i.MX6D的視覺輔助系統,系統采用一路主機驅動兩組高清顯示屏,通過對系統GPU、VPU和IPU圖像處理單元的接口設計,實現了4路數字視頻數據的采集、顯示和存儲功能,通過對系統進行高低溫負荷試驗和系統運行資源測試分析,系統性能達到設計預期,有效解決了車外視覺盲區的安全隱患,具有很好的應用前景。

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 中文字幕人成人乱码亚洲电影| 日韩av无码精品专区| 日韩欧美视频第一区在线观看| 亚洲天堂视频在线播放| 免费一级毛片完整版在线看| 国产精品午夜电影| 国产无遮挡裸体免费视频| 欧美 国产 人人视频| 国产日韩欧美精品区性色| 国产一区二区丝袜高跟鞋| 热这里只有精品国产热门精品| 国产成年女人特黄特色毛片免| 欧洲极品无码一区二区三区| 午夜国产大片免费观看| 色偷偷一区| 亚洲成aⅴ人片在线影院八| 免费jjzz在在线播放国产| 丁香五月激情图片| 国产精品第5页| 国产簧片免费在线播放| 精品福利视频网| 无码高潮喷水专区久久| 毛片在线看网站| 91蝌蚪视频在线观看| 欧美亚洲日韩中文| 试看120秒男女啪啪免费| 亚洲人妖在线| 色综合激情网| 精品少妇人妻一区二区| 99re经典视频在线| 精品国产自在在线在线观看| 天天视频在线91频| 国产农村妇女精品一二区| 色香蕉影院| 久久综合丝袜日本网| 精品国产免费观看| 日本午夜在线视频| 亚洲v日韩v欧美在线观看| 国产人人射| 成年A级毛片| 国产18在线播放| 九色视频一区| 日韩高清中文字幕| 福利一区三区| a级毛片免费在线观看| 国产一级视频久久| 国产亚洲一区二区三区在线| 久久99热66这里只有精品一| 国产拍在线| 亚洲精品色AV无码看| 性欧美在线| 国产精品无码AV中文| 久久五月视频| 伊人欧美在线| 亚洲色成人www在线观看| 国产精品永久在线| 91网站国产| 毛片一区二区在线看| 91青青在线视频| 亚洲人成在线精品| 无码高清专区| 乱人伦中文视频在线观看免费| 精品国产成人高清在线| 99在线小视频| 伊人久久精品无码麻豆精品| 国产菊爆视频在线观看| 精品国产www| 在线欧美国产| 99偷拍视频精品一区二区| 久久狠狠色噜噜狠狠狠狠97视色| 国产精品香蕉| 色老头综合网| 国产欧美日韩资源在线观看| 亚洲av日韩av制服丝袜| 热re99久久精品国99热| 国产美女在线观看| 日韩在线欧美在线| 精品五夜婷香蕉国产线看观看| 久久综合国产乱子免费| 午夜无码一区二区三区| 久久国产精品电影| 亚洲精品无码日韩国产不卡|