汽车影音娱乐系统必不可少TFT液晶显示屏,相应的中小尺寸液晶屏驱动芯片有很多厂商提供。现在市面上大多数液晶驱动芯片,仅支持字符型OSD的显示,只有简单的文字、符号和色彩单一的OSD功能,不能满足人们对显示界面的视觉要求。相较字符型OSD,位图OSD通过对最终显示内容上特定区域的每个像素点进行改变,直接将OSD信息叠加到最终的显示画面上,其按像素进行控制的方式可以保证具有多色及足够的表现能力。
1 OSD类型及实现的方式
OSD 有字符型和位图型2种类型。
(1) 字符型
早期及低成本的解决方案中使用字符型OSD发生器。其原理是将OSD 中显示内容按照特定的格式(12×18、12×16 等)分割成块,并把这些内容固化在ROM 或Flash 中,在显示缓存中仅存放对应的索引号,这样的“字典”结构可以大幅减少显示缓存的需求。
字符型OSD优点是可以使用较少的显示缓存,并且MCU只需要指定显示内容的索引即可显示对应的OSD信息,可以在低速的MCU上实现此功能。但由于上述的显示信息和颜色编码方式不够直观,所以会给字符型OSD的固件开发带来一些麻烦。通常液晶显示器、低成本的平板电视和CRT传统电视上均使用这一类OSD。
(2) 位图型
位图OSD的处理原理比较直观简单:通过对最终显示内容上特定区域的每个像素点进行改变,直接将OSD 信息叠加到最终的显示画面上,其按像素进行控制的方式可以保证画面具有多种颜色以及足够的表现能力。一个OSD位图块就是一系列位置和大小可编程的矩形区域。
理论上,位图OSD的显示效果可以做到非常完美的程度,可以提供具有立体感的各种物件图像。其要求具有足够的OSD显示缓存,并且要求MCU具有较快的速度,可以实时刷新OSD像素点的值。随着技术的不断发展和存储器成本的不断下降,未来的OSD应该都是位图型的。
OSD的实现方式一般有两种:外部叠加方式是叠加合成OSD发生器产生的视频与图像视频;内部叠加方式则是由视频处理器直接在视频缓存内部叠加OSD信息后输出合成的视频。考虑到车载系统对于系统可靠性及性能价格方面的较高要求,这里采用内部叠加方法实现位图OSD,使用TW8811作为OSD视频叠加控制器,实现图形化用户界面。
2 硬件设计
2.1 TW8811简介
Techwell公司的TW8811芯片不但具有一般液晶驱动芯片的功能,还具有位图OSD、3D梳妆滤波器、画中画、可接模拟屏、数字屏等功能。
其内部的位图OSD产生器,其色彩最高可达到256色显示,支持抖动、透明、Alpha混合等功能。外部视频信号和TW8811自身产生的位图OSD信号在TW8811内部叠加,输出为LCD显示屏需要的各种时序信号和叠加了位图OSD的模拟RGB信号,在显示屏上就可以显示绚丽的位图OSD界面或位图OSD与视频画面叠加的界面。
对TW8811的操作主要是对控制器进行相应操作,TW8811的内部寄存器分为3页,分别以前缀0x、1x、2x开头,每页寄存器页内地址为00~FF,256个字节。
2.2 系统体系结构
图1 车载DVD系统总体结构图
本车载DVD系统的总体结构如图1所示,由DVD机芯、MCU控制器、视频处理器TW8811、LCD显示器、收音机及音频处理等电路组成。MCU通过各种总线控制DVD机芯等设备,位图OSD数据事先经上位机串口烧入Flash存储器中。
TW8811由单片机控制,采用并行方式接口,TW8811接收来自DVD机芯的模拟视频信号,处理后由输出端口输出到LCD液晶屏中。由于TW8811没有内部存储器,所以,在单片机外围电路中外接1块Flash芯片专用于存储待显示的位图OSD图形数据,由上位机通过串口写入;位图OSD SDRAM缓存区是在系统上电时,MCU把Flash中的位图OSD图形数据,经TW8811转存到和其相连的SDRAM中,经TW8811处理后,在LCD显示器上显示出位图OSD画面或视频和位图OSD叠加的画面。
MCU对TW8811的片内寄存器的读写有串行与并行2种方式,串行方式使用I2C协议标准2线连接,传输速度可达到400 KB/s,而并行方式可达到更快的传输速度。本系统中由于系统在上电时,MCU需在极短的时间内,把Flash中的位图OSD数据搬运到SDRAM中,随后显示出第一幅OSD界面,故系统MCU和TW8811采用的是并行连接方式,接口如图2所示。
图2 TW8811和MCU的并行接口
ADD/DATA[1~8]根并行线用来分时传输地址和数据,再加上片选CS、地址锁存ALE、写使能WR、读使能RD共4根控制线,总共14根线连接。在并行的接口方式下,TW8811也支持同寄存器页内寄存器地址自动加1功能,可方便地执行同寄存器页内寄存器的连续地址的读操作或写操作。
3 位图OSD界面软件设计
3.1 位图OSD显示机理
不管是外部叠加的位图OSD还是内部叠加的位图OSD,其实现的机理基本上一样,图形OSD界面都是由一个一个的像素点组成,位图OSD控制器就是对一个一个像素进行控制。存储在Flash中的位图OSD的图形数据,实际上是颜色查找表的索引,通常所说的4位色、8位色显示,表示位图OSD的数据是由4位、8位组成的,这4位、8位又表示颜色查找表有多少颜色可查找显示。4位色表明颜色查找表有24=16种颜色可供查找显示,同理8位色表明颜色查找表有28=256种颜色可供查找显示。
显示OSD界面时,OSD控制器通过OSD数据找到颜色查找表中相对应的颜色数据,然后把颜色查找表的数据叠加到视频信号上,一起送出给液晶屏,其过程如图3所示。
图3 位图OSD显示机理
3.2 TW8811位图OSD显示过程
TW8811 OSD控制器支持2个OSD窗口:窗口0和窗口1。当2个窗口同时在同一区域显示时,窗口0具有高优先级显示,支持1位色/2位色/4位色/8位色显示。
TW8811位图OSD界面原理框图如图4所示。
图4 TW8811位图OSD界面原理框图
本系统要显示位图OSD界面时:
① 首先需初始化TW8811寄存器。
② 划分SDRAM中的区域,一部分作为位图OSD数据从Flash搬运来的存储区,即设置TW8811的0x10F~0x111寄存器值;一部分作为位图OSD数据显存区,即设置TW8811的0x115~0x117寄存器值。
③ MCU从外部Flash存储器中读出存储在其中的位图OSD数据,再把位图OSD数据写入TW8811的0x118寄存器中,TW8811会自动的把0x118寄存器中的数据写入SDRAM中的数据存储区,SDRAM实际上就相当于TW8811的一个缓存,其数据的搬运过程如图5所示。
图5 上电后OSD数据的搬运过程
④ 设置位图OSD窗口信息,如显示窗口在显示屏上的位置、窗口的长度、宽度等。
⑤ 设置当前位图OSD界面的颜色查找表。
⑥ 设置当前位图OSD界面的显示属性,如透明色、Alpha混合等。
⑦把SDRAM中OSD数据存储区的数据搬运到OSD界面显存区。这样位图OSD就可以在液晶屏上显示出来,如要显示下一幅OSD界面时,则从第4步开始重新设置OSD窗口信息、颜色查找表、窗口属性,把SDRAM中OSD数据存储区的数据搬运到OSD界面显存区,这样就可以一幅一幅显示位图OSD窗口界面了。
该设计方案采用2 MB的Flash 器件作为图形库,存储主画面菜单、DVD 界面按钮、提示图案等位图图形数据,满足DVD 图形显示界面要求。图6是本方案的车载DVD 图形显示界面。
图6 车载DVD图形显示界面
结语
以TW8811为核心的OSD系统, 较好地解决了车载DVD系统图形界面与系统复杂性间的矛盾。实际效果证明,使用TW8811组成的系统稳定可靠,满足车载系统的机械、电气性能要求,具有很高的性价比。