I2C总线

1、I2C常见设备超过1000种,常见类型有:

温度传感器,RTC(实时时钟芯片),LCD Drivers(液晶屏驱动芯片),ADC/DAC(模数/数模转换芯片)等等;

2、3、I2C总线组成及重要概念:

I2C由SCL(时钟)+SDA(数据)两条信号线组成

SCL上升沿对数据进行采样

属于串行,同步通信 

Master和Slave,Transmitter和Receiver,Master-Transmitter,Master-Receiver,Slave-Transmitter,Slave-Receiver

支持多Master和多Slave(时钟同步+总线仲裁)

OD/OC输出(标准/快速/高速)支持线与功能

Push-Pull输出(超快速-5mbits)

芯片输入内含buffer(过滤脉冲尖刺)

需要外部上拉电阻(芯片只输出)

Cbus决定外接设备数量

同一总线上的设备地址的唯一性

4、I2C工作模式

Cbus决定外接设备数量规范定义芯片管脚容性负载必须小于10PF

5、I2C协议传输格式

开始位/重复开始位

数据传输:

1、数据传输最小单元1Byte(8bits)

2、数据先传高位,再穿低位(MSB)

3、一次传输,最大传输Byte数无限制

跟随在每个Byte字节后,有应答位(ACK)和非应答位(NACK)

时钟上升沿采样数据/ACK/NACK,时钟永远由Master产生

6、I2C协议:数据

开始位:SCL在高电平,SDA由高变低;

停止位:SCL在高电平,SDA由低变高;

数据有效性:

SCL在高电平,SDA必须保持稳定

SCL在低电平,SDA改变

7、I2C协议-ACK/NACK:

ACK/NACK跟随在每个Byte字节传输后一位(第9位时钟)

ACK:

(1)Transmitter释放SDA,Receiver控制SDA低电平;

(2)Receiver通知Transmitter已经正确收到数据。

NACK:

(1)Transmitter释放SDA,Receiver控制SDA高电平;

1无:没有主机访问地址的Slave;

2忙:Slave忙碌,无法开始数据传输;

3错:Receiver收到的数据错误;

4停:通知Slave-Transmitter停止发送数据

8、时钟同步:

(1)应用场合:同一总线上有多个Master同时访问Slave

(2)SCL时钟(OC/OD)线与结构

Sm/Fm/Fm+模式支持时钟同步/总线仲裁

UFM和HSM不支持

9、总线仲裁:

(1)应用场合:同一总线上有多个Master同时访问Slave

(2)SDA数据线(OC/OD)线与结构

1、多个Master仲裁过程中,Slave不参与,由Master完成

2、仲裁按每个SDA数据bit逐步进行

3、利用时钟同步的SCL上升沿对SDA采样:
1、如果data1和data2全程保持与SDA上一致,则双MAster都能正常访问同一设备;;

2、如果data1先和与SDA上一致,则data2的Master获得主动权,继续完成相关操作

data1的Master丢失总线SDA控制,且关闭data1的输出

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值