单片机实现数字化B超键盘设计
摘要:针对目前使用的RS232接口数字化B超键盘存在PC主机启动时不能设置BIOS,提出一种PS2键盘的设计方法。基于W78E052D单片机,采用8通道串行A/D转换器设计了8个TGC电位器信息采集电路,电位器位置信息以键盘扫描码序列形式发送,正交编码器信号通过XC9536XL转换为单片机可接收的中断信号,软件接收到中断信息后等效处理成按键。结果表明,在满足开机可设置BIOS同时,又可实现超声特有功能,不需要专门设计驱动程序,接口简单,成本低。
关键词:RS232;单片机;PS2;键盘
早期B超产品设计大多采用单片机和可编程器件(CPLD)来控制整个系统,键盘直接由主控单片机扫描处理,或专门用单片机处理键扫并经RS232接口与主控单片机通讯。随着B超数字化技术的诞生,需要大量控制数据存储并可下传给超声模块,主控单片机逐渐被计算机取代。在B超数字化过程中,RS232接口的键盘存在需要设计驱动程序,且存在PC启动时无法进入BIOS设置的问题,而且串口有逐渐被取消的趋势。如果直接采用PS2或USB标准键盘,则需要另行设计超声特有的功能模块、该模块与主机的接口及其驱动程序,而且PC键盘的外观会影响B超整体造型设计。
本文提出了一种用单片微机实现PS2超声键盘的设计方法,键盘包括字母数字按键和超声功能模块,设计兼顾BIOS设置,直接可使用操作系统(Windows)提供的驱动程序。
1 接口协议
PS2接口协议是现在大多数键盘、鼠标与PC机通讯的标准协议。键盘与鼠标在传输协议上,只是传输数据内容不一样。
充分理解该接口协议,可以帮助设计者自主开发专用的多功能键盘。
PS2接口协议是一种双向同步串行协议,换句话说,PS2设备可以发送数据到主机,而主机也可以发送数据到设备,但主机总是在总线上有优先权,它可以在任何时候抑制来自于设备的通讯——即把时钟拉低。
从设备发送到主机的数据在时钟信号的下降沿被读取,从主机发送到设备的数据在上升沿被读取。不管通讯的方向怎样,设备总是产生时钟信号,如果主机要发送数据它必须首先告诉设备开始产生时钟信号。最大时钟频率是33 kHz,而且大多数设备工作在10~20 kHz。
PS2连接器、发送或接收数据的细节、命令集在《PS/2技术参考》一文中有详细描述。
2 扫描码
键盘处理器获得有键按下、释放或按住的信息,信息最终以扫描码的形式发给计算机。
标准计算机上的每个按键都有唯一的通码和断码,所有这些通断码组成了扫描码集。扫描码集一共有3套,分别对应3种键盘,现代键盘默认的是第二套扫描码集。
1)扫描码分通码和断码。根据扫描码的不同,可将按键分为3种;
2)通码为1字节,断码为0xF0+通码形式;
3)通码为2字节,0xE0+0xXX形式,断码为0xE0+0xF0+0xXX形式;
特殊按键,有两个,Pause和Print screen。
扫描码个数是固定的,无法随意增加,自行设计PS2键盘就是要灵活运用第二套扫描码集。B超键盘用到了数字字符键,这一部分跟计算机键盘基本相同。除数字字符键外的标准键盘按键和预留按键的扫描码就当作功能操作调节时的信息代码。
3 键盘方案及硬件设计
3.1 键盘方案设计
数字化B超键盘由字母数字(Alphanumeric)键、功能键、功能调节编码器、总增益调节编码器、八段TGC(时间增益补偿,Time Gain Compensation)调节电位器等几部分组成,如图1所示。
按键总数为88个,且需今后扩充,故采用行列结构,字母数字键的扫描码参照标准键盘设计,功能键则直接使用字母数字键除外的扫描码,这样B超键盘相当于在标准键盘的基础上增加编码器处理和TGC电位器数据采集两个模块。
编码器输出具有A相、B相的方波正交信号,而且二者相序取决于编码器的正反转方向,文献中对原理及处理方法有详细描述。不同的是,只用鉴相器,两个编码器正转时产生的脉冲信号分别输出至,反转时分别输出至
。
8个TGC电位器以前采用8通道并行ADC或单通道ADC+8选1模拟开关完成模拟量到数字量的转换,占用单片机I/O口较多,电路接口复杂,现采用串行8通道ADC,控制简单,跟MAX111相比不需要转换时间,而且集成度更高。
评论