缓冲区(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的固