打印

以DSP为核心的嵌入式系统人机接口设计

[复制链接]
446|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Peonys|  楼主 | 2018-7-5 12:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以DSP为核心的嵌入式系统人机接口设计

1 引言

人机接口是嵌入式控制系统的重要组成部分,用于人机之间实时交换控制系统并返回系统状态。嵌入式系统大都采用液晶屏和键盘作为人机接口的输入、输出设备。这里设计的人机接口作为数据采集系统的组成部分,为系统控制和运行监测提供方便,而其本身在各种嵌入式控制系统中又具有广泛的实用性。
  
2 液晶屏显示功能的实现
  
这里采用的液晶显示器为RT320240B。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。为了减小系统开销,该设计采用中断方式,在中断程序中检测扫描码,其部分程序代码如下:


  
为减小误码率,在判断通码后再检测断码,使得DSP处理器获得更准确的判断。
  
4 结论
  
本文介绍一种以DSP为核心的嵌入式人机接口设计,经实践证明,该设计方案简沽实用,用途广泛。基于该系统设计思路,根据实际需要和处理器特点会有多种设计方案,并结合BIOS系统的开发将使多任务间的调度更方便。


相关帖子

沙发
Peonys|  楼主 | 2018-7-5 12:23 | 只看该作者
以DSP为核心的嵌入式系统人机接口设计

文档1.pdf

218.08 KB

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

640

主题

901

帖子

5

粉丝