医用FPGA开发教程-基于Xilinx和VHDL-第11讲-读写外部EEPROM实验_第1页
医用FPGA开发教程-基于Xilinx和VHDL-第11讲-读写外部EEPROM实验_第2页
医用FPGA开发教程-基于Xilinx和VHDL-第11讲-读写外部EEPROM实验_第3页
医用FPGA开发教程-基于Xilinx和VHDL-第11讲-读写外部EEPROM实验_第4页
医用FPGA开发教程-基于Xilinx和VHDL-第11讲-读写外部EEPROM实验_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第11讲读写外部EEPROM实验1医用FPGA开发实用教程——基于Xilinx和VHDLPracticalTutorialonMedicalFPGADevelopment——BasedonXilinxandVHDL实验原理ExperimentalPrinciples“

基于FPGA高级开发系统设计一个读写外部EEPROM实验,可通过按独立按键KEY1,FPGA芯片向EEPROM写入数据76543210,按KEY2,可以向EEPROM写入数据89ABCDEF,按KEY3,则从EEPROM中读取最后一次写入的数据,读写的数据都可通过串口,在串口助手上显示。

11.12I2C协议

I2C总线(IICbus,Inter-ICbus)是一种串行总线,是具备多主机系统所需的包括总线裁决和高低速器件同步功能的高性能串行总线。IIC总线只有两根双向信号线,一根是数据线SDA,另一根是时钟线SCL。每个接到IIC总线上的器件都有唯一的地址。3I2C总线整体时序

在SCL为高电平期间,SDA由高向低电平的变化表示起始信号;SCL为高电平期间,SDA由低向高电平的变化表示停止信号。在进行数据传输时,SCL为高电平期间,SDA上的数据必须保持稳定,只有在SCL为低电平期间,SDA上的数据才允许变化。4I2C器件地址

AT24C02一共有七位地址码,前四位已经固定为1010,后三位是片选地址,分别是A2、A1、A0,片选地址由硬件连接决定。图左片选地址引脚A2、A1、A0都连接到GND,则片选地址为000,该器件地址为1010000;同理图右地址为1010111。5EEPROM电路原理图

FPGA芯片的E7引脚连接AT24C02芯片的SCL引脚,为时钟引脚,C7引脚连接SDA引脚,为数据引脚。A0A1A2引脚接GND,表示IIC器件的片选地址为000;WP是写保护引脚,在FPGA高级开发系统上,WP引脚接到GND,这样存储器可读可写;另外还包括3个独立按键KEY1~KEY3和串口发送引脚CH330_TX。6控制命令的数据格式

I2C协议的控制命令包含7位从机器件地址码和1位读/写(R/W)操作位,其中,S是起始位,ACK是从机应答。IIC协议在传输数据时,主机首先向总线发出控制命令(1010A2A1A0R/W),以此来选择需要控制的从机,传输过程按照从高位到低位的顺序传输,控制字节的最低位为R/W(读/写)操作位,当R/W位为0时表示主机对从机进行写操作,当为1时表示主机对从机进行读操作。传输完控制命令后则等待目标从机发送响应应答。

7单字节写时序

在字节写模式下,主机发送起始命令和控制字节信息,在从机响应应答信号后,主机发送要写入数据的地址,主机在收到从机的应答信号后,再传输待写入的数据,从机响应应答后信号后,主机产生停止位,终止传输。8页写时序

主机发送起始命令和控制字节信息,在从机响应应答信号后,主机发送要写入数据的地址,接着等待从机的应答信号,然后再传输待写入的数据,待从机应答后,主机继续发送下一个数据,从机继续应答,直到N个数据被写完,在从机响应应答信号后主机产生停止位,终止传输。9单字节读时序

主机发送起始命令和控制字节信息,在从机响应应答信号后,主机发送要读取数据的地址,主机在收到从器件的应答信号后,发送起始命令和控制字节信息,并将R/W位设置为1,表明为读操作,收到从机的应答信号后,主机读取数据完成后产生无应答信号,最后主机产生停止位,终止传输。10页读时序

主机发送起始命令和控制字节信息,在从机响应应答信号后,主机发送要读取数据的地址,主机在收到从机的应答信号后,再次发送起始命令和控制字节信息,并将R/W位设置为1,表明为读操作,收到从机的应答信号后,主机读取数据,然后主机发送一位应答信号,读取下一个字节的数据,每读完一个字节的数据,主机都要发送一位应答信号,直到N个字节的数据读完成,主机产生无应答信号,再产生停止位,终止传输。11I2C通信状态机12实验步骤ExperimentalProcedure“11.213实验步骤14步骤1:复制工程文件夹并添加Verilog文件步骤2:完善btn_wr_rd.v文件步骤3:完善ascii_encode.v文件步骤4:完善eeprom.v文件步骤5:仿真测试步骤6:板级验证本章任务Tasksinthischapter“11.315本章任务16

在本实验的基础上,在七段数码管上显示读写的内容,按独立按键KEY1,FPGA芯片向EEPROM写入数据76543210;按独立按键KEY2,FPGA芯片向EEPROM写入数据89ABCDEF;按独立按键KEY3,FPGA芯片从EEPROM中读取最后一次写入的数据。注意,最后一次写入的数据与读取的数据显示的内容是一样的,因此需要对读取和写入的数据显示进行区分。例如,写入的数据从左到右显示,读取的数据从右到左显示,或是在按键按下时清除数码管数据,弹起时再显示新的数据等,区分方式不限。本章习题Exercisesinthischapt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论