位置:51电子网 » 技术资料 » 单 片 机

用4BIT OTP单片机实现USB/PS2 MOUSE的设计

发布时间:2008/5/28 0:00:00 访问次数:388

引言:
usb低速设备的设计发展到现在已经有了相当的成熟度。 各家ic公司都推出了usb device端的解决方案, 一般以8 bit cpu core + usb sie为主流构架。 sh69p04是中颖电子(sinowealth)本着丰富usb产品应用,降低usb ic成本而设计的4bit otp单片机, 用以开发usb device设备。

sh69p04的功能及特点

图1 
如图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
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低速设备的设计发展到现在已经有了相当的成熟度。 各家ic公司都推出了usb device端的解决方案, 一般以8 bit cpu core + usb sie为主流构架。 sh69p04是中颖电子(sinowealth)本着丰富usb产品应用,降低usb ic成本而设计的4bit otp单片机, 用以开发usb device设备。

sh69p04的功能及特点

图1 
如图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
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电平的变化而引起的错误。

相关IC型号
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!