微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 基于DSP的嵌入式系统人机接口设计

基于DSP的嵌入式系统人机接口设计

时间:05-27 来源:互联网 点击:
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×8点阵块即文本显示RAM的一个字节对应显示屏上的8×8点阵。

  (2)图形显示特性显示RAM区专用于图形方式显示,该显示RAM区每个字节的数据直接被送到液晶显示模块上,每个位的电平状态决定显示屏上一个点的显示状态,1为显示,0为不显示。所以图形显示RAM的一个字节对应显示屏上的8×1点阵。

  (3)字符发生器SED1335管理内存字符发生器CGROM,该字符发生器固化160种5×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,符合设计要求,若采用汇编语言开发该设计,刷屏速度将更快。
3 PS/2键盘功能的实现

  3.1 PS/2接口简介

  本设计采用带有PS/2接口的扫描式键盘。PS/2接口键盘遵循双向同步串行协议,但主机在总线上总是具有优先权,只需将时钟拉低就可在任何时候抑制来自键盘的通讯。物理PS/2接口是两类连接器中的一种,5引脚的DIN或6引脚的mini-DIN,目前常用的连接器为mini-DIN6引脚插头,17键小键盘也是该连接器。

  3.2 PS/2接口硬件电路设计

  PS/2接口只需2根数据线,连接简单,图3为PS/2接口硬件连接电路。


图三

  3.3 PS/2接口键盘软件设计

  DSP处理器监控按键矩阵,若发现有按键被按下释放或按住,将发送扫描码信息包到计算机。其中,扫描码有通码和断码两种类型。当按下或按住按键时,发送通码;当释放按键时,则发送断码。每个按键分配有唯一的通码和断码,则主机可通过查找唯一的扫描码测定具体的按键。键盘上的每个按键的通断码组成扫描码集,PS/2接口键盘默认使用第二套扫描码。

键盘遵循一种每帧包含11位的串行协议,这些位分别为:1个起始位,总为0;8个数据位,低位在前;1个校验位,奇校验;1个停止位,总为1.为了减小系统开

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top