碧波液压网 欢迎你,游客。 登录 注册

基于NiosII的AT24C02接口电路设计

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  0 引 言

  在实际的应用中,为了保护现场,经常需要将系统断电之前的工作状态与重要运行数据保存在非易失存贮器中,以便在下次开机时,能恢复到原来的工作状态。针对这种保存的数据量不大和存储速度要求不高的特点,可采用“NiosⅡ+AT24C02"设计方案进行设计。本文在讨论了I2C通信协议的基础上,利用FPGA技术,设计了NiosⅡ与AT24C02”之间进行通信的接口电路。本接口电路能产生基于I2C通信协议的读写操作时序,成功实现了对AT24C02的读写功能。由于所有的时序,都是由硬件产生,因此,本设计具有控制简单、成本低廉等特点。

  1 AT24C02A芯片简介

  AT24C02A芯片,是由ATMEL公司生产的基于I2C总线型的串行电可擦除的可编程存储器(EEPROM),内部含有2Kbit的存储单元,是通过二根线(SDL与SCL)与外部I2C控制器交换数据。

  AT24C02A芯片的主要特性如下:

  低电压和标准电压操作

  -2.7(VCC=2.7V至5.5V)

  -1.8(VCC=1.8V至5.5V)

  片内存储容量为256×8 bit(2K)

  2线串行接口

  施密特触发器,过滤输入的噪声抑制

  双向数据传输协议

  100 kHz(1.8V、2.5V、2.7V)和400 kHz(5V)兼容性

  写保护引脚的硬件数据保护。

  2 I2C通信协议

  2.1 I2C通信协议简介

  AT24C02A器件采用成本低廉的I2C(Inter integrat-ed Circuit)总线通信协议,即利用串行数据线(SDA)和串行时钟线(SCL)成功实现了主模块与从模块之间数据通信,图1为I2C通信协议的时序图。由图可知,完成一次数据的传输必须要经历启动、数据传输与停止三个基本的过程:当串行时钟线(SCL)为高电平时,串行数据线(SDA)从高电平变成低电平,“启动”I2C通信;当串行时钟线(SCL)为高电平时,串行数据线(SDA)从低电平变成高电平,“停止”I2C通信;在数据的传输过程中,串行数据线(SDA)上的数据的改变,只能在串行时钟线(SCL)为低电平期间完成。

  2.2 AT24C02A器件读写时序

  图2为写(读)AT24C02A器件中指定地址存储单元的数据帧格式,图2(a)为写操作的帧格式,(b)为读操作帧格式。要想把一个字节数据发送到器件中(或从器件中读取一个字节数据)除了给出具体的地址信息之外,还要给出该器件的控制信息:首先由控制器发出“启动”信号,启动I2C总线的通信,然后发送一个控制字节,前7位为器件的片选地址,最后1位为读写控制位,“0”表示写,“1”表示读。当传完控制字节之后,挂在I2C总线的所有的器件比较控制字节片选地址(前7位)是否与自已的物理地址一致,如一致,则发一个应答信号。控制器接收到应答信号之后,再发器件内部存储单元地址和其他的信息。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论