I2C电路设计

本文详细介绍了I2C总线的硬件设计,包括I2C的基本概念、硬件连接、多设备连接方式、器件内部结构以及I2C协议的特点。重点讲述了I2C的上拉电阻选取原则,器件地址的设定,以及开始信号、结束信号和应答信号的定义。还以AT24C02为例,讲解了IIC协议器件的硬件设计注意事项。

I2C协议已经用了很多了,但是呢,在硬件设计方面,基本也是只会抄抄电路,并没有理解其中的原理和细节。这一章我们具体要说说需要怎么设计I2C电路。

1. 什么是I2C?

I2C Bus(Inter-Integrated Circuit Bus) 最早是由Philips半导体(现被NXP收购)开发的两线时串行总线,常用于微控制器与外设之间的连接。这里要注意IIC是为了与低速设备通信而发明的,所以IIC的传输速率比不上SPI

1.1 硬件连接

I2C仅需两根线就可以支持一主多从或者多主连接,I2C使用两个双向开漏线,配合上拉电阻进行连接,关于上拉电阻阻值大小有最大值和最小值的限制,具体计算请参考: IIC上拉电阻的计算. I2C由于内部是OD门,所以一定需要上拉电阻!!!
上拉电阻的经验值为:

  • 通信速率小于10K时, 上拉电阻选10K
  • 通信速率在10K~400K时,上拉电阻选4.7K
  • 通信速率大于400K时,上拉电阻选2.2K

1.2 多I2C器件硬件连接

如下图所示, 多器件相连接时, 只需要将对应的SCL和SDA相连接就可以了, 那么主设备时怎么和从设备进行通信的呢?每个I2C器件都有器件地址选择单元, 可以通过设置每个器件的器件地址来和相应的设备通信。
在这里插入图片描述

1.3 I2C器件内部结构

漏极开路(Open Drain)即高阻状态,适用于输入/输出,其可独立输入/输出低电平和高阻状态,若需要产生高电平,则需使用外部上拉电阻

高阻状态:高阻状态是三态门电路的一种状态。逻辑门的输出除有高、低电平两种状态外,还有第三种状态——高阻状态的门电路。电路分析时高阻态可做开路理解。

我们知道IIC的所有设备是接在一根总线上的,那么我们进行通信的时候往往只是几个设备进行通信,那么这时候其余的空闲设备可能会受到总线干扰,或者干扰到总线,怎么办呢?

为了避免总线信号的混乱,IIC的空闲状态只能有外部上拉, 而此时空闲设备被拉到了高阻态,也就是相当于断路, 整个IIC总线只有开启了的设备才会正常进行通信,而不会干扰到其他设备。
在这里插入图片描述
IIC器件地址: 每一个IIC器件都有一个器件地址,有的器件地址在出厂时地址就设定好了,用户不可以更改,比如OV7670的地址为0x42。有的器件例如EEPROM,前四个地址已经确定为1010,后三个地址是由硬件链接确定的,所以一IIC总线最多能连8个EEPROM芯片。

1.4 I2C协议层

I2C 总线在传送数据过程中共有三种类型信号, 它们分别是:开始信号、结束信号和应答信号。

  • 开始信号: SCL 为高电平时,SDA 由高电平向低电平跳变,开始传送数据。
  • 结束信号: SCL 为高电平时,SDA 由低电平向高电平跳变,结束传送数据。
  • 应答信号: 接收数据的 IC 在接收到 8bit 数据后,向发送数据的 IC 发出特定的低电平脉冲,表示已收到数据。CPU 向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU 接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。

这些信号中,起始信号是必需的,结束信号和应答信号,都可以不要。
在这里插入图片描述

这章以硬件设计为主,软件协议简单带过

1.5 I2C协议特点

IIC主要特点:
通常我们为了方便把IIC设备分为主设备和从设备,基本上谁控制时钟线(即控制SCL的电平高低变换)谁就是主设备。

  • IIC主设备功能:主要产生时钟,产生起始信号和停止信号
  • IIC从设备功能:可编程的IIC地址检测,停止位检测
  • IIC的一个优点是它支持多主控(multimastering), 其中任何一个能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。当然,在任何时间点上只能有一个主控。
  • 支持不同速率的通讯速度,标准速度(最高速度100kHZ),快速(最高400kHZ)
  • SCL和SDA都需要接上拉电阻 (大小由速度和容性负载决定一般在3.3K-10K之间) 保证数据的稳定性,减少干扰。
  • IIC是半双工,而不是全双工 ,同一时间只可以单向通信
  • 为了避免总线信号的混乱,要求各设备连接到总线的输出端时必须是漏极开路(OD)输出或集电极开路(OC)输出。这一点在等下我们会讲解

2. AT24C02硬件设计

AT24C0X是常见的IIC协议器件,成本低,大部分板卡都会带。这个外设也比较简单, 需要注意的是,A0 A1 A2管脚用来设置器件地址, 器件地址由这三位构成一个8进制数,所以最多能带8个AT24C0X器件,,而7管脚WP使用来写保护的, 将这个管脚拉低,是关闭写保护,这个器件通信速率不是很高,所以这里只需要接4.7K的上拉电阻就可以了。
在这里插入图片描述

参考资料

<think>首先,用户的问题是基于之前的对话。我需要回顾之前的交互。用户引用了几个引用,主要涉及IIC的原理和应用。但现在用户直接问:“我想查找IIC电路设计的原理图 请问IIC电路设计原理图”。 从之前的引用中: - 引用[1]提到一个基础的IIC电路图,如图1所示。 - 引用[2]描述了一个具体的应用,使用S3C2440和DS1621,原理图如图2所示。 - 引用[3]是关于IIC原理的讲解。 - 引用[4]是关于IIC隔离电路。 用户明确说:“上述引用仅供参考,并不是用户真正的需求,请尽可能多的参考用户上一次的问题和你的回答。” 所以,我需要专注于用户当前的问题:查找IIC电路设计的原理图。 用户的上一次问题是关于IIC电路设计的原理图。系统指令要求使用中文回答,结构清晰,逐步解决问题。 我的回答应该: 1. 结构清晰:帮助用户逐步理解如何找到或构建IIC电路原理图。 2. 使用中文:所有文本用中文。 3. LaTeX语法:行内数学表达式用$...$,独立公式用$$...$$并单独成段。但在回答原理图问题时,可能不需要数学公式,除非涉及计算。 4. 生成相关问题:在末尾添加相关问题。 5. 引用:如果在回答中引用内容,末尾添加引用标识。 现在,内容方面:用户问的是IIC电路设计的原理图。IIC(I²C)是一个串行通信协议,使用两根线:SDA(数据线)和SCL(时钟线)。原理图通常包括: - 主设备和从设备。 - 上拉电阻:因为IIC是开漏输出,需要上拉电阻来确保信号水平。 - 地址引脚:用于从设备选择。 - 可能的隔离电路,如引用[4]提到的。 从引用中: - 引用[1]说:“下图是IIC一个最基础的一个电路图,如下图1所示”,但没有提供实际图。所以,我应该描述或解释基础原理图。 - 引用[2]描述了一个具体设计:“电路的原理图设计如图2所示”,也没有提供图。用户可能需要一般性的描述。 由于这是一个文本响应,我不能提供图像,但可以描述基本组件。 结构化回答: 1. **介绍IIC原理图的基本元素**:基于引用,解释SDA、SCL、上拉电阻等。 2. **描述一个基础原理图**:例如,主控制器连接多个从设备,每个设备有地址选择。 3. **参考具体例子**:如引用[2]中的S3C2440和DS1621。 4. **提供一般原则**:如何设计原理图,包括上拉电阻的计算等。 5. **考虑到隔离**:引用[4]提到隔离器NSI8100NQ。 最后,生成相关问题。 确保回答真实可靠:IIC原理图是标准知识,我可以基于常识描述。 输出格式: - 回答主体。 - 然后“§§相关问题§§”。 - 列出相关问题。 用中文写。 </think>### IIC电路设计原理图详解 IIC(Inter-Integrated Circuit)总线是一种广泛使用的串行通信协议,专为低速芯片间通信设计,典型速度包括100kb/s、400kb/s和3.4Mb/s。其原理图设计基于两根信号线:SDA(数据线)用于数据传输,SCL(时钟线)用于同步时钟信号。所有设备共享同一个总线,采用开漏输出结构,因此原理图中必须包含上拉电阻来确保信号电平稳定。以下是IIC电路设计原理图的逐步分解,基于标准设计原则和引用中的实例(如DS1621传感器和S3C2440微控制器)。 #### 1. **IIC原理图的基本元素** - **核心信号线**: - SDA(Serial Data Line):负责双向数据传输。 - SCL(Serial Clock Line):由主设备控制,同步数据交换。 - 由于开漏输出特性,两根线均需连接上拉电阻(通常值在2.2kΩ–10kΩ之间),以确保在没有设备驱动时线路保持高电平($V_{CC}$)。具体电阻值由供电电压和总线电容计算,公式为: $$ R_{pullup} = \frac{V_{CC} - V_{OL}}{I_{OL}} $$ 其中$V_{OL}$是低电平电压(通常0.4V),$I_{OL}$是驱动电流(参考设备规格)。 - **设备连接**:所有设备(主设备和从设备)直接并联到SDA和SCL线上,形成多主或多从结构。每个从设备有唯一地址,可通过地址引脚(如A0、A1、A2)设置。 - **电源部分**:原理图需包含$V_{CC}$电源(通常3.3V或5V)和地线(GND)。 - 基础原理图示意图(基于引用[1]描述): - 主设备(如微控制器)输出SCL,并读写SDA。 - 从设备(如存储器或传感器)响应地址匹配。 - 上拉电阻连接SDA和SCL到$V_{CC}$。 #### 2. **典型IIC原理图设计实例** 引用[2]提供了一个具体案例:主设备采用S3C2440微控制器,从设备为两个DS1621温度传感器。原理图设计要点如下: - **主设备接口**:S3C2440的SDA和SCL引脚直接连接到总线。作为主控制器,它生成时钟信号并控制数据传输。 - **从设备配置**: - DS1621具有IIC接口,其从机地址由A2、A1、A0引脚(引脚5、6、7)的电平组合决定。例如: - A2A1A0=000时,地址为$0x48$(十六进制)。 - 地址计算基于IIC标准:$ \text{地址} = \text{固定位} + \text{A2A1A0值} $。 - 每个DS1621的SDA和SCL并联到总线,并通过上拉电阻(典型值4.7kΩ)连接$V_{CC}$。 - **原理图示例简化图**: ``` +-----------------+ +-----------------+ | S3C2440 | | DS1621 (1) | | (主设备) | | (从设备,地址A) | | SDA ------------>>------->> SDA | | SCL ------------>>------->> SCL | +-----------------+ | A0,A1,A2=GND/VCC| +-----------------+ | +-----------------+ | 上拉电阻 (e.g., 4.7kΩ) | DS1621 (2) | | 连接到VCC (3.3V/5V) | (从设备,地址B) | | | SDA ------------>>---------------+ | SCL ------------>>---------------+ | A0,A1,A2=配置值| +-----------------+ ``` 此设计支持多设备通信,通过地址引脚避免冲突[^2]。 #### 3. **隔离型IIC原理图设计(可选)** 对于高噪声环境(如工业应用),原理图可加入电气隔离。引用[4]提到使用NSI8100NQ隔离器芯片: - **隔离电路集成**:在SDA和SCL线上串入NSI8100NQ,实现高达5kVrms的隔离电压。 - **原理图关键点**: - 主侧和从侧使用独立电源($V_{CC1}$和$V_{CC2}$)。 - 隔离器前/后均需上拉电阻,以适应不同速度模式(100kHz或400kHz)。 - 简化结构: ``` +------------+ +---------------+ +------------+ | 主设备 | | NSI8100NQ | | 从设备 | | SDA >>----->> SDA1 | 隔离器 | SDA2 >>----->> SDA | | SCL >>----->> SCL1 | (电容隔离) | SCL2 >>----->> SCL | +------------+ +---------------+ +------------+ | 上拉电阻到VCC1 | 上拉电阻到VCC2 ``` 这确保信号完整性,同时满足安全标准[^4]。 #### 4. **设计原则和注意事项** - **上拉电阻选择**:电阻值需根据总线电容调整。总线电容$C_{bus}$较大时,电阻需减小以避免信号延迟。公式参考: $$ t_r = 0.8473 \times R_{pullup} \times C_{bus} $$ 其中$t_r$是上升时间,应小于SCL周期的1/10。 - **地址冲突避免**:每个从设备的地址引脚必须唯一设置(例如,通过接地或接$V_{CC}$)。 - **PCB布局建议**:保持SDA和SCL线短且平行,减少干扰。 - **工具支持**:设计原理图时,可使用EDA软件(如KiCad或Altium)导入标准IIC库组件。 总之,IIC原理图设计核心是简化连接(两根共享线)和确保稳定性(上拉电阻)。实际项目中,可参考芯片数据手册(如DS1621或S3C2440)获取详细引脚图。如果您有具体应用场景(如温度监控),我可以进一步细化设计。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

零涂

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值