I2C 验证中需要注意的问题

1.NACK出现的时刻

通常,在Master访问到错误的Device ID时,Slave会返回Nack,表示访问失败。此外,在Master对Slave读访问时,在Slave返回最后一笔数据时,Master会响应Nack,表示接下来,Master将要发起Stop bit。

2.Restart和Start区别

Master在一次操作结束的最后,需要发起Stop Bit,以表示本次访问结束。然后,在下次访问开始时,仍然需要先发出Start bit,表示新一次访问的开始。
在这里插入图片描述
但是,如果Master在收到Ack后,没有发出Stop bit,而是又一次在SCL高电平时将SDA拉低,那么这就就是Restart bit,表示重新发起访问。刚开始接触I2C,容易被SCL、SDA的变化搞懵,所以弄懂Restart很重要。
在这里插入图片描述

3.保持时间(Thd)

无论是标准速度(Standard speed)、快速(Fast speed)、快速plus(Fast speed plus),总会发现Thd可以是0,你可能感到奇怪。但是,看过I2C时序图,也就不会这么想了。I2C的Thd指的是时钟下降沿和数据变化沿的间隔,所以Thd支持最小配置为0。这里需要注意的是,如果将Thd配置为0,在DUT打开虑毛刺功能,且外部有毛刺输入时,因为虑波会导致实际进入到逻辑里的SCL信号的下降沿滞后于SDA的变化沿,如果此时SDA信号恰好是发生了变化,DUT可能错误检测到一个Start bit 或者Stop bit,所以无论是设计还是验证,这一点需要注意。
在这里插入图片描述

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值