首页 > 其他分享 >AXI Quad SPI IP核中命令的使用

AXI Quad SPI IP核中命令的使用

时间:2024-06-10 16:32:58浏览次数:23  
标签:命令 IP 核中 支持 SPI 模式 Quad

1 双通道SPI和混合内存模式下支持的常用命令

对于配置中Mode设置为Dual且Slave Device设置为Mixed的情况,IP核支持表3-1中列出的命令。这些命令在Winbond、Micron和Spansion内存设备上具有相同的命令、地址和数据行为。

某些命令,如fast read、dual I/O fast read和dual output fast read,在混合模式下不被IP核支持。这是因为Winbond、Micron和Spansion设备在dummy bytes或dummy cycles的数量上存在差异。Dummy bytes或cycles是用于等待内存设备准备数据的时间,而不同的设备可能需要不同的时间。

此外,在混合模式下,Micron设备的易失性配置寄存器不是支持,因为Winbond设备中不存在此命令。

2 四通道SPI和混合内存模式下支持的常用命令

在配置中将Mode设置为Quad(四通道模式)并将Slave Device设置为Mixed时,IP核支持表3-2中列出的命令。这些命令在Winbond、Micron和Spansion内存设备上的命令、地址和数据行为都是相同的。

在Quad和Mixed模式下,不支持的命令包括fast read、dual output fast read、quad output fast read、dual I/O fast read和quad I/O fast read。这是因为Winbond和Micron设备在dummy bytes或dummy cycles的数量上存在差异,而IP核在混合模式下无法确保这些命令在所有设备上的正确执行。

此外,在混合模式下,Micron设备的volatile配置寄存器也不被支持,因为Winbond设备中没有这个命令。这意味着在混合模式下,IP核无法直接访问或修改Micron设备的volatile配置寄存器。

XIP 模式下的命令

在XIP模式下,IP核支持三种读取命令,这些命令根据使用的数据传输模式而有所不同:

  • 标准模式(Standard mode)fast read (0x0Bh)
  • 双路模式(Dual mode)fast read dual I/O (0xBBh)
  • 四路模式(Quad mode)fast read quad I/O (0xEBh)

XIP模式允许直接从SPI Flash内存中执行代码,而无需将其加载到RAM中。

在Dual/Quad SPI模式下,Winbond、Micron、Spansion和Macronix等品牌的存储器设备可能有一些不支持的命令。

Winbond存储器 (Ex: W25Q64VSFIG)

AXI Quad SPI IP核仅支持24位寻址模式,并且存在一些不支持的命令。

  • Fast read dual I/O continuous read mode(双通道I/O连续读取模式):允许数据通过两个I/O引脚连续地并行传输,从而增加数据传输速率。然而,该IP核不支持这种读取模式。
  • Fast read quad I/O continuous read mode(四通道I/O连续读取模式):与双路I/O连续读取模式类似,四路I/O连续读取模式通过四个I/O引脚并行传输数据,以进一步提高数据传输速率。但该IP核同样不支持这种读取模式。
  • Command ABh(释放Flash从掉电或高性能模式):ABh命令通常用于从特定的低功耗或高性能模式中唤醒Flash设备,不应用于读取设备ID。这意味着如果您尝试使用ABh命令来读取设备ID,它可能不会产生预期的结果。FFh命令通常用于重置SPI Flash设备的模式位,这在切换至Dual/Quad模式时特别有用。然而,由于该IP核仅支持24位寻址模式,并且可能不直接支持Dual/Quad模式,因此FFh命令也不被支持。

某些命令的异常行为:

  • 释放掉电/高性能模式(ABh)命令:用于从低功耗模式或高性能模式中释放SPI Flash存储器。这个命令在某些情况下也可以用于读取设备ID,但这需要配合不同的dummy字节组合。

ABh命令只支持用于释放低功耗模式或高性能模式的情况,而且在这个模式中,只需要在DTR中放置一个命令字节。也就是说,这个IP核不支持ABh命令用于读取设备ID的模式,因为它已经有另一个专门的命令90h来读取设备ID。

Micron 存储器 (Ex: N25Q256)

AXI Quad SPI IP核支持24位和32位寻址模式,但有一些特定的命令是不支持的。

(1)XIP模式或连续读取模式:在传统或增强模式下,所有存储器都不支持XIP模式或连续读取模式。

(2)Dual和Quad模式:虽然扩展SPI模式支持双通道和四通道模式下的所有命令,但Dual In Out (DIO)和Quad In Out (QIO)模式是不支持的。以下这些命令该IP核也不支持:

  • 96h:读取通用目的读取寄存器。
  • 9Bh:接口激活命令。
  • E7h :四通道IO字读取命令。
  • E1h :四字节写入易失性锁定位命令

(3)Quad模式下

在四路模式下,设计仅支持具有HOLD功能的Micron存储器部件。具有RESET功能的部件在设计中是不支持的。

Spansion存储器 (Ex: S70FL01GS)

AXI Quad SPI IP核在支持24位和32位寻址模式的同时,也存在一些不支持的命令。

  • 不支持所有双倍数据速率(DDR)命令:无论在哪种模式下,都不支持所有与双倍数据速率(DDR)相关的命令。
  • Spansion Flash的32位寻址模式:虽然Spansion Flash支持在ExtAddr位设置为1的情况下使用24位地址命令来实现32位寻址模式,但这个特性并不被AXI Quad SPI IP核所支持。
  • Spansion Flash的自动引导(Autoboot)命令:在任何模式下,AXI Quad SPI IP核都不支持Spansion Flash的自动引导命令。

Macronix存储器(Ex: MX66U1G45G)

AXI Quad SPI IP核支持24位和32位寻址模式,但在某些命令上存在限制。

虽然在扩展SPI模式下支持所有双路或四路模式下的命令,但双路输入输出(DIO)和四路输入输出(QIO)模式本身是不被支持的。这意味着即使扩展SPI模式支持某些在双路或四路模式下使用的命令,但IP核并不支持以DIO或QIO模式来执行这些命令。

标签:命令,IP,核中,支持,SPI,模式,Quad
From: https://blog.csdn.net/u011565038/article/details/139547288

相关文章

  • NOIP2024模拟12:孤帆远影
    NOIP2024模拟12:孤帆远影听了机房同学的讨论,于是T1死磕冒泡和逆序对做法。最后只得了40pts。思想对了,但不是自己的做法。还是要坚持自己想,坚持自己可以想出来,不要被任何人带偏。T1一句话题意:将一个已知序列通过不断“交换相邻位置”的操作调整成不严格单峰状态,问最小的操......
  • 笨小猴(NOIP2008 提高组)(限时免费,目前免费)
    问题描述笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果ma......
  • CSP历年复赛题-P5017 [NOIP2018 普及组] 摆渡车
    原题链接:https://www.luogu.com.cn/problem/P5017题意解读:先将问题进行抽象、建模。设一条数轴,从左到右,每个点对应一个时刻,每个时刻可能有多个人到达,然后有若干个发车时刻,每两个发车时刻间隔必须>=m,每个人的等待时长就是到最近一个发车时刻的时间累加,计算所有人等待时间最小值。......
  • Vue TypeScript 实战:掌握静态类型编程
    title:VueTypeScript实战:掌握静态类型编程date:2024/6/10updated:2024/6/10excerpt:这篇文章介绍了如何在TypeScript环境下为Vue.js应用搭建项目结构,包括初始化配置、创建Vue组件、实现状态管理利用Vuex、配置路由以及性能优化的方法,旨在提升开发效率与应用性能。categ......
  • JavaScript prototype(原型对象)
     所有的JavaScript对象都会从一个prototype(原型对象)中继承属性和方法。在前面的章节中我们学会了如何使用对象的构造器(constructor):实例functionPerson(first,last,age,eyecolor){this.firstName=first;this.lastName=last;this.age=age;this.eye......
  • JavaScript Number 对象
     JavaScript只有一种数字类型。可以使用也可以不使用小数点来书写数字。JavaScript数字JavaScript数字可以使用也可以不使用小数点来书写:实例varpi=3.14;//使用小数点varx=34;//不使用小数点极大或极小的数字可通过科学(指数)计数法来写:实例vary=1......
  • python-pip配置镜像源加速下载Python包安装:快速配置pip源-国内加速源
    目录一、简介二、国内常用加速源 三、配置pip加速源1.临时配置2.永久配置a.配置命令b.查看是否配置成功c.还原配置一、简介pip的原本安装源是PythonPackageIndex(PyPI)的官方源,其URL为https://pypi.org/simple/。PyPI是Python社区用来发布和共享软件包的官方仓......
  • OSI七层模型与TCP\IP四层模型
    1、OSI(OpenSystemsInterconnection)七层模型是由国际标准化组织(ISO)提出的一个理论框架,用于描述网络通信的过程。这个模型将网络通信的功能分为七个独立的层级,每一层都负责特定的任务,并且依赖于其下一层提供的服务。下面是OSI七层模型的详细解释:1.**应用层(ApplicationLayer......
  • 网上 copy 的一段 javascript 代码 String.prototype.replaceAll = fucntion(){...}
    早些年,浏览器没有内置字符串的replaceAll()方法,就从网上copy了一段replaceAll()的实现:String.prototype.replaceAll=function(AFindText,ARepText){raRegExp=newRegExp(AFindText,"g");returnthis.replace(raRegExp,ARepText)}今天突然遇到一个问题,定位到了这段代码,我......
  • 让你的网页动起来:Javascript+CSS拖曳盒子指南
    让网页上的元素具有拖拽功能,可以提升用户体验,尤其是在需要用户交互的场景中。下面是一个使用JavaScript和CSS来实现拖拽效果的基本指南。1.HTML结构首先,你需要在HTML中定义一个可拖拽的元素,通常是一个div。 <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"......