I2C总线接口电路设计

合集下载

I2C总线接口详解

I2C总线接口详解

应用领域拓展
智能家居
i2c总线接口在智能家居领域的应用不断拓展,如智能照明、智 能安防等。
工业控制
i2c总线接口在工业控制领域的应用也越来越广泛,如传感器数 据采集、电机控制等。
医疗设备
随着医疗技术的进步,i2c总线接口在医疗设备领域的应用也在 逐步增加,如医疗监测设备、医疗机器人等。
未来展望
标准化
i2c总线接口详解
• i2c总线接口概述 • i2c总线接口工作原理 • i2c总线接口硬件设计 • i2c总线接口软件编程 • i2c总线接口常见问题及解决方案 • i2c总线接口发展趋势与展望
01
i2c总线接口概述
i2c总线接口定义
I2C总线是一种串行总线,用于连接微控制器和各种外围设 备。它由两条线组成:一条是数据线(SDA),另一条是 时钟线(SCL)。
I2C总线允许多个主设备 同时工作,提高了系统
的灵活性。
I2C总线具有强大的寻址 能力,可以连接多个外
围设备。
i2c总线接口应用场景
传感器接口
I2C总线可以方便地连接各种传 感器,如温度传感器、光传感 器等。
存储器接口
I2C总线可以连接各种类型的存 储器,如EEPROM、RAM等。
实时时钟
I2C总线的实时时钟(RTC)外 围设备可以用于提供系统时间。
根据设备地址的寻址方式,选择合适的寻址模式, 以实现正确的设备寻址。
寻址操作
发送设备地址
在开始数据传输之前,主设备需要发送目标设备的地址,以标识 要与之通信的设备。
接收应答信号
主设备发送地址后,等待从设备返回的应答信号,以确认从设备已 准备好进行数据传输。
发送操作指令
主设备根据需要发送相应的操作指令,如读或写,以指示接下来的 数据传输方向。

I2C设计(Master)

I2C设计(Master)

D[7..0]
Output Data Register Input Address Register
Outtput Shifter register
SDA Control
SDO SDA SDI
A[6..0]
Input Shifter register CLK Generator
State Control Machine SCL
读SDI数据线, 接收八个数据 信号D[7..0] Ack=‘0’
Ack=‘1’
发送7位地址数据 和一位R/W到SDO。
读SDI数据线ACK 信号,
4、控制状态器分析及波形分析 我们可以把控制器的状态定义为以下几个状态: A:idle 操作: SCL=‘1’ SDO=‘1’ B:start 操作:SCL=‘1’ SDO=‘1’ ‘0’ C:SEND ADDRESS 操作: 在SCL的控制下, SDA=‘A6’,‘A5’ 。。‘A0’ D:SEND ‘R/W’ bit 操作: 在SCL的控制下, SDA=‘R/W’ E:receive ACK 操作:在SCL的控制下, ACK=SDO F:receive DATA 操作:在SCL的控制下, DATA7,6…0=SDI G: SEND STOP 操作:SCL=‘1’ , SDO=‘0’ ‘1’ SDI start A6 A5 A4 A3 A2 A1 SDO
CLK
1、Master(主接收器模块)
Read
2、典型应用图
D[7..0]
SD
I2C Master 模块
SDO
SCL
I2C Slave 模块
E2PROM
READ
信号说明: READ:MCU启动I2C模块控制信号, ‘1’ 有效、‘0’无效。 CLK: I2C模块时钟信号 A[6..0]: 发送的地址信号 D[7..0]: 收到的数据信号

I2C总线24C02电路

I2C总线24C02电路

I2C总线电路协议电子工程师,当然软件工程师也一样,在实际工作中不可避免的要遇到“协议”,那么,什么是协议呢?举个例子来说明一下:两个人通过固定电话来通话:甲:喂!乙:喂!甲:我是比尔盖茨,请问本拉登在吗?乙:我就是啊…..甲:¥%……—*乙:#¥%……—*………….甲:再见!乙:再见!虽然是一次简单的通话,但我们可以将其看成一个信息的交互,此信息的交互是按以下规定来进行的:前两句,被软件工程师称之为同步头,被硬件工程师称之为起始位。

用于让双方处于一种准备状态。

第三第四句,一般被称之为命令字。

…………..这个一般被称之为数据段。

最后两句,软件工程师称之为结束符,硬件工程师称之为停止位,用于通知对方我要结束了。

不同的场所需要不同的规范来进行通话,在开发工作中尤其重要,我们称这种通话的规范叫协议。

任意两个元器件之间,如果需要信息的交互,那么就一定会有信息交互的协议。

只有这两个元器件都采用同一种协议,才能保证信息交互的正确。

I2C总线协议I2C总线协议是一种常见的电子元器件通信协议,此协议的特点是利用很少的IO口进行信息的交互,除去片选和时钟同步外,实际的I2C总线协议仅仅通过两根线就完美解决了信息的交流。

I2C总线协议在我们提供的资料中可以找到,您可以阅读此资料来了解协议的内容和详细的规范。

虽然相较并口总线来说,I2C总线在速度上会慢一些,但它具有硬件电路简单,多个器件共享,操作简单等特点,所以被广泛的应用在很多种类的元器件中。

24C0224C02就是一个标准的I2C总线应用元器件,我们的学习板也是通过此元器件来让初学者学习和掌握I2C总线协议。

24C02是一个非易失性的存储器件,可以在断电的情况下长久保持内部的数据不被丢失。

关于24C02芯片的详细性能,初学者可以阅读随光盘提供的24C02芯片的中文手册。

以下是I2C总线电路的原理图:的两个总线(SCL/SDA)接口,并通过程序在P1.6和P1.7两个管脚上面来形成I2C总线协议来与24C02进行信息交互。

I2C总线接口电路设计

I2C总线接口电路设计

I2C总线接口电路设计I2C(Inter-Integrated Circuit)是一种用于在集成电路之间进行通信的串行总线接口。

它是一种广泛应用于电子系统中的通信协议,可以用于连接各种外部设备,例如传感器、存储器、显示屏等。

在进行I2C总线接口电路的设计时,主要需要考虑以下几个方面:1.电源电压:I2C总线接口电路通常使用3.3V或5V作为电源电压。

选择电源电压需要根据所连接的外部设备的工作电压要求来确定。

2.电路连接:I2C总线一般使用两根线进行通信,即SCL线和SDA线,其中SCL线用于时钟信号,SDA线用于数据信号。

在电路连接方面,需保持SCL和SDA线的长度较短,以减小信号干扰的可能性。

3.电路保护:由于I2C总线通常连接的是外部设备,因此电路中需要加入适当的保护措施,以防止过电压、过电流等情况对电路和设备造成损害。

常用的保护元件包括稳压二极管、保险丝和放电二极管等。

4.信号线驱动:为了保证I2C总线的正常通信,需要对SCL和SDA线进行适当的驱动,以提供足够的信号电平和电流。

常用的信号线驱动器包括晶体管和放大器等。

5.电路滤波:I2C总线通常工作在较高的频率上,因此需要对信号进行滤波处理,以避免高频噪声对通信造成干扰。

常见的滤波元件包括电容和电感等。

6.电路调试:在I2C总线接口电路设计完毕后,需要进行调试和测试。

常见的调试方法包括使用示波器观察信号波形、检查电压和电流等。

总之,I2C总线接口电路设计需要考虑电源电压、电路连接、电路保护、信号线驱动、电路滤波和电路调试等方面的因素。

通过合理设计和调试,可以实现可靠和稳定的I2C总线通信,并连接各种外部设备,提高电子系统的功能和性能。

高等数字集成电路设计-I2C总线控制器后端设计

高等数字集成电路设计-I2C总线控制器后端设计

⾼等数字集成电路设计-I2C总线控制器后端设计《⾼等数字集成电路设计》I2C总线控制器电路设计姓名学号:指导⽼师:时间:⽬录⼀、实验⽬的与设计内容 (2)1.设计⽬的 (2)2.设计描述 (2)3.设计内容 (2)⼆、实验步骤及分析 (3)1.前端设计 (3)设计输⼊ (3)2.DC综合 (3)3.Pre-STA (7)4.⾃动布局布线(P&R) (8)1. 设计输⼊ (8)2. 平⾯布局(Floorplan) (10)3. Add Rings和Add Stripes (10)4. 连接全局⽹络(connect global nets) (11)5.布线和放置标准单元库 (12)6.预插时钟树(Pre-CTS) (12)7.创建时钟树和⽣成相应的⽂件 (13)8.Post-CTS (14)9.最终布局布线(nanoRoute) (15)10.Add filler (16)11.导出相关⽂件,并导⼊cadence软件 (16)三、实验总结 (18)附录:DC综合脚本: (19)I2C总线控制器电路设计⼀、实验⽬的与设计内容1.设计⽬的通过实验掌握数字电路前端和后端设计的流程,能够解决电路中的设计时出现的时序问题和版图布局问题,进⾏优化,达到设计时序和版图的要求。

2.设计描述系统初始化时,由指令控制CPU送出相关的数据,经APB接⼝,送到I2C 控制器核的寄存器内。

通过初始化这些寄存器,可以实现I2c总线的master模式控制3.设计内容1、准备verilog代码。

2、进⾏逻辑综合(DC)。

使⽤Design Compiler综合⼯具,根据给定的设计指标进⾏逻辑综合并进⾏优化,直到满⾜要求。

3、进⾏静态时序分析(STA)。

使⽤PrimeTime进⾏静态时序分析,分别对建⽴时间和保持时间进⾏分析优化,直到满⾜要求。

4、时序仿真。

使⽤Modelsim进⾏时序仿真,时序约束⽂件为PT输出的.sdf⽂件,验证时序仿真是否正确。

基亏CPLD的I2C总线接口设计

基亏CPLD的I2C总线接口设计

CP Citra e o eb ss f n lsn v reI okmo e ti p p r ein u lme t C itr c d l U t V ne c . nt a io ayigf o t 2 w r d .hs a e s sb tmpe ns V e a emo ue o f h a a i C d g i a n f
whc a ewok d a o t d , x o e tr s n la d s p sg a, n h n e aalld t o V e a aao C ihc n b re th s mo e e p r d s t i a n t i l a d c a g d p rl aat C s r ld t rF t a g o n e i
Z E G C iu H N ajn - (ntu ep yia adG ohmi l x l ai AG R L nfn 60 0,hn ) [s t o o hs l n ec e c E po t nC SP C,agag0 5 0 C ia h e fG c a r o
Ab t a t I ec r ut e in F sac mmo s d a d sa d r e il o sr c : n t ic i d s , C i o h g n u e n t n ad s r mmu ia in i tra e Mo t fte C U o d a ac n c t n e c . s P i g o t o f o h s p rl lp r o ea in a d d n t a e te a i t f p r t g 1 u n e fc i c l. n o d rt e l e t ec n r l n f a al o t p r t , n o ’ h v h b l y o e ai 2 b s i tra e d r t I r e r a i h o t l g o e o i o n C e y o z oi

基于APB总线的I2C数字IP设计

基于APB总线的I2C数字IP设计

基于APB总线的I2C数字IP设计基于APB总线的I2C数字IP设计概述:随着现代电子设备中外设数量的增加以及集成度的提高,数字IP(知识产权)设计变得越来越重要。

I2C(Inter-Integrated Circuit)总线作为一种常用的串行通信协议,被广泛应用于各类电子设备中。

本文将介绍一种基于APB (Advanced Peripheral Bus)总线的I2C数字IP设计。

I2C总线简介:I2C总线是由Philips公司(现在的NXP公司)于1982年推出的一种用于连接集成电路的串行通信协议。

它是一种简单而强大的通信协议,适用于芯片间的通信,能支持多个设备在同一总线上通信。

I2C总线有两条线路,分别为数据(SDA)线和时钟(SCL)线,其中数据线用于发送数据,时钟线则用于同步数据传输。

I2C总线的工作频率通常在100kHz和400kHz 之间。

APB总线简介:APB总线作为一种集成电路内部的总线架构,被广泛应用于SoC(System on Chip)设计中。

APB总线是一种独立于处理器的总线,能够连接主处理器与外围设备。

它具有低功耗、灵活性高等特点,可以提高系统的性能和可扩展性。

基于APB总线的I2C数字IP设计:基于APB总线的I2C数字IP设计旨在实现一个可以连接到APB总线的I2C控制器IP核,并能够与各种外围设备进行通信。

该设计主要包括以下几个关键模块:1. APB控制接口模块:负责与APB总线进行通信,并根据APB总线的读写请求进行相应的操作。

该模块包括时钟控制、读写地址解析和数据传输等功能。

2. I2C控制逻辑模块:负责I2C总线的通信协议处理和控制。

该模块包括I2C总线的状态机控制、数据传输和错误检测等功能。

3. 数据缓存模块:用于存储接收和发送的数据。

当外设写入数据时,数据将被存储在发送缓冲区中;当外设读取数据时,数据将从接收缓冲区中读取。

4. 时钟控制模块:负责生成I2C总线所需的时钟信号,并提供时钟频率的配置功能。

第四章I2C串行总线接口电路设计

第四章I2C串行总线接口电路设计

第四章I2C串行总线接口电路设计I2C(Inter-Integrated Circuit)是一种串行总线接口,广泛应用于各种电子设备中。

在本章中,我们将讨论如何设计一个I2C串行总线接口电路。

首先,我们需要了解I2C总线的基本原理。

I2C总线由两根线组成,即串行数据线(SDA)和串行时钟线(SCL)。

数据在SDA线上传输,而时钟信号在SCL线上传输。

每个设备都有一个唯一的7位地址,可以通过该地址在总线上寻址。

接下来,我们将介绍如何设计一个基本的I2C接口电路。

首先,我们需要一个主设备和一个或多个从设备。

主设备负责发送数据和控制总线的时钟信号,而从设备负责接收数据并响应主设备的命令。

在电路设计中,我们需要考虑以下几个关键点:1.I2C总线电平:I2C总线使用的是开漏输出,因此我们需要在总线上加上上拉电阻,将总线拉高至VCC电平。

同时,我们还需要确保总线上的电平向下兼容,以适应不同的设备。

2.I2C总线保护:由于I2C总线是一个共享总线,因此我们需要保护总线免受外部噪声和电磁干扰的影响。

我们可以通过使用滤波电容和抑制器来过滤掉噪声,并使用瞬态电压抑制器来保护总线免受电磁干扰。

3.I2C总线速率:I2C总线可以工作在不同的速率下,通常有标准模式(100kHz)和快速模式(400kHz)两种速率。

我们需要根据具体的应用需求选择合适的速率,并相应地配置主设备和从设备。

4.I2C总线电源:由于I2C总线上的设备可以使用不同的电源电压,我们需要确保电源电压的稳定性,并根据设备的要求为主设备和从设备提供适当的电源。

5.I2C总线延长:在一些特殊应用中,I2C总线的长度可能超过规定的最大长度(一般为一到两米)。

为了解决这个问题,我们可以使用I2C 总线延长器或者光电耦合器来实现远距离传输。

最后,我们需要对设计的I2C接口电路进行测试和验证。

我们可以使用示波器或逻辑分析仪来检查总线上的信号波形,并确保数据的准确传输和设备的正常通信。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SDA主机SCLSDA SCL SDA SCL SDA SCL 从机 1从机 2…从机 n2FPGA 与I 2C 总线器件接口电路设计利用 FPGA 模拟I 2C 总线协议对I 2C 总线接口器件AT24C256 进展读写操作。

利用按键输入读写命令和相应的地址、数据,对芯片进展读写操作,读写的数据用数码管显示。

一、I C 总线接口电路设计分析1. I 2C 总线协议I 2C 总线的两根通信线,一根是串行数据线SDA ,另一根是串行时钟线SCL 。

多个符合I 2C 总线标准的器件都可以通过同一条I 2C 总线进展通信,而不需要额外的地址译码器。

每个连接到总线上的器件都有一个唯一的地址作为识别的标志,都可以发送或接收数据。

I 2C 总线通信速率受主机把握,标准模式下可达 100kbit/s 。

一般具有I 2C 总线的器件其SDA 、SCL 引脚都为集电极〔或漏极〕开路构造。

因此实际使用时,SDA 和 SCL 信号线必需加 3~10K 的上拉电阻。

总线空闲时均保持高平。

I 2C 总线接法如图 1 所示。

VCC图 1 I2C 总线连接示意图(1) I 2C 的主机和从机,发送器和接收器产生 I 2C 总线时钟信号和起始、停顿把握信号的器件,称为主机,被主机寻址的器件称为从机。

任何将数据传送到I 2C 总线的器件称为发送器,任何从I 2C 总线接收数据的器件称为接收器。

主机和从机都可作为发送数据器件和接收数据器件。

(2) I 2C 总线上数据的有效性:时钟线SCL 为高电寻常,数据线SDA 的任何电平变化将被看作总线的起始或停顿信号;在数据传送过程中,当时钟线SCL 为高电寻常,数据线SDA 必需保持稳定状态,不允许有跳变; 数据线SDA 的状态只能在SCL 低电平期间才能转变。

即进展串行传送数据时,在 SCL 高电平期间传送位数据,低电平期间预备数据。

(3) 从机地址I 2C 总线不需要额外的片选信号或地址译码。

多个I 2C 总线接口器件可连接到一条I 2C 总线上,它们之间通过地址来区分。

主机是主把握器件,只有一个主机的不需要地址。

其它器件均为从机,均有器 件地址,但必需保证同一条I 2C 总线上的器件地址不能重复。

一般从机地址由7 位地址位和 1 位读写位组成,地址位为高 7 位,读写位为最低位。

读写位为 0 时,表示主机将向从机写入数据;读写位为 1 时, 表示主机将要从从机读取数据。

(4) I 2C 总线的通信时序管脚名称功能说明I 2C 总线的通信时序如图 2 所示。

SDASCL停顿条件① 首先主机发送一个起始信号。

当时钟线 SCL 处于高电平期间,数据线 SDA 电平从高到低的跳变形成I 2C 总线的起始信号,启动I 2C 总线。

② 主机逐位发送 7 位〔高位在前,低位在后〕从机地址和 1 位读写把握信号,共 8 位。

需 8 个时钟。

③ 与传送地址全都的从机发应答信号〔ACK 〕。

在第 9 个时钟周期时将 SDA 线拉低表示其已收到一个 8 位数据。

假设在第 9 个时钟周期,SDA 为高电寻常为非应答。

④ 开头传送数据,传送数据数量不限。

每个字节〔8 位〕后紧跟1 个接收器件发出的应答位。

假设是主机读取从机数据时,从机发送数据,主机发应答位;假设是主机写数据到从机时,主机发送数据,从机发应答位。

⑤ 数据传输完毕时,主机发送 1 个停顿信号,当时钟线 SCL 为高电寻常,数据线 SDA 由低电平变为高电寻常形成终止信号,停顿I 2C 总线通信。

(5) 数据传输根本格式如表 1。

表 1 I2C 总线数据传输根本格式S A7~A1 R/W ACK D7~D0 ACK D7~D0 ASK P 起 7 位 0:写 应 8 位 应答 8 位 …应答位 停 始 位地址1:读答 位数据位数据0:应答 1:非应答止 位其中 S 、A7~A1、R/W 、P 总是由主机产生;写数据时,ACK 由从机产生,D7~D0 由主机产生;读数据时,ACK 由主机产生,D7~D0 由从机产生。

2. I2C 总线器件AT24C256AT24C256 是一个 256K 位的串行CMOS 型 E 2PROM , 可存储 32768 个字节。

该器件通过 I 2C 总线接口进展操作,其引脚如图 3 所示,各引脚功能见表 2。

图 3 AT24C256 引脚图表 2 AT24C256 引脚功能说明ACK 应答ACK 应答12 7 8 9 1 2P S总线 起始条件暂停把握图 2I2C 总线的通信时序SCLSDA WP A0 A1VSS VCC NC AT24C256 串行时钟输入管脚。

用于产生器件全部数据发送或接收的时钟,是输入管脚。

双向串行数据/地址管脚。

用于器件全部数据的发送或接收,SDA 是一个开漏输出管脚可与其它开漏输出或集电极开路输出进展线或wire-OR。

写保护。

当WP 脚连接到Vcc ,全部内存变成写保护只能读;当WP 引脚连接到Vss 或悬空,允许器件进展读/写操作。

器件地址输入。

这些管脚为硬连线或者不连接,对于单总线系统最多可寻址 4 个AT24C256 器件。

当这些引脚没有连接时其默认值为0。

电源地1.8~6V空脚作为带有I2C总线接口的器件,每个AT24C256都有一个7位的从机地址,其高5位固定为“10100”,接下来的2位由AT24C256的引脚A1A0硬连线输入打算〔A1、A0直接接电源VCC或GND〕,同一I2C 总线上最多可以连接4 个AT24C256 器件。

AT24C256 除了有作为从机的地址,其内部还有作为存储单元的编码子地址,其子地址为双字节〔16位〕,从0000H~7FFFH。

本设计中只有1个AT24C256,可将AT24C256 的引脚A1、A0 直接接地,其硬件电路如图4 所示。

则该AT24C256 作为从机的7 位地址为“1010000”。

3.对AT24C256 的读写过程图4 单个 AT24C256 连接电路图(1)向AT24C256 某一存储单元写入1 个字节数据,过程如下:①主机〔这里为FPGA 把握器〕发送一个起始信号,启动发送过程;②主机发送7位从机地址〔这里为1010000〕和1位写把握位〔为0〕;③从机〔这里为AT24C256〕发应答位。

在主机发送起始信号和从机地址字节后,AT24C256 监视总线并当其地址与发送的从地址相符时,响应一个应答信号。

在第9 个时钟,将SDA 线拉为低电平;④主机接收到应答位后,发从机子地址高8 位〔为AT24C256 某一存储单元地址〕。

⑤从机接收完高8 位子地址后,发应答位;⑥主机接收到应答位后,发从机子地址低8 位;⑦从机接收完低8 位子地址后,发应答位;⑧主机接收到应答位后,发送待8 位写入数据;⑨从机接收完8 数据后,发应答位,并开头内部数据的擦写;⑩主机接收到应答位后,发停顿位,完毕传送,总线挂起。

SDA 上数据传输格式见表3,数据传送时序如图5 所示。

表 3 向 AT24C256 写1 个数据时总线 SDA 上数据传输格式S A7~A1 0 0 AD15~AD8 0 AD7~AD0 0 D7~D0 0/1 P起 7 位 写 应高 8 位 应 低 8 位 应 写入 应 停 始 器件 答 指针 答 指针 答 8 位 答 止 位地址 位 地址 位 地址 位 数据 位 位 主机发送从 主机发送从 主机发送从 主机发送从机 主 机 机 机 发送机 发 发 发 发送送送送图 5 向 AT24C256 写一个数据时序(2) 从 AT24C256 某一存储单元读出 1 个字节数据,过程如下:① 主机发送一个起始信号,启动发送过程,接着发送 7 位从机地址〔1010000〕和 1 位写把握位〔0〕; ② 从机检测到起始信号及本身从地址相符时的从机地址后,发应答位。

③ 主机接收到应答位后,发从机子地址高8 位〔为AT24C256 某一存储单元地址〕。

④ 从机接收完高 8 位子地址后,发应答位; ⑤ 主机接收到应答位后,发从机子地址低8 位; ⑥ 从机接收完低 8 位子地址后,发应答位;⑦ 主机接收到应答位后,再发送一个起始信号〔称为重复起始信号〕,接着再发送 7 位从机地址 〔1010000〕和 1 位读把握位〔为 1〕;⑧ 从机检测到重复起始信号及从机地址后,发应答位,并将子地址对应的存储单元数据发送到总线上。

⑨ 主机接收到应答位后,接着预备从总线接收数据,从总线接收完 8 数据后。

发非应答位和发停顿位,完毕传送,总线挂起。

SDA 上数据传输格式见表 4 所示,数据传送时序如图 6 所示。

表 4 从 AT24C256 上读 1 个数据时总线 SDA 上数据传输格式A7AD15 AD7A7D7S~ 0~ 0~ 0Sr~ 1~ 0/1PA1AD8AD0A1D0起 7 位应 高 8 位 应 低 8 位 应重复 7 位应读出 非 停 始 器件 写答 指针 答 指针答 起始 器件 读 答 8 位 应 止 位 地址 位 地址 位 地址位 位地址位 数据 答 位从 主 从 主 从从 从 主 主 主机 机 机 机 机 机机 机 机 机 发送发 发 发 发 发 主机发送发 发 发 发送送送送送送送送 送4. FPGA 内部电路图 6 从 AT24C256 读一个数据时序命令存放器位IO Scl Sda模拟 I 2C 总线对AT24C256 的读写把握电路根本构造框图如图7 所示。

AT24字节传输 总线 C256 读写 传送存放器传输 把握 把握 电路端口 电路把握 接收存放器电路接口标志存放器移位存放器(1) I 2C 总线端口图 7 模拟 I2C 总线对 AT24C256 的读写把握框图I 2C 总线端口为三态输出,当使能端有效时,总线输出为低电平;当使能端无效时三态门输出为高阻,但由于I 2C 总线上有上拉电阻,总线保持在高电平或由总线上从机输出数据打算。

总线数据始终能被读入。

其构造示意图如图 8 所示。

Sda_enVccSdaSdaScl_enVcc(2) 位传输把握模块Scl_ Scl图 8 I2C 总线端口示意图位传输模块以“位”为单位产生各种I 2C 协议命令〔开头、停顿和重复开头〕以及进展位数据读写。

为了读写到稳定的“位”数据,读写1 位数据分为 4 到 5 个阶段完成。

1 位数据传输时序要求如图 9 所示。

这样内部读写时钟频率一般承受5 倍于SCL 时钟总线频率。

Sda_en Scl_en11数据线三态使能把握端,来自位传输把握模块时钟线三态使能把握端,来自位传输把握模块SCL开头SDA重复开头停顿写读SCLSDASCLSDASCLSDASCLSDA图9 I2C 协议命令和位数据传输的执行时序位传输把握电路依据输入的把握命令,将来自字把握模块的一位待写入的数据送到总线上,或从总线上读入一位数据给字把握模块。

相关文档
最新文档