1 引言
人机接口是嵌入式控制系统的重要组成部分,用于人机之间实时交换控制系统并返回系统状态。嵌入式系统大都采用液晶屏和键盘作为人机接口的输入、输出设备。这里设计的人机接口作为数据采集系统的组成部分,为系统控制和运行监测提供方便,而其本身在各种嵌入式控制系统中又具有广泛的实用性。
2 液晶屏显示功能的实现
这里采用的液晶显示器为RT320240B。该显示器的控制器使用SEIKO EPSON公司生产的SED1335型控制器。DSP访问SED1335时,无需判断其是否空闲,SED1335能够随时准备接受DSP的访问并按照内部时序及时正确传输DSP发送的指令、数据。考虑到RT320240B是大屏幕液晶显示器,显示数据采集波形需较快的屏幕刷新速度,这里采用并行数据发送方式,从而在硬件设计上提高液晶屏幕的刷新速度。
2.1 SED1335控制器
SED1335型液晶显示控制器由振荡器、功能逻辑电路、显示RAM、管理电路字符库及其管理电路,以及产生驱动时序的时序发生器组成。振荡器工作频率在1~10 MHz范围内可选。SED1335的显示RAM具有以下特性:
(1)文本显示特性 显示RAM区专用于文本方式显示,该显示RAM区每个字节的数据都认为是字符代码,SED1335将使用该字符代码确定字符库中字符首地址,再将相应字模数据传送到液晶显示模块。在液晶屏上出现该字符的8&TImes;8点阵块即文本显示RAM的一个字节对应显示屏上的8&TImes;8点阵。
(2)图形显示特性显示RAM区专用于图形方式显示,该显示RAM区每个字节的数据直接被送到液晶显示模块上,每个位的电平状态决定显示屏上一个点的显示状态,1为显示,0为不显示。所以图形显示RAM的一个字节对应显示屏上的8&TImes;1点阵。
(3)字符发生器SED1335管理内存字符发生器CGROM,该字符发生器固化160种5&TImes;7点阵字符的字模SED1335,由于SED1335仅能处理8位字符代码,所以一次最多只能显示及建立256种字符并在SED1335的字符表中给出内部字符发生器的全部内容,同时给出外扩字符发生器的字符代码范围80H~9FH和E0H~FFH,共64种。
2.2 液晶屏显示硬件电路设计
考虑到SED1335控制器的特点以及显示波形对速度的要求,应用并行数据总线的方法。而DSP2812的外扩数据总线刚好符合并行传输数据需要。I/O数据缓冲接口A0选用外扩地址总线的最低位地址总线A0,通过XINTF,将指令码写入“*******1”的外扩地址中,并将数据写入“*******1”的外扩地址中,因此巧妙方便地解决了A0端口的设定,同时为编程带来方便。基于上述考虑进行设计,液晶屏的硬件连接电路如图1所示。
图一
2.3 液晶屏显示软件设计
液晶屏显示功能是通过向指定的内存区域进行写操作来实现的。通过读指令读取显示缓存区中的内容,并与写入数据相比较,就可有效地检测显示器缓存区RAM功能,结合各种SED1335控制器所提供的指令,全面检测液晶显示器。
结合DSP自身特点所设计的系统硬件电路,在编写软件程序时首先要定义数据段LCDCMD、LCDDATA,并在主程序中进行说明:
#pragma DATA_SECTION(LCDCMD,“LCD_CMDFile”)
#pragma DATA_SECTION(LCDDATA,“LCD_DATAFile”)
然后在CMD中为这两个数据段分配地址:
LCD DATA:origin=0x0080000,length=0x00001
LCD CMD:origin=0x0080001,length=0x00001
图2为液晶屏显示软件设计流程。
图二
尺寸相同的普通串口液晶刷屏速度一般为2~3 s,利用并口外扩数据总线设计方法可将刷屏速度提高到0.5 s,符合设计要求,若采用汇编语言开发该设计,刷屏速度将更快。