i2c总线接口电路设计

i2c总线接口电路设计

ID:18876662

大小:376.00 KB

页数:22页

时间:2018-09-26

i2c总线接口电路设计_第1页
i2c总线接口电路设计_第2页
i2c总线接口电路设计_第3页
i2c总线接口电路设计_第4页
i2c总线接口电路设计_第5页
资源描述:

《i2c总线接口电路设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、FPGA与I2C总线器件接口电路设计利用FPGA模拟I2C总线协议对I2C总线接口器件AT24C256进行读写操作。利用按键输入读写命令和相应的地址、数据,对芯片进行读写操作,读写的数据用数码管显示。一、I2C总线接口电路设计分析1.I2C总线协议I2C总线的两根通信线,一根是串行数据线SDA,另一根是串行时钟线SCL。多个符合I2C总线标准的器件都可以通过同一条I2C总线进行通信,而不需要额外的地址译码器。每个连接到总线上的器件都有一个唯一的地址作为识别的标志,都可以发送或接收数据。I2C总线通信速率受主机控制,标准模式下可达100kbit/s。一般具

2、有I2C总线的器件其SDA、SCL引脚都为集电极(或漏极)开路结构。因此实际使用时,SDA和SCL信号线必须加3~10K的上拉电阻。总线空闲时均保持高平。I2C总线接法如图1所示。主机SDASCL从机1…SDASCL从机2SDASCL从机nSDAVCCSCL图1I2C总线连接示意图(1)I2C的主机和从机,发送器和接收器产生I2C总线时钟信号和起始、停止控制信号的器件,称为主机,被主机寻址的器件称为从机。任何将数据传送到I2C总线的器件称为发送器,任何从I2C总线接收数据的器件称为接收器。主机和从机都可作为发送数据器件和接收数据器件。(2)I2C总线上数

3、据的有效性:时钟线SCL为高电平时,数据线SDA的任何电平变化将被看作总线的起始或停止信号;在数据传送过程中,当时钟线SCL为高电平时,数据线SDA必须保持稳定状态,不允许有跳变;数据线SDA的状态只能在SCL低电平期间才能改变。即进行串行传送数据时,在SCL高电平期间传送位数据,低电平期间准备数据。(3)从机地址I2C总线不需要额外的片选信号或地址译码。多个I2C总线接口器件可连接到一条I2C总线上,它们之间通过地址来区分。主机是主控制器件,只有一个主机的不需要地址。其它器件均为从机,均有器件地址,但必须保证同一条I2C总线上的器件地址不能重复。一般从

4、机地址由7位地址位和1位读写位组成,地址位为高7位,读写位为最低位。读写位为0时,表示主机将向从机写入数据;读写位为1时,表示主机将要从从机读取数据。(4)I2C总线的通信时序I2C总线的通信时序如图2所示。SDASCLS起始条件P停止条件ACK应答ACK应答总线暂停控制停止条件1217892图2I2C总线的通信时序①首先主机发送一个起始信号。当时钟线SCL处于高电平期间,数据线SDA电平从高到低的跳变形成I2C总线的起始信号,启动I2C总线。②主机逐位发送7位(高位在前,低位在后)从机地址和1位读写控制信号,共8位。需8个时钟。③与传送地址一致的从机发

5、应答信号(ACK)。在第9个时钟周期时将SDA线拉低表示其已收到一个8位数据。若在第9个时钟周期,SDA为高电平时为非应答。④开始传送数据,传送数据数量不限。每个字节(8位)后紧跟1个接收器件发出的应答位。若是主机读取从机数据时,从机发送数据,主机发应答位;若是主机写数据到从机时,主机发送数据,从机发应答位。⑤数据传输结束时,主机发送1个停止信号,当时钟线SCL为高电平时,数据线SDA由低电平变为高电平时形成终止信号,停止I2C总线通信。(5)数据传输基本格式如表1。表1I2C总线数据传输基本格式SA7~A1R/WACKD7~D0ACKD7~D0ASKP

6、起始位7位地址0:写1:读应答位8位数据应答位8位数据…应答位0:应答1:非应答停止位其中S、A7~A1、R/W、P总是由主机产生;写数据时,ACK由从机产生,D7~D0由主机产生;读数据时,ACK由主机产生,D7~D0由从机产生。2.I2C总线器件AT24C256AT24C256是一个256K位的串行CMOS型E2PROM,可存储32768个字节。该器件通过I2C总线接口进行操作,其引脚如图3所示,各引脚功能见表2。图3AT24C256引脚图表2AT24C256引脚功能说明管脚名称功能说明SCLAT24C256串行时钟输入管脚。用于产生器件所有数据发送

7、或接收的时钟,是输入管脚。SDA双向串行数据/地址管脚。用于器件所有数据的发送或接收,SDA是一个开漏输出管脚可与其它开漏输出或集电极开路输出进行线或wire-OR。WP写保护。当WP脚连接到Vcc,所有内存变成写保护只能读;当WP引脚连接到Vss或悬空,允许器件进行读/写操作。A0A1器件地址输入。这些管脚为硬连线或者不连接,对于单总线系统最多可寻址4个AT24C256器件。当这些引脚没有连接时其默认值为0。VSS电源地VCC1.8~6VNC空脚作为带有I2C总线接口的器件,每个AT24C256都有一个7位的从机地址,其高5位固定为“10100”,接下

8、来的2位由AT24C256的引脚A1A0硬连线输入决定(A1、A0直接接电源VC

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。