音视频及家电
关键词: LCD , SSD1770 , 接口设计 , 驱动 , 伪彩
SSD1770是晶门科技公司于2005年推出的一款用于点阵显示系统的单片CMOS彩色STN LCD驱动控制器。目前,SSD1770已经应用于传统的工控机领域8080系列微控制器的连接,而在32位嵌入式系统领域内的应用还很少。本文主要研究LCD控制器SSD1770与ARM7TDMI内核的嵌入式微处理器SEP3203之间的系统连接及底层、上层软件开发,并最终在产品中得到应用。
1 系统介绍
1.1 系统构成
系统主要由SEP3203处理器和伪彩点阵型图形LCD控制器SSD1770组成。系统接口示意图如图1所示。
1.2 SEP3203概述
SEP3203是由东南大学国家专用集成电路(ASIC)与系统工程技术研究中心设计的一款基于ARM7TDMI内核的16/32位RISC微控制器,面向低成本手持设备和其他通用嵌入式设备。它集成了支持黑白、灰度、彩色的LCD控制器。SEP3203中的彩色LCD控制器主要用于TFT真彩显示,不能直接控制CSTN(伪彩)显示,须通过外接伪彩控制器来实现伪彩显示。
SEP3203处理器内嵌20 KB零等待的静态存储器SRAM,提供SDRAM控制器;可扩展支持各种SRAM接口的设备;提供可自由控制的GPIO口,同时具有多种控制器接口。
1.3 SSD1770概述
SSD1770是一个单片高度集成的伪彩点阵型LCD控制驱动器件。它内含312×8l×4位的图形数据显存GDDRAM和477kHz的振荡电路,集成偏压电路和DC-DC电路;具有8位PPI接口(可直接连接80/68xx MCU)、3/4线SPI串行接口和36条控制/传输指令。外加几个电容器件,SSD1770就可控制驱动104RGB×8l点彩色STN型LCD,4096种颜色。
1.4 电压匹配
SSD1770 CMOS电源提供电压为1.8~3.6V,而SEP3203输入/输出电压最小为2.7V,最大为3.6V,前者的输出可以直接作为后者的输入,无须进行电平转换。
2 硬件设计
SEP3203的接口协议如图2所示。
SSD1770同时有4种信号接口协议:①8位8080系列MPU接口协议;②8位6800系列MPU接口协议;③三线串行外设接口协议;④四线串行外设接口协议。不同的接口协议可通过FS0、PSI引脚的设置来实现,如表1所列。
由于本设计中传输距离不需要过长,且考虑到速度问题,所以选择并行接口协议。SSDl770支持2种并口模式:一种是6800系列MPU接口协议,如图3所示;另一种是8080系列MPU接口协议,如图4所示。
将SEP3203接口协议与这两种MPU接口协议相比,可知SEP3203的接口协议属于8080系列MPU接口协议。因此,采用8080接口实现SSD1770与SEP3203的连接。
SEP3203所用的接口引脚是外部存储接口模块(Ex—ternal Metmory Interface,简称EMI)中的8位数据总线、输出使能、写使能、地址总线、NAND Flash准备就绪/忙和控制时钟中低电平有效的Reset。EMI的功能即提供对外部存储器的读/写接口。
SEP3203的主要引脚定义如下。
◆nOE:读使能信号,表示当前周期执行读操作。
◆nWE:写使能信号,表示当前周期执行写操作。
◆LCD_nCSF:片选信号。
◆DATA:外部数据总线。
◆ADDR:外部地址总线。
SSDl770的主要引脚定义如下。
◆D0"D7:并行接口方式,双向数据总线。
◆RES:复位信号输入,低电平有效。
◆D/C:数据或命令选择引脚。若为1,则数据总线上的信息当作显示数据;若为0,则数据总线上的信息发送到命令寄存器。
◆CS:片选信号输入,低电平有效。
◆RD:与8080 CPU接口时,为写信号输入,低电平有效。
◆WR:与8080 CPU接,用于写信号(低电平有效)。
与8080系列CPU并行接口,由8位双向数据脚DO~D7、RD、WR、D/C、CS组成。根据8080 CPU接口协议,SSD1770的DO~D7、RD、WR、RES、D/C、CS引脚分别与SEP3203的PORTB、nOE、nWE、LCD_RESET、ADDR2、LCD_nCSF引脚相连,如图5所示。
CS信号直接由SEP3203的LCD_nCSF控制。如果CS是低电平且RD为低,则RD输入作为读数据锁存信号;无论是从GDRRAM读显示数据还是从状态寄存器读状态都需要D/C脚的控制。如果CS是低电平且WR为低,则WR输入作为写数据锁存信号;无论是写显示数据到GDDRAM还是将命令写入命令寄存器都需要D/C脚的控制。第一有效数据读之前,需要一次虚拟读。为了不产生错误操作,在SSD1770与SEP3203控制信号之间使用CMOS芯片。由图5可知,控制信号D/C、CS、WR、RD都是单向的,所以使用l片单向的CMOS八位锁存74LS373控制;而D0~D7是双向的,因此采用1片双向的74LS245缓冲,具体电路连接如图5所示。
3 软件设计
3.1 软件系统
LCD的软件驱动程序是在嵌入式操作系统Asix OS上运行的。Asix OS系统是由国家ASIC系统工程技术研究中心开发的一种嵌入式操作系统,具有设计简洁、模块化、易移植、功耗低等特点。它是基于uITRON3.O的T-Kernel,由设备驱动、内核、文件系统、图形用户接口以及系统级服务5个模块组成。结合LCD的具体运用,设计的Asix OS框架如图6所示。
3.2 LCD初始化
在Asix OS系统之上,LCD的驱动程序通过SSD1770的初始化流程、命令参数列表以及其他资料来编写。SSD1770的访问有2种:一种是根据写入不同的命令来实现对SSD1770的控制而使用控制寄存器;另一种则是通过调用GDDRAM内的地址来读/写显示内容。
首先计算SSD1770的各端口地址。SEP3203的片选信号LCD_nCSF所对应的基址为0x34000000,所以设定SSD1770的访问地址为0x34000010,RAM的访问地址为0x34000018。软件设计的流程图如图7所示。
初始化程序如下:
4 结论
本设计不仅是对晶门科技公司新推出的单片CMOS彩色STN-LCD驱动控制器在嵌入式系统中应用的扩展,而且满足了东南大学ASIC中心设计的嵌入式处理器SEP3203外接伪彩显示的需求。既实现了在具有友好界面的工控系统中的应用,又可以在更多想要具有友好界面的系统中得到推广。
全部0条评论
快来发表一下你的评论吧 !