简述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)
1567 0
|
关系型数据库 MySQL 数据库
rds安装数据库客户端工具
安装阿里云RDS的数据库客户端涉及在本地安装对应类型(如MySQL、PostgreSQL)的客户端工具。对于MySQL,可选择MySQL Command-Line Client或图形化工具如Navicat,安装后输入RDS实例的连接参数进行连接。对于PostgreSQL,可以使用`psql`命令行工具或图形化客户端如PgAdmin。首先从阿里云控制台获取连接信息,然后按照官方文档安装客户端,最后配置客户端连接以确保遵循安全指引。
723 1
|
人工智能 负载均衡 数据可视化
10分钟上手全球开源模型冠军 Qwen3
阿里通义千问Qwen3在最新全球AI基准测试中智能水平位列全球前五,开源第一,且成本优势显著,推理成本仅为DeepSeek-R1的1/3、Claude 3.7的1/20。Qwen3支持119种语言,具备强大的代码和数学能力,同时提供思考与非思考两种模式无缝切换,适合复杂与简单任务。通过阿里云百炼平台,用户可在10分钟内快速搭建Qwen3模型服务,结合Cherry Studio客户端实现便捷交互。本文详细介绍了Qwen3的部署、体验及工具调用能力,帮助用户轻松上手。
|
9月前
|
负载均衡 Java Nacos
Spring Cloud五大组件
Spring Cloud五大组件
|
运维 监控 安全
运维技术——从基础到高阶的全面解析
本文是一篇技术性文章,主要探讨了运维技术。运维不仅仅是保持系统的稳定运行,更包括优化、预防故障和应对突发事件的能力。本文将从运维的基本概念入手,逐步深入到高阶技术和策略,为读者提供一个全面的运维知识体系。希望通过这篇文章,读者能够更好地理解和应用运维技术,提升自己的运维能力。
|
IDE 开发工具
【CAN总线】手把手教你学习CAN总线(一)
【CAN总线】手把手教你学习CAN总线(一)
|
存储 网络协议 Linux
GIGE 协议摘录 —— 设备发现(一)
GIGE 协议摘录 —— 设备发现(一)
976 3
|
JavaScript
Vue2走马灯扩展版(Carousel)
这篇文章介绍了如何在Vue 3框架中创建一个可自定义的走马灯(Carousel)组件,支持自动播放、导航、分页和响应用户交互等功能。
635 0
Vue2走马灯扩展版(Carousel)
|
人工智能 机器人 API
人工智能|ChatGPT 的 API 使用
ChatGPT 不仅仅只是具备一个聊天机器人的功能。在其开放了 api 之后,就可以将 GPT 模型强大的能力轻松的通过 API 调用的方式使用。在掌握 ChatGPT api 的基础使用的同时,也可以为后续学习 LangChain 打下重要的基础。