java怎么拦截某个对象
276
2022-11-08
采用SED1356显示控制芯片实现液晶显示接口设计
引言
1、 SED1356显示控制芯片介绍
SED1356支持最高为16位数据宽度的LED接口,使用FRM和调谐(dithering)技术,可以在TFT LCD、CRT和TV上最高显示64K颜色。它配置一个16位内存接口,可以支持最高2MB的EDO-DRAM。支持6色,256色和真彩色的颜色结构。对于TV电路,它支持TV的NTSC制式和PAL制式显示。在NTSC制式中它支持从400×396到720×484多种分辨率。图1所示为SED1356的典型应用框图。
1.1 总线兼容性能
SED1356可以和多种CPU总线兼容,对于不同的CPU有不同的时序结构,通过对硬件的设计来选择。SED1356支持以下CPU总线类型(对于其它CPU的时序可以通过选择类似的时序结构来实现):
*SH-4/SH-3 Bus interface;
*Motorola MC68000/MC68030 Bus;
*Motorola PowerPC MPC82x;
*MIPS/ISA;
*PC Card(PCMCIA);
*Philips PR31500/PR31700/Toshiba TX3912;
*通用类型总线。
另外它还可以通过寄存器来设置多种内装存类型。具体可以使用以下内存:
512KB的EDO-DRAM(25×16);
512KB的FPM-DRAM(256×16);
2MB的EDO-DRAM(1×16);
2MB的FPM-DRMA(1×16)。
1.2 输出信号的类型和模式
*对于TV通道,它通过嵌入式RAMDAC(一种数模转换方式)支持NTSC制式和PAL制式显示。对于CRT通道,它通过嵌入式RAMDAC支持最高64K颜色显示。对于数字RGB LCD通道,它支持最高64K颜色的TFT LCD显示。
*可以旁通LUT,每个像素可直接映射15/16位颜色深度。
1.3 显示特性
*它支持光标和墨水层,对于LCD和CRT或复合视频接口,支持独立的64×64×2硬光标和2位的黑水层。可以在内存中存储多个光标图像,并且通过寄存器的设置,在一定时间,使用其中的一个。通过寄存器的设置可以设定光标在屏幕上的位置。
*具有SwivelView特性,支持图像翻转,可以对显示图像进行90°、180°、270°的硬翻转。
*它支持虚拟图像,可以通过对寄存器的设置在内存中存储一个比实际图像大的虚拟图像,而屏幕就相当于一个窗口,可以移动它来显示虚拟图像的一部分。
*在SED1356内部有一个2D的数据加速内核,可以实现数据块的快速写、读、移动、填充等等。用以加速显示图像的刷新。
2、 硬件设计
2.1 EP7312的总线接口
EP7312配备以下接口:
2.2 SED1356与MPU总线接口
虽然SED1356可以和许多厂家的多种MPU直接相接,但它不支持具有ARM7内核的EP7312。因此通过分析SED1356这几种现成的总线连接模式,笔者认为PC卡总线连接模式较为简单,稍加修改,配以必要的时序逻辑转换关系就可以进行对接。可用MD[0:15]配置所使用的具体总线。
2.3 接口分析及实现
CPLD中的VHDL语言如下:
CPLD_RD/WR=not((not A0)or WORD orHALFWORD);
CPLD_WE1=not(A0 or WORD or HALFWORD);
上述逻辑完全实现了SED1356对字节的读写,其中CPLD_RD/WR控制低位的读写,CPLD_WE1控制高位的读写。
3、 软件实现
本电路的底层测试软件均用C语言编程实现。图3是SED1356的初始化流程图。
下面对软件实现中的主要部分进行说明。
3.1 虚拟图像的设置
在2M内存中开辟2块显存,1块用于虚拟显示(较大)、1块用于屏幕尺寸显示。前1块主要用于地图显示目的,可以通过横竖2个滚动条实现地图的全尺寸浏览,需开辟的空间主要取决于需要浏览的最大图形尺寸大小;后1块主要显示较为固定的信息,像菜单、固定图像、界面等。本方案如采用每像素16bpp显示方式,这样在640×480的屏幕上至少需要开辟614400B的显示内存。这样做的好处是不必等待图像数据的再次写入,屏幕图形可以进行快速切换,大大减少了转向地图显示等待的时间。
3.2 调色板的设置
对于真彩色,也即15/16bpp的颜色格式,不必使用调色板,对于4/8bpp颜色格式,SED1356有1个LUT表格,有3组各自表示R-G-B三种颜色,每组有256个位置,每个位置可以存放4位数据。可以通过寄存器来读写LUT表。当按照数据格式在内存中写入数据后,SED1356通过LUT表格来查找与显示数据相对应的R-G-B颜色,从而在显示器上显示出相应的色彩。
3.3 光标图像的设置
对于光标图像,采用的是2bpp的颜色格式,SED1356控制的光标是64×64大小的,共有4096个点,也就是使用1024个字节就可以储存一个光标图像。光标的起始位置为左上角,可用寄存器设定它的X、Y值,如图4所示。
在SED1356中有6个寄存器,分成2组,1组3个。每1组寄存器可以设定一种颜色,从而可以设置出两种默认的颜色:颜色0、颜色1。这两种默认颜色是按照16bpp的格式设置,即R-G-B:5-6-5。从而,对于光标图像2bpp表示的颜色如下,00表示默认颜色0,01表示默认颜色1,10表示背景色。这样用2位就可以设置光标一个点的颜色了,但光标的颜色只能在默认颜色0、1和背景色之间选。如果需要更改颜色,则需要对储存默认颜色的寄存器进行重新设置。
设置光标的2bpp的数据如图5所示。
3.4 RGB-565颜色显示格式
本接口使用RGB-565格式的真彩色显示数据格式,每种颜色需要占用2个字节,颜色排列并不规律,如图6所示,图6显存设置为小端格式。
本软件实现的特点是尽量模块化,尽量将整个程序分成众多模块,用子程序来实现,这样便于调试、修改。
结语
在全天候导航项目中,本液晶显示模块占用体积小,功耗低。能够很好的对存储的地图数据进行显示取得了良好的应用效果。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~