zoukankan      html  css  js  c++  java
  • linux usb驱动——USB OTG硬件设计

    转自 http://www.elecfans.com/dianlutu/dianyuandianlu/20100716220514.html

    随着PDA、移动电话、数码相机、打印机等消费类产品的普及,用于这些设备与电脑,或设备与设备之间的高速数据传输技术越来越受到人们的关注,IEEE1394和USB是用于此类传输的两个主要标准。这两个标准都提供即插即用和热插拔功能,都可以向外提供电源,也都支持多个设备的连接。其中IEE1394支持较高的数据传输速度,但相对比较复杂、价格较高,主要用于需要高速通信的AV产品;而最初的USB标准主要面向低速数据传输的应用,其中USB1.1支持1.5Mbps和12Mbps的传输速率,被广泛用于传输速率要求不高的PC机外设,如:键盘、鼠标等。USB2.0标准的推出使USB的传输速度达到480Mbps。而USB OTG技术的推出则可实现没有主机时设备与设备之间的数据传输。例如:数码相机可以直接与打印机连接并打印照片,从而拓展了USB技术的应用范围。图1是USB技术的典型应用示意图。

      1 主机通信协议与对话请求协议

      USB OTG标准在完全兼容USB2.0标准的基础上,增添了电源管理(节省功耗)功能,它允许设备既可作为主机,也可作为外设操作(两用OTG)。OTG两用设备完全符合USB2.0标准,并可提供一定的主机检测能力,支持主机通令协议(HNP)和对话请求协议(SRP)。在OTG中,初始主机设备称为A设备,外设称为B设备。可用电缆的连接方式来决定初始角色。图2所示是用第5个ID脚确定默认主机的示意图,两用设备使用新型mini-AB插座,从而使mini-A插头、mini-B插头和mini-AB插座增添了第五个引脚(ID),以用于识别不同的电缆端点。mini-A插头中的ID引脚接地,mini-B插头中的ID引脚浮空。当OTG设备检测到接地的ID引脚时,表示默认的是A设备(主机),而检测到ID引脚浮这的设备则认为是B设备(外设)。系统一旦连接后,OTG的角色还可以更换。主机与外设采用新的HNP,A设备作为默认主机半提供VBUS电源,并在检测到有设备连接时复位总线、枚举并配置B设备。OTG标准为USB增添的第二个新协议称为对话请求协议(SRP)。SRP允许B设备请求A设备打开VBUS电源并启动一次对话。一次OTG对话可通过A设备提供VBUS电源的时间来确定(注:A设备总是为VBUS供电,即使作为外设)。也可通过A设备关闭VBUS电源来结束一闪会话以节省功耗,这在电池供电产品中是非常重要的。例如,在两台蜂窝电话通过连接互相交换信息时,一台连接在电费的mini-A端,是A设备,默认为主机。另一台是B设备,默认为外设。当在不需要USB通信时,A设备可以关闭VBUS线,此时B设备就会检测到该状态并进入功低耗模式。

    2 OTG功能的构建

      图3所示电路给出了构建OTG功能时需要在基础USB外设上添加的电路,电路中的通用串行总线控制器可以是一个微处理器和USB SIE(串口引擎),也可以是集成的μP/USB芯片或与USB收发器相连的ASIC。为总线提供电源的外部设备需要一路3.3V稳压输出供电电压,以便为逻辑电路和连接在D+、D-引脚的1500Ω电阻提供电源。通过D+、D-引脚上的上拉电阻可向主机发出设备已连接的信号,并指示设备的工作速度。电阻上拉至D+表示全速运行,电阻上拉至D-表示低速运行。其它端点(包括D+和D-的15kΩ下拉电阻)用于检测上拉电阻的状态。由于USB设计需要提供热插拔功能。因此,其ESD保护电路主要用于为D+、D-和VBUS引脚提供保护。

      为了增加OTG的两用功能,必须扩充收发器功能来使OTG设备既可作为主机使用,也可以作为外设使用。而要实现上述功能,就需要在图3所示电路中添加D+和D-端的15kΩ下拉电阻并为VBUS提供供电电源。此外,收发器还需要具备以下三个条件:

      (1)可切换D+/D-线上的上拉和下拉电阻,以提供外设和主机功能。

      (2)作为A设备时,需要具有VBUS监视和供电电路;作为B设备初始化SRP时,需要监视和触发VBUS。

      (3)具有ID输入引脚。

    USB OTG设计

      作为两用OTG设备,ASIC、DSP或其它与收发器连接的电路必须具备充当外设和主机的功能,并应按照HNP协议转换其角色。

      收发器所需添加的大多数电路用于VBUS引脚的管理。作为主机,它必须能够提供5V、输出电流可达8mA的电源。图3中的模拟开关用于配置收发器的各种功能。

      ASIC和控制器还必须包含USB主机逻辑控制功能,包括发送SOF(帧启动)包、发送配置u36755输入u36755输出数据包,在USB 1 msec帧内确定传输进程、发送USB复位信号、提供USB电源管理等。

    USB OTG设计

      3 Maxim要提供的USB OTG方案

      MAX3301E是Maxim公司研制的一款USB OTG收发器,该器件集成有电荷泵,可将PDA、蜂窝电话和数码相机等移动设备与USB外设直接连接而无需PC机的参与。采用MAX3301E和一个嵌入式USB主机,就可直接将诸如打印机或外部硬盘驱动器这样的外设连接。MAX3301E内部包括USB OTG收发器、UBUS电荷泵、线性稳压器和I2C 2线串行接口。内部电平转换器使MAX3301E能够与采用+1.65至+3.6V逻辑电源电压的器件连接。MAX3301E中的电荷泵工作在+3V至+4.5V输入电源下,可产生符合OTG要求的VBUS输出,且输出电流大于8mA。该器件可利用内部比较器控制并测量VBUS,同时支持USB OTG SRP和HNP,其典型应用电路如图4所示。

  • 相关阅读:
    Android AHandle AMessage
    android java 与C 通过 JNI双向通信
    android 系统给应用的jar
    UE4 unreliable 同步问题
    UE4 difference between servertravel and openlevel(多人游戏的关卡切换)
    UE4 Run On owing Client解析(RPC测试)
    UE4 TSubclassOf VS Native Pointer
    UE4 内容示例网络同步Learn
    UE4 多人FPS VR游戏制作笔记
    UE4 分层材质 Layerd Materials
  • 原文地址:https://www.cnblogs.com/mahj/p/8482187.html
Copyright © 2011-2022 走看看