简述I2C总线

简介: 简述I2C总线

一、I2C总线简介

I2C总线:串行、半双工方式,用于近距离、低速的芯片之间通信。

两根双向的信号线:一根数据线SDA用于收发数据,一根时钟线SCL用于通信双方时钟同步。I2C总线是一种多主机总线,连接在I2C总线还是那个的器件分为主机和从机,主机有权发起和结束一次通信,而从机只能被主机呼叫。I2C具备冲突检测和仲裁。


二、I2C总线的通信过程

1、主机发送起始信号启动总线

2、主机发送一个字节数据指明从机地址和后续字节的传送方向,如图所示

最低位表示后续字节的传送方向,如果为“0”表示主机给从机发送数据,如果为“1”则表示主机接收从机数据。

3、被寻址的从机发送应答信号回应主机

4、发送器发送一个字节数据数据

5、接收器发送应答信号回应发送器

循环4、5步骤可以发送任意多个字节。

6、通信完成后主机发送停止信号释放总线


三、I2C总线信号的实现

1、起始信号和停止信号

SCL为高电平时,SDA由高变低表示为起始信号。

SCL为高电平时,SDA由低变高表示为停止信号。

起始信号和停止信号都是由主机发出,起始信号产生后总线处于占用状态,其他主机就不能用了,停止信号产生后总线处空闲状态。


2、字节传送和应答

I2C总线通信时每个字节为8位,数据传送时,先发送最高位,后传送低位,如0xAA(10101010),先发送1。发送器发送完一个字节数据后接收器必须发送1位应答位来回应发送器,即一帧共有9位,如图所示:

相关文章
|
存储 网络协议 C语言
一文带你秒懂 字节序(byte order),比特序(bit order),位域(bit field)
一文带你秒懂 字节序(byte order),比特序(bit order),位域(bit field)
1401 0
|
存储 缓存 安全
认识SMMU以及理理SMMU与TrustZone的联系?
认识SMMU以及理理SMMU与TrustZone的联系?
565 0
|
人工智能 负载均衡 数据可视化
10分钟上手全球开源模型冠军 Qwen3
阿里通义千问Qwen3在最新全球AI基准测试中智能水平位列全球前五,开源第一,且成本优势显著,推理成本仅为DeepSeek-R1的1/3、Claude 3.7的1/20。Qwen3支持119种语言,具备强大的代码和数学能力,同时提供思考与非思考两种模式无缝切换,适合复杂与简单任务。通过阿里云百炼平台,用户可在10分钟内快速搭建Qwen3模型服务,结合Cherry Studio客户端实现便捷交互。本文详细介绍了Qwen3的部署、体验及工具调用能力,帮助用户轻松上手。
|
6月前
|
负载均衡 Java Nacos
Spring Cloud五大组件
Spring Cloud五大组件
|
关系型数据库 MySQL 数据库
rds安装数据库客户端工具
安装阿里云RDS的数据库客户端涉及在本地安装对应类型(如MySQL、PostgreSQL)的客户端工具。对于MySQL,可选择MySQL Command-Line Client或图形化工具如Navicat,安装后输入RDS实例的连接参数进行连接。对于PostgreSQL,可以使用`psql`命令行工具或图形化客户端如PgAdmin。首先从阿里云控制台获取连接信息,然后按照官方文档安装客户端,最后配置客户端连接以确保遵循安全指引。
646 1
|
IDE 开发工具
【CAN总线】手把手教你学习CAN总线(一)
【CAN总线】手把手教你学习CAN总线(一)
|
11月前
|
存储
字符编码发展史5 — UTF-16和UTF-32
【10月更文挑战第7天】UTF-16 和 UTF-32 是两种重要的 Unicode 编码方式。UTF-16 使用 16 位或 32 位编码单元,对基本平面字符高效表示,尤其适合亚洲语言,但处理辅助平面字符较复杂。UTF-32 固定使用 32 位编码单元,编码简单高效,但占用空间大,适用于特定领域和系统。
316 1
|
网络协议 安全 网络安全
图解OSI七层模型,2024最强科普!
【7月更文挑战第20天】
2677 2
图解OSI七层模型,2024最强科普!
|
11月前
|
C语言
初识C语言:与计算机的交流之输入与输出(scanf和printf)
初识C语言:与计算机的交流之输入与输出(scanf和printf)
466 0