SEP3203与伪彩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处理器内嵌20kb零等待的静态存储器sram,提供sdram控制器,可扩展支持各种sram接口的设备,提供可自由控制的gpio口,同时具有多种控制器接口。
1.3 ssd1770概述
ssd1770是一个单片高度集成的伪彩点阵型lcd控制驱动器件,它内含312×81×4位的图形数据显存gddram和477khz的振荡电路,集成偏压电路和dc-dc电路,具有8位ppi接口(可直接连接80/68xx
mcu)、3/4线spi串行接口和36条控制/传输指令。外加几个电容器件,ssd1770就可控制驱动104rgb×81点彩色stn型lcd,4096种颜色。
1.4 电压匹配
ssd1770 cmos电源提供电压为1.8-3.6v,而sep3203输入/输出电压最小为2.7v,最大为3.6v,前者的输出可以直接作为后者的输入,无须进行电平转换。
2 硬件设计
sep3203接口协议如图2所示。

ssd1770同时有4种信号接口协议:1)8位8080系列mpu接口协议;2)8位6800系列mpu接口协议;3)三线串行外设接口协议;4)四线串行外设接口协议。不同的接口协议可通过ps0、ps1引脚的设置来实现,如表1所列。

由于本设计中传输距离不需要过长,且考虑到速度问题,所以选择并行接口协议,ssd1770支持2种并口模式:一种是6800系列mpu接口协议,如图3所示,另一种是8080系列mpu接口协议,如图4所示。


将sep3203接口协议与这两种mpu接口协议相比,可知sep3203的接口协议属于8080系列mpu接口协议,因此,采用8080接口实现ssd1770与sep3203的连接。
sep3203所用的接口引脚是外部存储接口模块(external memory interface,简称emi)中的8位数据总线、输出使能、写使能、地址总线、nand
flash准备就绪/忙和控制时钟中低电平有效的reset,emi的功能即提供对外部存储器的读/写接口。
sep3203的主要引脚定义如下:
noe:读使能信号,表示当前周期执行读操作。
nwe:写使能信号,表示当前周期执行写操作。
lcd_ncsf:片选信号。
data:外部数据总线。
addr:外部地址总线。
ssd1770的主要引脚定义如下。
d0-d7:并行接口方式,双向数据总线。
res:复位信号输入,低电平有效。
d/c:数据或命令选择引脚,若为1,则数据总线上的信息当做显示数据,若为0,则数据总线上的信息发送到命令寄存器。
cs:片选信号输入,低电平有效。
rd:与8080cpu接口时,为写信号输入,低电平有效。
wr:与8080cpu接,用于写信号(低电平有效)。
与8080系列cpu并行接口,由8位双向数据脚d0-d7、rd、wr、d/c、cs组成,根据8080cpu接口协议,ssd1770的d0-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都是单向的,所以使用1片单向的cmos八位锁存74ls373控制;而d0-d7是双向的,因此采用1片双向的74ls245缓冲,具体电路连接如图5所示。

3 软件设计
3.1 软件系统
lcd的软件驱动程序是在嵌入式操作系统asix os上运行的。asix os系统是由国家asic系统工程技术研究中心开发的一种嵌入式操作系统,具有设计简洁、模块化、易移植、功耗低等特点,它是基于uitron3.0的tkernel,由设备驱动、内核、文件系统、图形用户接口以及系统级服务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外接伪彩显示的需求。既实现了在具有友好界面的工控系统中的应用,又可以在更多想要具有友好界面的系统中得到推广。
评论