|
目标 :读取FLASH的ID信息
采用的方式 :同步操作模式
目前实现 :读到了ID信息的BYTE0,即4FH。而BYTE1-BYTE4读不到。
操作流程:
进入BUS_IDLE,然后进入CMD_IN(发送90H),进入BUS_IDLE(等待tCAD),进入ADDR_IN(发送20H),再进入BUS_IDLE(等待tCAD),进入BUS_DRIVING,再进入DATA_OUT(等待接收ID数据),进入BUS_DRIVING(等待数据接收完成),进入BUS_IDLE。如此循环。
现象,现在只能读到ID信息的BYTE0, BYTE1-BYTE4读不到
说明:以FLASH_开头的信号均为与FLASH在硬件上直接相连的信号。命名均是以异步模式下micron的手册为准。WE_n信号在同步模式下为CLK信号(FPGA的工作时钟也是WE_n,并且是在WE_n的下降沿触发)。RE_n在同步下为W/R信号。在state_bus_idle状态下,给FLASH_DQ的数据(89H),没有任何意义。只是为了检测状态的跳转是否正确。因为这个时候FLASH处于BUS_IDLE模式。对FLASH_DQ的数据不做响应。
在上图中可以看到,先进入BUS_IDLE模式,等待tCAD后进入CMD_IN模式并发送命令90H给FLASH,然后进入BUS_IDLE模式,等待tCAD。
在BUS_IDLE模式下等待tCAD时间后,进入ADDR_IN模式并发送地址20H给FLASH。然后进入BUS_IDLE模式,等待tCAD时间
然后进入BUS_DRIVING模式,等待tWHR的时间后,进入DATA_OUT模式读取ID信息的5个BYTES
最终读出的数据只有ID信息的BYTE0 结果为4FH。数据正确。
完整的数据应该是 4FH 4EH 46H 49H XXH |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|