没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
LAT1332
Local Application Tips
LAT1332 – Rev 1.0– Sep. 2023
关闭 I2C 时钟延展功能的使用介绍
关键字: I2C, No Stretch Mode
1.问题发生的背景
某客户使用 STM32L452(作为 I2C 设备)开发光模块产品,在测试时发现,同一设备
(硬件及软件均未变动),当插入交换机时,可正常通信,但是当插入 FPGA 测试机后,
I2C 通信不正常。通过出现问题时的 I2C 波形的对比,客户初步认为是第 9 个时钟脉宽相对
其他时钟过窄导致的(如下图)。询问我们有没有办法配置这个宽度 ?
2.问题的分析
首先,关于第 9 个时钟脉宽过窄的情况,建议客户测量下其宽度,结合 I2C 规范,发现
该窄脉宽仍然在 I2C 规定的范围之内。另外,对照 L452 的参考手册 I2C timming 章节的内
容,也建议客户尝试通过修改 Data setup time 和 Data hold time,客户表示可以使得每个脉
宽整体变长,但是对于通信的结果没有明显改善。
再次回过头来测试分析,I2C 的 SCL 是由 I2C 主机发出的,如果主机不接 I2C 设备,其
第 9 个时钟 SCL 没有看到变窄的情况,那就是说明,I2C 从机使能了时钟延展功能将 SCL
拉低了。换句话了, FPGA 作为 I2C 主机时,未支持时钟延展功能(从上图中其实也可以分
析,SCL 脉宽高电平变窄了,但是其 SCL 低电平也变长了,也就是 SCL 的周期是没有变化
的。那么,如果 FPGA 主机是以固定的采样频率去判断 SDA 数据,当 SCL 被拉低时,主机
资源评论
冻结的鱼
- 粉丝: 1186
- 资源: 156
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功