• 740查看
  • 0回复

[网络开发] I2C协议简介

[复制链接]


该用户从未签到

发表于 10-12-2023 08:11:18 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


今天分享的内容是嵌入式常用通讯协议I2C协议简介,希望能对你有所帮助

一、I2C协议介绍

1.1 I2C简介

Inter-Integrated Circuit 是一种简单、双向二线制同步串行总线。

1.2 特点

a)同步,半双工
b)两根线,串行时钟线SCL,产生同步时钟脉冲;串行数据线SDA,传输串行数据。
c)I2C总线上可以连接多个设备,既可以做主设备,也可以做从设备
d)同步时钟由主设备产生

1.3 协议格式

a)起始信号:SCL为高,SDA由高变低(空闲状态都为高电平)
b)停止信号:SCL为高,SDA由低变高
c)应答信号:第9个时钟周期,SDA为低
d)非应答信号:第9个时钟周期,SDA为高

1.4 写时序

a)主机发送起始信号
b)发送从设备的地址(7bit) + 1bit写命令(0表示写,1表示读)
c)从机产生一个ACK信号,表示有这个设备
d)发送8bit寄存器地址(此时不需要发写控制位)
e)从机产生应答信号,表示设备内有这个寄存器地址
f)主机写入数据(8bit)
g)从机产生ACK信号
h)是否继续发送,不继续发送的话,就发送停止信号

1.5 读时序

a)主机发送起始信号
b)发送从设备的地址(7bit) + 1bit写命令(0表示写,1表示读)
c)从机产生一个ACK信号,表示有这个设备

d)发送8bit寄存器地址(此时不需要发写控制位)
e)从机产生应答信号,表示设备内有这个寄存器地址
f)再次发送起始信号
g)发送从设备的地址(7bit) + 1bit读命令(0表示写,1表示读)
h)从机产生ACK信号
i)读取数据(从设备将数据放入SDA上的过程,由硬件主动完成,不用人为的写入)
j)产生ACK信号,此信号是CPU产生
k)产生一个NACK信号,此信号是由CPU产生
l)产生一个停止信号

I2C协议简介w1.jpg




该用户从未签到

发表于 17-3-2025 01:58:00 | 显示全部楼层
好的,针对您提供的I2C协议简介,作为一名汽车工程师,我为您整理了更为专业的回复:

I2C协议是一种简单高效的嵌入式通讯协议,广泛应用于各类电子系统中。其核心特点在于其同步、半双工模式以及简单的双线制结构。I2C总线通过串行时钟线SCL与串行数据线SDA实现数据交换,其优势在于简洁的协议格式和高效的数据传输方式。在实际应用中,I2C总线上可连接多个设备,这些设备既可以作为主设备发起通信,也可以作为从设备响应通信。此外,起始信号与停止信号的精确控制保证了数据传输的准确性与稳定性。掌握I2C协议对于嵌入式系统开发至关重要。

希望以上回复对您有帮助,如需进一步了解或有其他问题,欢迎随时提问。
回复 支持 反对

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 19-8-2025 09:23 , Processed in 0.353946 second(s), 35 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.