基于89C51的计算机可锁定加密键盘设计
时间:03-18
来源:互联网
点击:
引 言
在智能仪器、自动控制等领域,已大量使用嵌入式PC,如Advantech公司的PC/104、AMD公司的DIMM-PC等。为适应开放式、模块化的要求,嵌入式PC具有标准的PC接口,如VGA显示器控制接口、以太网接口、RS232接口、PC/AT键盘接口等。所以,可以用标准的PC 键盘对嵌入式PC进行操作与控制。键盘在输入指令之后,可能很长一段时间不用。为计算机安全和防止误触发,需要将键盘锁定,还要对某些键采取屏蔽措施,但是PC标准键盘不能满足这些要求。本文介绍一种用89C51设计实现的可锁定加密PC/AT键盘。
1 键盘功能及工作原理
PC键盘功能主要有按键识别、去抖、重键处理、发送扫描码、自动重发、接收键盘命令、处理命令等。键盘有编码键盘和非编码键盘。编码键盘程序设计简单,但硬件电路复杂,价格较高;非编码键盘用软件来实现识别键、编码转换、去抖等功能,硬件电路简单,价格便宜。现代微机系统中广泛采用非编码键盘。PC键盘多采用18行×8列的二维矩阵行列结构。采用行扫描法识别按下的按键。
2 PS/2协议
PS/2协议是外设与主机之间通信的一种同步双向串行协议。在该协议中主机拥有较高的优先级,在一定条件下可以终止外设正在进行的发送过程。PS/2协议采用的传送数据帧的格式为:1位起始位(0)、8位数据位、1位奇偶校验位、1位停止位(1)。数据发送时低位在前,高位在后。外设每收到主机发来的1帧数据,都要紧随该帧的停止位发送一个握手位ACK(0)应答主机。然后,外设还要发1帧应答数据(0xF0),表示外设已经完整地接收到了主机的命令;而主机则不需发送握手位,也不需要发送应答帧。
2.1 键盘到PC键盘接口的通信
当时钟线和数据线均为高电平时,允许键盘发送数据,系统将接收数据;当时钟线被拉为低电平时,表明系统禁止数据传输。图1给出了发送时序,包含1个低电平触发的起始位、8位数据位、1个奇校验位和1个高电平的结束位。
2.2 PC系统到键盘的通信协议
若时钟线出现高电平,数据线出现低电平,表明系统请求发送,键盘准备产生同步时钟脉冲串,并接收数据。包含了1个低电平触发的起始位、8位数据位、1个奇校验位、1个应答位、1个高电平的结束位。图2为时序图。
(1)键盘命令及执行过程
① FFH:复位键盘。系统通过此软件复位命令使键盘进入程序复位和内部自测试,称为基本保证测试(BAT)。复位键盘的过程如下:
a. 键盘收到FFH后立即回送ACK(FAH)作答;
b. 键盘接口收到ACK后,将键盘时钟和数据线置为高电平;
c. 键盘检测到此状态后开始BAT操作;
d. 如果BAT正确完成,键盘发送AAH以表示结束,
否则以FDH(或其它任何值)表示诊断有误。
② FEH:重新发送。当系统检测到从键盘送来的任何传输错误时,它便向键盘发送FEH命令。键盘接收到此命令后,将重新送出原来的内容。
③ FDH~F7H:空操作(保留未用)。
④ F6H:设置缺省值。此命令使键盘所有条件复位到电源接通时的缺省状态,键盘继续扫描。
⑤ F5H:设置缺省值和停止键盘。此命令使键盘所有条件复位到电源接通时的缺省状态,并停止键盘扫描,等待下一个键盘命令。
⑥ F4H:启动键盘。键盘接收到此命令后,用ACK(FAH)作答,清除输出缓冲器,并启动键盘开始扫描。
⑦ F3H:设置拍发速率和延时参数。每当按下任一键时,键盘以拍发速率连续送出键的接通码,直到键被释放为止。延时参数是指按下一键后,键盘输出的响应时间。
系统缺省设置:拍发速率=10个/s±20%,延时=500ms±20%。 当要改变设置时可以使用F3H命令,并后跟一个字节的参数。参数定义如表1所列。
表1
计算拍发速率和响应延时的公式如下:
拍发速率=1/[(8+A)×2B×0.00417] (1/s)
响应延时=(1+C)×250 (ms)
注:缺省的延时参数值为2CH。
此命令的执行过程如下:
a. 键盘收到F3H命令后,用FAH予以响应,并停止
扫描和等待随后的参数;
b. 键盘若收到随后的设置参数,用另一个ACK响
应,并按其参数设置新的拍发速率和响应延时,
之后重新开始扫描(若键盘原来是开放的);
c. 键盘若收到FAH命令,但无随后的设置参数,则
键盘结束命令设置,并保持原来的拍发速率和响
应延时,停止扫描。
⑧F2H,F1,EFH:保留未用。
⑨F0H:设置键盘扫描码命令。此命令用于设置键盘的扫描码,后跟参数指定三种扫描码的哪一种。键盘复位时,默认扫描码是第二种。
⑩EEH:回送命令。此命令用于辅助诊断,要求键盘接收到EEH时也要回送EEH予以响应。若键盘原来是开放的,则继续扫描。
EDH:置位/复位LED指示器。键盘右上角有三个LED指示器,分别反映Caps、Num和Scroll三个键的锁定情况。参数字节如表2所列。
在智能仪器、自动控制等领域,已大量使用嵌入式PC,如Advantech公司的PC/104、AMD公司的DIMM-PC等。为适应开放式、模块化的要求,嵌入式PC具有标准的PC接口,如VGA显示器控制接口、以太网接口、RS232接口、PC/AT键盘接口等。所以,可以用标准的PC 键盘对嵌入式PC进行操作与控制。键盘在输入指令之后,可能很长一段时间不用。为计算机安全和防止误触发,需要将键盘锁定,还要对某些键采取屏蔽措施,但是PC标准键盘不能满足这些要求。本文介绍一种用89C51设计实现的可锁定加密PC/AT键盘。
1 键盘功能及工作原理
PC键盘功能主要有按键识别、去抖、重键处理、发送扫描码、自动重发、接收键盘命令、处理命令等。键盘有编码键盘和非编码键盘。编码键盘程序设计简单,但硬件电路复杂,价格较高;非编码键盘用软件来实现识别键、编码转换、去抖等功能,硬件电路简单,价格便宜。现代微机系统中广泛采用非编码键盘。PC键盘多采用18行×8列的二维矩阵行列结构。采用行扫描法识别按下的按键。
2 PS/2协议
PS/2协议是外设与主机之间通信的一种同步双向串行协议。在该协议中主机拥有较高的优先级,在一定条件下可以终止外设正在进行的发送过程。PS/2协议采用的传送数据帧的格式为:1位起始位(0)、8位数据位、1位奇偶校验位、1位停止位(1)。数据发送时低位在前,高位在后。外设每收到主机发来的1帧数据,都要紧随该帧的停止位发送一个握手位ACK(0)应答主机。然后,外设还要发1帧应答数据(0xF0),表示外设已经完整地接收到了主机的命令;而主机则不需发送握手位,也不需要发送应答帧。
2.1 键盘到PC键盘接口的通信
当时钟线和数据线均为高电平时,允许键盘发送数据,系统将接收数据;当时钟线被拉为低电平时,表明系统禁止数据传输。图1给出了发送时序,包含1个低电平触发的起始位、8位数据位、1个奇校验位和1个高电平的结束位。
2.2 PC系统到键盘的通信协议
若时钟线出现高电平,数据线出现低电平,表明系统请求发送,键盘准备产生同步时钟脉冲串,并接收数据。包含了1个低电平触发的起始位、8位数据位、1个奇校验位、1个应答位、1个高电平的结束位。图2为时序图。
(1)键盘命令及执行过程
① FFH:复位键盘。系统通过此软件复位命令使键盘进入程序复位和内部自测试,称为基本保证测试(BAT)。复位键盘的过程如下:
a. 键盘收到FFH后立即回送ACK(FAH)作答;
b. 键盘接口收到ACK后,将键盘时钟和数据线置为高电平;
c. 键盘检测到此状态后开始BAT操作;
d. 如果BAT正确完成,键盘发送AAH以表示结束,
否则以FDH(或其它任何值)表示诊断有误。
② FEH:重新发送。当系统检测到从键盘送来的任何传输错误时,它便向键盘发送FEH命令。键盘接收到此命令后,将重新送出原来的内容。
③ FDH~F7H:空操作(保留未用)。
④ F6H:设置缺省值。此命令使键盘所有条件复位到电源接通时的缺省状态,键盘继续扫描。
⑤ F5H:设置缺省值和停止键盘。此命令使键盘所有条件复位到电源接通时的缺省状态,并停止键盘扫描,等待下一个键盘命令。
⑥ F4H:启动键盘。键盘接收到此命令后,用ACK(FAH)作答,清除输出缓冲器,并启动键盘开始扫描。
⑦ F3H:设置拍发速率和延时参数。每当按下任一键时,键盘以拍发速率连续送出键的接通码,直到键被释放为止。延时参数是指按下一键后,键盘输出的响应时间。
系统缺省设置:拍发速率=10个/s±20%,延时=500ms±20%。 当要改变设置时可以使用F3H命令,并后跟一个字节的参数。参数定义如表1所列。
表1
D7 | D6 D5 | D4 D3 | D2 D1 D0 |
0 | C | B | A |
计算拍发速率和响应延时的公式如下:
拍发速率=1/[(8+A)×2B×0.00417] (1/s)
响应延时=(1+C)×250 (ms)
注:缺省的延时参数值为2CH。
此命令的执行过程如下:
a. 键盘收到F3H命令后,用FAH予以响应,并停止
扫描和等待随后的参数;
b. 键盘若收到随后的设置参数,用另一个ACK响
应,并按其参数设置新的拍发速率和响应延时,
之后重新开始扫描(若键盘原来是开放的);
c. 键盘若收到FAH命令,但无随后的设置参数,则
键盘结束命令设置,并保持原来的拍发速率和响
应延时,停止扫描。
⑧F2H,F1,EFH:保留未用。
⑨F0H:设置键盘扫描码命令。此命令用于设置键盘的扫描码,后跟参数指定三种扫描码的哪一种。键盘复位时,默认扫描码是第二种。
⑩EEH:回送命令。此命令用于辅助诊断,要求键盘接收到EEH时也要回送EEH予以响应。若键盘原来是开放的,则继续扫描。
EDH:置位/复位LED指示器。键盘右上角有三个LED指示器,分别反映Caps、Num和Scroll三个键的锁定情况。参数字节如表2所列。
嵌入式 显示器 电路 LED 单片机 电阻 看门狗 相关文章:
- 支持汽车电子的嵌入式软件编程接口库设计(11-29)
- 用IXP网络处理器设计的数字家庭媒体中心系统 (02-12)
- 基于DSP和CPLD的智能相机系统设计与研制(08-19)
- 基于DM642嵌入式无线视频监控硬件设计 (10-15)
- 基于AD7892SQ和CPLD的数据采集系统的设计(11-10)
- 嵌入式向产业上游迈进(01-06)