电子工程师的网站
首 页 |  新闻资讯 | 最新产品 | 解决方案 | 技术参数
设计应用
电路图 | 技术资料 | 芯片资料 | 技术论坛
  现在位置: 首页 > 设计应用 > 单片机 > 详细信息
单片机:用SH69P04实现USB/PS2 MOUSE的设计
来源:   时间: 2007-4-17 14:20:46    

引言:USB 低速设备的设计发展到现在已经有了相当的成熟度。 各家IC公司都推出了USB DEVICE端的解决方案, 一般以8 BIT CPU CORE + USB SIE为主流构架。 SH69P04是中颖电子(Sinowealth)本着丰富USB产品应用,降低USB IC成本而设计的4BIT OTP单片机, 用以开发USB DEVICE设备。

SH69P04的功能及特点

如图1, SH69P04集成了USB SIE, 支持USB和PS2端口复用。 内建1.5K可控上拉电阻为用户节约成本, 并能建立和PC稳定的通讯。 专门为MOUSE设计的I/O端口。 双CLOCK系统使IC耗电更少, 轻易满足USB-IF对SUSPEND电流的要求。 8K×16 BIT的OTP ROM, 方便用户开发。 最大可支持40×8 的LCD显示或31个I/O, 满足用户的各种应用。 另外还内建Watch Dog, Low Power Detect功能。

1. USB和PS2端口共用

通过寄存器实现USB端口和PS2端口的切换

PS2PU = 1: 如果PS2IS = 1, 则内部PS2专用上拉电阻起作用。当需要使用USB端口时, 只要让PS2IS = 0即能关闭PS2端口及其上拉电阻。

2. 1.5KΩ可控上拉电阻

如图2, 有了这个1.5KΩ可控上拉电阻一方面可以节约成本, 另一方面可以实现软开关, 确保PC认出DEVICE。

当USB DEVICE和PC相连后由于内部1.5KΩ上拉电阻并未打开, 所以PC不认为有新的设备连接。 在打开上拉电阻前用户可以放心的完成程序初始化及其它客户程序, 而不必担心需要及时响应USB总线上的信号。 这是因为如果没有可控的上拉电阻而是直接外加, 那么当DEVICE和PC相连后, PC马上就会知道有新的设备连接, 在一定时间后就会向DEVICE发送信号, 如果DEVICE连续几次通讯失败的话, PC就认为该DEVICE出错而不会再和它通讯。

另外结合Watch Dog可以进一步确保DEVICE的连接。 用户可以事先计算一下整个USB初始化过程所需的时间, 并设置Watch Dog。 万一USB初始化出错就可以产生Watch Dog Reset, 1.5KΩ上拉就被关闭, 程序重新开始。 PC就会认为DEVICE有了一次插拔动作。程序死锁也可以用这种方法来解决。

3. 专为MOUSE设计的I/O端口

如图3, 原理分析时Q1.1和Q1.3是输出方波。 实际上由于Photo Transistors是采用光敏三极管, 当光栅转动时, 光敏三极管受到的光线也是连续变化的, 所以输出的波形也是连续变化的。 又因为光栅无法完全阻隔光线, 所以会产生一个OFFSET电平。 实际波形如图4。

图中VIH表示一旦输入电平高于VIH, 那么MCU就认为是高电平。 VIL表示一旦输入电平低于VIL, 那么MCU就认为是低电平。 在图4所示的这种状态下MCU可以很方便的读到光栅转动的情况。 但是由于干扰或者元器件老化等原因造成OFFSET电平发生变化, 使得输入信号的电平无法和VIH、VIL相交(如图5), MCU就会认为输入的信号一直为高或一直为低。

SH69P04为每一个MOUSE的端口提供三档下拉电阻(如图4)来控制OFFSET电平。 通过寄存器来选择下拉电阻的阻值, 用以解决由于OFFSET电平的变化而引起的错误。

软件设计

USB协议虽然很复杂, 但是MOUSE端需要编写的程序却十分有限。 用户很容易就能和PC建立联系。(Windows端HID驱动程序由操作系统提供)

1. USB/PS2端口的监测

第一步: 上电, delay 50ms 第二步: 在2ms的时间内监测D-的电平, 如果有4次为高电平, 就是PS2接口。 否则进入第三步第三步: 打开USB上拉电阻, delay500us, 反复监测D+和D-的电平, 直到其中有一个出现高电平。 如果D+是高电平, 则为PS2接口。 如果D-是低电平, 则进入第4步。第四步: 关闭USB上拉电阻, delay 100us。 如果D+/D-都为低电平, 则为USB接口。

否则就是PS2接口。

2. USB Enumeration过程

整个过程有点像做测试题。 PC问, MOUSE回答。 其中关键是要告诉PC, 自身是一个MOUSE, 支持HID协议。 由于篇幅有限, 就不详细列出了。

3. 把MOUSE的信息传给PC

在Enumeration过程中, MOUSE会告诉PC后续X,Y,Z,按键这些信息的格式。 当MOUSE有动作时, 只要按这个格式把数据返回给PC就可以了。 剩下的事情PC端HID驱动程序会去完成。

相关信息
发表评论
打印本页 关闭本页
基于C8051F040的CAN总线智能节点的设计
  基于C8051F040的CAN总线智能节点的设计 潘佚 (南华大学 核科学技术学院 湖南 衡阳 421000) 控制器局域网CAN(Controller Aera Network)是德国Bosch公司在80年代初为解决现代汽车中大量的控制与测试仪器之间的数据交换而提出的一种串行数据通信协议。他是多主总线,通信介质可以是双绞线,通信速率可达1M/s,最远通信距离可达10km。CAN具有极高的可靠性,高实时...
>>详细内容
DSP应用系统的低功耗探讨
  DSP应用系统的低功耗探讨 上海交通大学电子信息学院 邓勇 施文康 前言 随着电池供电系统的应用日趋广泛,许多应用系统都涉及低功耗设计的问题。数字信号处理器由于具有强大的数据处理能力,在诸如便携式仪器仪表等方面得到了广泛的应用,以DSP为核心的应用系统中也存在着低功耗设计的问题。有多种办法...
>>详细内容
心电数字无线遥测系统的研制
  心电数字无线遥测系统的研制 西安交通大学 生物医学工程研究所,中国西安 于亚非 引言 无线遥测产品的市场发展迅速,最近业界也掀起了一场无线应用的革命,无线遥测技术已经成为产品竞争力的一个重要因素。从发展的角度来看,医疗监护产品的无线化、网络化是发展趋势,移动型、具备无线联...
>>详细内容
AD855x系列在微弱信号检测中的应用
  AD855x系列在微弱信号检测中的应用 范 磊,谢元平 (国防科技大学理学院 光电工程系 湖南长沙 410073) 对于众多需要检测的微弱量,如弱光、弱磁、微温度微电流、微振动、小位移等,通常都是通过各种传感器做非电量的转换,使检测对象转变为电量(...
>>详细内容
基于ARM-μClinux的无线家庭网关设计
  基于ARM-μClinux的无线家庭网关设计 引言 随着网络技术和信息家电的飞速发展,越来越多的家庭要求建立家庭网络。家庭网关是整个家庭网络的核心,它主要实现Internet接入、远程控制,以及连接家庭内部的异构子网的功能。基于PC机方案的家庭网关不仅成本较高,而且要求计算机一直处...
>>详细内容
SVPWM信号发生器的VHDL实现
  SVPWM信号发生器的VHDL实现 引言 近年来,DSP在SVPWM(空间矢量脉宽调制)控制领域得到了广泛应用。但是使用DSP单核心的控制方法仍然存在一些缺陷:基于软件的DSP在实现SVPWM触发信号时需要较长的时钟周期;微处理器中不确定的中断响应会导致PWM脉冲的相位抖动。针对以上问题,本文...
>>详细内容
已有(
)位对此新闻感兴趣的网发发表了看法 >>更多评论
内 容:
     
 
热点新闻
一周排行
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2008 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:0571-85889139-8007 QQ:303939539 | MSN:zh1226@hotmail.com |  邮箱:laz8258@163.com dzsc51@163.com