痞子衡嵌入式:主流QuadSPI NOR Flash厂商关于QE位与IO功能复用关联设计
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家讲的是几家主流QuadSPI NOR Flash厂商关于QE位与IO功能复用关联设计。
痞子衡之前写过一篇文章 《串行NOR Flash下载/启动常见影响因素之QE bit》,这篇文章介绍了几家主流厂商关于 QE bit 在 Flash 内部寄存器位置以及写入命令上的差异。今天这篇文章,咱们接着往下聊,讲一讲这几家厂商在 QE bit 与 I/O 引脚功能复用关系设计上的差异。
QuadSPI NOR Flash 的常见封装形式有:8-Pin SOIC/SOP/DIP/WSON/USON、16-Pin SOIC/SOP、WLCSP-21、TFBGA-24 等,本文主题是关于 I/O 引脚功能复用,显然只有引脚较少的型号才会做引脚复用设计,所以咱们主要聊得是如下典型芯片的那些 8-Pin 封装的型号:
华邦 W25Q128JWSIM
旺宏 MX25L12833F
兆易创新 GD25LE128D
镁光 MT25QL128ABA
芯成 IS25WP128
英飞凌 S25FL128L
瑞萨 AT25SL128A
一、各厂商设计
1.1 华邦 Winbond
华邦的芯片引脚复用主要是 IO2 上加了 WP# 功能,IO3 上加了 HOLD# 或者 RESET# 功能。
芯片内部 Status Register-2[1] 是 QE 控制位,决定了 IO2/3 到底是数据传输信号还是复用的WP#、HOLD#/RESET# 信号。这里有一个注意点,芯片丝印末位为 Q 的型号(比如W25Q128JWSSIQ)出厂默认 QE 为 1,并且不可更改为 0 (据说这是华邦为了某大客户省去 IO2/3 上拉烦恼而特意做的设计,并顺便推广了)。
当 QE = 0 时,IO3 引脚到底是 HOLD# 功能还是 RESET#,这是 Status Register -3[7] 来决定的:
当 QE = 0 且 IO3 被配置为 RESET# 时,因为是低电平有效,为了保证不会误复位 Flash,需要给 IO3 加外部上拉(Flash 内部没有上拉)。如果此时想利用这个 RESET# 引脚复位 Flash,需持续拉低至少 tRESET 时间,Flash 会在最长 tRST 时间后才能正常响应读写操作。
1.2 旺宏 Macronix
旺宏的芯片引脚复用主要是 IO2 上加了 WP# 功能,IO3 上加了 RESET# 功能(是的,没有 HOLD# 功能)。旺宏家有一个特色就是当 IO2/3 没有物理上的信号连接时,其会保持内部弱上拉状态。
芯片内部 Status Register[6] 是 QE 控制位,决定了 IO2/3 到底是数据传输信号还是复用的WP#、RESET# 信号。
如果要借助 RESET# 引脚做 Flash 复位,旺宏家数据手册里这部分写得特别详细,还区别了不同 Flash 状态下做复位后所需要的 tREADY2 时间。
1.3 兆易创新 GigaDevice
兆易创新的芯片引脚复用主要是 IO2 上加了 WP# 功能,IO3 上加了 HOLD# 功能(是的,没有名义上的 RESET# 功能)。Flash 厂商前三强关于这里的设计都不同。
需要注意的是兆易创新家也有一个特色就是当 CS# 拉高且 HOLD# 拉低时,也有 Flash 复位效果,这感觉 IO3 的复用功能是根据 CS# 信号状态来切换的。
芯片内部 Status Register-2[1] 是 QE 控制位,决定了 IO2/3 到底是数据传输信号还是复用的WP#、HOLD# 信号。
因为没有名义上的 RESET# 功能,所以数据手册里的 AC 表主要是为软件 Reset 命令写的,但是相信也适用隐藏的 RESET# 功能。
1.4 镁光 Micron
镁光家的做法就更有意思了,IO2 上加了 WP# 功能这个没异议,IO3 上功能复用直接提供两种不同型号,要么是 HOLD#,要么是 RESET#。
当然镁光家最大的特色是并没有 QE 控制位,IO2/3 具体功能主要靠当前命令类型来决定:如果是 Single SPI 或者 Dual I/O SPI 传输,则 IO2/3 是 WP#/RESET#/HOLD# 功能;如果是 Quad I/O SPI 传输,则 IO2/3 用于传输数据。
此外,镁光家还在 Configuration Register[4] 里让用户可以选择是否关闭 IO3 的 Reset/Hold 复用功能。
关于 RESET# 信号时序,镁光数据手册里也写得比较详细。
1.5 芯成 ISSI
芯成的芯片引脚复用主要是 IO2 上加了 WP# 功能,IO3 上加了 HOLD# 或者 RESET# 功能。跟华邦家设计一致。
芯片内部 Status Register[6] 是 QE 控制位,决定了 IO2/3 到底是数据传输信号还是复用的WP#、HOLD#/RESET# 信号。
当 QE = 0 时,IO3 引脚到底是 HOLD# 功能还是 RESET#,这是 Read Register[7] 来决定的:
关于 RESET# 信号时序,芯成数据手册里写得与华邦、兆易创新一样比较粗略。
1.6 英飞凌(原Spansion)
英飞凌的芯片引脚复用主要是 IO2 上加了 WP# 功能,IO3 上加了 RESET# 功能。跟旺宏家设计一致。英飞凌家明确地给 IO2/3 内部加了上拉,不用可以直接悬空。
芯片内部 Configuration Register-1 Volatile[1] 是 QE 控制位,决定了 IO2/3 到底是数据传输信号还是复用的WP#、RESET# 信号。
此外,英飞凌家还在 Configuration Register-2 Volatile[7] 里让用户可以选择是否关闭 IO3 的 RESET# 复用功能。
关于 RESET# 信号时序,英飞凌数据手册里写得比较简洁。
1.7 瑞萨(原Adesto)
瑞萨的芯片引脚复用主要是 IO2 上加了 WP# 功能,IO3 上加了 HOLD# 功能。IO2/3 内部也加了上拉。
芯片内部 Status Register-2[1] 是 QE 控制位,决定了 IO2/3 到底是数据传输信号还是复用的WP#、HOLD# 信号。
因为 8-Pin 封装完全没有硬件 RESET# 信号设计,所以就不介绍复位时序了。
二、快速对比表
| 厂商型号 | 复用情况 | QE位控制 | IO3复用功能选择 | IO2/3上拉情况 |
|---|---|---|---|---|
| 华邦 W25Q128JWSIM | IO2与WP# IO3与HOLD#/RESET# |
Status Register-2[1] | Status Register-3[7] | 无内部上拉 |
| 旺宏 MX25L12833F | IO2与WP# IO3与RESET# |
Status Register[6] | N/A | 内部弱上拉(仅当悬空时) |
| 兆易创新 GD25LE128D | IO2与WP# IO3与HOLD# |
Status Register-2[1] | CS# | 无内部上拉 |
| 镁光 MT25QL128ABA | IO2与WP# IO3与HOLD# IO3与RESET# |
传输命令类型 | Config Register[4]开关 | 无内部上拉 |
| 芯成 IS25WP128 | IO2与WP# IO3与HOLD#/RESET# |
Status Register[6] | Read Register[7] | 无内部上拉 |
| 英飞凌 S25FL128L | IO2与WP# IO3与RESET# |
Config Register-1[1] | Config Register-2[7] | 内部上拉 |
| 瑞萨 AT25SL128A | IO2与WP# IO3与HOLD# |
Status Register-2[1] | N/A | 内部上拉 |
至此,主流QuadSPI NOR Flash厂商关于QE位与IO功能复用关联设计痞子衡便介绍完毕了,掌声在哪里~~~
欢迎订阅
文章会同时发布到我的 博客园主页、CSDN主页、知乎主页、微信公众号 平台上。
微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。

痞子衡嵌入式:主流QuadSPI NOR Flash厂商关于QE位与IO功能复用关联设计的更多相关文章
- 痞子衡嵌入式:实抓Flash信号波形来看i.MXRT的FlexSPI外设下AHB读访问情形(无缓存)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是实抓Flash信号波形来看i.MXRT的FlexSPI外设下AHB读访问情形. 上一篇文章 <i.MXRT中FlexSPI外设对A ...
- 痞子衡嵌入式:RT-UFL - 一个适用全平台i.MXRT的超级下载算法设计
大家好,我是痞子衡,是正经搞技术的痞子.今天给大家带来的是痞子衡的开源项目 RT-UFL. 痞子衡在近两年多的i.MXRT客户项目支持过程中,遇到的一个相当高频的问题就是制作i.MXRT下载算法.我们 ...
- 痞子衡嵌入式:利用i.MXRT1xxx系列ROM集成的DCD功能可轻松配置指定外设
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是利用i.MXRT1xxx系列ROM集成的DCD功能可轻松配置指定外设. 关于 i.MXRT1xxx 系列芯片 BootROM 中集成的 ...
- 痞子衡嵌入式:浅谈i.MXRT1xxx系列MCU时钟相关功能引脚的作用
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1xxx系列MCU时钟相关功能引脚作用. 如果我们从一颗 MCU 芯片的引脚分类来看芯片功能,大概可以分为三大类:电源.时钟 ...
- 痞子衡嵌入式:ARM Cortex-M内核那些事(3)- 功能模块
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是ARM Cortex-M功能模块. ARM Cortex-M处理器家族发展至今(2016),已有5代产品,分别是CM0/CM0+.CM1 ...
- 痞子衡嵌入式:同一厂商不同系列Flash型号下Dummy Cycle设置方法可能有差异 (以IS25LP064为例)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是同一厂商不同系列Flash型号下Dummy Cycle设置方法的差异. 上一篇文章 <在i.MXRT启动头FDCB里调整Flash ...
- 痞子衡嵌入式:国内外串行NOR Flash厂商官网Cross Reference功能使用体验
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是国内外串行NOR Flash厂商官网Cross Reference功能. 串行 NOR Flash 是一个相对发展稳定的市场,目前全球市场 ...
- 痞子衡嵌入式:RT-MFB - 一种灵活的i.MXRT下多串行NOR Flash型号选择的量产方案
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是一种灵活的i.MXRT下多串行NOR Flash型号选择的量产方案. 对于以 i.MXRT 这类没有内部 NVM (Non-Volati ...
- 痞子衡嵌入式:盘点国内RISC-V内核MCU厂商
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是国内RISC-V内核MCU厂商. 虽然RISC-V风潮已经吹了好几年,但2019年才是其真正进入主流市场的元年,最近国内大量芯片公司崛起 ...
- 痞子衡嵌入式:盘点国内RISC-V内核MCU厂商(2020年发布产品)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是国内RISC-V内核MCU厂商(2020). 虽然RISC-V风潮已经吹了好几年,但2019年才是其真正进入主流市场的元年,最近国内大量 ...
随机推荐
- python3常用模块和方法
1.使用索引反转字符串 str="hello" print(str[::-1]) 2.zip函数获取可迭代对象,将它们聚合到一个元组中,然后返回结果.语法是zip(*iterabl ...
- Python之进程管理
使用python创建进程 from multiprocessing import Process # 导入进程模块 import time # 定义一个函数,测试创建进程使用 def task(nam ...
- Linux文件系统故障,Input/output error
事情是这样的,在启动某一个应用程序的时候,出现 Input/output error 的报错,磁盘以及目录无法使用的情况下,进行了重启,重启完成后是可以正常使用的,过一段时间后就会再次出现这个问题,一 ...
- 【书籍阅读】【Spring实战】二 装配Bean
Spring配置的可选方案 ①自动化装配Bean:@Component ②Java代码装配Bean:@Bean ③XML装配Bean 自动化装配Bean Spring从两个角度实现对 @Compone ...
- msp430点灯实验
title: msp430点灯实验 date: 2023-04-15 15:31:25 description: 基于msp430f5529点灯实验 一.实验内容 使用开发板:msp430f5529 ...
- 景顺长城基于 Apache APISIX 在金融云原生的生产实践
本文介绍了景顺长城在金融云原生架构演进中选择 APISIX 作为网关工具的技术细节,同时分享了使用 APISIX 的实践细节,并对 APISIX 的未来展望进行了探讨. 作者李奕浩,景顺长城信息技术部 ...
- odoo wizard界面显示带复选框列表及勾选数据获取
实践环境 Odoo 14.0-20221212 (Community Edition) 需求描述 如下图(非实际项目界面截图,仅用于介绍本文主题),打开记录详情页(form视图),点击某个按钮(图中的 ...
- App复杂动画实现——Rive保姆级教程
作者:京东物流 沈明亮 在App开发过程中,如果想实现动画效果,可以粗略分为两种方式.一种是直接用代码编写,像平移.旋转等简单的动画效果,都可以这么干,如果稍微复杂点,就会对开发工程师的数学功底.图形 ...
- 笔记:C++学习之旅 ---string 类、vector和迭代器
string 类 #include <iostream> #include <string> using namespace std; int main() { ...
- i < sqrt(n) 和 i*i < n 那一种写法更加高效?
这两种写法效率依赖处理器.编译器和标准库.一般来说循环内的重复操作的性能差于循环外的单次操作. 参考文献 Which is more efficient to use in a for loop, i ...