2021-05-27 i2c

I2C 讲解
发展历史:
初始版本:1982年,飞利浦(Philips)
最新版:version 6.0 恩智浦(NXP) 2016年发布
恩智浦是由飞利浦公司1960年创立,2006年之前隶属飞利浦,2006年之后独立出来,成为独立的半导体公司
I2C : I square C

I2C接口设备已经超过一千多种:
温度传感器、实时时钟芯片、液晶驱动芯片、EEPROM、多路复用芯片、模数转换芯片、GPIO芯片、LED扩展芯片、缓冲芯片

组成及概念:
SCL(时钟) + SDA(数据)两条信号线组成
SCL上升沿对数据进行采样
属于串行通信,同步通信
Master(主设备)、Slave(从设备)
Transmitter(发送设备)、Receiver(接收设备)
Master-Transmitter Master-Receiver
Slave-Transmitter Slave-Receiver
支持多Master + 多Slave(时钟同步+总线仲裁)
OD OC输出(标准、快速、高速)
芯片输入内含buffer(过滤脉冲尖刺)
需要外部上拉电阻(芯片只输出高阻和低电平)
Push-Pull输出(超快模式5Mbit/s)
Cbus(总线负载电容)决定外接设备数量
同一总线上的设备地址唯一性(7bit VS 10bit)
标准、快速、快速+、高速、超高速

模式 SCL 总线负载CBUS(max) 输出结构 传输方向 驱动电流 (min)
标准 0~100KHz 400pF oc/od 双向 3mA
快速 0~400KHz 400pF oc/od 双向 3mA
快速+ 0~1MHz 550pF oc/od 双向 20mA
高速 0~3.4MHz 100pF oc/od 双向 3mA
超高速 0~5MHz x Push-Pull 单向 4mA(主给从发)
CBUS(总线负载电容)决定外接设备数量 规范定义芯片管脚负载必须小于10pF
CBUS影响上拉电瓶时间

传输格式
开始、复位开始
数据传输
数据传输的最小单元是1Byte(8bits)
数据先传高位,后传低位(msb)
应答位(ACK)、非应答位(NACK)
跟随每个Byte数据后
时钟拉伸
ACK/NACK:增加Receive处理时间
Bit:减缓SCL时钟频率
停止位
时钟上升沿采样数据 ACK NACK
时钟永远有Master产生

S-Start 、Sr-Repeated Start 、P-Stop均由Master产生
总线空闲状态 : SDA/SCL高电平
STOP->(IDLE)->START
START->(BUSY)->STOP
所有数据传输:START开始,STOP结束
S/Sr:SCL高电平时,SDA高->低
p:SCL高电平时,SDA低->高

PC协议-数据有效性(DV:Data Validity)
scl高电平:SDA必须保持稳定
scl低电平:SDA改变

ACK NACK跟随每个Byte传输后一位 第9个时钟位
数据Byte传输:Transmitter控制SDA数据传输,Receiver接收SDA数据
PC协议ACK
ACK:Transmitter释放SDA,Receiver接收SDA数据
Receiver通知Transmitter已正确接收到数据
PC协议-NACK
NACK:Transmitter释放SDA,Receiver控制SDA高电平
1无:没有主机方位地址的slave
2忙:slave忙碌,无法开始数据传输
3错:Receiver接收到的数据错误
4停:通知slave-Transmitter停止发送数据
规范定义:ACK SDA低电平 NACK SDA高电平

时钟同步:
同一总线上有多个Master同时方位slave
SCL时钟(oc od)线与结构
超快速模式 高速模式不支持时钟同步

待完善!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值