为提供测试人员完整的I2C总线除错解决方案,具备转态储存的逻辑分析仪,如台湾皇晶Acute TL2036,TL2136和TL2236,不仅可长时间进行数据记录,还可透过I2C触发功能进行定位与触发时间违反检查的设定,快速将讯号的问题点寻找出来,从而准确又省时的进行除错工作。
I2C总线在电子产品中是很常见的规格,其优势就是只需两条线,就可并联很多集成电路(IC)进行控制。但因多装置(Device)及开路汲极(Open Drain)的架构,常使I2C总线除错工作变得更加困难,因此可透过逻辑分析仪的功能,协助测试人员排除问题。
使用转态储存进行长时间数据纪录
在I2C总线讯号发生异常时,常常无法明确知道到底是哪个装置出错。因此,无法用设定触发的方式做问题点的定位。此时使用者多半会考虑先把所有的波形都全部撷取回来再慢慢分析。但是逻辑分析仪基本上是以采样的方式撷取讯号,因此,不管讯号有没有改变,都会随采样撷取动作的进行,而不断消耗仪器本身的内存,导致内存逐渐不足的问题衍生而出。
为因应此一挑战,转态储存(Transitional Storage)功能是一种波形数据的储存模式。该功能只在波形转态的时候才将波形数据储存起来,如此一来,当资料不转态时,逻辑分析仪就可以持续的等候,并且不存进任何数据到内存内。相对于传统每个采样点都储存一次资料的作法,转态储存将可以为用户记下更多的资料。由于I2C的传输速度整体来看速度都不会很快(表1),因此会非常适合使用转态储存,来拉长可储存的时间。
利用I2C触发定位找出问题点
举例来说,电路板上I2C总线连接装置A与装置B,但在长时间烧机测试(Burn-in Test)的过程中,I2C总线会经常性发生错误的问题。已知的现象是当发生错误时,I2C总线上会出现无效的地址(Address),并且在过程中会出现数次,面对此一问题,若想把所有的波形数据都抓下来,其实是相当困难,因为出现问题的时间点及次数都难以掌握,且长达好几天的烧机测试也会把所有的数据都登录(Log)下,且须在大量的数据中寻找问题点,是相当费时费力的工作。
为解决此一问题,可采用逻辑分析仪中的I2C触发功能来进行定位。首先,先把装置A(Addr:12h)与装置B(Addr:34h)的有效地址输入,然后让逻辑分析仪找出不符合上述两个条件的地址,实际设定如图1所示。
图1 利用I2C触发功能进行无效地址定位
将有效地址输入完成后,再搭配逻辑分析仪撷取波形后自动储存功能,就可在烧机的过程中,每次触发成功就存盘,之后再检视存档波形之触发点即可。善用I2C触发功能可以快速的协助波形定位,会比数据抓得多更具有意义。同样的,善用整个使用I2C参数来做为触发条件,例如地址符合、数据符合或多阶式的触发指定更精准的触发,这些都是单纯使用边缘触发(Edge Trigger)所无法做到的功能。
启用I2C触发时间违反检查揪出问题点
I2C总线会规范串行频率(SCL)与串行数据(SDA)必须按规定时间送出,不然整个总线的行为将会发生错误,导致通讯失败。有时候实际波形的时间已经超出规格,但却无法在开发及验证的过程中被挑出来,因为时间误差都不大,使得产品虽然仍可正常使用,但问题常常会留到量产时才显现出来,造成产品不良率攀升,甚至到使用者手上才出现问题。上述这些问题都是产品开发所不愿乐见的结果。
如图2所示,可启用逻辑分析仪的时间违反检查当作触发条件,设定所须检查的时间值,再让逻辑分析仪协助挑出时间违反的地方。逻辑分析仪系统采用200MHz采样率来进行采样。因此,可检查的最小时间宽度为5奈秒(ns)。如此一来,就可辅助使用者利用触发来做时间违反检查。此举非常适合于烧机测试时,用来检测I2C总线的讯号时间。
图2 时间违反触发功能之设定画面
0755-28180583
www.giga-science.com
文章评论(0条评论)
登录后参与讨论