全液晶顯示車(chē)載交互式信息系統(tǒng)方案
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 引言
汽車(chē)儀表是駕駛員與汽車(chē)進(jìn)行信息交流的重要接口,為駕駛員提供汽車(chē)運(yùn)行參數(shù)、故障等信息,使駕駛員可以方便、全面地掌握汽車(chē)運(yùn)行狀態(tài),有利于提高駕駛的舒適性和安全性。隨著汽車(chē)工業(yè)的蓬勃發(fā)展,汽車(chē)的附屬功能越來(lái)越豐富,汽車(chē)儀表需要顯示的內(nèi)容也越來(lái)越多。薄膜晶體管液晶顯示器(TFT—LCD)是數(shù)字終端顯示最理想的顯示器件之一,而將液晶顯示技術(shù)應(yīng)用于現(xiàn)代汽車(chē)儀表,構(gòu)建全液晶顯示車(chē)載交互式信息系統(tǒng)已成為汽車(chē)儀表系統(tǒng)發(fā)展的必然趨勢(shì)。目前,豐田、福特、奧迪等汽車(chē)生產(chǎn)廠家已經(jīng)推出了帶有全數(shù)字液晶儀表的車(chē)型。
本文基于ADI公司的DSP芯片ADSPBF536和SHARP公司的液晶模塊LQ104V1一DG52,設(shè)計(jì)了液晶顯示車(chē)載信息系統(tǒng),給出了總體設(shè)計(jì)方案并設(shè)計(jì)了DSP芯片與液晶模塊的接口電路,編寫(xiě)了液晶顯示、flash等模塊的驅(qū)動(dòng)程序,分析了液晶模塊控制信號(hào)時(shí)序波形,進(jìn)行了汽車(chē)信息顯示實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,液晶屏顯示內(nèi)容清晰、穩(wěn)定,達(dá)到了設(shè)計(jì)要求。
2 硬件設(shè)計(jì)
2.1 系統(tǒng)總體設(shè)計(jì)
如圖1所示,車(chē)載信息系統(tǒng)主要包括主控制芯片、帶觸摸屏的LCD數(shù)字儀表、外擴(kuò)SDRAM芯片、外部FLASH芯片以及分布在CAN總線上的不同節(jié)點(diǎn),這些節(jié)點(diǎn)就是分布在汽車(chē)上的分控制器。
圖1 總體結(jié)構(gòu)框圖
2.2 主控制芯片
TFT-LCD需要控制信號(hào)按照一定的控制時(shí)序進(jìn)行驅(qū)動(dòng)一種成本較高的驅(qū)動(dòng)方案是用單片機(jī)、SRAM和專用液晶驅(qū)動(dòng)芯片組合構(gòu)成系統(tǒng)驅(qū)動(dòng)液晶屏。為降低液晶屏驅(qū)動(dòng)成本,本方案選用ADI公司的Blackfin系列DSPADSP—BF536作為系統(tǒng)的主控芯片。Blackfin系列處理器是ADI和Intel公司聯(lián)合開(kāi)發(fā)的微信號(hào)架構(gòu)(MSA)DSP,它將一個(gè)32位RISC型指令集和雙16位乘法累加(MAC)信號(hào)處理器功能與通用型微控制器所具有的易用性組合在了一起。BF536作為Blackfin系列DSP中的一員,具有高達(dá)400MHz的主頻,內(nèi)核供電電壓低至1.2V;具有3個(gè)16位MAC,2個(gè)40位ALU,4個(gè)8位視頻專用ALU;擁有高達(dá)102kB的片內(nèi)存儲(chǔ)器,包括16kB指令SRAM/Cache、48kB指令SRAM、32kB數(shù)據(jù)SRAM/Cache和4kB中間存儲(chǔ)器。
BF536還擁有豐富的外設(shè)資源,包括10/100以太網(wǎng)MAC接口;CAN2.0B接口;一個(gè)SPI接口;TwI接口控制器;并行口(PPI),支持IUT-R656視頻模式;全同步串口SPORT;2個(gè)UART口;12通道DMA控制器,包括兩個(gè)存儲(chǔ)器到存儲(chǔ)器DMA通道。
2.3 LED接口電路設(shè)計(jì)
本系統(tǒng)所選用的TFT-LCD是SHARP公司的LQ104V1DG52,具有26.5cm(10.4in)顯示尺寸,640×480分辨率,18位數(shù)據(jù)信號(hào)位(RGB每種顏色6位),26萬(wàn)色。本方案利用BF536的PPI外設(shè)與液晶屏之間接口。BF536的PPI外設(shè)有20個(gè)引腳,每個(gè)時(shí)鐘周期可完成16位數(shù)據(jù)的收發(fā),而液晶屏的數(shù)據(jù)寬度為18位,設(shè)計(jì)中將PD接到BEo],PD接到RE0],實(shí)現(xiàn)了數(shù)據(jù)寬度的匹配。PPI—CLK引腳外接25MHz有源晶振,3個(gè)同步幀輸出引腳FS1、FS2、FS3分別接LCD的Hsync、Vsync、ENAB引腳,并使ENAB控制信號(hào)置低。為增強(qiáng)信號(hào)驅(qū)動(dòng)能力,在BF536的PPI外設(shè)與液晶屏之間用SN74AHC245橋接。
另外,為液晶屏配備了四線電阻式觸摸屏,在實(shí)現(xiàn)顯示功能的基礎(chǔ)上增加了觸摸控制功能。由于BF536沒(méi)有ADC外設(shè),所以選用TI公司生產(chǎn)的觸摸屏驅(qū)動(dòng)芯片ADS7846來(lái)實(shí)現(xiàn)觸摸屏驅(qū)動(dòng),ADS7846將觸摸屏信號(hào)送至BF536的SPI外設(shè)。
BF536與液晶屏的接口電路如圖2所示。
2.4 SPIFLASH
ADSP-BF536沒(méi)有片內(nèi)FLASH,需要外接FLASH芯片實(shí)現(xiàn)程序的固化和引導(dǎo)程序的存儲(chǔ)。BF536程序加載模式多達(dá)7種,本系統(tǒng)選用SPIMaster方式,即系統(tǒng)復(fù)位后,通過(guò)SPI接口從串行FLASH加載程序至RAM。FIASH芯片選用ST公司的M25P64,它是SPI接口的串行FLASH,具有64Mbit存儲(chǔ)容量,SPI時(shí)鐘頻率最高可達(dá)5OMHz。采用SPI接口的FLASH芯片面積小且與BF536接口簡(jiǎn)單,減小了電路板設(shè)計(jì)的難度,其缺點(diǎn)是采用串行傳輸機(jī)制,在傳輸數(shù)據(jù)量較大時(shí)速度較慢。
2.5 外擴(kuò)SDIM
要使液晶屏的顯示穩(wěn)定就需要對(duì)液晶屏按時(shí)序循環(huán)發(fā)送顯示數(shù)據(jù),即進(jìn)行掃屏操作。一般做法是在存儲(chǔ)器內(nèi)開(kāi)辟一定空間暫存顯示數(shù)據(jù),然后將此空間內(nèi)的數(shù)據(jù)循環(huán)向液晶屏發(fā)送。一般微處理器片內(nèi)的RAM都很小,無(wú)法為高分辨率的LCD提供顯示數(shù)據(jù)緩存區(qū),這就需要外擴(kuò)RAM。
相比于SRAM,SDRAM存在存取速度慢、需要對(duì)數(shù)據(jù)不斷進(jìn)行刷新及控制信號(hào)復(fù)雜的缺點(diǎn);但SDRAM容量一般較大,價(jià)格便宜。另外,ADSP—BF536片內(nèi)帶有SDRAM控制器,可以實(shí)現(xiàn)SDRAM的復(fù)雜邏輯控制,設(shè)計(jì)者只需要對(duì)該寄存器模塊正確配置后,就能像訪問(wèn)片內(nèi)RAM一樣訪問(wèn)它,故本系統(tǒng)選用Micron公司的SDRAMT48LC32M16A2作為外擴(kuò)存儲(chǔ)器完成顯示數(shù)據(jù)的暫存。該芯片具有512Mbit的存儲(chǔ)容量,最高可達(dá)133MHz的時(shí)鐘頻率。
3 軟件設(shè)計(jì)
系統(tǒng)軟件由FLASH燒寫(xiě)驅(qū)動(dòng)文件、初始化程序和主程序3個(gè)獨(dú)立的程序構(gòu)成。SPIFLASH燒寫(xiě)驅(qū)動(dòng)文件(BF536一SPI—Programmer_Driver)在ADIDSP集成開(kāi)發(fā)環(huán)境VisualDSP++中配置生成,其作用是在主程序調(diào)試完畢后,完成主程序在FALSH中的固化。初始化程序是在調(diào)用主程序之前首先調(diào)用的一個(gè)小程序,相當(dāng)于BIOS,其作用是完成DSP芯片時(shí)鐘及部分模塊的初始化,使得SDRAM正常工作,并引導(dǎo)主程序的載人。
主程序是用戶根據(jù)需求開(kāi)發(fā)并調(diào)試通過(guò)的應(yīng)用程序,其完成各外設(shè)模塊及中斷的配置,完成數(shù)據(jù)的操作及對(duì)液晶屏的時(shí)序控制。
3.1 LCD驅(qū)動(dòng)軟件設(shè)計(jì)
LCD驅(qū)動(dòng)軟件的設(shè)計(jì)包括LCD控制信號(hào)時(shí)鐘設(shè)置、BF536PPI模塊和DMA模塊的初始化3部分。另外,為使畫(huà)面顯示穩(wěn)定,需要在外擴(kuò)SDRAM中開(kāi)辟圖像數(shù)據(jù)暫存空間供DSP循環(huán)讀寫(xiě)。
3.1.1 配置控制信號(hào)時(shí)鐘
ADSP—BF536芯片沒(méi)有LCD控制器外設(shè),而液晶屏模塊LQ104V1DG52具有4個(gè)控制信號(hào)輸入端,分別為CLK、ENAB、Hsync和Vsync,4個(gè)控制信號(hào)必須滿足一定時(shí)序要求才能實(shí)現(xiàn)LCD的正確驅(qū)動(dòng)。本方案中,LCD的4個(gè)控制信號(hào)都由BF536的PPI模塊提供:PPI—CLK輸出接LCDCLK輸入;配置BF536FS1/timer0和FS2/timerl引腳為輸出,分別接Hsync和Vsync;FS3引腳配置為普通I/O管腳,接LCDENAB,正常工作條件下置低。配置Timer0為PWM輸出模式,PWM周期為850個(gè)CLK,脈沖寬度為96個(gè)CLK;配置Timerl為PWM輸出模式,周期為446250個(gè)CLK,脈沖寬度為1700個(gè)CLK。PWM信號(hào)周期及脈沖寬度的確定都是通過(guò)查詢手冊(cè)得到的,實(shí)際試驗(yàn)證明此配置是正確的。
3.1.2 BF536PPI模塊初始化
由液晶屏的控制時(shí)序可知,ENAB信號(hào)置低時(shí),液晶屏在監(jiān)測(cè)到同步幀信號(hào)沿后計(jì)數(shù)104個(gè)時(shí)鐘,然后開(kāi)始讀寫(xiě)有效數(shù)據(jù),讀完640個(gè)行有效數(shù)據(jù)后等待下一個(gè)行同步幀信號(hào)。這種特性是由其自身的硬件機(jī)制決定的。ADSP—BF536的PPI模塊有ITUR一656和General—PurposePPI兩種工作模式。系統(tǒng)正常工作時(shí),DSP需要從PPI模塊把顯示數(shù)據(jù)打出,這里我們配置PPI為General—PurposePPI模式模塊。設(shè)置PPICOUNT一639,即DSP每行同步幀輸出數(shù)據(jù)量為640;設(shè)置PPI~DELAY一104,在PPI發(fā)送同步幀信號(hào)104個(gè)時(shí)鐘后啟動(dòng)DMA傳輸,將數(shù)據(jù)打到數(shù)據(jù)線上;設(shè)置PPI—FS1和PPI—FS2為下降沿有效。
3.1.3 開(kāi)辟數(shù)據(jù)暫存空間
如前所述,為實(shí)現(xiàn)液晶屏的可靠掃屏,本方案采用外擴(kuò)SDRAM的方法,在SDRAM中開(kāi)辟一定存儲(chǔ)空間暫存顯示數(shù)據(jù),然后將此空間中的數(shù)據(jù)循環(huán)向液晶屏發(fā)送。在SDRAM中定義ZONE1和ZONE2兩塊數(shù)據(jù)暫存空間,每塊大小為640X(480+34+11),單位數(shù)據(jù)寬度16位。
定義并初始一個(gè)全局變量DatabuferFlag為0作為標(biāo)志,發(fā)送程序查詢此標(biāo)志并根據(jù)此標(biāo)志的值決定發(fā)送ZONE1還是ZONE2中的數(shù)據(jù)。在DSP收到外部中斷信號(hào)(按鍵、觸摸屏、CAN等)時(shí),DatabufferFlag值改變,DSP向當(dāng)前存儲(chǔ)區(qū)內(nèi)寫(xiě)數(shù)據(jù),并將另一存儲(chǔ)區(qū)內(nèi)數(shù)據(jù)發(fā)送至液晶屏,如此循環(huán)。ZONE1包括data—buf、inv—front1、inv—last13個(gè)存儲(chǔ)區(qū),ZONE2包括data—buf2、inv—front2、inv_last23個(gè)存儲(chǔ)區(qū),其中data—bufl、data—buf2存儲(chǔ)有效發(fā)送數(shù)據(jù)。通過(guò)section(”sdram0”)指令定義這些存儲(chǔ)區(qū)在SDRAM中的起始地址和長(zhǎng)度。配置inv—last1、inv—last2DMA中斷,即緩沖區(qū)中的數(shù)據(jù)發(fā)送完畢后,會(huì)產(chǎn)生一個(gè)中斷。圖3為SDRAM中數(shù)據(jù)暫存區(qū)示意圖。
3.1.4 DMA模塊初始化
因?yàn)镈MA控制器配置方便、靈活,所以AI)_SP—BF536的很多外設(shè)都采用DMA方式傳輸數(shù)據(jù)。本方案中配置DMA為二維DMA大描述符模式(Largemode1)。采用大描述符模式的優(yōu)點(diǎn)是可以將幾個(gè)不連續(xù)的存儲(chǔ)區(qū)鏈接起來(lái),可以實(shí)現(xiàn)不連續(xù)存儲(chǔ)區(qū)的連續(xù)數(shù)據(jù)傳輸。將需要設(shè)置的DMA幾個(gè)寄存器定義為一個(gè)結(jié)構(gòu)體,描述如下:
3.2 ID顯示主程序設(shè)計(jì)
DSP完成系統(tǒng)初始化后,進(jìn)入LCD顯示主程序。DSP通過(guò)PPI外設(shè)將數(shù)據(jù)暫存區(qū)ZONE1或ZONE2中的數(shù)據(jù)發(fā)送至液晶屏,圖像保持不變。發(fā)生外部中斷時(shí),DataBuferFlag的值改變,修改描述符指針,啟動(dòng)另一數(shù)據(jù)暫存區(qū)的DMA傳輸。程序流程圖如圖4所示。
4 顯示實(shí)驗(yàn)
為驗(yàn)證方案的可行性,我們制作了控制器樣機(jī)并進(jìn)行了液晶屏顯示實(shí)驗(yàn)。圖5為系統(tǒng)上電,BF536從外部FLASH載入引導(dǎo)程序初始化系統(tǒng)后,調(diào)用保存在FLASH中的車(chē)載信息圖像數(shù)據(jù)并在液晶屏上進(jìn)行顯示的照片??梢钥闯?,液晶屏可以顯示車(chē)速、油量、安全帶情況等各種信息,顯示內(nèi)容清晰、穩(wěn)定。
圖5 汽車(chē)信息顯示實(shí)驗(yàn)照片 5 結(jié)論 采用液晶屏顯示汽車(chē)運(yùn)行信息將成為下一代汽車(chē)儀表的主流。本設(shè)計(jì)采用DSP芯片與液晶屏為主要器件構(gòu)建了一種全液晶顯示的車(chē)載信息系統(tǒng),在新型汽車(chē)儀表開(kāi)發(fā)方面進(jìn)行了探索研究。該車(chē)載信息系統(tǒng)目前已經(jīng)基本完成了系統(tǒng)的硬件部分調(diào)試和基本的軟件設(shè)計(jì),實(shí)際的性能測(cè)試和實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)顯示清晰穩(wěn)定,效果良好。