EDN China > 技术文章 > 微处理器与DSP > CPU/GPU > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

USB设备的调试与测试技巧

来源:21control / 作者:Jan Axelson?? 2006年08月03日 ?? 收藏0
编写的PC软件对设备是可移植的,不过每个控制器都有芯片专用操作,因此针对最终产品还需要作一些修改。



??? 在线缆上进行调试

??? 有些时候,仅仅在主机和设备上进行调试还不够。在主机上,能够观察和控制的信息要经过主机控制器及其驱动程序过滤;而在设备上,固件又看不到硬件管理的底层通信。为填补这一空白,需要观察线缆中发送的是什么。

??? 如果用示波器或逻辑分析仪来观察USB通信,你将会发现读取位的状态并不像将电压与逻辑电平匹配那么容易。在总线上的数据是用带有位填充的不归零倒置(NRZI)代码进行编码的,这种编码能使接收器与发送器保持同步,不需要每个字节都发送时钟信号或开始与结束位等额外的工作。

??? NRZI不是采用电压方式定义逻辑0和逻辑1,而是用电压改变代表逻辑0,电压保持不变代表逻辑1。如图3所示,每个逻辑0都会使前面一个状态发生改变,而每一个逻辑1则不发生状态改变,数据首先发送最低有效位。

??? 之所以要用位填充是因为接收器在

切换时要同步,如果数据全部为0会有许多转变,

但如果数据中有一长串1,由于缺少转变会使接收器失去同步。

??? 例如数据有6个连续的1,发送器就在第6个1后面填充或插入一个0(用一个切换来表示),这样就保证每7个位至少有一个转换,接收器检测到每6个连续1以后的任意位都会丢弃掉。随机数据的位填充开销仅为0.8%,即每125个数据位有1个填充位。

??? 幸运的是,每个端口的USB硬件会进行所有编码和解码工作,所以设备开发人员和编程人员不必担心这一点。观察数据的最好方法是使用协议分析仪,这种分析仪可收集数据,然后进行解码并以有用的格式显示出来。你可以看到在枚举时发生了什么,检测和检查协议及信令错误,观察任何传输中的数据,或者关注通信中你所希望的任何方面。

??? 任何分析仪都可以执行USB通信解码和显示结果这类基本任务,只是在用户接口和显示信息的方式上有所区别,不是所有分析仪都支持高速模式。图4显示了用Catalyst的SBAE-20总线分析仪-操作仪采集的数据。控制分析仪和观察通信数据的用户界面可以是一台PC或逻辑分析仪,与?PC相连的分析仪可使用USB口、并口、以太网口或ISA板上接口连接。如果你有一台通用逻辑分析仪,那么用USB分析仪与之相连会比其它方案更便宜,如?Crescent?Heart?Software的分析仪可与Tektronix的相连,而FuturePlus的分析仪可与Agilent的相连。测试设备与软件

??? 除了通过应用程序访问设备外,进一步对总线通信和信令进行控制在测试和调试中也是很重要的,同样也有一些仪器可做到这一点?Computer?Access?Technology的通信发生器可对总线通信和事件进行精确控制,你可以在PC上运行他们的软件通过并口连接来控制通信发生器,可生成各种合法和非法信息和总线状态,而且还能控制每个位的状态和位宽度。

??? Transdimension的USB主机/设备操作仪和Catalyst的SBAE-20都既具有协议分析仪功能,又具有在总线上产生通信数据的主机功能,SBAE-20其它功能还包括测量涌入和挂起状态下的电流。

??? RPM?Systems的Root?1?USB功能验证适配器能执行许多主机和根集线器功能,Root?1可枚举相连接的设备,对其它通信进行初始化并执行各种测试,包括控制总线电压。

??? 由于有很多新供应商进入到该领域,而原来的供应商也在扩展和改进他们的产品,因此测试工具的数量和种类在过去数年已有所增加,随着USB设备日益普及,这个趋势肯定还会继续下去。对任何开发项目来讲,对少量工具进行投资并学会如何很好使用这些工具将会在长期运行中节约更多的时间和资金。



上一页1234下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

USB? 设备? 调试? 测试?

上一篇: (多图) 基于DSP的半自主远程控制移动机...
下一篇: DSP应用优化技术――第二部分
相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
今日头条
精彩图集
有问题请反馈