美文网首页
I2C 总线问题

I2C 总线问题

作者: 花生Linkin | 来源:发表于2021-03-05 16:34 被阅读0次

背景

在通过I2C读SFP 模块的时候发现读到数据不对,现象是感觉丢掉了几个bit。

调查

通过测试波形,发现异常。

原因

有经验的同事指出是I2C 的stretching。
简单说:从设备跟不上主设备的速度,想要跑慢一点。就可以通过拉低住时钟信号来实现。

In an I2C communication, the master device determines the clock speed. Unlike RS232 the I2C bus provides an explicit clock signal which relieves master and slave from synchronizing exactly to a predefined baud rate.
However, there are situations where an I2C slave is not able to co-operate with the clock speed given by the master and needs to slow down a little. This is done by a mechanism referred to as clock stretching.
An I2C slave is allowed to hold down the clock if it needs to reduce the bus speed. The master, on the other hand, is required to read back the clock signal after releasing it to the high state and wait until the line has actually gone high.

搜索相关资料:
I2C Clock Stretch
clock-stretching/

相关文章

  • kernel I2C总线驱动

    I2C总线驱动# I2C体系结构## I2C核心提供I2C总线驱动和设备驱动的注册、注销方法 I2C总线驱动是对I...

  • I2C总线架构 之 I2C核心

    引言 在之前的 《I2C总线架构 之 设备驱动》 和 《I2C总线架构 之 总线驱动》 中一再提到i2c核...

  • i2c

    彻底搞懂I2C总线(一)什么是I2C?什么是I2C总线?什么是I2C规范[https://www.163.com/...

  • STM32学习:I2C-EEPROM实验

    一、I2C总线介绍 I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线...

  • 张高兴的 .NET Core IoT 入门指南:(三)使用 I2

    什么是 I2C 总线 I2C 总线(Inter-Integrated Circuit Bus)是设备与设备间通信方...

  • Linux i2c system

    Linux i2c system I2C总线是由PHILIPS公司开发的两线式串行总线,每个连接到总线的器件都可以...

  • 硬件知识

    I2C的SDA和SCL为什么要上拉 因为允许把多个I2C总线器件连接到总线上,连接到I2C总线上的器件是漏极开路或...

  • I2C协议浅谈

    导语:此为个人对I2C总线协议的一点总结,如若想深度了解I2C总线协议可参考相关文档 I2C英文权威手册 I2C中...

  • linux驱动之i2c框架

    一、前言 I2C总线 是一种常用的总线协议,在设备中经常看到,比如 sensor、陀螺仪等都是使用 I2C总线。而...

  • Linux I2C体系

    I2C总线仅仅使用 SCL 、 SDA 两根信号线就实现了设备之间的数据交互。 由于各种SOC都有自己的I2C总线...

网友评论

      本文标题:I2C 总线问题

      本文链接:https://www.haomeiwen.com/subject/biarqltx.html