网站首页
IC库存
IC展台
电子资讯
技术资料
PDF文档
我的博客
IC72论坛
ic72 logo
搜索关键字: 所有资讯 行业动态 市场趋势 政策法规 新品发布 技术资讯 价格快报 展会资讯
  • 达普IC芯片交易网 > 新闻中心 > 技术信息 > 正文
  • RSS
  • 用SL811HS实现OTG设备互联
    http://www.ic72.com 发布时间:2007/4/29 11:32:51
    摘 要: 本文介绍了用SL811HS设计OTG双角色设备的原理,并着重分析了主机协商协议和会话请求协议。
    关键词: USB;OTG;双角色设备;会话请求协议;主机协商协议
    OTG概述
    在USB的系统上,是由一个主计算机来管理所有的通信,外围设备之间不能直接通信,必须通过主计算机来进行彼此间的联系。2001年发布的On-The-Go(OTG)是USB2.0规范的补充协议,弥补了USB2.0规范不能用于点对点通信的不足。OTG定义了一个功能较少的主计算机,主要用在连接单一USB设备的便携设备上。OTG的典型应用有蜂窝电话、PDA和机顶盒等。图1是OTG应用于PDA和机顶盒的实例。
    为了更好地支持便携设备,OTG要满足有限的主机性能,以降低软件的复杂性,适合便携式设备外形的小USB连接器和节能等要求。
    为了达到这些目标,OTG补充协议介绍了双角色设备(DRD)。DRD是USB2.0兼容设备,既能作主机,也能用作外设,它具有如下特性:
    ?有限的主机性能;
    ?全速操作(高速可选);
    ?目标外设列表;
    ?会话请求协议(SRP);
    ?主机协商协议(HNP);
    ?一个且只有一个小型AB插座;
    ?VBUS的最小输出8mA;
    ?与用户进行信息通信的手段。

    图1 OTG的典型应用

    图2 SL811HS的框图

    图3 SL811HS OTG框图

    图4 VBUS脉冲调制,D+/D-,和ID脚检测

    图5 电压比较器

    SL811HS概述
    SL811HS是双角色主机/外围设备的嵌入式USB控制器,可以与全速或低速USB外设通信。SL811HS可以与微处理器、微控制器、DSP、或者各种总线(如ISA和PCMCIA)接口。图2是SL811HS的框图。

    SL811HS_OTG DRD参考设计
    图3说明了如何用SL811HS外加CPU和一些模拟元件设计OTG双角色设备。在软件的控制下,SL811HS可以支持USB主机和外设模式,不需要额外的硬件。

    模拟元件的作用
    VBUS阈值
    无论在主机还是外设模式下,都必须监测VBUS。为了支持会话请求协议,需要检查VBUS处于什么电平,以确定会话何时开始和结束。
    本设计中用四个电压比较器监测VBUS,它们覆盖了下列OTG参数:
    A设备Vbus有效: VA_Vbus_VLD >4.4V
    A设备会话有效: VA_Sess_VLD 0.8V-2.0V
    B设备会话有效: VB_Sess_VLD 0.8V-4.0V
    B设备会话结束: VB_Sess_End 0.2V-0.8V
    VBUS脉冲调制
    VBUS脉冲调制是会话请求协议的一部分,在本设计中将CPU的一个GPIO口经过R40连到VBUS来实现VBUS脉冲调制,如图4所示。
    D+和D-的上拉和下拉电阻
    为了使设备能够作为主机和外设工作,必须能够切换D+和D-上的上拉和下拉电阻。有许多方法可以控制这些电阻的切换。图4中显示的方法是采用外部CPU的GPIO口来切换D+和D-上的电阻。当DRD工作在主机模式时,GPIOy和GPIOz连接15k的下拉电阻到地,并且GPIOx浮空1.5k的上拉电阻。当DRD工作在外设模式时,GPIOx连接1.5k的上拉电阻到电源,同时GPIOy和GPIOz浮空15k的下拉电阻。(注意,OTG补充协议不允许关闭D-上的下拉电阻,本设计中的切换方式仅用于调试目的。)
    ID脚检测
    当用户将插头插入小型AB插座时,ID脚用来确定DRD是A设备还是B设备。如果ID对地短路,就表示插入的是小型A插头,从而使得DRD成为A设备。软件通过一个GPIO口来监测ID脚的状态。
    过流检测和控制
    当DRD是A设备时,在会话期间需要提供VBUS。连接的B设备需要的电流有可能超出A设备的负载能力。图5中的比较器1用来检测过流,当VBUS跌到4.4V以下时,表示过流情况产生了。另外,图6所示的限流电路提供过流保护,在过流情况下,由软件关闭VBUS。

    图6 过流检测和控制

    图7 SRP状态图1
    VBUS开/关控制
    如图6所示,GPIO开/关用于控制VBUS。当DRD是A设备时,由软件打开VBUS直到会话结束。当DRD是B设备时,VBUS必须关闭。

    SL811HS_OTG的软件
    当SL811HS是一个DRD时,软件必须支持所有SetFeature命令和OTG描述符。OTG有两个主要功能:会话请求协议和主机协商协议。
    会话请求协议(SRP)
    SRP协议能让B设备请求A设备提供电源VBUS,并开始会话。当B设备发起SRP时,软件促使数据线(D+)发脉冲,然后VBUS发脉冲。A设备可以通过提供电源VBUS来响应数据线脉冲或者VBUS脉冲。图7和图8是SRP中两个DRD的状态图。
    当A设备打开电源VBUS时,SRP结束。一旦A设备确定VBUS已经到达一个有效电平,它就成为USB主机,并且检测B设备。
    主机协商协议(HNP)
    HNP协议能让B设备变成主机。当连接的DRD必须改变角色时,就避免了最终用户交换小型AB电缆的麻烦(通常情况下,用户不明白设备有不同的角色)。
    图9是A设备部分HNP状态图,图10是B设备的HNP状态图。要注意的是:a_host状态是将控制从A设备转让给B设备的起始状态,并且也是当控制从B设备归还时的结束状态。同样,b_peripheral是B设备的HNP起始和结束点。
    当A设备挂起总线时,对B设备的控制转让开始。如果B设备需要变成主机,它将会通过关闭D+的上拉电阻来发一个“断开”信号。因为A设备已经允许B设备HNP,所以A设备会把这个“断开”状态当作B设备要变成主机的请求。A设备通过打开D+的上拉电阻来完成控制的转让。

    图8 SRP状态图2

    图9 HNP状态图1

    图10 HNP状态图2

    图11 HNP状态图3

    图12 HNP状态图4


    当B设备停止所有的总线活动时,控制就归还给A设备。B设备挂起活动之后,引起A设备关闭它的上拉电阻而成为主机。这个“断开”状态被B设备检测到,B设备再次变成外设,并打开它的上拉电阻。
    图11阐明了A设备怎样从a_peripheral状态返回到a_host状态。图12阐明了B设备怎样从b_host状态返回到b_peripheral状态。

    结语
    SL811HS是一个双角色USB主机控制器,通过附加一些模拟元件和一个外部CPU,就能实现整个OTG系统。■

    参考文献
    1 On-The-Go Supplement to the USB 2.0 Specification Revision 1.0.2001
    2 SL811HS Embedded USB Host/Slave Controller. Cypress Semiconductor Corporation
    3 萧世文.USB2.0硬件设计.北京:清华大学出版社


    www.ic72.com 达普IC芯片交易网
  • 行业动态
  • 市场趋势
  • 政策法规
  • 新品发布
  • Baidu

    IC快速检索:abcdefghijklmnopqrstuvwxyz0123456789
    COPYRIGHT:(1998-2010) IC72 达普IC芯片交易网
    客户服务:service@IC72.com 库存上载:IC72@IC72.com
    (北京)联系方式: 在线QQ咨询:点击这里给我发消息 联系电话:010-82614113 传真:010-82614123
    京ICP备06008810号-21 京公网安备 11010802032910 号 企业资质