基于i.MX6車載音視頻系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:隨著汽車產(chǎn)業(yè)和電子技術(shù)的發(fā)展,車載系統(tǒng)的電子化程度越來越高,車載音視頻系統(tǒng)作為汽車人機(jī)交互的重要組成部分,正成為研究的新熱點(diǎn)。本文提出了智能手機(jī)和車載音視頻系統(tǒng)相結(jié)合的應(yīng)用方案,分析了實(shí)現(xiàn)i.MX6車載音視頻系統(tǒng)的硬件模塊和軟件流程圖,驅(qū)動(dòng)初始化狀態(tài)機(jī)實(shí)現(xiàn)方法。系統(tǒng)測(cè)試結(jié)果表明本文提出的音視頻系統(tǒng)實(shí)現(xiàn)了音視頻基本功能,還可實(shí)現(xiàn)多屏互動(dòng),并提供移動(dòng)設(shè)備實(shí)時(shí)充電解決方案。
近年來,隨著汽車用戶的覆蓋普及和電子技術(shù)的不斷創(chuàng)新發(fā)展,人們對(duì)汽車性能要求也越來越高,由傳統(tǒng)的交通工具單一功能向多媒體、信息化的多功能交通工具轉(zhuǎn)變;汽車產(chǎn)業(yè)從單純的機(jī)械產(chǎn)品向光機(jī)電一體化轉(zhuǎn)變。未來的趨勢(shì)是電子化比重不斷加強(qiáng),車載音視頻系統(tǒng)作為汽車人機(jī)交互的重要組成部分,成為研究的新熱點(diǎn)。
目前市場(chǎng)上的車載音視頻設(shè)備大都是以完整的音視頻系統(tǒng)的形式出現(xiàn)在車載環(huán)境中。本文提出了一種利用飛思卡爾半導(dǎo)體最新一代處理器i.MX6,并結(jié)合新穎的MHL協(xié)議研究車載音視頻系統(tǒng)的新方案,實(shí)現(xiàn)了多屏互動(dòng)功能,在多系統(tǒng)應(yīng)用中注意防止同頻干擾問題,并能提供移動(dòng)設(shè)備實(shí)時(shí)充電解決方案。
1 基于i.MX6的車載音視頻系統(tǒng)架構(gòu)
基于i.MX6車載音視頻系統(tǒng)的系統(tǒng)架構(gòu)如圖1所示。本文設(shè)計(jì)的車載音視頻系統(tǒng)由原始音視頻數(shù)據(jù)源接收模塊、數(shù)據(jù)處理、視頻數(shù)據(jù)和音頻數(shù)據(jù)輸出組成。
系統(tǒng)在正常工作時(shí),通過集成MHL功能的智能手機(jī)向系統(tǒng)的接收模塊輸入音視頻數(shù)據(jù),數(shù)據(jù)可以儲(chǔ)存在手機(jī)中的資源,也可以是從2G、GPRS、3G、LTE或WiFi等網(wǎng)絡(luò)中獲取的音視頻數(shù)據(jù)。接收模塊對(duì)接收到的MHL格式的數(shù)據(jù)進(jìn)行預(yù)處理,將數(shù)據(jù)中的視頻數(shù)據(jù)和音頻數(shù)據(jù)分離,并將視頻數(shù)據(jù)轉(zhuǎn)換成MIPI格式,音頻數(shù)據(jù)轉(zhuǎn)換成I2S格式。
將MIPI格式的視頻數(shù)據(jù)和I2S格式的音頻數(shù)據(jù)同時(shí)輸入處理器i.MX6,視頻數(shù)據(jù)經(jīng)過圖像處理子系統(tǒng)的相關(guān)處理后,轉(zhuǎn)換成LVDS顯示識(shí)別的RGB格式視頻數(shù)據(jù),通過LVDS線纜輸出到顯示設(shè)備。同時(shí),通過處理器的一個(gè)I2S接收模塊接收音頻數(shù)據(jù),對(duì)數(shù)據(jù)不作處理,直接通過處理器的另外一個(gè)I2S發(fā)送模塊送到音頻驅(qū)動(dòng)器,經(jīng)驅(qū)動(dòng)后,通過喇叭或者耳機(jī)播放與視頻同步的音樂。
2 系統(tǒng)硬件設(shè)計(jì)
基于i.MX6車載音視頻系統(tǒng)的系統(tǒng)架構(gòu)如圖2所示。基于i.MX6的車載音視頻系統(tǒng)硬件部分主要包括ADV7481構(gòu)成的MHL數(shù)據(jù)格式接收模塊、i.MX6處理器模塊、顯示模塊、WM8962音頻驅(qū)動(dòng)模塊和電源部分。
2.1 電源部分
電源部分由兩部分構(gòu)成,第一部分是輸入過壓保護(hù)電路,防止輸入電壓過大或外界干擾進(jìn)入,損壞電路;第二部分是集成電壓管理電路,集成了開關(guān)型電壓轉(zhuǎn)換電路和線性電壓轉(zhuǎn)換電路。
輸入過壓保護(hù)電路如圖3所示。在正常輸入5 V電源電壓時(shí),閉合開關(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供給后級(jí)試用。當(dāng)輸入端輸入非正常的過壓時(shí),穩(wěn)壓二極管D2的反向電壓會(huì)超過它的反向擊穿電壓限值,使得D2的陰極電位穩(wěn)定在5.1 V左右,同時(shí)使得三極管Q2的UBE大于0.7 V時(shí),Q2的集電極和發(fā)射極之間導(dǎo)通,會(huì)有大量電流從其內(nèi)部流過,這些電流會(huì)在R4和R5上產(chǎn)生壓降,在Q1的柵極產(chǎn)生一個(gè)電壓,使得Q1的柵源電壓近似相等,高于開啟電壓-2.1 V,Q1管截止,阻止過壓流入后級(jí)電路,實(shí)現(xiàn)保護(hù)后級(jí)電路的功能。
集成電壓管理電路選用了飛思卡爾半導(dǎo)體的MMPF0100解決方案,它主要包括電源管理控制、線性穩(wěn)壓電源轉(zhuǎn)換、開關(guān)電源轉(zhuǎn)換3個(gè)部分。電源的管理控制部分可以配置輸出的電壓值,精度,輸出時(shí)序等。開關(guān)電源電路的本質(zhì)是一個(gè)串聯(lián)型開關(guān)型穩(wěn)壓電源。線性穩(wěn)壓電源轉(zhuǎn)換電路,實(shí)質(zhì)上就是一個(gè)線性調(diào)制器。
2.2 接收模塊
接收模塊兼容MHL和HDMI兩種數(shù)據(jù)源輸入,其中MHL的差分?jǐn)?shù)據(jù)線和HDMI的DATA0+/-共用一對(duì)差分線,CBUS與HDMI_HPD_CON共用一根信號(hào)線,電源和地共用。
系統(tǒng)靠檢測(cè)連接器第2腳的CD_SENSE信號(hào)線的電平來判別是什么數(shù)據(jù)源輸入。當(dāng)CD_SENSE為高電平時(shí),表示是MHL源輸入;當(dāng)CD_SENSE為低電平時(shí),表示是HDMI源輸入。
MHL有個(gè)特殊的功能,Sink端可以為Source設(shè)備供電,5 V電壓要向外輸出,而兼容HDMI接口檢測(cè)時(shí)需要接收Source設(shè)備的5 V電壓,這就意味著在兩種不同的輸入模式下,5V電源管腳的電流方向截然相反。
為了解決兩種不同的應(yīng)用造成的困擾,本文設(shè)計(jì)了一種5 V電源方案,如圖4所示。當(dāng)系統(tǒng)檢測(cè)到MHL輸入時(shí),CD_SENSE是高電平,Q7管導(dǎo)通,Q7和Q8的柵極約為0 V,由于Q7存在體二極管,使得Q7和Q8源極的電位只比5 V低二極管的導(dǎo)通壓降,仍為高電平,兩個(gè)MOS管的VGS大于開啟電壓,都呈現(xiàn)導(dǎo)通狀態(tài),5 V電源通過連接器的電源腳為Source設(shè)備充電。當(dāng)系統(tǒng)檢測(cè)到HDMI輸入時(shí),CD_SENSE是低電平,Q6管截止,R15上沒有電流,Q3和Q4源極和柵極電壓相等,都呈現(xiàn)截止?fàn)顟B(tài),5 V不能向外供電,電源管腳只接收Source的電壓實(shí)現(xiàn)檢測(cè)功能。
2.3 i.MX6處理器模塊
本文選用飛思卡爾公司的i.MX6處理器,它集成4核ARM Cortex—A9,采用先進(jìn)的納米技術(shù),且每個(gè)內(nèi)核運(yùn)行時(shí)最高速率可以達(dá)到1.2 GHz。每個(gè)處理器提供一個(gè)64 bit的存儲(chǔ)器接口,以及一系列外設(shè)接口。如MIPI CSI-2接口、I2S接口、無線接口、顯示接口、攝像傳感器接口等。從這款芯片特性可以看出,它速率高、安全、功耗低,片上集成了多個(gè)外設(shè)接口,資源豐富,可以滿足不斷增長(zhǎng)的車載娛樂、遠(yuǎn)程信息訪問和處理、人機(jī)交互界面、集群顯示的市場(chǎng)需求。[!--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屏顯示視頻圖像。對(duì)TFT屏還增加了額外的設(shè)計(jì),如通過軟件來設(shè)計(jì)屏幕的亮度,以及實(shí)現(xiàn)觸控回傳功能。
2.5 WM8962音頻驅(qū)動(dòng)模塊
從ADV7481解碼出的I2S格式音頻信號(hào),在SPI總線的控制下傳輸?shù)教幚砥鞯腎2S接收模塊。音頻數(shù)據(jù)仍以I2S格式,通過處理器內(nèi)部另外一個(gè)獨(dú)立的I2S發(fā)送模塊傳輸?shù)揭纛l驅(qū)動(dòng),經(jīng)過處理后從耳機(jī)接口輸出。通常耳機(jī)線纜長(zhǎng)度為1 m左右,在電磁兼容領(lǐng)域可以看成一根有效天線,很容易接收系統(tǒng)內(nèi)部噪聲,向外輻射能量,導(dǎo)致EMI超標(biāo)。設(shè)計(jì)時(shí)需要在每根信號(hào)線上放置對(duì)地濾波電容,濾波高頻噪聲,防止向外輻射。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 系統(tǒng)軟件流程圖
根據(jù)系統(tǒng)設(shè)計(jì)的功能需求,基于i.MX6的車載音視頻系統(tǒng)軟件流程圖如圖5所示。
系統(tǒng)初始化后,配置電源管理模塊,然后檢測(cè)MHL輸入還是HDMI輸入,按不同輸入模式配置解碼芯片和處理器,配置MIPI時(shí)鐘、幀時(shí)鐘、控制音視頻同步等,最后分別處理視頻和音頻數(shù)據(jù)并輸出。
3.2 ADV7481驅(qū)動(dòng)初始化流程圖
ADV7481驅(qū)動(dòng)初始化應(yīng)用狀態(tài)機(jī)進(jìn)行編程。初始化時(shí)呈四種狀態(tài),開機(jī)之前的未知狀態(tài)定義為Unknown模式;沒有檢測(cè)到線纜插入的狀態(tài)定義為Free_run模式,系統(tǒng)輸出默認(rèn)的640x480@60的檢測(cè)方格的視頻圖像;檢測(cè)到MHL線纜插入定義為MHL_IN模式,按照MHL模式配置ADV7481芯片;檢測(cè)到HDMI線纜插入定義為HDMI_IN模式,按照HDM模式配置ADV74 81芯片。
4個(gè)狀態(tài)之間相互轉(zhuǎn)換的狀態(tài)圖如圖6所示。在芯片復(fù)位或者初始化時(shí),Unknown狀態(tài)跳轉(zhuǎn)到Free_run狀態(tài);在Free_run狀態(tài),當(dāng)檢測(cè)到MHL線纜插入時(shí)插入MHL_IN狀態(tài),當(dāng)檢測(cè)到HDMI線纜插入時(shí)插入HDMI_IN狀態(tài);在MHL狀態(tài)下檢測(cè)到MHL線纜撥出或只檢測(cè)到MHL線纜插入而沒有檢測(cè)到MHL設(shè)備時(shí),跳轉(zhuǎn)到Free_run狀態(tài);在HDMI狀態(tài)下檢測(cè)到HDMI線纜撥出或只檢測(cè)到HDMI線纜插入而沒有檢測(cè)到HDMI設(shè)備時(shí),跳轉(zhuǎn)到Free_run狀態(tài)。
3.3 MIPI時(shí)鐘的設(shè)置
處理器i.MX6中集成的MIPI DPHY的最大串行數(shù)據(jù)速率為80 MHz~1 GHz,它必須與ADV7481的MIPI DPHY數(shù)據(jù)速率相匹配,否則MIPI_CSI錯(cuò)誤狀態(tài)寄存器會(huì)報(bào)出“Start of
Transmission Error on Data Lane”。當(dāng)兩者的速率相匹配時(shí),MIPI_CSI_ERR1的值為0x0,當(dāng)速率不匹配發(fā)生錯(cuò)誤時(shí),MIPI_CSL_ERR1為0x3。
ADV7481的數(shù)據(jù)速率取決于輸入視頻圖像的像素時(shí)鐘,每像素的比特?cái)?shù)和通道數(shù)。為了匹配ADV7481的數(shù)據(jù)輸出速率,必需設(shè)置MIPI_CSI_PHY_TST_CTRL1寄存器值。設(shè)置如下的結(jié)構(gòu)體和數(shù)組。
3.4 幀速率的設(shè)置
幀速率(FPS)與像素時(shí)鐘(Fpixel_clk),視頻的分辨率和行列消隱三個(gè)參數(shù)有關(guān)。利用adv748x_get_fps()函數(shù)獲得像素時(shí)鐘為Fpixel_clk,通過748x_get_input_info()函數(shù)可以獲取視頻額分辨率為Width*Height,行列消隱為HBP、HFP、VBP和VFP等信息。利用公式(1)計(jì)算幀速率。
FPS=FPXCLK/(HBP+WIDTH+HFP)*(VBP+HEIGHT+VFP) (1)
4 系統(tǒng)功能測(cè)試
系統(tǒng)的功能測(cè)試包括兩個(gè)部分:MHL格式數(shù)據(jù)輸入的功能測(cè)試,這是本文設(shè)計(jì)的關(guān)鍵功能;HDMI格式數(shù)據(jù)輸入的功能測(cè)試。
4.1 輸入MHL格式數(shù)據(jù)的功能測(cè)試
在MHL格式數(shù)據(jù)源功能測(cè)試時(shí),以聯(lián)想公司生產(chǎn)的型號(hào)為K860I的智能手機(jī)作為數(shù)據(jù)源終端,輸入到車載音視頻系統(tǒng)中,進(jìn)行音視頻功能測(cè)試。
實(shí)際功能測(cè)試效果圖如圖7所示。系統(tǒng)上電后,黃色指示燈亮,表示MHL數(shù)據(jù)源輸入。依次對(duì)設(shè)計(jì)的車載音視頻系統(tǒng)進(jìn)行了音頻、圖片、音視頻、應(yīng)用程序4個(gè)方面進(jìn)行測(cè)試,測(cè)試結(jié)論如下:
1)手機(jī)播放歌曲時(shí),在外接的耳機(jī)中能夠聽到清晰的音樂,音頻滿足預(yù)期設(shè)計(jì)要求。
2)手機(jī)查看圖片時(shí),能從LCD屏幕中看到清晰的圖片,實(shí)現(xiàn)雙屏互動(dòng),滿足預(yù)期設(shè)計(jì)要求。
3)手機(jī)播放音視頻時(shí),也可從LCD屏幕中看到連續(xù)的視頻,同時(shí)從外接的耳機(jī)聽到同步的聲音,實(shí)現(xiàn)信息娛樂功能,滿足預(yù)期設(shè)計(jì)要求。
4)手機(jī)使用百度地圖軟件時(shí),能夠在LCD屏實(shí)時(shí)顯示。啟動(dòng)軟件中導(dǎo)航功能時(shí),能夠?yàn)轳{駛員提供地圖導(dǎo)航、語音導(dǎo)航和實(shí)時(shí)路況信息,滿足預(yù)期設(shè)計(jì)要求。
4.2 輸入HDMI格式數(shù)據(jù)的功能測(cè)試
文中設(shè)計(jì)的系統(tǒng)還兼容HDMI接口。以戴爾公司生產(chǎn)的型號(hào)為V1450的筆記本作為HDMI格式數(shù)據(jù)源輸入到系統(tǒng)進(jìn)行功能測(cè)試,實(shí)際功能測(cè)試圖如圖8所示。系統(tǒng)設(shè)計(jì)的HDMI接口,支持800*600像素。將筆記本的分辨率設(shè)置成800*600,在LCD屏幕上能夠顯示筆記本的桌面,滿足設(shè)計(jì)要求。
5 結(jié)論
隨著國(guó)內(nèi)外汽車行業(yè)發(fā)展迅猛,各類車載電子設(shè)備及其應(yīng)用技術(shù)的發(fā)展也日新月異,成為工業(yè)界研究的熱點(diǎn)。本文正是基于這一需求,對(duì)車載的音視頻系統(tǒng)進(jìn)行深入研究,采用飛思卡爾半導(dǎo)體i.MX6,結(jié)合新穎的MHL協(xié)議,開發(fā)設(shè)計(jì)出一款可利用手機(jī)音視頻資源的車載音視頻系統(tǒng)。[!--empirenews.page--]
對(duì)系統(tǒng)整體功能進(jìn)行測(cè)試,以智能手機(jī)作為MHL格式數(shù)據(jù)源終端,接入車載系統(tǒng)后,經(jīng)處理在LCD屏幕上實(shí)時(shí)顯示來自手機(jī)的圖像或視頻,并能實(shí)現(xiàn)多屏互動(dòng),耳機(jī)可聽到同步的聲音,同時(shí)可將手機(jī)中的娛樂、地圖、導(dǎo)航等應(yīng)用軟件完美地融入到車載系統(tǒng),并能提供移動(dòng)設(shè)備充電解決方案,達(dá)到預(yù)期效果,滿足設(shè)計(jì)要求。同時(shí)系統(tǒng)還能實(shí)現(xiàn)常規(guī)HDMI輸入接口,豐富了數(shù)據(jù)源類型,提高了系統(tǒng)的兼容性和使用價(jià)值,具有較高的經(jīng)濟(jì)效益。