模拟PS2鼠标键盘问题

[复制链接]
6023|16
 楼主| mymystery 发表于 2008-12-21 20:03 | 显示全部楼层 |阅读模式
初始化过程中电脑主机会发信息过来 然后需要单片机回复相应的信息,但是如果单独开鼠标或者键盘都能正常接收和发送 但是2个一起开 当发送键盘回复的这段时间就会把鼠标回复的时间给挤掉,不知道这种情况大虾们是怎么处理的。
 楼主| mymystery 发表于 2008-12-21 20:18 | 显示全部楼层

..

俺的笨方法是开2个中断接收主机拉低时钟线的信号 然后置标志在主循环中接收主机发过来的0xff等信息并做出相应的回复,单独做一个都没问题 可是把鼠标给加近来就有2个中断了,问题就出来了,对于鼠标发来的信息不能做出即使的回复应为还在回复键盘信息中,不知道怎么办了。
 楼主| mymystery 发表于 2008-12-21 21:40 | 显示全部楼层

。。。

有做过的仁兄可以发表哈意见
 楼主| mymystery 发表于 2008-12-22 09:30 | 显示全部楼层

!!!

如何模拟PS2鼠标键盘 目前电脑上电初始化过程通不过,两个在一起会打架,求思路
xwj 发表于 2008-12-22 09:54 | 显示全部楼层

LZ 需要先学会再一个单片机上作出2个不相干的任务

去学学状态机的编程思想吧...




实在不会?
那就用2个单片机:-)
sz_kd 发表于 2008-12-22 10:03 | 显示全部楼层

理解操作系统可以同时执行多个任务

就知道怎么做了
古道热肠 发表于 2008-12-22 10:19 | 显示全部楼层

中断程序为键盘服务时就不让鼠标发信息,反之亦然

PS/2设备自己有缓冲,主机有控制权,轮不到它发言时先得自己记住相关内容,等主机清闲时,再一并发上去.
 楼主| mymystery 发表于 2008-12-22 11:00 | 显示全部楼层

谢谢大家帮我解答

目前的问题就是如果主机同时发送鼠标和键盘的初始化信息,单片机该如何应对呢,是回复完一个 再回复另一个吗?但是主机已经发出发送数据请求,拉低了时钟线做为标志,岂不是要等模拟键盘接收回复完了才能接收回复模拟鼠标的,好像时序就不对了哦。毕竟主机在你回复键盘之前都已经对鼠标有发送数据的请求了啊
呆板书生 发表于 2008-12-22 11:24 | 显示全部楼层

就是只能做完一个再一个

单片机的速度比较低,所以只能做完一个再做另一个。

主机如果没有收到应答,其实会重发的,多次重发没有反应才会记为失效。

当然,如果主机嫌你做得慢,你就用两个单片机处理,
xwj 发表于 2008-12-22 11:31 | 显示全部楼层

PS2鼠标和键盘的线路是分开的啊

为什么“要等模拟键盘接收回复完了才能接收回复模拟鼠标的”???

而且,主机端的数据收发是由键盘鼠标端来发时钟同步的,什么时候开始完全是键盘鼠标说了算
就算“要等模拟键盘接收回复完了才能接收回复模拟鼠标的”也没啥问题呀
 楼主| mymystery 发表于 2008-12-22 11:33 | 显示全部楼层

回LS

时钟确实是自己控制的,但是好像不能同时产生2个时钟呢,只有一个一个的处理,接收完一个并回复然后再产生另外一个时钟接收回复。
 楼主| mymystery 发表于 2008-12-22 11:50 | 显示全部楼层

刚测试了下

发送键盘信息所需的时间不会超过10MS 满足PS2所规定的从拉低时钟发送数据请求到产生时钟不能超过15MS的要求 所以接收发送模拟鼠标的时序应该是满足条件的
xsmcu 发表于 2008-12-22 12:14 | 显示全部楼层

参考一下

我的经验是,整个上电初始化的过程是一个串行的过程,主要要处理的问题是谁先发动这个过程,按照正常的顺序应该是上位机先发0xFF,然后ps2回复自检结果,不过这个过程有一个比较大的难点就是然后如何正确捕捉上位机的oxff,因为上位机要发信息前是通过下拉时钟线至少100 微秒左右的时间来抑制通讯,再通过下拉数据线来应用请求发送然后释放时钟,这个过程单纯用单片机来模拟捕获是不稳定的,所以比较简易的做法就是直接先下位机开始,直接一直发送自检结果,直到上位机有回复在进行下面的初始化过程,这样基本上是行的通的,可以参考一下!
工控秀才 发表于 2008-12-22 12:44 | 显示全部楼层

去看看我的一个小MCU控制2路PS2的方案

控制芯片也是采用软件模拟的,2路PS2数据同时过来也不会丢失数据,还是多核心的优势呀,哈哈.
 楼主| mymystery 发表于 2008-12-22 13:29 | 显示全部楼层

回工控秀才

有没用一个单片机搞定的方法呢。2路PS2数据
工控秀才 发表于 2008-12-22 13:49 | 显示全部楼层

回mymystery,有

当然有啦,我把联接都搬过来了,你自己看看我的是否是一个SSOP16的IC,接了2个PS2吧.SSOP16 IC的资源是,8路程序指针,1K OTP,128RAM.价格实惠,有需要请和我联系.
相关链接:http://blog.gkong.com/more.asp?name=gongkong&id=55155
sz_kd 发表于 2008-12-22 13:55 | 显示全部楼层

LS明显做广告

您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

93

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部