I2C误码了怎么处理

简介: I2C误码了怎么处理

我相信不少人有遇到I2C设备识别不到,或者概率性误码。


我相信大部分工程师的做法如下:

1.调整上拉电阻的大小,然后重新老化测试;

2.降低I2C速率,然后老化测试;

3.软件加入一定判断条件,将能剔除的误码剔除掉。

       

站在硬件角度来看:


第一点,盲目调整,没有调整依据。

第二点,降低I2C速率可能影响使用体验,例如触摸屏应用;降低I2C速率并不能保证就OK。

第三点,软件并不能完全剔除掉误码。

       

所以此文章推荐硬件接入做I2C的信号测试。下面列举了I2C的Standard-mode,Fast-mode,Fast-mode Plus,Hs-mode,Ultra Fast-mode各个模式信号的要求。

Standard-mode,Fast-mode,Fast-mode Plus:

       

640.png640.png640.png


Hs-mode


640.png640.png640.png


Ultra Fast-mode

640.png640.png640.png

       

从上可知,信号要求一般有电平大小、电平宽度、速率、上升下降时间、建立时间、保持时间。所以我们应该先保证自己板上的I2C信号符合标准要求后,再去做其他排查或者规避措施。


如下是我列出的Standard-mode,Fast-mode测试表,如下:


Standard-mode

640.png


Fast-mode

640.png


咋们只需要填写黄色部分,如信号名、电平以及测试结果,则可以自动得出是否测试通过。

当然也建议各位可以导入到公司的硬件测试中,很多公司都是有在做这个测试的。

测试表文件可以后台回复“硬件人-I2C测试表”获取。


推荐阅读:

IIC总线的硬件解析

相关文章
|
4月前
|
编解码 网络协议
Kitex踩坑记录,Kitex超时控制问题
Kitex踩坑记录,Kitex超时控制问题
Kitex踩坑记录,Kitex超时控制问题
|
1月前
|
小程序 前端开发
怎么解决小程序的异步请求问题?
怎么解决小程序的异步请求问题?
31 1
|
4月前
|
前端开发 UED
面试官:【后端一次性返回10万条数据怎么处理/后端发送大数据量的数据如何处理】
面试官:【后端一次性返回10万条数据怎么处理/后端发送大数据量的数据如何处理】
54 0
|
9月前
|
微服务
什么是服务雪崩,怎么解决这个问题?
什么是服务雪崩,怎么解决这个问题?
110 0
|
10月前
|
数据采集 Python
python爬虫怎么解决超时timeou错误
python爬虫怎么解决超时timeou错误
|
11月前
|
消息中间件 存储 网络协议
大厂都是如何处理重复消息的?
消息消费失败,很多框架会自动执行重试,而重试就产生了重复消息。 MQTT协议给出三种传递消息时能够提供的
223 0
|
缓存 负载均衡 Oracle
面试官:说下你在项目中是如何处理高并发的???
面试官:说下你在项目中是如何处理高并发的???
360 0
面试官:说下你在项目中是如何处理高并发的???
|
消息中间件 关系型数据库 MySQL
这一篇让你知道怎么处理异常
这一篇让你知道怎么处理异常
这一篇让你知道怎么处理异常
|
JSON Java 程序员
写了这么久的业务连异常都不知道怎么处理吗
前言 文本已收录至我的GitHub仓库,欢迎Star:github.com/bin39232820… 种一棵树最好的时间是十年前,其次是现在
185 0