文/王濤 曹峰 楊粵濤 鐘海林
汽車儀表是駕駛員與汽車進行信息交流的重要接口和界面,對汽車的安全與經濟行駛起著重要的作用。近年來,隨著汽車電子技術的不斷發展,汽車儀表板上顯示的信息不斷增加,傳統的機械指針式汽車組合儀表越來越無法滿足使用的需要,特別是計算機、微電子和各種現場總線通信技術的廣泛應用,以嵌入式微處理器為核心的智能化數字式儀表將是汽車儀表發展的必然趨勢。本文采用i.MX6Q+MCU的平臺架構,利用i.MX6Q內部集成的ARM處理器、GPU圖形生成器以及其他控制器,實現車載全液晶虛擬儀表的圖形生成,并且通過MCU實現i.MX6Q和外部設備的信息通訊。
該平臺主要用于完成車載全液晶虛擬數字式儀表的功能,用以代替傳統的機械表,該平臺架構如圖1所示。
該平臺采用雙處理器結構,即i.MX6Q+MCU的架構,硬件主要包括以下單位:
(1)i.MX6Q主控系統選用Freescale公司的i.MX6系列的處理器,該處理器為A9核,主頻可達1GHz,內嵌2D/3D圖形硬件加速器,主要完成LCD顯示功能。
(2)MCU控制系統使用Freescale公司的S9KEAZ128AMLH芯片作為協處理器,完成外圍接口的處理和各種信息量的采集,將采集到的模擬量、離散量等數據通過UART或I2C通信接口上報給i.MX6Q系統。

表1:啟動模式
(3)LCD 作為人機交互界面,完成各種信息和操作菜單的顯示。
(4)采用核心板+擴展板的設計理念進行設計,可便于核心板核心器件i.MX系列芯片的更新換代。
該平臺采用i.MX6Q+MCU的架構,主要考慮到以下幾個方面的優勢和需求:
(1)采用i.MX6Q+MCU的架構,可以將圖形和通訊分開處理。i.MX6Q是Freescale公司最新推出的一款高性能、低功耗的多媒體處理器,優秀的圖形處理能力使在本設計中能夠完美勝任圖形處理的任務,同時i.MX6Q也具有3D顯示的功能,可使液晶儀表界面豐富多彩。而S9KEAZ128AMLH作為freescale推出的一款成本比較低廉的處理器,同樣能夠勝任通訊處理的任務,從性價比的角度看,這樣的搭配性價比比較高。同時采用i.MX6Q+MCU的架構,可以大大的降低i.MX6Q的負擔,使得作圖、通訊兩不誤,從而使i.MX6Q獲得最佳的作圖性能。
(2)采用i.MX6Q+MCU的架構,能夠有效的防止電磁干擾。車載設備的研制,首要滿足的條件便是高穩定性。做出來的設計得經得住強電磁干擾的考驗,假如不采用i.MX6Q+MCU的架構,單獨用一片i.MX6Q來承擔作圖和通訊的任務,當汽車經過強電磁環境的時候,外部送到i.MX6Q的數據可能出現錯誤,可能導致i.MX6Q無法正常工作,液晶虛擬儀表可能會出現黑屏的現象。而采用i.MX6Q+MCU的架構,能夠有效的防止電磁干擾,外部送到MCU的數據即使受到干擾,有些通訊數據出現錯誤,但是i.MX6Q的畫面不會消失,不致于黑屏,在這個過程中,MCU相當于起到了一個緩沖的作用。
(3)采用i.MX6Q+MCU的架構,可以豐富接口需求。i.MX6Q沒有A/D采樣的接口,而KEA128(即MCU)則有A/D采樣接口,因此使用i.MX6Q+MCU的架構可以豐富接口需求。
本平臺采用i.MX6Q+MCU的架構,核心板+擴展板的設計理念。由i.MX6Q組成核心板最小系統,通過擴展板豐富一系列接口,例如:CAN總線、串口、網口等。iMX6Q只負責作圖,MCU負責通訊處理,iMX6Q和MCU通過串口或者I2C實現通訊互聯。基于i.MX6Q的車載全液晶虛擬儀表平臺原理框圖如圖2所示。
多媒體處理器i.MX6Q是核心平臺中的關鍵電路,本文使用的是Freescale公司的i.MX6Q系列多媒體處理器PCIMX6Q6VV1A,它具有4個Coretex-A9的ARM核,CPU最高頻率為1.2GHz,GPU型號為3D vivante GC 2000,最高像素時鐘為532Mpixels/sec,共有5個端口,包括2個并行輸出口,2個LVDS端口,1個HDMI接口,一個MIPI/DSI接口,最多同時4個端口有效。支持一路USB 2.0 OTG,一路PCIe x1總線接口,五個UART接口,支持以太網接口。
設計中,還需要注意i.MX6Q的上電配置電路,能夠實現i.MX6Q從不同的存儲介質中引導操作系統的啟動。i.MX6Q多媒體處理器支持四種啟動模式,如表1所示的,這些啟動模式的選擇由外部芯片引腳通過跳線帽選擇外部上下拉,即接地或者接電源,從而實現啟動模式的選擇。可用的啟動模式為Boot From Fuses、Serial Downloader與Internal Boot三種模式。
當BOOT_MODE[1:0]=0x00b,該模式為Boot From Fuses,此模式基本與在Internal Boot模 式(BOOT_MODE[1:0]=0x10b)相似,唯一區別之處在于Boot From Fuses模式下GPIO啟動覆蓋引腳狀態被或略,啟動ROM code僅使用boot eFUSE設置。Boot From Fuses模式啟動流程由BT_FUSE_SEL的eFUSE值控制。如果BT_FUSE_SEL=0,表明該啟動設備介質(如Flash,SD/MMC)還沒有被擦寫過,啟動流程自動跳轉到Serial Downloader燒寫模式(BOOT_MODE[1:0]=0x01b)處理。如果BT_FUSE_SEL=1,執行該模式下正常的啟動流程,從相應啟動設備存儲介質讀取u-boot進行板級初始化并引導Linux操作系統。
上電啟動模式選定后,i.MX6Q從配置電路指定的外部設備中引導操作系統啟動。設計中,使用的上電啟動設備為NAND FLASH,用于存儲uboot、內核系統和文件系統。
設計中,MCU電路采用Freescale公司的S9KEAZ128AMLH芯片,電路設計如圖3所示。
本設計中,外部輸入的電源為+24V的電池電源,采用兩路獨立的24V轉5V電路,這是為了迎合低功耗的要求。供給MCU使用的+5V,即使汽車熄火,也能通過+24V的電池繼續供電。但是供給i.MX6、EPROM、串口、A/D、離散量、PWM、LCD屏、輸出外部所用+5V,則是通過MCU來控制這些電源是否供電。當汽車熄火后,MCU通過CAN總線檢測到汽車熄火的信號,隨即通過MCU來關斷這些電源,此時整個車載全液晶虛擬儀表處于低功耗狀態。當汽車啟動后,MCU通過CAN總線檢測到汽車啟動的信號,隨即通過MCU來啟動這些電源,此時整個車載全液晶虛擬儀表處于高功耗狀態。
該平臺以多媒體處理器i.MX6Q為核心配合KEA128車載通信處理器搭建硬件平臺。通過實驗調試,該平臺可實現車載模擬量、開關量信號及CAN報文實時處理,和1280×420分辨率的車載畫面實時顯示。

圖1:基于i.MX6Q的車載全液晶虛擬儀表平臺架構圖

圖2:基于i.MX6Q的車載全液晶虛擬儀表平臺原理框圖

圖3:MCU電路