EEPROM接口的FPGA实现_fpga资料_明德扬至简设计法

AT93C46的MIX功能

1功能概述

AT93C46在DI接收到读指令时,地址被解码,数据在DO引脚上串行输出。写周期是完全自主调时的,在写入之前不需要单独的擦除周期。只有当器件处于擦除/写使能状态时,写周期才有效。当写入周期开始后,CS被置为高电平时,DO引脚输出处于就绪/忙状态。本项目要求AT93C46在前两个单独案例的基础上完成读和写功能的混合功能。

2设计思路

读(READ)指令包含要读取的存储器位置的地址代码。在接收到指令后,地址被解码,来自存储器的所选数据在串行输出引脚DO处可用。输出数据的变化与SK时钟上升沿同步。需要注意的是,在8或16位数据输出的字符串之前会有1比特的虚拟位(逻辑“0”)。

写(WRITE)指令包含要写入指定存储器的8位或16位数据。自定义编程周期twp始于最后一位数据在输入引脚DI接收的完成。如果CS在保持低电平至少250

ns(tcs)后拉高,则DO引脚输出读/忙状态。DO处的逻辑“0”表示编程仍在进行中,而逻辑“1”表示存储位置指定的地址已经写入指令中包含的数据模式,并且准备好下一步的指令。如果CS在自定义编程周期twp结束后拉高,则无法获得就绪/忙状态。

本案例要求实现一个AT93C46的接口能够根据命令,实现EWEN、WRITE和READ功能,具体思路如下:

1.上游模块在rdy=1时,给出start命令,开始进行EWEN、WRITE或者READ操作;在rdy=0期间,start命令无效。

2.当start有效时,如果mode=0表示进行EWEN操作;mode=1表示进行WRITE操作;mode=2表示进行READ操作。

3.当start有效时,addr和wdata有效。

4.当进行EWEN操作时,将addr写入at93c46。

5.当进行WRITE操作时,将addr和wdata写入at93c46。

6.当进行READ操作时,将addr写入at93c46,并从at93c46读到数据,通过rdata和rdata_vld返回给上游模块。


3程序设计


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,891评论 18 139
  • 阅读经典——《深入理解计算机系统》06 本文,我们要做一件大胆的事情,从零开始实现一个全新的指令集架构,以此深入理...
    金戈大王阅读 20,865评论 9 53
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,218评论 2 33
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,760评论 18 399
  • 为纪念日本搞笑漫画大师赤塚不二夫80岁诞辰,《小松君》在2015年获得重制机会,动漫改叫《阿松》。监督是执导过银魂...
    我的橘子死了阅读 1,549评论 0 2