hooler 发表于 2008-7-24 17:44

*********条码扫描枪的“PS/2 键盘 wedge”接口是如何实现的?

<br />条码扫描枪的&nbsp;“PS/2&nbsp;键盘&nbsp;wedge”&nbsp;接口是如何实现的?<br />&nbsp;<br />请问这个有对条码扫描枪比较熟悉的高人吗?<br />最近我在做一款条码扫描枪,条码扫描枪在用PS/2&nbsp;键盘&nbsp;wedge&nbsp;接口时,<br />需要同时通过PS/2接口连接键盘和扫描枪到PC上,显然扫描枪不能影响PC和键盘的双向通讯。<br />&nbsp;<br />*********注意,时钟CLK是设备(键盘或者扫描枪发给PC的)*********<br />连接方式见下面的图1。<br />&nbsp;<br /><br />为实现如上PS/2连接,我的实现方案之一如图2。<br />键盘和扫描枪的PS/2总线并联在PC的PS/2总线上。<br />&nbsp;<br />&nbsp;<br />这种连接方式在扫描枪或者键盘主动向主机发送数据的时候,没有问题,<br />因为以上2者谁想发送数据,谁就驱动原来处于三态的DATA,和CLK两个信号。<br />&nbsp;<br />问题出在,问题在于同时连接键盘时扫描器不能接收来自PC的命令。<br />因为,按照PS/2协议所描叙,当PC想让键盘接收命令时,会拉低CLK脚,<br />键盘响应后就会驱动CLK脚发出时钟。如果此时扫描器以为是PC机要自己接收命令,<br />也驱动发出CLK信号,显然CLK信号就会冲突。<br />&nbsp;<br />“除非扫描器不接收来自PC的命令”,就不会使CLK产生冲突,也就不会影响到<br />PC机和键盘间的原有双向通讯。<br />&nbsp;<br />====这里要问下对扫描枪操作比较熟悉的朋友,用PS/2&nbsp;键盘&nbsp;wedge连接PC时,扫描枪需要通过PS/2接口<br />接收来自PC的命令吗?=====<br /><br />实现方案之一如图3<br />&nbsp;<br />网上发现别的公司的扫描器对外有4根PS/2线接口,一对接PC,一对接键盘。猜测他们使用CD4052等<br />双向模拟开关,在默认的情况下,一直使键盘的PS/2总线和PC相连。如图7所见。这样,<br />扫描器不会影响PC和键盘通讯。在需要扫描器向PC发数据的时候,断开键盘和PC的连接,<br />使扫描器和PC的PS/2总线连通。<br />&nbsp;<br />不过有点疑问没有想清楚,当模拟开关CD4052使PC连接键盘时,如果PC机要发命令给扫描器,<br />那PC是如何通知扫描器让其断开&nbsp;PC和键盘&nbsp;连接的呢?<br />&nbsp;<br />同样,当CD4052使扫描枪和PC连接时,如果PC机要发命令给键盘,<br />那PC是如何通知扫描器让其断开&nbsp;PC和扫描器&nbsp;的连接的呢?<br />&nbsp;<br />用时间轮回打开CD4052的方式,似乎也不是最佳方案,太费DSP的控制任务了。<br />有高人指点吗?https://bbs.21ic.com/upfiles/img/20079/200798175812246.jpg

hooler 发表于 2008-7-24 17:46

图1

下面的是图1。<br />PS/2键盘,和扫描枪,PC机的连接方式。<br /><br />https://bbs.21ic.com/upfiles/img/20079/20079818226747.jpg

hooler 发表于 2008-7-24 17:47

图2

我的实现方案之一。<br /><br />如图2。https://bbs.21ic.com/upfiles/img/20079/20079818350748.jpg

masonzhang 发表于 2008-7-25 14:03

re

记号&nbsp;<br /><br />看2楼的图应该是总线连接&nbsp;
页: [1]
查看完整版本: *********条码扫描枪的“PS/2 键盘 wedge”接口是如何实现的?