0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是I2C总线 I2C总线开发设计需要注意点

h1654155971.8456 来源:大年君爱好电子 作者:大年君爱好电子 2021-11-01 10:39 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、前言

I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。

二、I2C总线开发设计需要注意点

1、总线容量及驱动能力

I2C总线的外围扩展器件都是CMOS器件,总线有足够的电流驱动能力,因此总线上扩展的节点数不由电流负载能力决定,而由电容负载确定。

总线上每个实际节点器件的总线接口都有一定的等效电容,等效电容的存在会造成总线传输的延迟,导致数据传输出错。

通常总线负载能力为400pF,通常各个I2C器件都会有它自己的电容值,一般为不大于20pF,据此可计算出总线长度及节点数目的限制数量。总线上的每个外围器件都有一个器件地址,因此总线上扩展外围器件时也要受器件地址限制。

2、I2C总线的电气结构

I2C总线为双向同步串行总线,因此I2C总线接口内部为双向传输电路,如图。所示。总线端口输出为开漏结构,故总线上必须有上拉电阻,上拉电阻与电源电压、SDA、SCL以及总线串接电阻有关,可参考有关数据手册进行选择,通常可选4.7K到10K。

a2623bdc-3a24-11ec-82a9-dac502259ad0.png

3、每个节点都有一个固定的节点地址。

I2C总线为双向同步串行总线,因此总线上的单片机都可以成为主节点,其器件地址由软件给定,存放在总线的地址寄存器件中,称为主器件的从地址。在总线的多主系统中,单片机作为从节点时,其从地址才有意义,所以总线上所有的外围器件都有规范的器件地址。

4、I2C总线时序

I2C总线上数据传递时,总线上传送的每一帧数据均为一个字节。但启动总线后,传送的字节数没有限制,只要求每传送一个字节后,对方回应一个应答位。在发送时,首先发送的是数据的最高位。每次传送开始有起始信号,结束时有停止信号。在总线传送完一个字节后,可以通过对时钟线的控制使传送暂停。

①时钟和数据发送:

SDA引脚通常使用外部设备拉高。SDA引脚上的数据只能在SCL为低电平时进行更改,SCL为高电平时数据更改将指示开始或停止条件。如图所示。

a28bb048-3a24-11ec-82a9-dac502259ad0.png

②起止条件:

SDA由高到低且SCL为高是启动条件,必须先于任何其他命令。SDA由低到高且SCL为高是停止条件,在一个读序列后,停止命令会使EEPROM进入待机模式。如图所示。

a2bf3a12-3a24-11ec-82a9-dac502259ad0.png

③应答:

所有地址和数据字均以8bit字连续传输到EEPROM,EEPROM发送一个“0”来应答,以确认它已收到每个字。应答发生在第九个时钟周期如图所示。

a30d01d4-3a24-11ec-82a9-dac502259ad0.png

三、设计实例

我们对于AT24C256肯定不会陌生,这是ATMEL公司256kbit串行电可擦的可编程只读存储器,8引脚双排直插式封装,具有结构紧凑、存储容量大等特点,可以在2线总线上并接4片该IC,特别适用于具有高容量数据储存要求的数据采集系统。

a31ccb00-3a24-11ec-82a9-dac502259ad0.png

EEPROM存储器设备既可以接收又可以发送数据。每个挂接在总线上的器件都有唯一一个地址识别。

主机访问EEPROM时,主机在向EEPROM发送完控制字节和地址信息后,紧接着向EEPROM存储器发送起始条件和控制信号并发送读标志位信号,切换数据的收发方向。接着在收到EEPROM的响应信号后便可以读出需要的数据了。

四、总结

通过以上实例,我们可以知道I2C优点主要表现在:

1、简化了硬件电路。在这种总线中只需要两根线,即串行数据线(SDA)和串行的时钟线(SCL)。

2、每个挂在总线上的I2C器件都有一个唯一的地址,并可以通过软件寻址。

3、因为在总线上可能有多个主I2C器件,因此I2C总线接口协议中有冲突监测和仲裁机制,以防止通信中的数据丢失或发生错误。

4、这种串行的两线双向的总线在标准模式下的速率为100kbit/s,在快速模式下的速率为400kbit/s,在高速模式下为3.4Mbit/s。

5、I2C器件中有滤波抗扰措施来保证数据的完整性。

6、在总线上挂接的器件数目是有限的,即总线上的容抗不能超过400pF。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    39

    文章

    7753

    浏览量

    172164
  • 传输电路
    +关注

    关注

    0

    文章

    10

    浏览量

    10900
  • I2C总线
    +关注

    关注

    8

    文章

    422

    浏览量

    63488
  • SDA
    SDA
    +关注

    关注

    0

    文章

    125

    浏览量

    29742

原文标题:什么是I2C总线,它有着哪些特点,设计时需要哪些细节呢?

文章出处:【微信号:eda365wx,微信公众号:EDA365电子论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    SGM4541 I2C总线过压保护器:设计与应用的详细解析

    SGM4541 I2C总线过压保护器:设计与应用的详细解析 在如今的电子设备设计中,保护电路免受过电压的损害是至关重要的。SG Micro Corp推出的SGM4541 I2C总线过压
    的头像 发表于 03-17 16:30 365次阅读

    SGM4541A:I2C总线过压保护的理想之选

    SGM4541A:I2C总线过压保护的理想之选 在电子设备的设计中,I2C总线的稳定运行至关重要。而SGM4541A作为一款低IQ I2C
    的头像 发表于 03-17 16:30 204次阅读

    PCA9545A/45B/45C:4通道I2C总线开关的深度解析

    /45B/45C 4通道I2C总线开关,了解它的特性、功能以及在实际应用中的注意事项。 文件下载: PCA9545AD,118.pdf 一、产品概述 PCA9545A/45B/45
    的头像 发表于 02-10 11:50 919次阅读

    RK平台I2C开发:从硬件原理到实战排查

    在嵌入式开发中,I2C 总线是连接外设的 “桥梁”—— 小到传感器、EEPROM,大到 LCD 驱动器、音频芯片,都离不开它的控制。而瑞芯微(Rockchip)系列芯片作为主流嵌入式方案,其
    的头像 发表于 02-05 13:42 2321次阅读
    RK平台<b class='flag-5'>I2C</b><b class='flag-5'>开发</b>:从硬件原理到实战排查

    I2C总线-通信线缆长度的影响及改进措施

    I2C总线确实不适合远距离通信,尤其是需要使用线缆与I2C接口器件进行通信,这里的“不适合”并不是说不可以,这也是本文的重点。一般使用I2C
    发表于 01-21 06:03

    探索PCF8584:I2C总线控制器的卓越之选

    探索PCF8584:I2C总线控制器的卓越之选 在电子工程师的日常工作中,选择合适的芯片来实现特定功能至关重要。今天,我们就来深入探讨一款功能强大的I2C总线控制器——PCF8584,
    的头像 发表于 12-28 15:40 745次阅读

    P82B715:I2C总线扩展的得力助手

    P82B715:I2C总线扩展的得力助手 在电子设计领域,I2C总线是一种常用的通信协议,但它的总线电容限制往往会影响实际通信距离和系统设计
    的头像 发表于 12-26 10:20 1423次阅读

    基于FPGA的I2C控制模块设计

    I2C_WRITE_WDATA.v模块实现I2C写时序,I2C_Controller (I2C控制器)例化了I2C_WRITE_WDATA.
    的头像 发表于 12-26 09:48 5873次阅读
    基于FPGA的<b class='flag-5'>I2C</b>控制模块设计

    深入解析TCA9617B:I2C总线中继器的卓越之选

    深入解析TCA9617B:I2C总线中继器的卓越之选 在电子工程师的日常设计工作中,I2C总线和SMBus系统的应用极为广泛。而TCA9617B作为一款BiCMOS双双向缓冲器,专为
    的头像 发表于 12-22 15:20 624次阅读

    AS32X601的I2C模块操作EEPROM详解

    国科安芯推出的AS32X601系列MCU芯片内置的I2C模块提供了符合工业标准的两线串行制接口,可用于MCU和外部I2C设备的通讯。I2C总线使用两条串行线:串行数据线SDA和串行时钟
    的头像 发表于 12-21 21:39 1557次阅读
    AS32X601的<b class='flag-5'>I2C</b>模块操作EEPROM详解

    TCA39306双向I2C总线和SMBus电压电平转换器技术解析

    TCA39306双向I2C总线和SMBus电压电平转换器技术解析 在电子设计领域,电压电平转换是一个常见且关键的问题,特别是在涉及不同电压标准的总线通信时。TCA39306作为一款双路双向电压
    的头像 发表于 12-17 10:00 525次阅读

    I2C总线协议

    I2C 总线使用两根信号线(数据线 SDA 和时钟线 SCL)在设备间传输数据。SCL 为单向时钟线,固定由主机驱动。SDA 为双向数据线,在数据传输过程中由收发两端分时驱动。 I2C 总线
    发表于 12-15 08:07

    I2C死锁的问题

    的应答,将SDA一直拉为低电平,直到SCL变为低电平,才会结束应答信号。 而对于I2C主设备来说,复位后检测SCL和SDA信号,如果发现SDA信号为低电平,则会认为I2C总线被占用,会一直等待SCL
    发表于 12-04 06:00

    深入剖析I2C协议

    I2C是由Philips开发的简单的双向两线总线,在深入浅出理解SPI协议中,我们区分了单工,半双工,全双工协议数据流向的区别,根据特征,I2C协议属于半双工协议(即同一时刻,数据单向
    的头像 发表于 08-21 15:10 3867次阅读
    深入剖析<b class='flag-5'>I2C</b>协议

    I2C总线通信,为什么要进行电气隔离?

    I2C总线采用双向二线制,支持多主机多从机通信,具备高可靠性、抗干扰能力强,广泛应用于嵌入式系统中。
    的头像 发表于 08-11 11:04 2654次阅读
    <b class='flag-5'>I2C</b><b class='flag-5'>总线</b>通信,为什么要进行电气隔离?