基于i.MX6車載音視頻系統(tǒng)的設(shè)計和實現(xiàn)
摘要:隨著汽車產(chǎn)業(yè)和電子技術(shù)的發(fā)展,車載系統(tǒng)的電子化程度越來越高,車載音視頻系統(tǒng)作為汽車人機交互的重要組成部分,正成為研究的新熱點。本文提出了智能手機和車載音視頻系統(tǒng)相結(jié)合的應(yīng)用方案,分析了實現(xiàn)i.MX6車載音視頻系統(tǒng)的硬件模塊和軟件流程圖,驅(qū)動初始化狀態(tài)機實現(xiàn)方法。系統(tǒng)測試結(jié)果表明本文提出的音視頻系統(tǒng)實現(xiàn)了音視頻基本功能,還可實現(xiàn)多屏互動,并提供移動設(shè)備實時充電解決方案。
近年來,隨著汽車用戶的覆蓋普及和電子技術(shù)的不斷創(chuàng)新發(fā)展,人們對汽車性能要求也越來越高,由傳統(tǒng)的交通工具單一功能向多媒體、信息化的多功能交通工具轉(zhuǎn)變;汽車產(chǎn)業(yè)從單純的機械產(chǎn)品向光機電一體化轉(zhuǎn)變。未來的趨勢是電子化比重不斷加強,車載音視頻系統(tǒng)作為汽車人機交互的重要組成部分,成為研究的新熱點。
目前市場上的車載音視頻設(shè)備大都是以完整的音視頻系統(tǒng)的形式出現(xiàn)在車載環(huán)境中。本文提出了一種利用飛思卡爾半導(dǎo)體最新一代處理器i.MX6,并結(jié)合新穎的MHL協(xié)議研究車載音視頻系統(tǒng)的新方案,實現(xiàn)了多屏互動功能,在多系統(tǒng)應(yīng)用中注意防止同頻干擾問題,并能提供移動設(shè)備實時充電解決方案。
1 基于i.MX6的車載音視頻系統(tǒng)架構(gòu)
基于i.MX6車載音視頻系統(tǒng)的系統(tǒng)架構(gòu)如圖1所示。本文設(shè)計的車載音視頻系統(tǒng)由原始音視頻數(shù)據(jù)源接收模塊、數(shù)據(jù)處理、視頻數(shù)據(jù)和音頻數(shù)據(jù)輸出組成。
系統(tǒng)在正常工作時,通過集成MHL功能的智能手機向系統(tǒng)的接收模塊輸入音視頻數(shù)據(jù),數(shù)據(jù)可以儲存在手機中的資源,也可以是從2G、GPRS、3G、LTE或WiFi等網(wǎng)絡(luò)中獲取的音視頻數(shù)據(jù)。接收模塊對接收到的MHL格式的數(shù)據(jù)進行預(yù)處理,將數(shù)據(jù)中的視頻數(shù)據(jù)和音頻數(shù)據(jù)分離,并將視頻數(shù)據(jù)轉(zhuǎn)換成MIPI格式,音頻數(shù)據(jù)轉(zhuǎn)換成I2S格式。
將MIPI格式的視頻數(shù)據(jù)和I2S格式的音頻數(shù)據(jù)同時輸入處理器i.MX6,視頻數(shù)據(jù)經(jīng)過圖像處理子系統(tǒng)的相關(guān)處理后,轉(zhuǎn)換成LVDS顯示識別的RGB格式視頻數(shù)據(jù),通過LVDS線纜輸出到顯示設(shè)備。同時,通過處理器的一個I2S接收模塊接收音頻數(shù)據(jù),對數(shù)據(jù)不作處理,直接通過處理器的另外一個I2S發(fā)送模塊送到音頻驅(qū)動器,經(jīng)驅(qū)動后,通過喇叭或者耳機播放與視頻同步的音樂。
2 系統(tǒng)硬件設(shè)計
基于i.MX6車載音視頻系統(tǒng)的系統(tǒng)架構(gòu)如圖2所示?;趇.MX6的車載音視頻系統(tǒng)硬件部分主要包括ADV7481構(gòu)成的MHL數(shù)據(jù)格式接收模塊、i.MX6處理器模塊、顯示模塊、WM8962音頻驅(qū)動模塊和電源部分。
2.1 電源部分
電源部分由兩部分構(gòu)成,第一部分是輸入過壓保護電路,防止輸入電壓過大或外界干擾進入,損壞電路;第二部分是集成電壓管理電路,集成了開關(guān)型電壓轉(zhuǎn)換電路和線性電壓轉(zhuǎn)換電路。
輸入過壓保護電路如圖3所示。在正常輸入5 V電源電壓時,閉合開關(guān)S1,Q1的源極為5 V,柵極電壓由電阻R2、R4、R5的分壓決定,約為0.26 V,這樣Q1的VGS為-4.74 V,低于開啟電壓-2.1 V,Q1的漏極和源極之間導(dǎo)通,主電源5 V流入PSU_5V0供給后級試用。當(dāng)輸入端輸入非正常的過壓時,穩(wěn)壓二極管D2的反向電壓會超過它的反向擊穿電壓限值,使得D2的陰極電位穩(wěn)定在5.1 V左右,同時使得三極管Q2的UBE大于0.7 V時,Q2的集電極和發(fā)射極之間導(dǎo)通,會有大量電流從其內(nèi)部流過,這些電流會在R4和R5上產(chǎn)生壓降,在Q1的柵極產(chǎn)生一個電壓,使得Q1的柵源電壓近似相等,高于開啟電壓-2.1 V,Q1管截止,阻止過壓流入后級電路,實現(xiàn)保護后級電路的功能。
集成電壓管理電路選用了飛思卡爾半導(dǎo)體的MMPF0100解決方案,它主要包括電源管理控制、線性穩(wěn)壓電源轉(zhuǎn)換、開關(guān)電源轉(zhuǎn)換3個部分。電源的管理控制部分可以配置輸出的電壓值,精度,輸出時序等。開關(guān)電源電路的本質(zhì)是一個串聯(lián)型開關(guān)型穩(wěn)壓電源。線性穩(wěn)壓電源轉(zhuǎn)換電路,實質(zhì)上就是一個線性調(diào)制器。
2.2 接收模塊
接收模塊兼容MHL和HDMI兩種數(shù)據(jù)源輸入,其中MHL的差分數(shù)據(jù)線和HDMI的DATA0+/-共用一對差分線,CBUS與HDMI_HPD_CON共用一根信號線,電源和地共用。
系統(tǒng)靠檢測連接器第2腳的CD_SENSE信號線的電平來判別是什么數(shù)據(jù)源輸入。當(dāng)CD_SENSE為高電平時,表示是MHL源輸入;當(dāng)CD_SENSE為低電平時,表示是HDMI源輸入。
MHL有個特殊的功能,Sink端可以為Source設(shè)備供電,5 V電壓要向外輸出,而兼容HDMI接口檢測時需要接收Source設(shè)備的5 V電壓,這就意味著在兩種不同的輸入模式下,5V電源管腳的電流方向截然相反。
為了解決兩種不同的應(yīng)用造成的困擾,本文設(shè)計了一種5 V電源方案,如圖4所示。當(dāng)系統(tǒng)檢測到MHL輸入時,CD_SENSE是高電平,Q7管導(dǎo)通,Q7和Q8的柵極約為0 V,由于Q7存在體二極管,使得Q7和Q8源極的電位只比5 V低二極管的導(dǎo)通壓降,仍為高電平,兩個MOS管的VGS大于開啟電壓,都呈現(xiàn)導(dǎo)通狀態(tài),5 V電源通過連接器的電源腳為Source設(shè)備充電。當(dāng)系統(tǒng)檢測到HDMI輸入時,CD_SENSE是低電平,Q6管截止,R15上沒有電流,Q3和Q4源極和柵極電壓相等,都呈現(xiàn)截止狀態(tài),5 V不能向外供電,電源管腳只接收Source的電壓實現(xiàn)檢測功能。
2.3 i.MX6處理器模塊
本文選用飛思卡爾公司的i.MX6處理器,它集成4核ARM Cortex—A9,采用先進的納米技術(shù),且每個內(nèi)核運行時最高速率可以達到1.2 GHz。每個處理器提供一個64 bit的存儲器接口,以及一系列外設(shè)接口。如MIPI CSI-2接口、I2S接口、無線接口、顯示接口、攝像傳感器接口等。從這款芯片特性可以看出,它速率高、安全、功耗低,片上集成了多個外設(shè)接口,資源豐富,可以滿足不斷增長的車載娛樂、遠程信息訪問和處理、人機交互界面、集群顯示的市場需求。[!--empirenews.page--]
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超標。設(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)。[!--empirenews.page--]
對系統(tǒng)整體功能進行測試,以智能手機作為MHL格式數(shù)據(jù)源終端,接入車載系統(tǒng)后,經(jīng)處理在LCD屏幕上實時顯示來自手機的圖像或視頻,并能實現(xiàn)多屏互動,耳機可聽到同步的聲音,同時可將手機中的娛樂、地圖、導(dǎo)航等應(yīng)用軟件完美地融入到車載系統(tǒng),并能提供移動設(shè)備充電解決方案,達到預(yù)期效果,滿足設(shè)計要求。同時系統(tǒng)還能實現(xiàn)常規(guī)HDMI輸入接口,豐富了數(shù)據(jù)源類型,提高了系統(tǒng)的兼容性和使用價值,具有較高的經(jīng)濟效益。