第十五篇 IIC时序基础知识

IIC总线一般有两根信号线SCL和SDA;

一般SCL和SDA都会通过上拉电阻实线电平的转换和提高驱动能力;

IIC总线协议包括:起始信号、停止信号、数据位、应答位;

一般一次通信是9个CLK,8个数据位加一个应答位;

IIC属于同步通信,CLK信号线是独立的。

TSU:STASDA下降前,SCL维持高时间
THD:STASDA下降后,SCL维持高时间
TSU:DATSCL上升前,SDA维持不变时间
THD:DATSCL下降后,SDA维持不变时间
TSU:STOSDA上升前,SCL维持高时间

其中,SDA只能在SCL低电平才能变化数据;

IIC总线测试读时序的时候,只需要测试TSU:DAT和THD:DAT就可以了。因为START信号和STOP信号都是主设备发出的。

IIC总线测试写时序的时候,全部时序都需要测试。

SCL的频率一般是根据基准时钟倍频或者分频来配置。

IIC总线上器件的数量受400pf容性负载限制。

因为在RC回路中时间常数τ=RC,如果C过大就会引起时钟方波的上升时间,造成方波畸变,出现振铃等信号质量问题,会造成数据通信误码率增加,降低通信质量。

IIC都需要做上拉处理,一般都会上拉到3V3,选择的上拉电阻一般是1k,4.7k,(一般是不小于1k,不大于10k)

如何选择上拉电阻的阻值有两个维度考量:

1.电阻的上限

根据τ=RC来决定R的上限值,由于数字信号在跳变的过程中,都会引入耦合电容Cbus,可以根据器件资料查找到对应的耦合电容,一般也是100pf级别,那么τ是根据什么来确定呢,不同的IIC总线频率不同,频率就决定了周期,也就决定了上升时间,一般对IIC的上升时间要求是小于330ns,这样可以保证通信质量。

比如一个频率是100KHz的SCL信号,其周期就是10us,那么时钟的trise要是15us的话,就是说从0还没跳变到1就开始跌落到0,已经无法完成通信了。

根据以上的时间要求τ和Cbus就可以确定了上拉电阻的上限了。

2.电阻的下限

电阻下限呢,主要是因为IC都有电流限制,如果电阻太小,引起bus中的电流过大,必然对IC是有风险的,所以对电阻有个最低要求。

关于IIC的上拉电阻计算公式有个参考:

Rmin=(VDD-0.4)/3mA;

Rmax=(T/0.874)*C, [T=1us@100KHz,T=0.3us@400KHz], C是Cbus

3.为什么必须要IIC要上拉?

因为IIC是OD门,本身只能输出低电平,所以必须通过外部上拉才能输出高电平;

4.IIC没数据的时候为什么要是高电平?

为了省电,因为IIC是低电平的话,上拉电阻上会消耗电能;

简单阐述IIC总线

答案:IIC总线包含两个信号线SCL和SDA,分别是时钟和数据;
基本概念IIC标准时钟频率是100KHz,快速模式是400KHz,高速模式下3.4MHz。
数据有效性的概念,SCL高电平周期SDA保持稳定,SCL低电平周期SDA可以跳变。
起始条件 SCL高电平时,SDA从高电平跳变为低电平;
停止条件SCL高电平时,SDA从低电平跳变为高电平;
上升时间/下降时间指10%-90%或者20%-80%;
IIC总线需要测试的指标
SCL时钟频率、起始条件建立时间/保持时间、SCL低电平周期、SCL高电平周期、数据建立时间/保持时间、SCL/SDA上升时间、SCL/SDA下降时间、停止条件的建立时间、起始条件和停止条件的空闲时间、线路的容性负载最大值、低电平噪声容限、高电平噪声容限
测试注意事项:
SCL第一个字节的bit7对应的SDA电平(高读低写)
波形测试在接收端末端测试
注意参考地的选择
SDA是双向信号、SCL是主机发出,测试主控芯片端读回信号只关心SDA信号质量时序,SCL只做参考
测试从控芯片端信号SDA和SCL的信号质量和时序都要关注
通过串口发送命令,波形解码严格匹配地址位,如果不一致则是无效波形
 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值