摘要:在智能仪表和工业控制中经常需要显示静态图像和动态数据信息,本设计利用通用串行总线(USB)接口控制器CY7C68013的Slave FIFO接口技术,实现TFT液晶屏的显示驱动,Slave FIFO接口技术的高速率为实现视频显示提供了保障。设计中利用USB接口技术实现了真正的实时热插拔,可用于支持USB接口的设备和仪表以及数字视频应用的场合。
关键词:Slave FIFO接口; 真彩液晶屏; 三色同步
Abstract:Demonstration of static image and dynamic date information are need frequently in intelligent instrument and industry control. Display drive of TFT-LCD was realized using Slave FIFO interface technology of Universal Serial Bus (USB) interface controller CY7C68013 in this design. The high speed of the technology ensured realization of video display. Real-time hot swap was achieved through USB interface technology. This design is used for device with USB interface, instrument and digital video.
Key words : slave FIFO interface; TFT True Color LCD; Three Color Synchronization
引言
在智能仪表和工业控制设计中常常会使用TFT液晶屏,现在常用的屏大部分都是高性能的。因为TFT液晶屏的生产厂商很多,标准也不统一, TFT液晶屏往往不能与TFT液晶控制器无粘合连接,所以在使用TFT液晶屏时,厂家还会推荐使用其专为TFT液晶屏设计的时序芯片。TFT液晶屏价格很高,控制器成本也非常高[1]。而在很多智能仪表和工业控制中并不需要动态画面,除一些数据或局部图象变化外,背景图像基本不变。本设计选用的是Cypress公司的EZ-USB FX2系列芯片中的CY7C68013和SHARP 6.4英寸液晶显示屏LQ064V3DG01。CY7C68013是一种带USB接口的单片机芯片,虽然采用低价的8051单片机,但仍然能获得很高的速度;LQ64D343液晶显示屏是一款6.4英寸640×480的TFT-LCD。采用USB接口控制芯片来驱动液晶屏的显示无疑是一个很好的解决方案。
1芯片简介:
1.1 CY7C68013芯片[2]
CY7C68013是Cypress公司推出的USB2.0集成微处理芯片,片上集成了一个串行接口引擎(SIE)、一个USB收发器、增强型8051单片机(其指令系统与普通8051单片机完全兼容)及一个8.5kB片上RAM、一个4 KB FIFO存储器及一个通用可编程接口(GPIF),这2个通用外部接口可实现USB2.0的高速传输。SIE负责和USB收发器、USB接口进行数据交换,大大简化固件编程。SIE执行基本的2.0协议操作,释放MCU(这里是8051芯片)去处理应用程序的请求,使得68013虽使用低价格的8051芯片,但获得了USB2.0协议允许的最大带宽。GPIF和FIFO可与大部分ASIC或DSP进行“无缝粘接” 。
1.2 LQ064V3DG01液晶屏[3]
LQ064V3DG01是市面上较为常用的液晶显示芯片,是一款6.4英寸480×234的TFT-LCD,具有功耗低、体积小、重量轻、超薄等特点,同时该屏是一片真彩显示屏,并属于透光型的TFT、其亮度高、视角宽、背光灯的寿命也很长(该背光灯比较容易更换),并且采用的是AG涂层和260K的彩色显示。可广泛应用于各种仪器仪表及各种视频显示的场合。LQ64D343的主要参数如下:
显示尺寸(H×V)
130.6×97.9mm
输入接口
TTL-6bit RGB
外形尺寸(H×V×D)
161.3×117×12mm
供电电压
3.3/5V
分 辨 率
640×RGB×480
背 光
2xCCFL
点 尺 寸(H×V)
0.068×0.204mm
响应时间(tr+td)
30+50ms
显示颜色
262K
功 耗
5.2W
对 比 度
150:1
工作温度
0~55℃
亮 度
350
存储温度
-30~80℃
视 角(U/D/L/R)
40°/70°/70°/70°
2 硬件原理设计:
CY7C68013提供三种接口模式:PORT(默认)、Slave FIFO和GPIF,由寄存器IFCFG决定。当它工作于Slave FIFO模式时,外部逻辑可像普通FIFO那样对它的端点数据缓冲区进行读写与控制,通过FX2的内部端点FIFO,USB数据在主机和外部逻辑之间传输,而不需FX2设备CPU的任何干预。这时仅将FX2设备作为USB与外部逻辑间的一个通道。在GPIF模式下,CY7C68013作为一个内部控制器,可由软件编程输出读写控制。CY7C68013作为USB接口实现对液晶屏显示驱动,提供了FIFO接口实现与LQ064V3DG01连接,并实现上位PC机经USB接口控制芯片到液晶显示屏的快速图像传输显示的过程。系统框图如图1所示
图1 基于CY7C68013的液晶驱动设计的系统框图
CY7C68013共有4个支持USB2.0高速传输的“大”端点(2个IN端点和2个OUT端点)和4KB片内RAM,该RAM 可配置为4个“大”端点的FIFO,其中2个“大”端点可以配置为双、三、四缓冲区(FIFO),一个“大”端点最大可配置为2KB FIFO,更重要的是该芯片提供了两个用于实现USB2.0高速传输的可编程外部设备接口以及Slave FIFO和GPIF,这2个通用外部接口可通过与4个“大”端点协调工作来实现USB2.0的高速传输,本设计只讨论Slave FIFO可编程外部设备接口在设计中驱动液晶屏的应用。
本设计为了便于显示中文信息和常用图片,采用了一片32K×8的高速静态RAM(型号为CY7C1399BN)作为数据暂存器。 可存放容量比较大的字库和一些常用小图标等数据信息(如仪表中的一些常用图标和工控中的设备图标),这样在显示的过程当中不仅可以显示背景图像,还可以动态显示数字、中文和小图标。数据存储器CY7C1399BN的原理图如图2所示(因CY7C68013原理图太大,这里省略)。
设计中程序存储器选用24LCxx序列,可通过跳线选择,这里以24LC64为例。24LC64是8K×8位电擦除可编程只读存储器,能进行在线修改,并能在断电的情况下保持修改结果。24LC64的读操作与普通的E2PROM的读出相同,在写入一个字节的指令码或数据前,自动地对所要写入的单元进行擦除,因而无需进行专门的字节/芯片擦除操作,从这个意义上讲,使用24LC64这E2PROM就如同使用静态RAM一样,程序存储器的原理图如图3所示。
图2 数据存储器CY7C1399BN的工作连接图
图3 程序存储器连接图
这些外围的器件设计完之后,最后实现液晶显示屏与控制器CY7C68013之间的连接,在连接过程中要考虑的问题就是要使红绿蓝三色数据信号线上的数据同步,并且保持相互独立。至于同步我们可以根据软件的设计或者是对CY7C68013进行设置。为了把管脚配置为Slave FIFO模式,需使IFCFG1:0=11。要是使其工作在同步模式下就需使IFCONFIG.3=0。外部逻辑通过一条8位或16位数据总线访问FIFO。每个FIFO的控制寄存器(EPxFIFOCFG.0)的WORDWIDE位控制数据总线的位数是8位还是16位:
①当WORDWIDE=0时数据总线为8位模式,FD[7:0]占用B端口。
②当WORDWIDE=1时数据总线为16位模式,FD[15:8]、FD[7:0]分别占用D、B端口。当FIFO端口中有一个设置为16位数据线模式,不管当前的FIFOADR[1:0]是多少,端口D都不能用作I/O口。
虽然将FIFO数据总线设置为16位模式,但是还不能够满足LQ064V3DG01的6bit×3 =18bits 颜色显示的的需求。设计中通过降低颜色性能来简化电路,就将LQ064V3DG01三色数字信号线的最低位与低电平相连接,因为三色数字信号线的低位对颜色的影响不大,实际上将262K的显示颜色变成32K的显示颜色,同时可以节约三根数据总线,可用FIFO的16位数据总线实现三色数字信号的传输。这样三色数字信号的同步性和独立性问题都得以解决了。
设计当中选用的液晶屏LQ064V3DG01的显示频率要求最高不得高于28.33MHZ。在这样条件之下,可以通过对8051设置CPUCS.1=1达到CLKOUT端口输出频率为24MHZ,此时与典型的显示频率比较接近。如果送入液晶屏的时钟频率过低的话就会导致显示画面的质量下降,还可能会出现闪烁等不理想的现象。
横纵向同步信号可以决定行同步和场同步,如果将Hsync、Vsync两引脚同为负极性时显示屏工作在480行显示模式下。在这里将Hsync、Vsync与CY7C68013的数据线D0和D1相连,可以通过软件设计达到所需目的。该液晶屏还可以实现上下翻转、左右镜像的功能,本设计中没有用到这些功能,将U/D、R/L两脚悬空即可。液晶屏原理图如图4所示。
图4 液晶屏在工作连接图
3 固件程序设计
固件程序是所有基于微控制器及其外围电路的功能设备正常工作必不可少的部分,其作用就是辅助硬件完成相应的功能,主要实现系统初始化、辅助硬件完成设备的重新列举过程、模拟设备的断开与重新连接、对中断的处理、数据的接收和发送以及外围电路的控制等功能[5]。CY7C68013带有加强的8051内核性能,可达到标准8051的5-10倍,且与标准8051的指令完全兼容,固件程序通过执行8051代码完成相应的功能。Cypress公司的网站提供了CY7C68013芯片的开发工具包下载,该开发包提供了开发固件程序的所需的一些资源,如Keil μVision2集成开发环境(限制版)、Cypress C51固件框架程序以及一些例子程序。CY7C68013的固件主要有两种引导方式,一种是存储在EEPROM上,通过上电后的自检自动将固件程序加在CY7C68013上;另一种方式是通过主机将固件程序下载到CY7C68013。在设计中我们采用了前一种方式,其工作流程如图5所示。
图5 固件程序工作流程
4 小结
本设计主要应用于智能仪表和工业控制,但从设计中可以看出,由于使用了CY7C68013的Slave FIFO,数据传输速率相当快,完全可以满足视频应用的要求,这也是选用CY7C68013的原因,只是颜色只有32K,但对于普通的视频应用也足够了,有兴趣的技术人员可以做深入的研究。
本文作者创新点:
通过利用CY7C68013的USB接口技术和Slave FIFO实现TFT液晶屏的快速驱动,可理解为USB接口芯片的巧妙应用。