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

发布者:清晨微风最新更新时间:2006-07-06 来源: E代电子关键字:电阻  usb  device  pc 手机看文章 扫描二维码
随时随地手机看文章

   引言:

  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协议虽然很复杂, 但是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驱动程序会去完成。

关键字:电阻  usb  device  pc 引用地址:用4BIT OTP单片机实现USB/PS2 MOUSE的设计

上一篇:单片机的单CPU仿真器的设计
下一篇:用4BIT OTP单片机实现USB/PS2 MOUSE的设计

推荐阅读最新更新时间:2024-03-16 12:17

热敏电阻在空气中的测试方法
在没有专用的NTC热敏电阻测试仪器、仪表和测量夹具的情况下,但又需要对NTC热敏电阻进行测量,我们应该如何测量呢,本文小编分享一个简便的测试方法供大家参考。 测量工具及材料: 1、四位半万用表:两块。2、测试夹具:一个。3、±0.1℃测温仪:一个。4、不锈钢鳄鱼夹:一对。 测量方法及步骤: 1、首先用空调将一个房间温度控制在25±0.1℃。 2、将测温仪放置房间内,监控室内温度。 3、将一对鳄鱼夹分别换接在一对万用表笔测试端。 4、将一支标准压敏电阻两引线端夹在鳄鱼夹上,万用表笔另一端插入万用表,开启万用表将其拨至电阻测量适当挡位,此时万用表显示出此室温下热敏电阻的阻值。(注:标称阻值精度正负百分之零点一以内,B值精度为正负百分之
[测试测量]
Intersil 推出业内首款USB-C降压-升压稳压器
电子网消息,全球领先的半导体解决方案供应商瑞萨电子株式会社子公司Intersil今天宣布,推出业内首款针对使用可反转USB Type-C™连接器的平板电脑、超极本、移动电源和其他移动设备的降压-升压稳压器---ISL95338。这款新的双向稳压器可接受宽范围的DC电源输入,包括AC/DC电源适配器、USB PD3.0端口、旅行电源适配器、移动电源等,并将电源转换成最高可达24V的稳定电压。ISL95338还可将宽范围的DC电源在适配器输入转换成20V稳定电压。ISL95338支持USB-C生态系统,提供降压模式、升压模式、降压-升压模式,并能够灵活地使用于任何USB-C电源管理应用。 单芯片ISL95338可替换目前用于双向降
[半导体设计/制造]
基于Modbus TCP协议实现PC机与PLC的串行通信
1  引言                     智能楼宇工程中的中央空调、电梯、通风、给排水、照明、火灾报警等个子系统的互联方案中,采用modbus tcp协议的串行 通信 方式,全面兼容modbus工业标准,数据传输可靠,响应速度快,扩展灵活,通过互联网实现各子系统与中央管理系统的通信。modbus tcp协议是在tcp/ip标准中,应用层采用工业领域事实标准modbus。modbus使用tcp/ip应用层的502端口,这是经过国际公认的。该串行 总线 方式支持各种介质的rs-232、rs-422、rs-485 接口 。modbus tcp的 网络通信 模式采用client/server方式,如图1所示。      
[嵌入式]
USB自定义HID设备实现-STM32
该文档使用USB固件库,在其基础上进行了自己的定制,完成了一个USB-HID设备,首先是usb_desc.c文件,里面存放了usb各种描述符的存在 #include usb_desc.h //usb标准设备描述符 const u8 DinkUsbDeviceDescriptor = { USB_DEVICE_DESC_SIZE, //bLength字段。设备描述符的长度为18(0x12)字节 USB_DEVICE_DESCRIPTOR_TYPE, //bDescriptorType字段。设备描述符的编号为0x01 WBVAL(0x0200), //bcdUSB字段。这
[单片机]
基于单片机+pt100热敏电阻的体温计
采用热敏电阻pt100设计温度传感电路,温度传感电路通过放大电路进行放大后加载到A/D转换模块(ADC0804),以AT89C51单片机为主控制端,外接晶振电路满足各模块时序,最终通过7段数码管进行温度显示 单片机源程序如下: #include reg51.h #include intrins.h #define uchar unsigned char #define uint unsigned int #define ad0_7 P1 //AD数据口 sbit cs=P2^4; //片选信号,低电平有效,控制芯片的启动和结果读取 sbit rd=P2^7; //读数据控制
[单片机]
基于单片机+pt100热敏<font color='red'>电阻</font>的体温计
如何使用PicoScope PC示波器对CD播放器的音频频谱进行分析
1、频谱分析仪的分类 频谱分析仪一般分为两类:所谓“扫频”频谱分析仪和FFT频谱分析仪。扫频频谱分析仪是用一个或多个陷波滤波器(或混频器)在指定频率下测量信号振幅,然后改变该滤波器的频率(扫频),绘制出振幅随频率变化的频谱图。扫频频谱分析仪也可以做高频频谱分析,但是对于音频分析来说,扫频频谱分析仪不是特别适用,因为信号在整个扫频周期内必须是不变的。 FFT频谱分析仪是用ADC转换器将信号数字化,然后将存储的值进行FFT变换得到的。该方法的优势在于可以捕捉到偶发信号或者持续时间短的信号。例如,用PicoScope的触发功能来单一鼓声的频谱。 做FFT频谱分析需要进行大量运算,一些频谱分析仪可能需要几分钟来更新一个波形。Pic
[测试测量]
如何使用PicoScope <font color='red'>PC</font>示波器对CD播放器的音频频谱进行分析
STM32 USB设计原理
首先,我们来看看 usb 的工作过程。 当 usb 设备接入到主机时,主机开始枚举 usb 设备,并向 usb 设备发出指令要求获取 usb 设备的相关描述信息,其中包括设备描述( device descriptor )、配置描述( configuration descriptor )、接口描述( interface descriptor )、端点描述( endpoint descriptor )等。这些信息是通过端点 0 ( endpoint 0 )传送到主机的。获取各种描述信息后,操作系统会为其配置相应的资源。这样主机就可以与设备之间进行通信了。 usb 通讯有四种通讯方式控制( control )、中断( inter
[单片机]
TDK发布低电阻高透射率的ITO导电薄膜
  TDK在“CEATEC JAPAN 2010”(10月5~9日,幕张Messe会展中心)上,发布了利用溅射法替代原来的涂布法对ITO层进行成膜的ITO透明导电性薄膜。据TDK介绍,通过导入溅射法,实现了低电阻及高透射率。另外,由于底板采用PET薄膜而非玻璃,还实现了薄型轻量化。目前该公司正利用样品开展受理订单的活动。   利用溅射法可实现低电阻及高透射率是“因为ITO的结晶之间的接触性增强”(该公司的解说员)。此次通过导入溅射方式,与原来的涂布方式相比,表面电阻从700Ω/sp降低到了150Ω/sq,同时全光线透射率从89%提高到了92%。TDK打算面向静电容量式触摸面板销售此次开发的ITO透明导电性薄膜。另外,采用原来涂
[家用电子]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved