美文网首页
I2C通信二

I2C通信二

作者: 技术是神奇的 | 来源:发表于2021-07-25 18:21 被阅读0次

一、数据在I2C总线上的传输协议

(1) I2C通信时的基本数据单位也是以字节为单位的,每次传输的有效数据都是1个字节(8位)。
(2)起始位(S)及其后的8个clk中 (在CLK线的上升沿发送数据)都是主设备在发送(主设备掌控总线),此时从设备只能读取总线,通过读总线来得知主设备发给从设备的信息;然后到了第9周期,按照协议规定从设备需要发送ACK给主设备,所以此时主设备必须释放总线(主设备把总线置为高电平然后不要动,其实就类似于总线空闲状态),同时从设备试图拉低总线发出ACK。如果从设备拉低总线失败,或者从设备根本就没有拉低总线,则主设备看到的现象就是总线在第9周期仍然一直保持高,这对主设备来说,意味着我没收到ACK,主设备就认为刚才给从设备发送的8字节不对(接收失败)

注:

  1. 一般地址定义为7位(支持127种不同的IIC设备,如果需要更多器件可以扩展地址),第8位表示读还是写,最后还会跟一个ACK或NACK

2)开始条件:SCL high, SDA high-to-low 转换

结束条件:SCL high, SDA low-to-high 转换

开始和结束条件.png 开始传输的数据是0xAAh.png

注: MSB:最高有效bit位 , 如上图就是bit7

LSB:最低有效bit位 , 如上图就是bit0

一个主器件到从器件中读取数据的过程.png

Acknowledge: 以上部分图片和资料来自朱有鹏以及知乎@IC君

相关文章

  • 项目15 之 I2C通信方式原理与应用

    项目15 之 I2C通信方式原理与应用 I2C是各类传感器与模块与Arduino通信的最常用方式之一 I2C的全称...

  • OSError: [Errno 121] Remote I/O

    打开raspberryPi I2C功能,连接上I2C通信的扩展板即可

  • 9.26总结

    今天学习了I2C通信协议 I2C是串行同步半双工通信 IIC通信处于空闲状态时,两条信号线各自上拉处于高电平 数据...

  • I2C通信二

    一、数据在I2C总线上的传输协议 (1) I2C通信时的基本数据单位也是以字节为单位的,每次传输的有效数据都是1个...

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

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

  • 基于I2C的STM32与树莓派通信

      传统的串口通信会丢失数据,不可靠,故采用I2C(同步串行总线)通信。  树莓派上使用python脚本,后期将使...

  • i2c协议笔记

    camera sensor与主控芯片是通过i2c通信的,摄像头读id,初始化寄存器,开启流,写曝光都是通过i2c总...

  • I2C通信

    借鉴:https://blog.csdn.net/qq_29344757/article/details/7652...

  • I2C通信一

    一、什么是I2C通信 物理接口:SCL + SDA(1) SCL(serial clock):时钟线,传输CLK信...

  • 高速电路_四轴飞行器_1

    四轴飞行器 1.结构组成 2.通信方式 串行通信:一位一位的传 USB,UART,I2C,SPI 并行...

网友评论

      本文标题:I2C通信二

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