I2C总接口电路设计.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
I2C总接口电路设计

FPGA与I2C总线器件接口电路设计 利用FPGA模拟I2C总线协议对I2C总线接口器件AT24C256 一、I2C总线接口电路设计分析 1. I2C 总线协议 I2C 总线的两根通信线,一根是串行数据线SDA,另一根是串行时钟线SCL。多个符合I2C总线标准的器件都可以通过同一条I2C总线进行通信,而不需要额外的地址译码器。每个连接到总线上的器件都有一个唯一的地址作为识别的标志,都可以发送或接收数据。I2C 一般具有I2C总线的器件其SDA、SCL引脚都为集电极(或漏极)开路结构。因此实际使用时,SDA和SCL信号线必须加3~10K的上拉电阻。总线空闲时均保持高平。I2C总线接法如图1 主机SDA SCL 主机 SDA SCL 从机1 … SDA SCL 从机2 SDA SCL 从机n SDA VCC SCL 图1 I2C总线连接示意图 (1) I2C的主机和从机,发送器和接收器 产生I2C总线时钟信号和起始、停止控制信号的器件,称为主机,被主机寻址的器件称为从机。 任何将数据传送到I2C总线的器件称为发送器,任何从I2C 主机和从机都可作为发送数据器件和接收数据器件。 (2) I2C 总线上数据的有效性: 时钟线SCL为高电平时,数据线SDA的任何电平变化将被看作总线的起始或停止信号; 在数据传送过程中,当时钟线SCL为高电平时,数据线SDA必须保持稳定状态,不允许有跳变;数据线SDA的状态只能在SCL低电平期间才能改变。即进行串行传送数据时,在SCL高电平期间传送位数据,低电平期间准备数据。 (3) 从机地址 I2C总线不需要额外的片选信号或地址译码。多个I2C总线接口器件可连接到一条I2C总线上,它们之间通过地址来区分。主机是主控制器件,只有一个主机的不需要地址。其它器件均为从机,均有器件地址,但必须保证同一条I2C总线上的器件地址不能重复。一般从机地址由7位地址位和1位读写位组成,地址位为高7位,读写位为最低位。读写位为0 (4) I2C 总线的通信时序 I2C 总线的通信时序如图2所示。 SDASCL SDA SCL S 起始 条件 P 停止 条件 ACK 应答 ACK 应答 总线 暂停 控制 停止 条件 1 2 1 7 8 9 2 图2 I2C 总线的通信时序 ① 首先主机发送一个起始信号。当时钟线SCL处于高电平期间,数据线SDA电平从高到低的跳变形成I2C总线的起始信号,启动I2C ② 主机逐位发送7位(高位在前,低位在后)从机地址和1位读写控制信号,共8位。需8个时钟。 ③ 与传送地址一致的从机发应答信号(ACK)。在第9个时钟周期时将SDA线拉低表示其已收到一个8位数据。若在第9个时钟周期,SDA为高电平时为非应答。 ④ 开始传送数据,传送数据数量不限。每个字节(8位)后紧跟1个接收器件发出的应答位。若是主机读取从机数据时,从机发送数据,主机发应答位;若是主机写数据到从机时,主机发送数据,从机发应答位。 ⑤ 数据传输结束时,主机发送1个停止信号,当时钟线SCL为高电平时,数据线SDA由低电平变为高电平时形成终止信号,停止I2C总线通信。 (5) 数据传输基本格式如表1。 表1 I2C总线数据传输基本格式 S A7~A1 R/W ACK D7~D0 ACK D7~D0 ASK P 起始位 7位 地址 0:写 1:读 应 答 位 8位 数据 应答位 8位 数据 … 应答位 0:应答 1:非应答 停 止 位 其中S、A7~A1、R/W、P总是由主机产生;写数据时,ACK由从机产生,D7~D0由主机产生;读数据时,ACK由主机产生,D7~D0由从机产生。 2. I2C总线器件AT24C256 AT24C256 是一个256K 位的串行CMOS型 E2PROM, 可存储32768 个字节。该器件通过I2C总线接口进行操作,其引脚如图3所示,各引脚功能见表2。 图3 AT24C256引脚图 表2 AT24C256引脚功能说明 管脚名称 功能说明 SCL AT24C256 串行时钟输入管脚。用于产生器件所有数据发送或接收的时钟,是输入管脚。 SDA 双向串行数据/地址管脚。用于器件所有数据的发送或接收,SDA 是一个开漏输出管脚可与其它开漏输出或集电极开路输出进行线或wire-OR。 WP 写保护。当WP 脚连接到Vcc ,所有内存变成写保护只能读;当WP 引脚连接到Vss 或悬空,允许器件进行读/写操作。 A0 A1 器件地址输入。这些管脚为硬连线或者不连接,对于单总线系统最多可寻址4 个AT24C256器件。当这些引脚没有连接时其默认值为0。 VSS 电源地 VCC 1.8~6V NC 空脚 作为带有I2C总线接口的器件,每个AT24C256都有一个7位的从机地址,其高5 位固定为“1

文档评论(0)

yan666888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档