• 608查看
  • 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


快速发帖

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

本版积分规则

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

GMT+8, 4-3-2025 22:09 , Processed in 0.535158 second(s), 36 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.