基于DSP的PS2键盘输入系统DSP课程设计.doc

上传人:精*** 文档编号:853525 上传时间:2023-09-16 格式:DOC 页数:11 大小:159.50KB
下载 相关 举报
基于DSP的PS2键盘输入系统DSP课程设计.doc_第1页
第1页 / 共11页
基于DSP的PS2键盘输入系统DSP课程设计.doc_第2页
第2页 / 共11页
基于DSP的PS2键盘输入系统DSP课程设计.doc_第3页
第3页 / 共11页
基于DSP的PS2键盘输入系统DSP课程设计.doc_第4页
第4页 / 共11页
基于DSP的PS2键盘输入系统DSP课程设计.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、 目 录DSP原理及应用1课 程 设 计 报 告1摘 要II目 录III引 言IV第1章 M S320C54x 的M cBSP 串口12.1 M cBSP 串口的工作原理12.2 M cBSP 串口的工作方式12.3PS/ 2 键盘协议2第2章 硬件设计4第3章 软件设计6总 结7参 考 文 献8摘 要PS/2接口曾经广泛应运于计算机的键盘和鼠标,现在逐渐被USB接口所替代。PS/2键盘接口电路有很多种设计方法,本文主要介绍了基于 DSP 与 PS/2 键盘的通信设计。由于在嵌入式系统中经常使用的键盘都是专用键盘。这类键盘都是单独设计制作的成本高连线多且可靠性不高。这些问题在那些要求键盘按键较

2、多的应用系统中显得更加突出。与此相比在 PC 系统中广泛使用的 PS/2 键盘具有价格低、通用可靠且使用的连线少(仅使用 2 根信号线)的特点并可满足多数系统的要求。因此在嵌入式系统中应用 PS/2 键盘是一种很好的选择。本文在分析 PS/2 协议和 PS/2 键盘工作原理与特点的基础上实现和 PS/2 键盘的硬件连接方法以及驱动程序的设计。关键词: DSP技术; PS/2键盘; USB系统引 言T I 公司 54x 系列的芯片采用了改进的哈佛结构, 具有 6 条流水线, 具备并行的乘法器和功能强大的算术逻辑单元。诸多并行的结构使 54x 系列DSP 能实时地完成多种数字信号处理的任务, 使其

3、在嵌入式领域得到了广泛应用。但是, 该系列的DSP 芯片缺乏必要的人机接口支持。同时在嵌入式领域中有时需要进行大量的文字输入、参数修改和数值设定等操作。通常的处理方法是设计专门的键盘处理电路, 这不仅要占用许多硬件资源, 而且用于按键处理的软件开销也很大。PC 机键盘 (采用 PS/ 2 接口) 取材广泛、性能稳定、价格低廉, 具有一百多个按键,用其作为输入设备具有重要的实际意义。本文利用 54x 系列DSP 的M cBSP 串口的强大功能, 利用尽量少的硬件实现了同 PS/2 键盘的全功能通信。9第1章 M S320C54x 的M cBSP 串口2.1 M cBSP 串口的工作原理M cBS

4、P 串口的内部结构框图如图1 所示。 他是全双工的同步串口, 接收通道具有三缓冲的接收数据寄存器, 发送通道具有二缓冲的数据寄存器。发送和接收通道除了完成标准同步串口的功能之外, 还可以对发送和接收的数据进行率和A 率压缩, 字宽度可编程为8 b, 12 b, 16 b, 20 b, 24 b,32 b, 最多每帧可以包含128 个通道。 发送和接收各具有独立的帧和时钟发生器, 帧信号和时钟信号既可以来自于外部又可以来自DSP 时钟信号。同时为了与外部慢速设备相接, 时钟信号发生器的时钟源可以来自外部CLKS 引脚。发送和接收的帧信号和时钟信号的有效极性均可编程控制。发送和接收完数据均可由程序

5、查询或是向CPU 发送中断, 或是作为DMA 的同步事件触发DMA 传输。 正因为M cBSP 串口具有如上的灵活性, 本文利用TM S320C54x 的M cBSP 串口实现了PS? 2 键盘的所有功能。图 1 M cBSP 串口内部结构2.2 M cBSP 串口的工作方式M cBSP 串口可以具有3 种工作方式,其中有工作于多通道缓冲串口方式。发送和接收可以分别配置为多通道模式。每一帧都代表时分复用的数据流,每帧发送和接收字的个数就代表有效的通道数。 每帧多达128 个通道, 在每一个 128 通道的比特流中最多可以使 32条通道有效。在发送或接收完一个字或者是无效的通道时,DX 引脚成高

6、阻状态。 此时接收和发送的数据延迟参数可以设计为 0 b, 1 b, 2b。图 2 是发送或接收 0 b, 1b, 2 b 延时的时序本文正是利用此点来接收和发送PS/2协议特定的数据流。图 2数据延迟时序2.3 PS/ 2 键盘协议PS/ 2 接口形式PS/2 键盘采用 6 针迷你型D IN 接口。用于发送和接收数据的只有2 根线, 一条为时钟线CLOCK, 时钟频率在10 1617 kHz 之间, 另一条为数据线DATA。 数据线和时钟线均为集电极开路, 需加拉高电阻, 阻值在 1 10 k8间。由于 TM S320C54x 采用 313V 的输入输出口电压, 所以本文把拉高电阻接到 31

7、3 V。PS/ 2 通信协议PS/ 2 协议是一个半双工的同步串口。键盘是主串口设备, 主机是从串口设备, 但是主机具有优先发送权, 可以在任何时候发送命令给键盘。 键盘向主机发送数据时采用标准的串行异步通信格式共 11 位数据: 1 位起始位“0” , 8 位数据位 (LSB 在先), 1 位奇校验位, 最后 1 位是停止位 “1” 。 主机向键盘发送命令采用12 位的串行异步通信格式: 1 位起始位“0” , 8 位数据位 (LSB 在先), 1 位奇校验位, 1 位停止位“1” , 最后 1 位是确认位“0” 。图 3 给出键盘向主机发送一个字节的时序。当键盘向主机发送数据时, 键盘首先

8、检测时钟线是否为高电平, 是高电平则进行正常的发送。主机保持高电平的时间至少为50 m s, 否则键盘缓冲待发送的数据等待主机释放时钟线。图 3键盘向主机发送的时序由图 3 可知: 在时钟线高电平处键盘向DATA 数据线写 1 位数据, 低电平时该数据位有效。所以主机方应在CLOCK 上升沿读DATA 上的数据。 DATA 数据线在起始位始终为 0, 所以该位可以用做触发同步接收信号。只需注意要忽略该同步信号后的所有同步信号。图 4 给出了主机向键盘发送一个字节的时序。主机向键盘发送数据时首先必须拉低 CLOCK 时钟线至少 100m s, 然后写起始位到DATA 数据线。 最后, 在键盘CL

9、OCK信号的同步下将 8 b 数据位、1 b 寄校验位、1 b 确认位供12 b 数据发送给键盘.。图 4主机向键盘发送的时序由图可知: 主机在CLOCK 时钟线低电平处向DATA数据线写入数据, 高电平时数据有效。主机应该在其拉低CLOCK 时钟线时启动数据发送, 所以CLOCK 时钟信号线可以用作触发同步发送信号。313键盘扫描码键盘上的微处理器采用行列扫描的方式来管理按键矩阵。他能识别键盘上处于正在按下的键、刚释放的键、持续按下的键 3 种状态下的按键, 并能以数据包的形式发送给主机。该数据包称为键盘扫描码。每一个按键都有惟一的 2种不同类型扫描码: 接通扫描码和断开扫描码。顾名思义,按

10、键接通时键盘发送接通扫描码, 按键断开时发送断开扫描码。例如模拟PC 机上的“ A ” 是如何由键盘来发送的。按键顺序: 先按住键盘上的左“Shift”键, 按下“ A ”键.放“ A ” 键, 释放“Shift” 键。 “ A ” 键的接通扫描码为0x1C,断开扫描码为 0xF0, 0x1C, 左“Shift”键的接通扫描码为0x12, 断开扫描码为0xF0, 0x12。则键盘发送数据顺序为:0x12, 0x1C, 0xF0, 0x1C, 0xF0, 0x12。314主机向键盘发送命令主机可以在任何时候发送诸如复位、 设置状态灯、 使能键盘、禁止键盘、设置键盘重复率、设置扫描码、读取标识码等

11、命令。 主机每向键盘发送一个字节的数据, 键盘接收的命令字或参数正确便以0xFA 响应, 否则键盘回送0xFE 数据要求, 请求主机重发上一个字节的数据。第2章 硬件设计鉴 于 键 盘 接 收 和 发 送 的 时 序,本 文 设 计 的TM S320C54x 的M cBSP 与 PS/2 键盘的硬件接口电路如图 5所示。图 5 M cBSP 与 PS/2 接口电路M cBSP 的发送通道由XF 引脚置高来启动 (DSP 上电复位XF 引脚就为高电平), 此时, CLOCK 时钟线被拉低。由软件延时 100 m s 以上置低XF 引脚, CLOCK 时钟线被置成高电平。 同时FSX 引脚也产生1

12、00m s 左右的一个低脉冲。由软件把 FSX 引脚配置为低脉冲有效, 就会启动发送通道进行发送。由于发送的是12 位数据, 键盘仅产生12 个时钟信号, 所以发送通道没有数据延时 (XCR2 的XDATDLY 为00b)。 发送数据时要注意: M cBSP 是先发送M SB 位, 而键盘是先接收LSB 位。M cBSP 的接收通道把DR 引脚和 FRS 引脚与DATA数据线相连, 这样键盘发送的起始位就可以启动M cBSP 的接收通道接收数据。 为了避免接收通道被重复触发, 与发送通道一样应该忽略以后的所有帧信号。M cBSP 的接收通道有 2 种状态。当处于主机向键盘发送命令状态时, 由于

13、DR引脚和DX 引脚相连, 所以先接收主机向键盘发送的 12 b数据, 然后接收键盘向主机回送的 11 b 数据。为了正确的接收, 接收通道的接收字的长度应设为20 b, 忽略前2 位和最后 1 位停止位。接受数据位延时为2。当处于正常接收状态时, 由于每次要接收 11 b 键盘发送过来的数据, 而接收字的长度只能设为 8 b, 12 b 等, 同时为了保证下一次数据的正确接收, FSR 引脚必须有一个完整的下降沿。 本文采用了接收字的长度为8 b, 忽略起始位和数据位的LSB 位, 不接收停止位。这样只接收了数据字节的高 7 位和奇校验位,通过简单的算法完全可以确定所要接收的字节。更为简便的

14、方法是, 只需把相应的扫描码集按每个字节只取高 7 位和该字节的奇校验位组成一个新的字节重新确定新的扫描码集。然后, 由该新的扫描码集制成检索表。第3章 软件设计本应用程序采用C 语言和 TM S320C54x 汇编语言混合编程。与PS/2 键盘通信有关的子程序包括: 串口初始化子程序、键盘中断服务子程序、发送命令子程序。由于篇幅有限只给出初始化子程序流程图, 键盘中断子程序和发送命令子程序按不同的要求编写。M cBSP0 初始化子程序流程图如图 6 所示。图 6串口初始化流程图总 结DSP技术以其独有的优点,必在将来的电子设计领域得到更加广泛的应用。 PS/2接口虽然正逐渐被USB接口所代替

15、,但其仍在某些领域广泛应用着。利用TM S320C54x控制PS/2键盘不但硬件电路实现简单而且控制反应速度快。本文利用了M cBSP 串口的灵活配置实现了 PS/ 2键盘的所有功能。现在大多数鼠标也采用PS/ 2 接口, 无疑本文的设计方法同样适用于 PS/2 鼠标。本文的设计方法对含有M cBSP 接口的DSP 系统实现人机接口提供了一个可以参考的实例。参 考 文 献1 仲崇权, 徐世昌, 杨素英1 微机键盘接口的研究及其在仪器仪表中的应用 J 1 计算机应用, 200112 Texas Instruments1 TM S320C54x DSP Reference SetVol11: CPU and Peripherals Z 13 Texas Instruments1 TM S320C54x DSP Reference SetVol15: Enhanced Peripherals Z 14 Texas Instruments1 I mplementing a Software UART onthe TM S320C54x w ith theM cBSP and DMA Z答辩记录及评分表 课题名称数字竞赛抢答器答辩教师(职称) 答辩时间20132014学年第一学期 第 11 周答辩评语

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 技术资料 > 课程设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922