基于_dsp_与_ps2_键盘的通信设计__论文.pdf
《基于_dsp_与_ps2_键盘的通信设计__论文.pdf》由会员分享,可在线阅读,更多相关《基于_dsp_与_ps2_键盘的通信设计__论文.pdf(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、苏州大学本科生毕业设计(论文)第 1 页 共 28 页 基于 DSP 与 PS/2 键盘的通信设计 苏州大学 应用技术学院 05 信息工程 乔俊 2009 年 4 月 目录 前言.5 第 1 章 PS/2 接口硬件.6 第 1.1 节 PS/2 接口标准的发展过程.6 第 1.2 节 物理连接器.6 第 1.3 节 电气特性.7 第 1.4 节 PS/2 协议.7 第 1.5 节 从设备到主设备的通信.7 第 1.6 节 主设备到从设备的通信.9 第 2 章 TMS320C54x 的概述.11 第 2.1 节 TMS320C54x 的硬件结构.11 第 2.2 节 TMS320C54x 的结构
2、特点.11 第 3 章 TMS320C54x 的 McBSP 串口.13 第 3.1 节 McBSP 串口的工作原理.13 第 3.2 节 McBSP 串口的工作方式.13 第 4 章 硬件设计.15 第 4.1 节 PS/2 键盘的输出接口.15 第 4.2 节 McBSP 串口的工作原理.15 第 4.3 节 McBSP 串口和 PS/2 键盘的硬件连接.16 第 5 章 软件设计.18 第 5.1 节 McBSP 的初始化子程序.18 第 5.2 节 键盘扫描码转换子程序.19 5.2.1.PS/2 键盘的编码.19 5.2.2.PS/2 键盘的命令集.19 苏州大学本科生毕业设计(论文
3、)第 2 页 共 28 页 5.2.3.键盘扫描码.19 5.2.4.主机向键盘发送命令.20 5.2.5.键盘的扫描码转换.20 第 5.3 节 中断服务子程序.20 第 6 章 结 语.23 第 6.1 节 本系统的概述.23 第 6.2 节 本系统的不足.23 第 6.3 节 本人的心得体会.23 参考文献.25 致谢.26 附录.27 苏州大学本科生毕业设计(论文)第 3 页 共 28 页 基于 DSP 与 PS/2 键盘的通信设计 苏州大学 应用技术学院 05 信息 乔俊 2009 年 4 月 【摘要】:本文主要介绍了基于 DSP 与 PS/2 键盘的通信设计。由于在嵌入式系统中,经
4、常使用的键盘都是专用键盘。这类键盘都是单独设计制作的,成本高,连线多,且可靠性不高。这些问题在那些要求键盘按键较多的应用系统中显得更加突出。与此相比,在 PC 系统中广泛使用的 PS/2 键盘具有价格低、通用可靠,且使用的连线少(仅使用 2 根信号线)的特点,并可满足多数系统的要求。因此,在嵌入式系统中应用 PS/2 键盘是一种很好的选择。本文在分析 PS/2 协议和 PS/2 键盘工作原理与特点的基础上,实现和 PS/2 键盘的硬件连接方法以及驱动程序的设计。【关键词】:嵌入式系统、PS/2 键盘、TMS320C54x DSP 苏州大学本科生毕业设计(论文)第 4 页 共 28 页 Abst
5、ract:This article mainly introduces the communication design which based on DSP and PS/2 keyboard.We usually use the special keyboard in the case of embedded system.This kind of keyboard is always individually designed,with high-cost,a lot of connections and low-reliability.These problems are especi
6、ally obvious in the application system which needs more keyboard keys.In contrast,the PS/2 keyboard which is widely used in PC system is cheap,general-used,reliable and uses less connections(using only two signal lines),can meet the requirements of most systems.Therefore,it is a very good choice to
7、use PS/2 keyboard in the embedded system.This article based on the analysis of PS/2 protocol and the working principle of PS/2 keyboard,realize the hardware connect way of PS/2 keyboard and the design of driver program.Key words:Embedded systems,PS/2 keyboard,DSP 苏州大学本科生毕业设计(论文)第 5 页 共 28 页 前言前言 随着信
8、息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。随着数字化的急速进程,DSP 技术的地位也突显出来。DSP 芯片的应用几乎电子与信息的每个领域,它的诞生及发展对二十多年来通信、计算机、控制等领域的发展起到十分重要的作用。如,通用数字信号处理、语音识别与处理、图形处理、仪器仪表、自动控制、医学工程、家用电器、通信等。由于 DSP 其处理能力强,在信号分析、数据采集等领域得到广泛使用。但是,该系列的芯片缺乏必要的人机接口支持。同时在嵌入式领域中有时需要进行大量的文字输入、参数修改和数值设定等操作。通常的处理方法是设计专门的键盘处理电路,这不仅要占用许多硬件资源,而且用于按键处理的软件开
9、销也很大。因此,对标准键盘接口进行必要的研究,并将其用于 DSP 系统中,将会极大方便操作,提高工作效率。现行的主机键盘种类很多,但 PS/2 接口的取材广泛、性能稳定、价格低廉,具有一百多个按键,用其作为输入设备具有重要的实际意义。本文在分析 PS/2 协议、PS/2 键盘工作原理和 McBSP 串口的各种工作方式的基础上,发现PS/2键盘与主机的数据交换采用了类似于同步串口的通信协议,只是没有帧同步信号。通过利用 DSP 的 McBSP 串口,当其接收数据时,PS/2 接口的 DATA 数据线的起始位可以作为 McBSP 串口接收的帧同步信号;McBSP 串口发送数据时,PS/2 接口 C
10、LOCK 时钟线可以作为 McBSP 串口发送的帧同步信号。从而在该系统中利用了最少的硬件资源实现了同PS/2 键盘的连接。在软件上利用了 McBSP 串口的灵活配置并采用了串口初始化子程序、键盘中断服务子程序和键盘扫描转换子程序的方式节约了 CPU 的软件开销。实践证明设计的通信方法是切实可行的。苏州大学本科生毕业设计(论文)第 6 页 共 28 页 第第1章章 PS/2 接口硬件 第1.1节 PS/2 接口标准的发展过程 随着计算机工业的发展,作为计算机最常用输入设备的键盘也日新月异。1981 年 IBM推出了 IBMPC/XT 键盘及其接口标准。该标准定义了 83 键,采用 5 脚 DI
11、N 连接器和简单的串行协议。实际上,第一套键盘扫描码集并没有主机到键盘的命令。为此,1984 年 IBM 推出了 IBMAT 键盘接口标准。该标准定义了 84101 键,采用 5 脚 DIN 连接器和双向串行通讯协议,此协议依照第二套键盘扫描码集设有 8 个主机到键盘的命令。到了 1987 年,IBM 又推出了 PS/2 键盘接口标准。该标准仍旧定义了 84101 键,但是采用 6 脚 mini-DIN 连接器,该连接器在封装上更小巧,仍然用双向串行通讯协议并且提供有可选择的第三套键盘扫描码集,同时支持 17 个主机到键盘的命令。现在,市面上的键盘都和 PS/2 及 AT 键盘兼容,只是功能不
12、同而已。第1.2节 物理连接器 一般,具有五脚连接器的键盘称之为 AT 键盘,而具有六脚 mini-DIN 连接器的键盘则称之为 PS/2 键盘。其实这两种连接器都只有四个脚有意义。它们分别是 Clock(时钟脚)、Data(数据脚)、+5V(电源脚)和 Ground(电源地)。在 PS/2 键盘与 PC 机的物理连接上只要保证这四根线一一对应就可以了。PS/2 键盘靠 PC 的 PS/2 端口提供+5V 电源,另外两个脚Clock(时钟脚)和 Data(数据脚)都是集电极开路的,所以必须接大阻值的上拉电阻。它们平时保持高电平,有输出时才被拉到低电平,之后自动上浮到高电平。现在比较常用的连接器
13、如图 1-1 所示。图 1-1 PS/2 接口的 mini-DIN 连接器 苏州大学本科生毕业设计(论文)第 7 页 共 28 页 第1.3节 电气特性 PS/2 通讯协议是一种双向同步串行通讯协议。通讯的两端通过 Clock(时钟脚)同步,并通过 Data(数据脚)交换数据。任何一方如果想抑制另外一方通讯时,只需要把 Clock(时钟脚)拉到低电平。如果是 PC 机和 PS/2 键盘间的通讯,则 PC 机必须做主机,也就是说,PC 机可以抑制 PS/2 键盘发送数据,而 PS/2 键盘则不会抑制 PC 机发送数据。一般两设备间传输数据的最大时钟频率是 33kHz,大多数 PS/2 设备工作在
14、 1020kHz。推荐值在 15kHz 左右,也就是说,Clock(时钟脚)高、低电平的持续时间都为 40s。每一数据帧包含 1112 个位,具体含义如表 1 所列。表中,如果数据位中 1 的个数为偶数,校验位就为 1;如果数据位中 1 的个数为奇数,校验位就为 0;总之,数据位中 1 的个数加上校验位中 1 的个数总为奇数,因此总进行奇校验。第1.4节 PS/2 协议 PS/2 协议是外设与主机之间通信的一种同步双向串行协议,在该协议中主机端拥有较高的优先级,在一定条件下它可以终止外设正在进行的发送过程。该协议采用的短帧格式传送数据的数据帧格式为:1 位起始位(0),8 位数据位,1 位奇校
15、验位,1 位停止位(1)。数据线上的数据发送时低位在前,高位在后,每一位数据的持续时间为 60 一 100 us。在一帧数据的通信过程中主机在时钟的下降沿读取由外设发来的数据,外设在时钟的上升沿读取主机发来的数据。无论是主机端发送信息还是外设端发送信息,同步时钟都是由外设来产生,同步时钟的最大频率为 33KHz,一般情况下使用 10 一 20KHz 的频率。另外需要注意的一点是外设每接收到主机发来的一帧数据,都需要紧随该帧的停止位发送一个握手位 ACK(逻辑 0)应答主机;然后外设还要发一帧应答数据,表示外设已完整地了主机的命令。而主机每收到外设发来的一帧数据则不需要发送这个握手位 ACK,也
16、不需要另外发送应答帧。第1.5节 从设备到主设备的通信 当从设备向主设备发送数据时,这一通信过程发生在工作人员操作外设或外设应答主机端发来的命令时 DATA,CLOCK 信号线空闲状态下维持高电平状态。当外设要发送信息时,它首先检测时钟线是否为高。如果时钟线不是高电平,则主机禁止外设发送,外设需把要发送的信息存储起来待总线空闲时再发送数据。如果时钟线为高,表明总线空闲,外设可以发送数据。苏州大学本科生毕业设计(论文)第 8 页 共 28 页 外设发送数据的时序见图 1-2,数据线在时钟的高电平时期改变状态,时钟的下降沿将数据锁定到数据线上。在时钟频率为 10 一 33KHz 的范围内,从时钟的
17、上升沿到数据被发送至少需要 5 协 s 的时间,从数据被发送到时钟的下降沿的时间大于 5us,而小于 25us。图 1-2 外设发送数据时序图 外设在时钟高电平时期将数据放到数据线上,主机在接收到时钟下降沿后到数据线上读取数据。为了更清楚地理解这一过程,将其详细步骤描述如下:(1)、外设检测时钟线,如果时钟线为低,系统禁止外设发送;如果时钟线为高,继续。(2)、外设检测数据线,如果数据线为低,则主机准备发送数据,外设改变状态,准备接受主机的发送信息、;如果数据线为高,继续。(3)、外设将数据线拉低,以此作为发送起始位,5 一 25ws 后开始产生时钟进行数据发送。(4)、外设在发送过程中的前十
18、个时钟周期里以固定的时间间隔定期地在时钟的高电平时期检测时钟线。如果外设发现时钟线已被主机强行拉低,则该发送过程被终止。(5)、外设最后一次检测时钟线发生在外设产生了第 LO 个时钟上升沿 5ws 以后。(6)、主机在时钟的下降沿到数据线上读取数据,在收到一个完整的信息后,将时钟线拉低禁止外设的下一个发送过程以便处理收到的信息。(7)、主机释放时钟线(将时钟线置为高)表示允许下一个外设发送过程。(8)、该通信过程中的时间参数如图 1-3 所示。上述时间限制有任何一个不满足,主机都将产生一个接收错误。图 1-3 外设发送数据时间参考图 苏州大学本科生毕业设计(论文)第 9 页 共 28 页 第1
19、.6节 主设备到从设备的通信 该过程发生在主机上电自检时,主机发送测试信号检测外设是否存在并判定是何种类型的外设时。在这一通信过程中,同步时钟仍然是由外设产生的,主机发送数据前要通知外设让其产生同步时钟。为了做到这一点,主机首先拉低时钟线以禁止外设的发送,该时钟低电平至少要维持 60 w s;其次主机拉低数据线,以这两个低电平通知外设开始产生同步时钟;然后主机释放时钟线(不释放数据线),等待外设产生的时钟将时钟线拉低,这个低电平是第一个时钟脉冲,因为此时数据线为低,这个低电平将作为起始位被发送出去。主机在时钟的低电平时将数据放到数据线上,时钟上升沿将数据锁定在数据线上,外设在时钟上升沿后 5
20、一 25 w s 内采样数据线,将数据读人。这一点与外设到主机的通信过不一样的。该过程的时序关系如图 1-4 所示:图 1-4 主机发送数据时序图 主机在时钟的低电平时期将数据放到数据线上,外设在发送了时钟的上升沿后到数据线上取数。为使过程易于理解,将主机的详细动作描述如下:(1)、主机检测外设是否正处于发送过程。若正在发送且已经发送了第 10 个时钟,则主机必须接收外设发送的信息;若正在进行的发送过程没有超过第 10 个日寸钟,则主机强行通过将时钟线拉低终止该发送过程。(2)、主机将时钟线拉低至少 60ws,然后主机拉低数据线,以此低电平作为发送起始位通知外设主机有数据要发送。(3)、主机释
21、放时钟线(将时钟线置为高),然后等待外设将时钟线拉低。(4)、主机根据待发数据位是 0 或 1 将数据线拉低或置高(5)、主机等待外设将时钟线置高,时钟线被拉高后则等待外设将时钟线拉低。(6)、重复步骤(4)一(5),直到发送完奇校验位。(7)、主机释放数据线,该高电平即作为停止位。(8)、主机等待外设将数据线拉了联外设发给主机的握手应答位 ACK)。(9)、主机等待外设将时钟线拉低。(10)、主机等待外设释放时钟线和数据线。苏州大学本科生毕业设计(论文)第 10 页 共 28 页 该图中尤其要注意的是主机在时钟的低电平时期将数据放在数据线上,而握手位 ACK则是在时钟的高电平时期被放到数据线
22、上的。该过程的时间参数如下图 1-5 所示:图 1-5 主机发送数据时间参考图 在此过程中,任何一个时间限制不满足,主机都将终止该发送过程并产生一个错误中断。因为主机每发一个命令后都要求外设给予一个字节的应答。所以当上述主机的发送过程完成后,主机将 PS/2 物理端口由发送状态转换为接收状态,等待外设发来的字节应答数据。外设的这一应答起始位必须在 32ms(以图 1-6 中主机的发送起始位为时间零点)内送到主机端,否则主机将产生一个错误中断。在主机发送的通信过程中,外设检测到主机有数据要发送时,即为主机产生同步时钟。所以这一通信过程事实上可以分割成两部分,分别由主机和外设来做。按时间可分割如图
23、1-6 所示,其中(a)部分是由主机完成的,(b)部分是由 外设完成的。(a)部分表示从主机将时钟线拉低到外设开始产生时钟所需的时间,该时间不得超过 15mso(b)部分是从外设发送同步时钟开始的主机的发送过程所需的时间,该时间不育亩迢过 2ms。该发送过程完成后,主机将拉低时钟线禁止外设发送以便其进行一些必要的处理动作,然后主机将释放时钟线。由于主机发送的命令需要外设的应答,该应答数据必须在主机释放时钟线后的 20ms 内开始发送,否则主机将产生一个错误。图 1-6 主机发送数据时钟产生图 该图中要注意主机在时钟的低电平时期将数据放在数据线上,而握手位则是在时钟的高电平时期被放到数据线上的。
24、苏州大学本科生毕业设计(论文)第 11 页 共 28 页 第第2章章 TMS320C54x 的概述 第2.1节 TMS320C54x 的硬件结构 TMS320C54X DSP采用先进的修正哈佛结构和8总线结构,是处理器的性能大大提高。其独立的程序和数据总线,提供了高度的并行操作,允许同时访问程序存储器和数据存储器。此外,还可以在数据总线和程序总线之间相互传递数据,从而使处理器具有在单个周期内同时执行算数运算、逻辑运算、位移操作、乘法累加运算及访问程序和数据存储器的强大功能。TMS320C54X 系列 DSP 芯片虽然产品很多,但其系统结构基本上是系统的。它的硬件结构基本上可分三大块:(1)、C
25、PU 包括算术逻辑运算单元(ALU)、乘法器、累加器、位移寄存器、各种专门用途的寄存器、地址生成器及内部总线。(2)、存储器系统 包括片内程序 ROM、片内单访问的数据 RAM 和双访问的数据RAM、外接存储接口。(3)、片内外设与专用硬件电路 包括片内的定时器、各种类型的串口、主机接口、片内锁相环(PLL)时钟发生器及各种控制电路。(4)、此外,在芯片中还包含有仿真功能及其 IEEE1149.1 标准接口,用于芯片开发应用时的仿真。第2.2节 TMS320C54x 的结构特点(1)、改进的哈佛结构。围绕一组程序总线,三组数据总线和四组地址总线建立的哈佛结构,使得性能和多功能性都得以提高。(2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 _dsp_ _ps2_ 键盘 通信 设计 _ 论文
限制150内