利用DSP芯片和液晶模块实现液晶显示车载信息系统的设计

描述

1  引言

汽车仪表是驾驶员与汽车进行信息交流的重要接口,为驾驶员提供汽车运行参数、故障等信息,使驾驶员可以方便、全面地掌握汽车运行状态,有利于提高驾驶的舒适性和安全性。随着汽车工业的蓬勃发展,汽车的附属功能越来越丰富,汽车仪表需要显示的内容也越来越多。薄膜晶体管液晶显示器(TFT—LCD)是数字终端显示最理想的显示器件之一,而将液晶显示技术应用于现代汽车仪表,构建全液晶显示车载交互式信息系统已成为汽车仪表系统发展的必然趋势。目前,丰田、福特、奥迪等汽车生产厂家已经推出了带有全数字液晶仪表的车型。

本文基于ADI公司的DSP芯片ADSPBF536和SHARP公司的液晶模块LQ104V1一DG52,设计了液晶显示车载信息系统,给出了总体设计方案并设计了DSP芯片与液晶模块的接口电路,编写了液晶显示、flash等模块的驱动程序,分析了液晶模块控制信号时序波形,进行了汽车信息显示实验。实验结果表明,液晶屏显示内容清晰、稳定,达到了设计要求。

2  硬件设计

2.1 系统总体设计

如图1所示,车载信息系统主要包括主控制芯片、带触摸屏的LCD数字仪表、外扩SDRAM芯片、外部FLASH芯片以及分布在CAN总线上的不同节点,这些节点就是分布在汽车上的分控制器。

芯片

2.2 主控制芯片

TFT-LCD需要控制信号按照一定的控制时序进行驱动一种成本较高的驱动方案是用单片机、SRAM和专用液晶驱动芯片组合构成系统驱动液晶屏。为降低液晶屏驱动成本,本方案选用ADI公司的Blackfin系列DSPADSP—BF536作为系统的主控芯片。Blackfin系列处理器是ADI和Intel公司联合开发的微信号架构(MSA)DSP,它将一个32位RISC型指令集和双16位乘法累加(MAC)信号处理器功能与通用型微控制器所具有的易用性组合在了一起。BF536作为Blackfin系列DSP中的一员,具有高达400MHz的主频,内核供电电压低至1.2V;具有3个16位MAC,2个40位ALU,4个8位视频专用ALU;拥有高达102kB的片内存储器,包括16kB指令SRAM/Cache、48kB指令SRAM、32kB数据SRAM/Cache和4kB中间存储器。

BF536还拥有丰富的外设资源,包括10/100以太网MAC接口;CAN2.0B接口;一个SPI接口;TwI接口控制器;并行口(PPI),支持IUT-R656视频模式;全同步串口SPORT;2个UART口;12通道DMA控制器,包括两个存储器到存储器DMA通道。

2.3 LED接口电路设计

本系统所选用的TFT-LCD是SHARP公司的LQ104V1DG52,具有26.5cm(10.4in)显示尺寸,640×480分辨率,18位数据信号位(RGB每种颜色6位),26万色。本方案利用BF536的PPI外设与液晶屏之间接口。BF536的PPI外设有20个引脚,每个时钟周期可完成16位数据的收发,而液晶屏的数据宽度为18位,设计中将PD接到BEo],PD接到RE0],实现了数据宽度的匹配。PPI—CLK引脚外接25MHz有源晶振,3个同步帧输出引脚FS1、FS2、FS3分别接LCD的Hsync、Vsync、ENAB引脚,并使ENAB控制信号置低。为增强信号驱动能力,在BF536的PPI外设与液晶屏之间用SN74AHC245桥接。

另外,为液晶屏配备了四线电阻式触摸屏,在实现显示功能的基础上增加了触摸控制功能。由于BF536没有ADC外设,所以选用TI公司生产的触摸屏驱动芯片ADS7846来实现触摸屏驱动,ADS7846将触摸屏信号送至BF536的SPI外设。

BF536与液晶屏的接口电路如图2所示。

芯片

2.4 SPIFLASH

ADSP-BF536没有片内FLASH,需要外接FLASH芯片实现程序的固化和引导程序的存储。BF536程序加载模式多达7种,本系统选用SPIMaster方式,即系统复位后,通过SPI接口从串行FLASH加载程序至RAM。FIASH芯片选用ST公司的M25P64,它是SPI接口的串行FLASH,具有64Mbit存储容量,SPI时钟频率最高可达5OMHz。采用SPI接口的FLASH芯片面积小且与BF536接口简单,减小了电路板设计的难度,其缺点是采用串行传输机制,在传输数据量较大时速度较慢。

2.5 外扩SDIM

要使液晶屏的显示稳定就需要对液晶屏按时序循环发送显示数据,即进行扫屏操作。一般做法是在存储器内开辟一定空间暂存显示数据,然后将此空间内的数据循环向液晶屏发送。一般微处理器片内的RAM都很小,无法为高分辨率的LCD提供显示数据缓存区,这就需要外扩RAM。

相比于SRAM,SDRAM存在存取速度慢、需要对数据不断进行刷新及控制信号复杂的缺点;但SDRAM容量一般较大,价格便宜。另外,ADSP—BF536片内带有SDRAM控制器,可以实现SDRAM的复杂逻辑控制,设计者只需要对该寄存器模块正确配置后,就能像访问片内RAM一样访问它,故本系统选用Micron公司的SDRAMT48LC32M16A2作为外扩存储器完成显示数据的暂存。该芯片具有512Mbit的存储容量,最高可达133MHz的时钟频率。

3  软件设计

系统软件由FLASH烧写驱动文件、初始化程序和主程序3个独立的程序构成。SPIFLASH烧写驱动文件(BF536一SPI—Programmer_Driver)在ADIDSP集成开发环境VisualDSP++中配置生成,其作用是在主程序调试完毕后,完成主程序在FALSH中的固化。初始化程序是在调用主程序之前首先调用的一个小程序,相当于BIOS,其作用是完成DSP芯片时钟及部分模块的初始化,使得SDRAM正常工作,并引导主程序的载人。

主程序是用户根据需求开发并调试通过的应用程序,其完成各外设模块及中断的配置,完成数据的操作及对液晶屏的时序控制。

3.1 LCD驱动软件设计

LCD驱动软件的设计包括LCD控制信号时钟设置、BF536PPI模块和DMA模块的初始化3部分。另外,为使画面显示稳定,需要在外扩SDRAM中开辟图像数据暂存空间供DSP循环读写。

3.1.1 配置控制信号时钟

ADSP—BF536芯片没有LCD控制器外设,而液晶屏模块LQ104V1DG52具有4个控制信号输入端,分别为CLK、ENAB、Hsync和Vsync,4个控制信号必须满足一定时序要求才能实现LCD的正确驱动。本方案中,LCD的4个控制信号都由BF536的PPI模块提供:PPI—CLK输出接LCDCLK输入;配置BF536FS1/timer0和FS2/timerl引脚为输出,分别接Hsync和Vsync;FS3引脚配置为普通I/O管脚,接LCDENAB,正常工作条件下置低。配置Timer0为PWM输出模式,PWM周期为850个CLK,脉冲宽度为96个CLK;配置Timerl为PWM输出模式,周期为446250个CLK,脉冲宽度为1700个CLK。PWM信号周期及脉冲宽度的确定都是通过查询手册得到的,实际试验证明此配置是正确的。

3.1.2 BF536PPI模块初始化

由液晶屏的控制时序可知,ENAB信号置低时,液晶屏在监测到同步帧信号沿后计数104个时钟,然后开始读写有效数据,读完640个行有效数据后等待下一个行同步帧信号。这种特性是由其自身的硬件机制决定的。ADSP—BF536的PPI模块有ITUR一656和General—PurposePPI两种工作模式。系统正常工作时,DSP需要从PPI模块把显示数据打出,这里我们配置PPI为General—PurposePPI模式模块。设置PPICOUNT一639,即DSP每行同步帧输出数据量为640;设置PPI~DELAY一104,在PPI发送同步帧信号104个时钟后启动DMA传输,将数据打到数据线上;设置PPI—FS1和PPI—FS2为下降沿有效。

3.1.3 开辟数据暂存空间

如前所述,为实现液晶屏的可靠扫屏,本方案采用外扩SDRAM的方法,在SDRAM中开辟一定存储空间暂存显示数据,然后将此空间中的数据循环向液晶屏发送。在SDRAM中定义ZONE1和ZONE2两块数据暂存空间,每块大小为640X(480+34+11),单位数据宽度16位。

定义并初始一个全局变量DatabuferFlag为0作为标志,发送程序查询此标志并根据此标志的值决定发送ZONE1还是ZONE2中的数据。在DSP收到外部中断信号(按键、触摸屏、CAN等)时,DatabufferFlag值改变,DSP向当前存储区内写数据,并将另一存储区内数据发送至液晶屏,如此循环。ZONE1包括data—buf、inv—front1、inv—last13个存储区,ZONE2包括data—buf2、inv—front2、inv_last23个存储区,其中data—bufl、data—buf2存储有效发送数据。通过section(”sdram0”)指令定义这些存储区在SDRAM中的起始地址和长度。配置inv—last1、inv—last2DMA中断,即缓冲区中的数据发送完毕后,会产生一个中断。图3为SDRAM中数据暂存区示意图。

芯片

芯片

3.1.4 DMA模块初始化

因为DMA控制器配置方便、灵活,所以AI)_SP—BF536的很多外设都采用DMA方式传输数据。本方案中配置DMA为二维DMA大描述符模式(Largemode1)。采用大描述符模式的优点是可以将几个不连续的存储区链接起来,可以实现不连续存储区的连续数据传输。将需要设置的DMA几个寄存器定义为一个结构体,描述如下:

芯片

3.2 ID显示主程序设计

DSP完成系统初始化后,进入LCD显示主程序。DSP通过PPI外设将数据暂存区ZONE1或ZONE2中的数据发送至液晶屏,图像保持不变。发生外部中断时,DataBuferFlag的值改变,修改描述符指针,启动另一数据暂存区的DMA传输。程序流程图如图4所示。

芯片

4  显示实验

为验证方案的可行性,我们制作了控制器样机并进行了液晶屏显示实验。图5为系统上电,BF536从外部FLASH载入引导程序初始化系统后,调用保存在FLASH中的车载信息图像数据并在液晶屏上进行显示的照片。可以看出,液晶屏可以显示车速、油量、安全带情况等各种信息,显示内容清晰、稳定。

芯片

图5 汽车信息显示实验照片

5  结论

采用液晶屏显示汽车运行信息将成为下一代汽车仪表的主流。本设计采用DSP芯片与液晶屏为主要器件构建了一种全液晶显示的车载信息系统,在新型汽车仪表开发方面进行了探索研究。该车载信息系统目前已经基本完成了系统的硬件部分调试和基本的软件设计,实际的性能测试和实验结果表明,该系统显示清晰稳定,效果良好。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分