0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

I2C总线信号与测试案例(二)

冬至子 来源:羊驼犀牛的测试随笔 作者:羊驼犀牛 2023-11-20 15:49 次阅读

前面一章讲解了I2C总线的基本原理,那么在电路设计完成打板回来,肯定要做信号测试来验证设计;

1、梳理测试内容,根据电路图上梳理出I2C总线,包括每一路I2C一共有几个主机,几个从机,以及从机的地址信息

2、使用示波器的I2C协议分析功能或者其他I2C解析工具,将总线上的实时数据抓取解析,看一下是否包括电路设计上的所有器件地址,或者是有多余的地址信息;

因为小编在测试中遇到太多实测地址比设计少的,这个好理解,一个是冗余设计,当前没有使用,一个原因是软件上漏掉了;此外,实测到设计上没有的地址信息,这个大概率发生在后期改版过程中,硬件设计更换了总线上的器件,地址也给到软件做更改,但是软件代码上没有将之前的不再使用的地址信息删掉,导致总线还是存在访问此地址信息的请求数据;

图片

图片

无论是多了还是少了地址,对于测试来讲都是有问题的,必须搞清楚,是问题的话,就分析解决,不是的话,就做个澄清说明;

3、整理各个器件对于I2C总线的电平与时序要求;详细如下:

频率:指的是SCL的时钟频率,测量这个参数的意义在于判定总线是单一的速率还是多种速率模式混合,其次确定了时钟频率,有助于后面时序参数的确认,因为不同速率数据时序的要求是不一样的。

正/负脉宽:SCL的高低电平宽度,因为I2C是高电平进行数据采样,低电平时SDA电平变化,所以,无论高电平还是低电压都一定有个最小值来满足采样和电平变化;

逻辑高/低电平:SCL和SDA均要测量,只有测量值满足高低电平的要求,才真正意义上能被识别为逻辑1或0;此处要注意的是,即使总线电平是同一个VCC,不同器件对于逻辑电平门限也是不太一样;

上升/下降时间:指的是SCL和SDA的边沿在高低电平门限之间的持续时间,一般取30%~70%,这也只是一个相对的经验值,因为大多数的I2C器件逻辑高低电平门限是30%Vcc和70%Vcc;追求准确度来说,要根据实际器件的高低电平门限值来卡这个时间;前文讲到总线电容和上拉电阻的值会影响上升时间的值,若测试有问题,可以通过调节上拉电阻的值来改善。

Vmax/Vmin:总线数据的最大电平和最小电平值;主要看是否有上下过冲,若过冲超过芯片要求,很可能会损坏芯片。

Tbuf:帧间隔时间,即SDA线的上一帧传输结束到下一帧开始之间的间隔时间。

开始标志位的保持时间(tHD:STA):在SCL为高电平时SDA由高变低的边沿到SCL第一个下降沿的时间。

结束标志位的建立时间(tSU:STO):在SCL为高电平时SDA由低变高的边沿到SCL前一个上升沿的时间。

重复起始标志位的建立时间(tSU:STA):在第9个时钟之后。在SCL为高的上升沿到SDA的下降沿之间的时间间隔。

数据建立时间(tSU:DAT):一个比特周期内,SDA变化沿到SCL上升沿的时间间隔。

数据保持时间(tHD:DAT):一个比特周期内,SDA变化沿到SCL下降沿的时间间隔。

图片

4、搭建测试环境,实操测试

  • 测试所需设备:示波器(最好有协议分析软件)、示波器探头(有源探头优选)、待测DUT(加载I2C总线通讯的软件)
  • 选择信号测试点:测量写信号,在从器件端靠近芯片pin脚;测量读信号,在主器件端靠近芯片pin脚;
  • 注意事项:探头的接地线尽可能短,避免引额外电感量影响测试准确性。

下面以实际的例子来演示:

  • 待测I2C总线只有一主一从,从机地址为 0x39,用示波器抓取总线数据并解析,确认是只有0x39地址的数据;

图片

  • 主从器件的I2C时序要求

图片

图片

常见问题:

1、上升下降时间不满足

更改上拉电阻的阻值

2、建立保持时间不满足

①是否速率太低,调高至fast mode或者更高速率看一下

②数据SDA变化沿调整,前移或者后移

3、SDA边沿有台阶

图片

①一般发生在主从对总线控制的切换时

②若芯片内部有上拉,外部还上拉至Vcc,那么在主机释放总线后会被内部上拉电阻分压至台阶电平,然后再被从机拉低

4、我最开始学习I2C总线,对于总线协议了解的不清楚,造成了一个误解如图所示红的框出来的波形,起初以为像第一张图里脉宽很小,电压也不高的是毛刺信号,第二张的是数据信号;其实都不对,两张图片里的是同一个东西,即应答信号前释放总线造成的;为什么电平与脉宽大小不一,是跟上拉电阻和从器件响应时间决定的。上升时间长的话,主机释放总线,电平从低开始缓慢升高,在还未升至Vcc之前,从机开始应答,拉低总线,那么就很像毛刺;若上升时间很快,从机还没响应之前就会有一段时间的高电平;

图片

图片

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

    关注

    5

    文章

    359

    浏览量

    30611
  • 示波器
    +关注

    关注

    113

    文章

    6240

    浏览量

    184810
  • I2C总线
    +关注

    关注

    8

    文章

    390

    浏览量

    60917
  • SDA
    SDA
    +关注

    关注

    0

    文章

    124

    浏览量

    28129
  • SCL
    SCL
    +关注

    关注

    1

    文章

    239

    浏览量

    17059
收藏 人收藏

    评论

    相关推荐

    I2C总线原理详解

    I2C两线式串行总线通讯协议,它是由飞利浦开发的,主要用于连接微控制器及其外围设备之间,它是由数据线SDA和信号线SCL构成的,可发送和接收数据即在MUC和I2C设备之间,
    发表于 10-18 17:20 2351次阅读
    <b class='flag-5'>I2C</b><b class='flag-5'>总线</b>原理详解

    I2C总线信号测试案例(一)

    I2C bus是Inter-IC bus的缩写,意思是IC器件之间的通讯总线I2C 总线的特点如下
    的头像 发表于 11-20 15:45 2010次阅读
    <b class='flag-5'>I2C</b><b class='flag-5'>总线</b><b class='flag-5'>信号</b>与<b class='flag-5'>测试</b>案例(一)

    i2c总线ppt(I2C总线器件应用)

    I2C总线器件应用第一节 I2C总线器件应用概述I2C总线工作原理
    发表于 08-13 17:34 0次下载

    i2c总线的特点

    i2c总线的特点:2 I2C 总线使设计人员和厂商都得益.. 3 2.1 设计人员的得益.. 4 2.2 厂商的得益. 5
    发表于 08-05 09:05 26次下载

    I2C总线规范与I2C器件C51读写程序

    I2C总线规范与I2C器件C51读写程序:本文简要介绍了I2C总线,并给出了
    发表于 08-22 17:51 93次下载

    I2C总线接口模块设计

    本实验是基于EasyFPGA030的I2C总线接口模块设计,用EasyFPGA030开发套件通过I2C协议实现对线制I2C串行EEPROM
    发表于 11-02 17:01 41次下载

    什么是i2c总线

    什么是i2c总线  下载请点击: i2c总线协议中文版 
    发表于 11-05 09:26 2919次阅读

    并口模拟I2C总线的设计

    并口模拟I2C总线的设计 试验目的:认识计算机并口和I2C总线,用计算
    发表于 09-11 10:31 4207次阅读
    并口模拟<b class='flag-5'>I2C</b><b class='flag-5'>总线</b>的设计

    基于CPLD的I2C总线接口设计

    在电路设计中,I2C总线是比较常用的两线式串行通信方式,大多数的CPU都擅长于并口操作,不具备直接操作I2C总线接口的能力。为了使不具备I2C
    发表于 02-12 16:11 95次下载
    基于CPLD的<b class='flag-5'>I2C</b><b class='flag-5'>总线</b>接口设计

    基于51的I2c总线

    I2c总线,基于51的I2c总线,程序学习。快来下载学习吧
    发表于 01-13 11:49 34次下载

    互联IC总线(I2C)

    和ROM)、 网络设备、LCD、音频发生器,等等。IC总线也可在产品的开发和生产过程用于系统的测试和诊断。Stellaris系列ARM集成有 1 个或 2I2C模块,提供与
    发表于 01-13 16:38 13次下载

    i2c

    单片机i2c总线操作;单片机i2c总线操作;单片机i2c总线操作;
    发表于 05-17 11:09 35次下载

    i2c总线用来做什么_i2c总线数据传输过程

    I2C总线控制器为微控制器或微处理器提供控制I2C总线的接口,它控制所有I2C总线的特殊序列、协
    发表于 11-24 14:16 7263次阅读

    I2C总线的基本通信总结

    在电子设计开发中I2C大家已经很熟悉了,每一种电子产品小到电子开关,大到卫星通信都会利用的I2C总线。据统计I2C在电子产品中占据了93%的份额,几乎任何一种电路都要使用。
    的头像 发表于 08-26 14:08 1.8w次阅读
    <b class='flag-5'>I2C</b><b class='flag-5'>总线</b>的基本通信总结

    I2C串行总线协议是什么?I2C总线有哪些优点?

    I2C串行总线协议是什么?I2C总线有哪些优点? I2C(Inter-Integrated Circuit)是一种串行
    的头像 发表于 09-12 11:18 1650次阅读