首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
测试测量
» 逻辑分析仪为I2C信号量测提供完整方案
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
逻辑分析仪为I2C信号量测提供完整方案
发短消息
加为好友
Bazinga
当前离线
UID
1023230
帖子
5213
精华
0
积分
2607
阅读权限
70
在线时间
158 小时
注册时间
2013-12-20
最后登录
2015-10-22
金牌会员
UID
1023230
1
#
打印
字体大小:
t
T
Bazinga
发表于 2015-2-10 09:15
|
只看该作者
逻辑分析仪为I2C信号量测提供完整方案
分析仪
,
汇流排
I2C 汇流排在电子产品中,很常见的一种汇流排,它的好处就是只需要两条线,就可以并联很多 IC 进行控制。但因为多装置(Device) 及开路集极(Open drain)的架构,常使I2C 汇流排除错工作变得困难. 本文将提出一些实际的应用案例,并使用逻辑分析仪(Logic Analyzer)之各项功能,来协助排除问题。
使用转态储存进行长时间资料纪录
在 I2C汇流排讯号发生异常时,常无法明确的知道是哪个装置出错。因此,无法用设定触发的方式来做问题点的定位。使用者多半会考虑先把所有的波形都撷取回来再慢慢分析。但逻辑分析仪基本是以采样的方式撷取讯号,不管讯号有没有改变,都会随着采样撷取动作的进行,而不断地消耗记忆体。而转态储存(Transitional Storage)功能是一种波形资料的储存模式,只在波形转态(Transition)的时候才将波形资料储存起来,这样当资料不转态时,逻辑分析仪就可以持续的等候且不存任何资料到记忆体内。相对于每个采样点都存一次资料的作法,转态储存将可以记下更多的资料。由于I2C 的传输速度如下表一,整体来看速度都不会很快。 因此会非常地适合使用转态储存,来拉长可储存的时间。
表一I2C 个模式传输速度。
利用I2C触发来定位问题点
举例来说,电路板上I2C 汇流排连接了装置 A 与装置 B,但在长时间烧机测试(Burn-In Test)的过程中,I2C 汇流排发生错误的问题。已知的现象是当发生错误时,I2C 汇流排上会出现无效的位址(Address),并且烧机的过程中会出现数次。 如何能利用逻辑分析仪来做做问题厘清? 这样的问题,若想把所有的波形资料都抓下来,其实是有困难的。 因为出现问题的时间点及次数都很不一定,且长达好几天的烧机测试也使得把所有的资料都 Log 下来显得不切实际,又必须在大量的资料中寻找问题点。也是相当费时费力的工作。
因此,可采用逻辑分析仪中的I2C 触发功能来进行定位。首先,先把装置 A(Addr:12h) 与装置 B (Addr:34h)的有效位址输入。 然后让逻辑分析仪找出不符合上述两个条件的地址。实际设定如图一所示。
图一 利用I2C 触发功能进行无效位址定位。
然后再搭配逻辑分析仪撷取波形后自动储存功能,就很在烧机的过程中,每次触发成功就存档,之后再检视存档波形之触发点即可。善用I2C 触发功能可以快速的协助波形定位,会比资料抓得多来的有意义很多。同样的,善用整个使用I2C 参数来做为触发条件,例如地址符合或资料符合或多阶式的触发来指定更精准的触发,这些都是单纯使用边缘触发(Edge Trigger)所无法做到的功能。
I2C 触发检查时间违反(Timing violation)的问题点
I2C 汇流排会规范 SCL与 SDA 必须按规定时间送出,不然整个汇流排的行为将会发生错误,导致通讯失败。有时候实际波形的时间已经超出规格,但却无法在开发及验证被挑出来,因为有时候时间误差都不大,使得产品仍可正常使用。 但常常问题会流到量产时才爆发出来,造成量产不良率攀升。甚至到使用者手上才出现问题。这都是产品开发所不乐于见到的结果。
以图二所示,可启用逻辑分析仪之时间违反检查当作触发条件,设定所需检查的时间值,再让逻辑分析仪协助挑出时间违反的地方。逻辑分析仪系统采用 200MHz 采样率来进行采样。 因此,可检查之最小时间宽度为 5ns。这样,就可以辅助使用者,利用触发来做时间违反检查。非常适合于烧机测试时,用这个方式检测I2C 汇流排的讯号时间。
图二 时间违反触发功能之设定画面。
采用舒密特触发电路架构撷取品质良好的I2C 讯号
使用逻辑分析仪进行量测时,常会看到一些杂讯。但使用示波器看的时候似乎又没有,是甚么原因? 要如何排除? 这是因为I2C 汇流排是开路集极架构,汇流排上又同时接了很多装置,还有一些静电防护零件等等。可能使得I2C波形不见得会是很好的方波。 常见的I2C 波形如图三、四所示。但这样的波形在I2C 规范里面,是正常可接受的,并没有问题。
图三 常见的I2C 汇流排讯号(一), 上方为 SCL, 下方为 SDA。
图四 常见的I2C 汇流排讯号(二), SDA 讯号。
也因为这样,一般I2C晶片,都会规范在讯号输入脚位必须要有舒密特触发(Schmitt trigger)电路,以便于完善的解决讯号输入后能正确的处理逻辑讯号。为此,逻辑分析仪也可循此法做较完善的讯号解撷取动作。图五为一般逻辑分析仪,此用单一个触发准位的方式来做逻辑0与逻辑1 的区分。这样的作法,很容易在待测讯号经过触发准位(Threshold)附近时,产生很多不可预期的逻辑变化。 使得撷取出来的讯号像是杂讯或弹跳的现象。
图五 逻辑分析仪采单一触发准位模式示意图。
若采用低通滤波(Low-pass filter)的做法,是可以滤除杂讯,但又使得可能造成线路问题的高频杂讯也同时被滤掉了。无论如何,这都不是适当的解决方案。
而图六则是启用了舒密特触发电路之后的画面,此架构采用了两组触发电压,分别为 Thres-high 与 Thres-low。两个电压间,就是所谓不转态区域,在这个区间内,不管讯号怎么改变,都不会影响逻辑判断。 这样,就可以正常的撷取到I2C 讯号,且真正的高频杂讯也不会漏掉,也符合I2C 晶片设计规范。
图六 逻辑分析仪采舒密特电路触发模式示意图。
堆叠示波器可同时看到I2C数位与类比讯号
在使用了逻辑分析仪所提供的I2C汇流排触发与分析功能后。撷取下来的波形开始要进行问题分析阶段,常常很多专案都是软硬体共同合作,参与的人很多,若无法同时看到对应的类比讯号,对于厘清问题帮助不大。尤其是线路造成的问题,数位讯号并无法清楚地呈现出问题点。
但是,单纯逻辑分析仪堆叠示波器并没有任何帮助,因为大部分的时候逻辑分析仪可以抓的时间长度会远大于示波器,这样,即使示波器显示波形出来,也不在正确的位置上。唯有透过逻辑分析仪的触发功能进行讯号定位。这样抓到的类比讯号才是有意义的。图七就是利用堆叠并设定触发之后同时抓到数位与类比讯号。 使用者可以将它发送给需要看波形的人,I2C汇流排数位解码的部分可让使用者快速理解他所看到波形。 而类比讯号的部分,则忠实的呈现出波形的原貌。两者这样的结合,成为最佳的量测方案。
图七 逻辑分析仪与示波器堆叠示意图。
收藏
分享
评分
the king of nerds
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议