逻辑分析仪为I2C信号测量提供完整方案

逻辑分析仪为I2C信号测量提供完整方案,第1张

  I2C 汇流排在电子产品中,很常见的一种汇流排,它的好处就是只需要两条线,就可以并联很多 IC 进行控制。但因为多装置(Device) 及开路集极(Open drain)的架构,常使I2C 汇流排除错工作变得困难。 本文将提出一些实际的应用案例,并使用逻辑分析仪(Logic Analyzer)之各项功能,来协助排除问题。

  使用转态储存进行长时间资料纪录

  在 I2C汇流排讯号发生异常时,常无法明确的知道是哪个装置出错。因此,无法用设定触发的方式来做问题点的定位。使用者多半会考虑先把所有的波形都撷取回来再慢慢分析。但逻辑分析仪基本是以采样的方式撷取讯号,不管讯号有没有改变,都会随着采样撷取动作的进行,而不断地消耗记忆体。而转态储存(TransiTIonal Storage)功能是一种波形资料的储存模式,只在波形转态(TransiTIon)的时候才将波形资料储存起来,这样当资料不转态时,逻辑分析仪就可以持续的等候且不存任何资料到记忆体内。相对于每个采样点都存一次资料的作法,转态储存将可以记下更多的资料。由于I2C 的传输速度如下表一,整体来看速度都不会很快。 因此会非常地适合使用转态储存,来拉长可储存的时间。

  利用I2C触发来定位问题点

  举例来说,电路板上I2C 汇流排连接了装置 A 与装置 B,但在长时间烧机测试(Burn-In Test)的过程中,I2C 汇流排发生错误的问题。已知的现象是当发生错误时,I2C 汇流排上会出现无效的位址(Address),并且烧机的过程中会出现数次。 如何能利用逻辑分析仪来做做问题厘清? 这样的问题,若想把所有的波形资料都抓下来,其实是有困难的。 因为出现问题的时间点及次数都很不一定,且长达好几天的烧机测试也使得把所有的资料都 Log 下来显得不切实际,又必须在大量的资料中寻找问题点。也是相当费时费力的工作。

  因此,可采用逻辑分析仪中的I2C 触发功能来进行定位。首先,先把装置 A(Addr:12h) 与装置 B (Addr:34h)的有效位址输入。 然后让逻辑分析仪找出不符合上述两个条件的地址。实际设定如图一所示。

  然后再搭配逻辑分析仪撷取波形后自动储存功能,就很在烧机的过程中,每次触发成功就存档,之后再检视存档波形之触发点即可。善用I2C 触发功能可以快速的协助波形定位,会比资料抓得多来的有意义很多。同样的,善用整个使用I2C 参数来做为触发条件,例如地址符合或资料符合或多阶式的触发来指定更精准的触发,这些都是单纯使用边缘触发(Edge Trigger)所无法做到的功能。

  I2C 触发检查时间违反(TIming violaTIon)的问题点

  I2C 汇流排会规范 SCL与 SDA 必须按规定时间送出,不然整个汇流排的行为将会发生错误,导致通讯失败。有时候实际波形的时间已经超出规格,但却无法在开发及验证被挑出来,因为有时候时间误差都不大,使得产品仍可正常使用。 但常常问题会流到量产时才爆发出来,造成量产不良率攀升。甚至到使用者手上才出现问题。这都是产品开发所不乐于见到的结果。

  以图二所示,可启用逻辑分析仪之时间违反检查当作触发条件,设定所需检查的时间值,再让逻辑分析仪协助挑出时间违反的地方。逻辑分析仪系统采用 200MHz 采样率来进行采样。 因此,可检查之最小时间宽度为 5ns。这样,就可以辅助使用者,利用触发来做时间违反检查。非常适合于烧机测试时,用这个方式检测I2C 汇流排的讯号时间。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2568598.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-07
下一篇 2022-08-07

发表评论

登录后才能评论

评论列表(0条)

保存