聊聊IIC协议接口/总线/驱动

多主机:同时有多个主机尝试控制总线,但不破坏报文;

仲裁:是一个在有多个主机同时尝试控制总线但只允许其中一个控制总线并使报文不被破坏的过程;

同步:两个或多个器件同步时钟信号的过程。

3、位传输

SDA线上的数据必须在时钟的高电平周期保持稳定数据线的高或低电平状态只有在SCL线的时钟信号是低电平时才能改变,如下图所示:

起始和停止条件:其中一种情况是在SCL线是高电平时SDA线从高电平向低电平切换这个情况表示起始条件。

当SCL是高电平时SDA线由低电平向高电平切换表示停止条件。如下图所示:

4、数据传输

发送到SDA线上的数据必须是8位,每次传输发送的字节数不受限制,每个字节后必须跟一个响应位。

在响应的时钟脉冲期间接收器必须将SDA线拉低使它在这个时钟脉冲的高电平期间保持稳定的低电平。

当从机不能响应从机地址时,例如它正在执行一些实时函数不能接收或发送从机必须使数据线保持高电平,主机然后产生一个停止条件终止传输或者产生重复起始条件开始新的传输。

5、同步与仲裁

同理,当所有器件的低电平周期结束之后,SCL被拉高,那么器件开始数他们的高电平周期,首先完成高电平周期的器件会将SCL拉底。

那么,产生的同步SCL时钟的低电平周期由低电平时钟周期最长的器件决定而高电平周期由高电平时钟周期最短的器件决定。

时钟同步图如下图所示:

当SCL线是高电平时仲裁在SDA线发生这样在其他主机发送低电平时发送高电平的主机将断开它的数据输出级因为总线上的电平与它自己的电平不相同。

THE END
1.IIC协议IIC总线在传输数据的过程中一共有三种类型信号,分别为:开始信号、结束信号和应答信号。 //起始位,停止位,数据位,速度 1. 起终信号 这些信号中,起始信号是必需的,结束信号和应答信号 起始信号 SCL =1 SDA = 1; 延时 while(!sda) 延时 终止信号 https://blog.csdn.net/2301_79405674/article/details/141103501
2.IIC总线协议详解IIC(Inter-Integrated Circuit)总线是一种由 NXP(原 PHILIPS)公司开发的两线式串行总线, 用于连接微控制器及其外围设备。多用于主控制器和从器件间的主从通信,在小数据量场合 使用,传输距离短,任意时刻只能有一个主机等特性。 在CPU 与被控 IC 之间、IC 与 IC 之间进行双向传送,高速 IIC 总线一般可达 400kbpshttp://www.tqpw.cn/eRMbu6Yn.shtml
3.IIC通信协议总结(详细说明完整过程)腾讯云开发者社区IIC协议把传输的消息分为两种类型的帧: 地址帧–用于master指明消息发往哪搁slave; 数据帧(单个或者连续)–由master发往slave的数据或者是接收到来自于slave的数据。一次读写单位为8bit,高位先发 注:IIC读写是相对于master来说的。IIC总线的数据传送1、数据位有效性的规定:IIC总线进行数据传送时,时钟信号为高电平https://cloud.tencent.com/developer/article/2073230
4.详解IIC通信协议以及FPGA实现业界新闻IIC也称为I2C(Inter-Integrated Circuit)由飞利浦公司(现在的恩智浦半导体)开发,是一种用于短距离数字通信的串行,同步,半双工通信接口协议;传输在标准模式下可以达到100kbit/s,在快速模式下可以达到400Kbit/s, 在快速模式增强模式下可以达到1Mbit/s,在高速模式下可以达到3.4Mbit/s。 https://www.jindouyun.cn/document/industry/details/244275
5.cubemxIIC稳定吗mob64ca1410eb61的技术博客OLED 裸屏总共种接口包括:6800、8080 两种并行接口方式、3 线或 4 线的串行 SPI 接口方式、 IIC 接口方式(只需要 2 根线就可以控制 OLED 了!),这五种接口是通过屏上的 BS0~BS2 来配置的。 0.96 寸 OLED 模块(SPI接口模块): 模块接口定义: GND 电源地 VCC 电源正(3~5.5V) D0 OLED 的 D0 脚,在https://blog.51cto.com/u_16213686/12904898