嵌入式系统中实现对USB接口微小变化的测控

描述

随着台式机和笔记本电脑串口的消失,USB已成为最常见的外围设备接口。此外,USB的嵌入式应用正在增加。但是,在嵌入式系统中实现USB接口的开发团队可以轻松地产生微小的变化,这可能使与其他嵌入式USB设备的互操作性成为不确定的结果。

我们的团队处理USB 3.0主机接口开发的方式之一是检查我们的主机与许多不同供应商的USB设备的兼容性。我们最终投入了大量时间来调查和调试出现的问题。我们发现了导致大多数这些问题的两个重要问题。

第一个问题是系统电源管理工作的结果。在嵌入式系统中,可能需要让USB主机动态关闭连接的USB设备,作为其电源管理方案的一部分。问题是,当主机VBUS电源关闭时,USB 2.0/3.x规范没有在主机/设备侧提供放电机制。在主流台式PC和Linux系统中,VBUS电源始终保持开启状态。

在主机电源断开后,连接设备放电所需的时间差异很大。图1显示了USB存储器件的典型放电事件。这种特定设备需要6-8秒才能放电,但来自不同供应商的设备可能会显示不同的放电特征。

华强PCB

嵌入式USB系统想要循环主机的VBUS电源不接受规范的指导,关于主机在重新断电之前关闭电源以使连接的设备放电多长时间。所以,他们选择了自己的延迟时间。不幸的是,开发人员往往只在其软件中插入10到150毫秒的延迟;他们不愿意延迟几秒钟,这可能是实际需要的。

当主机软件关闭VBUS电源只有几百毫秒时,由于连接的设备可以出现问题处于一个未知的状态。这种不确定的情况通常会导致在电源恢复后设备连接或连接阶段出现故障。如果主机软件关闭VBUS电源,则必须将电源线接地并保持足够长的时间以完全放电并重置连接的设备。

因为规范没有说明和供应商通常不提供最小“关闭”时间的值,开发人员需要为自己定义一个。通用工程实践表明,开发人员测量许多设备的放电时间,以达到“安全”的关闭时间。该结果将基于有限数量的实验,但可以证明是足够的。从图1可以看出,几乎所有连接的USB设备都可以使用10秒左右的关闭时间。

作为这种不确定的经验方法的替代方案,可以有硬件解决方案。问题。为主机硬件提供一个有时间限制地正确释放VBUS电源的措施。这样,软件可以使用保证正确的延迟值。增加的放电机制甚至可以根据其他平台设计选择,允许系统控制,在VBUS放电时间内选择性地启用放电机制,并在VBUS打开时禁用机制。

我们实施了这样的放电在发现我们在测试各种USB设备时看到的枚举错误的原因后,我们的主机设计中的机制。一旦机制到位,先前在电源循环期间失败的设备就会开始正确枚举。

在测试以数据速率为中心的USB主机兼容性时经常出现的第二个问题。 USB规范要求主机通过发送命令和数据请求来初始化和配置任何连接的设备。不幸的是,我们发现市场上的某些设备在高速接收协议兼容的请求时不会表现出来。设备出现故障,最终将不间断的NAK发送给主机,导致主机超时。在枚举期间或稍后在数据传输期间,设备可能会失败,具体取决于设备逻辑无法处理主机请求的位置。

Windows和Linux系统似乎通过微调主机/设备来解决此问题握手。它们将吞吐率降低到大多数或所有设备可以工作的水平。嵌入式USB开发人员需要测量他们打算使用的设备可以处理的命令间请求时间。

华强PCB

这种速度的一个例子图2中显示了与记忆棒相关的故障。在枚举期间,主机的大容量存储驱动程序会发出设备必须确认和处理的设置令牌。该图显示,如果设置后的命令间隙大约为9μs,则设备的逻辑无法确认“获取字符串描述符”命令。设备使用NAK连续响应命令,导致主机超时。图3显示了设置后的命令间隙增加到27μs时的结果。通过这个时间,设备可以正常工作。

华强PCB

主机需要添加额外的命令间延迟才能适应某些USB设备的恶意功能,甚至虽然9μs的命令间隙是有效的USB请求。但是,只有在枚举阶段或控制转移中才需要这种延迟。在正常数据交易(批量输入/输出)期间不会出现此计时问题。

我们的研究结果是,嵌入式USB主机 - 设备互操作性问题可能来自两个来源:电源循环和命令/数据流量速率。由于这些因素没有明确的规范,开发人员希望不同供应商能够看到其实施的许多变化。为确保广泛的互操作性,开发人员应确保其USB主机设计“慷慨”,以满足设备的处理能力。此外,这些问题也应作为澄清USB标准的基础,以便设备供应商在未来针对统一的要求。

Ritika Sharma毕业于NIT的电子与通信工程专业贾朗达尔,旁遮普邦,印度。她目前正在与飞思卡尔半导体印度公司合作。有限公司(恩智浦集团公司)作为IP设计和验证领域最近3年的设计工程师。

Parul具有模拟设计背景和该公司致力于模拟PHY(如1394a,USB2.0和HDMI)的设计和芯片开发,采用0.35um至28nm的各种技术。 Parul还拥有多项与USB设计有关的专利。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分