便携设备如何相互沟通
随着便携设备的功能和数据容量的提升,使用者也开始希望其能与其他便携式与非便携设备共享信息,但是掌上型设备的数据输入及显示较为不易。因为体积小,便携设备通常没有实用的接口,只有一个小屏幕和有限的按键。
便携设备存在的另一个问题是“需要传输的数据量”。以一台数码相机为例,其存储容量可高达数百兆。此外,数据传输的方式也有很多,手机用户可能会想将手机连接到PC,下载原先储存的信息;有时需要和其他手机联机,互传电话号码;或者需要和数码相机联机,上传所拍摄的照片;当然有时还必须连接到PDA并使用其无线网络功能。
无奈手机等便携设备体积太小,没有空间为各种连机类型提供专属的接头,而且便携设备的市场对成本相当敏感,想要提供这么多的接头,会导致成本过高。由此看来,我们需要一种便宜、普及、使用容易、传输速率高的联机方式,使各种不同的电子设备能够彼此通信并传输数据。
图1 标准的USB连接架构 |
USB是一种主从架构的通信协议,原先是给一个主端搭配多个外围设备的应用方式设计的,因此USB连机的操控管理,多半是仰赖主端。如果要将整套USB规格的主端控管逻辑全部建构在一个便携设备中,对于着重功能简便的便携设备而言,会造成很大的负担。而且USB传输线具有方向性,插入主端的接头和插入外围设备的接头并不相同。
以便携设备而言,有时候必须担任主端的角色,例如,数码相机传送照片给打印机;而有时候则必须担任外围设备的角色,例如,数码相机将照片上传至PC,如图2所示。虽然USB的专用接头体积不大,但如果要建构于小巧的便携设备之中,可能还是过于庞大。USB架构认定主端具备充足的电源,可为联机的外围设备提供电力,有些设备甚至全部的电力都是来自USB总线的。这样的供电架构,对于一些电力有限的小型便携设备而言,会造成难以承受的负担。USB OTG补充规格中最重要的改变就是扩充了原先的USB协议,提供更严谨的电源管理功能,并允许电子设备担任主端角色或外围角色。
图2 USB OTG的连接架构 |
“双重角色设备(Dual-Role Device)”既可担任主端角色、亦可担任外围的电子设备角色。除了要符合USB 2.0标准的所有要求之外,“双重角色设备”还必须提供有限的主端功能,并支持“事务请求协议(SRP)”以及“主端协商协议(HNP)”,而且应具备单一Mini-AB插槽。此外,这种设备必须能传送信息给使用者。当“双重角色设备”处于主端模式运作时,VBUS只需要供应8mA的电流,这个规格有别于标准USB主端的100mA或500mA要求。
主端协商协议
当“双重角色设备”连接了一个Mini-A或Mini-B插头时,它相应的便以OTG主机或外设的默认方式工作。A设备为默认主端,所以由它提供VBUS电源,且在检测到有设备接入时复位总线、列举并配置B设备。
A设备在完成对B设备的使用后,可以通过查询B设备的OTG性能描述符来判断是否支持HNP(即是否为“双重角色设备”)。如支持HNP,B设备将返回有效的OTG性能描述符,A设备则产生一个Set_feature命令(即HNP_Enable)来通知B设备可以在总线挂起的时候以主端方式工作,随后A设备挂起总线。
B设备通过上拉电阻(全速时)或者下拉电阻(高速时)拉低D+(数据线上拉电阻)以示连接断开。随后,作为对B设备断开的响应,A设备使能它的数据线并开始以从端方式工作。完成这些转换后,B设备和A设备便各自以主机角色和外设角色使用总线。如果该B设备属于“双重角色设备”且A设备不再使用它了,A设备便重发Set_feature命令并挂起总线。若B设备申请角色转换时出错,A设备则拉低VBUS以结束该事务。当B设备正常结束传输事务时便挂起VBUS使能其上拉电阻,重新以从端方式运行。A设备检测到总线挂起后,发出一个连接断开信号并重新以主机方式工作。
事务请求协议
在以往的USB系统运行过程中,主机提供5V的电源和不低于100mA的总线电流。当OTG主机(指以主机方式工作的两用OTG设备,又称A设备)连接到有线电源时这种方法是适用的,但像手机这样的自供电移动设备则不能承受如此大的电能浪费。为了节约电源延长电池的使用寿命,当总线上没有活动时,OTG主机将挂起总线电源VBUS。SRP可使OTG从端(指外设式设备或者以外设方式工作的“双重角色设备”,又称B设备)请求设备重新使能VBUS,而后A设备使用HNP交换两个设备的工作方式,这两步完成后由新的OTG主机开始事务传输。B设备可在前一事务结束2ms后的任意时间开始SRP。[page]
B设备将先后执行数据线脉冲调制和VBUS脉冲调制,分别通过使能数据线上拉电阻(全速和高速设备为D+,低速设备为D-)5~10ms和驱动VBUS实现。VBUS必须要有足够长的时间对其电容充电,这个时间应能保证不大于13μF的电容充电至2.1V(OTG设备的电容是6.5μF或更小),从而不会对标准主机的96μF或更大的电容充电至2.0V。该限制保证了从B设备引来的VBUS电流不会破坏标准主机的端口。
A设备检测到数据线脉冲调制或者VBUS脉冲调制后,首先复位总线,然后发送Set_feature命令而先不进行设备的枚举,此时B设备尚处在默认的从端状态。如果Set_feature命令成功执行,说明B设备为两用OTG设备,A设备(使用HNP协议)挂起VBUS准备让B设备交换为主机方式接管总线。如果Set_feature命令执行失败,说明B设备为外设式OTG设备,于是A设备使能VBUS准备开始一个传输事务(此时,A设备只是被唤醒,并未改变工作方式)。当A设备认为总线上没有传输需要时,挂起VBUS以结束该事务。这种A设备自动检测B设备是否支持HNP的特征称为“No Silent Failure”。
USB得以成功的其中一项秘诀在于完善的认证测试程序。这道程序能检测设备是否符合规范且能否与其他USB设备共同运作,唯有通过认证测试的设备才能贴上USB的认可标签。目前,认证测试有两种途径,可通过USB Compliance Workshop(Plugfests)或个别的测试实验室进行测试。以上两种方式都能将通过检测的设备列入符合规范USB设备的整合厂商名单中。
USB OTG 评估板测试
1 USB EHCI 主端控制器测试
每个设备应该能响应USB规范所定义的控制请求。主端应该能利用主端控制器经USB缆线送出控制需求到USB设备。
图3 EHCI 主端控制器测试架构 |
图4 互测SNP和HNP的连接架构 |
利用两台USB OTG开发板互测SNP和HNP的连接架构如图4所示。
图5 大量存储的应用测试 |
如图5所示,设计一个SD卡主端应用来做演示, SD卡的大量存储用以测试FOTG200功能。FOTG200是智原的USB 2.0 OTG控制器, 能作为一个双重角色。作为主设备,它包含一个USB主端制器,能支援所有速度的事务。无须软件干涉的情形下,主端制器能处理一个基于事务的数据结构以减去主控CPU的负担,自动地在USB总线上转送和接收数据。作为从设备,每个端点,除了端点0,都承担可编程的HS/FS传输类型提供弹性以适应各式各样的应用。
在这个应用上, USB子系统由USB IP核、EHCI HCD控制器、USB大量存储Class驱动、文件系统和SD卡设备驱动所组成。因此,主端设备能够读/写文档到SD卡(外部设备)。顺便也能验证大量存储Class驱动和Bulk IN/OUT传输的功能。
上一篇:显示器元器件维护基本常识
下一篇:基于CX2443x解码内核的数字电视机顶盒设计
推荐阅读最新更新时间:2024-05-02 22:27
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况
- 如何用3个关键步骤,来确保下一代设计安全性,深入解读嵌入式设备DeepCover加密控制器,看视频答题赢好礼!
- 有奖问答 | Azure Sphere物联网解决方案 问答排位赛,你能霸屏多久?
- “六一”特辑:坛子里的宝宝们~
- 【双节献礼】LM3S9B96开发套件等你来拿!!!
- 12月6日上午10:00有奖直播:如何使用Microchip安全方案为IoT设备保驾护航
- 你是Stellaris控?快来抢iPad、iTouch!
- 艾睿合众直播报名:TI Sitara系列芯片在【大数据】产品上的应用
- 【TI 嵌入式研讨会集锦】小站添加了很多新内容,欢迎提货!
- #micropython大作战#多种参与姿势,大家一起来玩micropython!
- 【EE团拍卖】\\