I2C波形规格介绍

本文深入剖析了I2C通信协议在读写操作中的工作原理,通过波形图展示了7位从设备地址为0x68的设备读取0x75寄存器值和写入0x6b寄存器0的流程。关键点包括空闲时SCL和SDA的状态,数据传输中的信号转换规则,读写标志位,以及ACK/NAK握手信号的角色。了解这些对于理解和调试I2C通信至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spec:

Read:

./i2c_read_write -b 0 -a 0xd0 -f A8D8 -r 0x75
Reg value: 0x68

上图是往7bit slave addr为0x68(write addr 0xD0)的设备读取reg 0x75 值的波形。需要注意的地方如下:

1. scl & sda在空闲没有设备控制时的默认状态是high;

2. 在传输数据的过程中,只有scl为低时,sda的状态才能发生改变,否则就是发送start或者是stop信号。start:scl high & sda low,end:scl high & sda high;

3. 传输数据时,scl为high,sda数据有效;

4. 读写标志位,读为1,写为0;

5. 握手ack/nak信号,都是发送设备数据发送完成后,释放sda控制权等接收设备拉低sda,然后将scl拉高确认sda是否为low看握手是否成功。ack:slave向master发送应答信号,nak:master向slave发送应答信号;

write:

./i2c_read_write -b 0 -a 0xd0 -f A8D8 -w 0x6b 0

 上图是往7bit slave addr为0x68的设备,reg 0x6b写入0的波形

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值