IIC协议——同步半双工串行通信方式

这篇具有很好参考价值的文章主要介绍了IIC协议——同步半双工串行通信方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

2023.4.22


一、简要介绍

IICInter-Integrated Circuit,集成电路总线

  • 半双工协议
  • 多主设备,多从设备。通过地址索引,I2C可以使能所需从设备
  • 实现不同集成电路组件之间的控制功能

1、优点

  • 接口减少,控制简单,只需要两条总线
  • 通信速率高
  • 多主控,但任意时刻只有一个主控有效。最大主设备——无限制,最大从设备——127个

2、缺点

二、信号线和连接方式

1、信号线

需要连接上拉电阻,空闲时保持高电平
IIC协议——同步半双工串行通信方式

SDA(Serial Data) :串行数据线,用来传输数据信号。
SCL(Serial Clock):串行时钟线,用来传输时钟信号,一般是主设备向从设备提供。

2、连接方式

2.1 单主设备,单从设备

IIC协议——同步半双工串行通信方式

2.2 单主设备,多从设备

IIC协议——同步半双工串行通信方式

2.3 多主设备,多从设备

IIC协议——同步半双工串行通信方式

三、数据传输格式

主设备按照从高到低的顺序,依次发送地址位,从设备进行接收,通常情况下,地址位为7bit,读写选择为1bit。每个从设备有且只有一个唯一的地址编号。读写控制写为0,读为1

为了确保采样时信号稳定,对于主设备,我们在下降沿的时候将信号放在SDA上,对于从设备,我们在上升沿的时候进行采样。

IIC协议——同步半双工串行通信方式

空闲位:空闲时,SCK和SDA均为高电平

起始位:在SCL为1时,拉低SDA,开始数据传输,SCL开始翻转(下降沿检测)

应答位:正确接收从设备拉低信号SDA;未正确接收SDA依旧为高电平

IIC协议——同步半双工串行通信方式

IIC协议——同步半双工串行通信方式

数据位:每一次默认传输一个字节(即8bit),每个字节的传输都需要跟一个应答位(ACK/NACK)

IIC协议——同步半双工串行通信方式

停止位:SCL先拉高,随后SDA先为低后拉高(上升沿检测)

IIC协议——同步半双工串行通信方式

1、数据传输过程

起始位 + 7位地址 + 1位读写控制 + slave响应 + 8位数据 + 响应 + 8位数据 + 响应 + 停止位 (加粗部分为slave控制总线)

IIC协议——同步半双工串行通信方式

四、IIC配置

1、传输模式

  • 标准模式(Standard):100kbps
  • 快速模式(Fast):400kbps
  • 快速模式+(Fast-Plus):1Mbps
  • 高速模式(High-speed):3.4Mbps
  • 超快模式(Ultra-Fast):5Mbps(单向传输)

2、地址位宽

10位地址的从设备,和7位地址的从设备,都可以挂在一个总线上,彼此相互兼容

  • 标准I2C:七位寻址
  • 扩展I2C:十位寻址

3、仲裁机制

3.1 SCL同步问题

总线自带线与逻辑,任意一个拉低,总线表现为低电平,全部位高电平时,总线才是高电平。

假设有两个主设备都想拉低SCL信号,Master1先拉低 ,Master2后拉低,那么SCL会按照CLK1的时间来拉低自身(线与逻辑的应用),而假如Master1先拉高,Master2后拉高,SCL又会按照CLK2的时间来拉高自身。

当多个节点同时发送时钟信号时,在总线上表现的是统一的时钟信号
IIC协议——同步半双工串行通信方式

3.2 SDA仲裁问题

每个主设备都需要在发送消息之前检测SDA线是低电平还是高电平。

  • 如果SDA线为低电平,则意味着另一个主设备可以控制总线,并且主设备应等待发送消息
  • 如果SDA线为高电平,则可以安全地发送消息

五、UART、SPI、IIC协议比较

低速通用协议接口文章来源地址https://www.toymoban.com/news/detail-421896.html

数据流向 信号线 通信类型 选通方式 主从设备
UART 单工/半双工/全双工 1/2条 异步 单主设备、单从设备
SPI 全双工 4条 同步 片选信号NSS 单主设备、多从设备
IIC 半双工 2条 同步 地址索引 多主设备,多从设备

到了这里,关于IIC协议——同步半双工串行通信方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 全双工通信协议:WebSockets+STOMP

    WebSocket 协议定义了两种类型的消息(文本和二进制),但是它们的内容是未定义的。 STOMP (Streaming Text Oriented Messaging Protocol)是一种简单的、基于文本的消息传递协议,提供了一组命令和消息格式,用于在客户端和服务端之间发送和接收消息。客户端可以通过连接到消息代理(

    2024年02月20日
    浏览(44)
  • 串行&并行 同步&异步通信

    终端与其他设备(例如其他终端、计算机和外部设备)通过数据传输进行通信。数据传输可以通过两种方式进行: 并行通信和串行通信。 是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息

    2023年04月20日
    浏览(53)
  • 串行通信协议---HART协议

    实际应用中,HART协议是仅次于Modbus协议的最接近统一现场总线的标准,主要是在4~20mA电流信号上面叠加数字信号,物理层采用Bell 202标准的FSK技术成功实现模拟信号和数字信号双向同时通信而互不干扰。HART协议规定了传输的物理形式、消息结构、数据结构和一系列操作指令,

    2024年02月07日
    浏览(48)
  • WebSocket | 基于TCP的全双工通信网络协议

    ​🍃作者介绍:双非本科大三网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应用开发、数据结构和算法,初步涉猎Python人工智能开发和前端开发。 🦅主页:@逐梦苍穹 📕所属专栏:Java EE ✈ 您的一键三连,是我创作的最大动力🌹 WebSocket 是基于 TCP 的一

    2024年02月19日
    浏览(77)
  • 串行通信 - Modbus协议

    Modbus协议采用的是主-从通信模式。 Modbus协议主要有Modbus RTU、Modbus ASCII和Modbus TCP三种。前两者均支持RS-485总线协议。其中RTU采用二进制数据表达形式、数据结构紧凑,通信效率高,应用广泛。 Modbus的三种传输模式 ASCII 模式:数据中每8bit的字节作为一个ASCII码发送。字符发送

    2024年02月09日
    浏览(52)
  • 详解通信协议之IIC通信协议

    本文结合AT24C02对IIC通信协议原理进行了描述。 IIC通讯协议(Inter-Integrated Circuit)是由 Philips 公司开发双向同步半双工串行总线,只需要两根线(SDA、SCL)即可在连接于总线上的器件之间传送信息。IIC总线是一种共享的串行总线,是用于两个设备之间的短距离低速速率(250K左右)通

    2024年02月08日
    浏览(38)
  • 介绍串行和并行两种通信方式

    参考文章: 串行和并行- CSDN搜索 并行传输和串行传输的区别_金陵大掌柜的博客-CSDN博客 (1)串行和并行是计算机领域中两个重要的概念。串行是指在计算机中,任务按照顺序一个一个执行,每个任务执行完后才能执行下一个任务。而并行是指多个任务同时进行,即多个任务

    2024年02月09日
    浏览(37)
  • 通信协议之IIC 最详细解读!!

    任意两个设备之间都可以进行通信,但 同一时刻只能有两个设备之间通信 ,且数据只能单向传输(半双工) I2C规定将发起通信的设备称为主设备,主设备发起一次通信后,其它设备均为从设备。主设备需要向从设备产生并发送时钟信号。 写操作流程: 主芯片要发出一个s

    2024年02月08日
    浏览(46)
  • 串行通信协议(I2C、SPI、UART、SCCB、CAN)

    推荐一部书,在这本书里面介绍了I2C、SPI、UART和CAN等通信协议,写的蛮不错的。 串行通信 :设备与设备之间,传输数据按顺序依次1bit位接1bit位进行传输。 并行通信 :设备与设备之间,通过多条传输线,可以同时传输多个bit位的信号。 1.简单的双向两线制总线协议标准、半

    2024年02月14日
    浏览(65)
  • IIC通信协议,搞懂这篇就够了

    注:公众号后台发送 “ IIC ” 即可获取基于STM32上实现软件模拟IIC的完整代码。 I2C( IIC )属于两线式串行总线,由飞利浦公司开发用于微控制器(MCU)和外围设备(从设备)进行通信的一种总线,属于 一主多从(一个主设备(Master),多个从设备(Slave))的总线结构 , 总线上的每个设备

    2024年02月06日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包