基于i.MX6車載音視頻系統(tǒng)的設(shè)計和實現(xiàn)
2.4 顯示模塊
MHL Source的音視頻數(shù)據(jù)經(jīng)過ADV7481解碼,剝離出視頻數(shù)據(jù)。視頻數(shù)據(jù)通過MIPI接口傳送到處理器,在經(jīng)過處理器內(nèi)部的圖像處理單元和硬件模塊處理電路的轉(zhuǎn)換,生成可在LVDS接口傳輸?shù)腞GB格式的視頻數(shù)據(jù)流。通過外接的TFT屏顯示視頻圖像。對TFT屏還增加了額外的設(shè)計,如通過軟件來設(shè)計屏幕的亮度,以及實現(xiàn)觸控回傳功能。
2.5 WM8962音頻驅(qū)動模塊
從ADV7481解碼出的I2S格式音頻信號,在SPI總線的控制下傳輸?shù)教幚砥鞯腎2S接收模塊。音頻數(shù)據(jù)仍以I2S格式,通過處理器內(nèi)部另外一個獨立的I2S發(fā)送模塊傳輸?shù)揭纛l驅(qū)動,經(jīng)過處理后從耳機接口輸出。通常耳機線纜長度為1 m左右,在電磁兼容領(lǐng)域可以看成一根有效天線,很容易接收系統(tǒng)內(nèi)部噪聲,向外輻射能量,導(dǎo)致EMI超標(biāo)。設(shè)計時需要在每根信號線上放置對地濾波電容,濾波高頻噪聲,防止向外輻射。
3 系統(tǒng)軟件設(shè)計
3.1 系統(tǒng)軟件流程圖
根據(jù)系統(tǒng)設(shè)計的功能需求,基于i.MX6的車載音視頻系統(tǒng)軟件流程圖如圖5所示。
系統(tǒng)初始化后,配置電源管理模塊,然后檢測MHL輸入還是HDMI輸入,按不同輸入模式配置解碼芯片和處理器,配置MIPI時鐘、幀時鐘、控制音視頻同步等,最后分別處理視頻和音頻數(shù)據(jù)并輸出。
3.2 ADV7481驅(qū)動初始化流程圖
ADV7481驅(qū)動初始化應(yīng)用狀態(tài)機進行編程。初始化時呈四種狀態(tài),開機之前的未知狀態(tài)定義為Unknown模式;沒有檢測到線纜插入的狀態(tài)定義為Free_run模式,系統(tǒng)輸出默認的640x480@60的檢測方格的視頻圖像;檢測到MHL線纜插入定義為MHL_IN模式,按照MHL模式配置ADV7481芯片;檢測到HDMI線纜插入定義為HDMI_IN模式,按照HDM模式配置ADV74 81芯片。
4個狀態(tài)之間相互轉(zhuǎn)換的狀態(tài)圖如圖6所示。在芯片復(fù)位或者初始化時,Unknown狀態(tài)跳轉(zhuǎn)到Free_run狀態(tài);在Free_run狀態(tài),當(dāng)檢測到MHL線纜插入時插入MHL_IN狀態(tài),當(dāng)檢測到HDMI線纜插入時插入HDMI_IN狀態(tài);在MHL狀態(tài)下檢測到MHL線纜撥出或只檢測到MHL線纜插入而沒有檢測到MHL設(shè)備時,跳轉(zhuǎn)到Free_run狀態(tài);在HDMI狀態(tài)下檢測到HDMI線纜撥出或只檢測到HDMI線纜插入而沒有檢測到HDMI設(shè)備時,跳轉(zhuǎn)到Free_run狀態(tài)。
3.3 MIPI時鐘的設(shè)置
處理器i.MX6中集成的MIPI DPHY的最大串行數(shù)據(jù)速率為80 MHz~1 GHz,它必須與ADV7481的MIPI DPHY數(shù)據(jù)速率相匹配,否則MIPI_CSI錯誤狀態(tài)寄存器會報出“Start of
Transmission Error on Data Lane”。當(dāng)兩者的速率相匹配時,MIPI_CSI_ERR1的值為0x0,當(dāng)速率不匹配發(fā)生錯誤時,MIPI_CSL_ERR1為0x3。
ADV7481的數(shù)據(jù)速率取決于輸入視頻圖像的像素時鐘,每像素的比特數(shù)和通道數(shù)。為了匹配ADV7481的數(shù)據(jù)輸出速率,必需設(shè)置MIPI_CSI_PHY_TST_CTRL1寄存器值。設(shè)置如下的結(jié)構(gòu)體和數(shù)組。
3.4 幀速率的設(shè)置
幀速率(FPS)與像素時鐘(Fpixel_clk),視頻的分辨率和行列消隱三個參數(shù)有關(guān)。利用adv748x_get_fps()函數(shù)獲得像素時鐘為Fpixel_clk,通過748x_get_input_info()函數(shù)可以獲取視頻額分辨率為Width*Height,行列消隱為HBP、HFP、VBP和VFP等信息。利用公式(1)計算幀速率。
FPS=FPXCLK/(HBP+WIDTH+HFP)*(VBP+HEIGHT+VFP) (1)
4 系統(tǒng)功能測試
系統(tǒng)的功能測試包括兩個部分:MHL格式數(shù)據(jù)輸入的功能測試,這是本文設(shè)計的關(guān)鍵功能;HDMI格式數(shù)據(jù)輸入的功能測試。
4.1 輸入MHL格式數(shù)據(jù)的功能測試
在MHL格式數(shù)據(jù)源功能測試時,以聯(lián)想公司生產(chǎn)的型號為K860I的智能手機作為數(shù)據(jù)源終端,輸入到車載音視頻系統(tǒng)中,進行音視頻功能測試。
實際功能測試效果圖如圖7所示。系統(tǒng)上電后,黃色指示燈亮,表示MHL數(shù)據(jù)源輸入。依次對設(shè)計的車載音視頻系統(tǒng)進行了音頻、圖片、音視頻、應(yīng)用程序4個方面進行測試,測試結(jié)論如下:
1)手機播放歌曲時,在外接的耳機中能夠聽到清晰的音樂,音頻滿足預(yù)期設(shè)計要求。
2)手機查看圖片時,能從LCD屏幕中看到清晰的圖片,實現(xiàn)雙屏互動,滿足預(yù)期設(shè)計要求。
3)手機播放音視頻時,也可從LCD屏幕中看到連續(xù)的視頻,同時從外接的耳機聽到同步的聲音,實現(xiàn)信息娛樂功能,滿足預(yù)期設(shè)計要求。
4)手機使用百度地圖軟件時,能夠在LCD屏實時顯示。啟動軟件中導(dǎo)航功能時,能夠為駕駛員提供地圖導(dǎo)航、語音導(dǎo)航和實時路況信息,滿足預(yù)期設(shè)計要求。
4.2 輸入HDMI格式數(shù)據(jù)的功能測試
文中設(shè)計的系統(tǒng)還兼容HDMI接口。以戴爾公司生產(chǎn)的型號為V1450的筆記本作為HDMI格式數(shù)據(jù)源輸入到系統(tǒng)進行功能測試,實際功能測試圖如圖8所示。系統(tǒng)設(shè)計的HDMI接口,支持800*600像素。將筆記本的分辨率設(shè)置成800*600,在LCD屏幕上能夠顯示筆記本的桌面,滿足設(shè)計要求。
5 結(jié)論
隨著國內(nèi)外汽車行業(yè)發(fā)展迅猛,各類車載電子設(shè)備及其應(yīng)用技術(shù)的發(fā)展也日新月異,成為工業(yè)界研究的熱點。本文正是基于這一需求,對車載的音視頻系統(tǒng)進行深入研究,采用飛思卡爾半導(dǎo)體i.MX6,結(jié)合新穎的MHL協(xié)議,開發(fā)設(shè)計出一款可利用手機音視頻資源的車載音視頻系統(tǒng)。
評論