鼠标控制数字电位器在编码器中的应用
2009-04-01
作者:洪 喜1,2, 续志军1
摘 要:在光电编码器中需采用电位器将电流信号转变为电压信号,并调节信号幅值以适应后续电路的应用处理。文中提出用鼠标控制数字电位器代替传统的手动调节机械电位器,实现了数字化的信号调节。此方法避免了以往信号调节必须拆装电路板的弊端;同时,由鼠标控制阻值变化使得信号的观察与检测极为简单直观,大大缩减了检测所需的工作时间,提高了工作效率。
关键词:数字电位器; 机械电位器; 鼠标; 光电编码器
在编码器系统中[1],光栅读数头的信号由于受到环境因素、使用因素的影响,经常需要重新调整。采用机械电位器进行信号调节,调整起来既不直观又不方便且费时费力。采用PS/2鼠标控制数字电位器进行信号调节,则实现了一种全新的数字化的信号调节方式。利用鼠标控制电位器的滑动端位置,调节电阻值,操作过程方便简单,无需对安装好的电路系统进行拆装即可完成对信号的调节;在信号检测过程中只需滑动鼠标就可看到信号的变化,避免了以往边手动调节工作电路边观测信号所带来的不便;同时由于贴片式数字电位器的封装尺寸远小于机械电位器的封装尺寸,因此大大缩减了系统电路的体积。
1 PS/2鼠标的应用
利用PS/2鼠标完成对电位器的切换以及对电位器阻值的调整。编码器电路由多路信号处理电路构成,每路信号都有一个与之对应的电位器来对此路信号进行调整,利用鼠标的左右键来进行电位器间的切换。当选中的电位器是需调整的信号电路的电位器时,利用鼠标滚轮来调整阻值;当信号调整完成后,按下鼠标中间键使电位器记录下此时的滑动端位置。完成所有信号的调整工作后将鼠标拔下即可。
1.1鼠标的工作原理
PS/2鼠标本质是一个二维的角度或位移检测装置[2],只需时钟线(CLK)、数据线(DATA)两根连线就能实现主机与其通信。鼠标不论是发送信息还是接收指令,CLK时钟信号都由鼠标产生。鼠标正常工作时,信息是无条件向主机发送,不需要主机应答,设计中必须注意到这些特点以保证信息不丢失。
1.1.1主机向PS/2鼠标通信
该过程发生在主机上电自检时,主机发送测试信号检测外设并对鼠标初始化。主机向鼠标发送数据时,因为时钟信号总是由鼠标产生,所以主机要发送数据,必须先将时钟线和数据线设为请求发送状态,即:拉低时钟线至少100μs来禁止鼠标通信;拉低数据线使之处于请求发送状态。此后主机释放时钟线,等待外设改变时钟信号。主机在时钟线为低时改变数据,放到数据线上的数据在时钟脉冲的上升沿被PS/2鼠标读取。主机在发送完数据位和奇偶校验位后释放数据线,以此作为停止位。当停止位被发送后,主机等待PS/2鼠标拉低数据线也即鼠标产生握手应答信号[3]。
1.1.2 主机接收PS/2鼠标信息
该过程发生在鼠标应答主机发出的命令或工作人员进行鼠标操作时。主机对总线有控制权,它可通过将时钟线置为低电平来禁止PS/2设备与主机的通信。当PS/2鼠标要向主机发送信息时,必须先检查时钟线是否为高电平,如果不是高电平则说明主机禁止鼠标向它发送数据。只有当CLK和DATA都为高电平时,鼠标才会发送数据。主机在接收到时钟的下降沿后到数据线上读取数据。
1.2 PS/2鼠标的应用实现
PS/2 鼠标和单片机的硬件接口很简单,其与89C51单片机的连接电路如图1所示。
笔者在设计中发现对PS/2鼠标接口进行操作与控制时,鼠标的初始化程序是其中较为困难的一部分。主机与鼠标间的通信必须严格遵守时序要求[4],数据线上的数据处理尽量放在时钟边沿状态查询之外进行,以保证鼠标能在每个时钟周期内获得正确的数据信息。同时,由于不同的鼠标其数据包格式也有所不同,要根据初始化过程中获得的设备信息来确定鼠标的数据包格式。鼠标初始化程序框图如图2所示。
2 数字电位器
设计中选择了非易失数字电位器DS1804。DS1804是一种微调电位器,具有100个抽头位置,工作于3V或5V电压下,电位器的抽头位置通过三个端口调节,这三个端口提供有增/减计数控制接口,可进行加减逐级控制。DS1804也可作为一次性可编程存储器应用,此时三端口的增减控制失效。
为便于观察信号通道与电位器的选择与切换,在电路中每个电位器都有一个发光二极管与之对应。其电路连接如图3所示。图中只画出了两个电位器与单片机的连接情况。
将PS/2鼠标应用在编码器电路中,使得用户在进行信号调整与检测工作时如同操作PC机一样简单方便。实验证明,该方案切实可行,操作简单,运行可靠。将简单易用的常用设备引入到编码器的系统电路中,使其更趋数字化、人性化,为编码器系统的研究设计开辟了新的思路。同时,该方案具有可移植性,适用于其他如人机交互、密码管理等诸多领域中。
参考文献
[1] 叶盛祥. 光电位移精密测量技术[M]. 成都:四川科技出版社, 2003.
[2] 胡晓毅,解永军. 基于PS/2鼠标接口单片机输入设备的实现[J]. 厦门大学学报,2003,7(4):463-466.
[3] 谈宏华,黎爱琼,陈家林,基于嵌入式微处理器的PS/2鼠标驱动设计[J].测控技术,2006,25(2):71-74.
[4] 陈曦.PS/2接口协议解析及应用[J].国外电子元器件,2004(4):14-17.