news 2026/6/10 12:02:44

痞子衡嵌入式:i.MXRT中FlexSPI外设速度上限的三个影响因子(数据手册里的纠结)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
痞子衡嵌入式:i.MXRT中FlexSPI外设速度上限的三个影响因子(数据手册里的纠结)

lexSPI 几乎是开发 i.MXRT 系列绕不开的外设,XIP 性能、OTA 设计、显存扩展这些话题均不可避免要和 FlexSPI 打交道,这其中我们最关心的点就是 FlexSPI 的速度上限,这直接影响最终应用程序的运行性能。

在芯片参考手册(RM)里更多地是介绍 FlexSPI 共性功能,而速度这个性能方面的参数会因平台而异(不同芯片型号之间可能有一定差异),因此这些差异化信息往往会被放在芯片数据手册(DS)里介绍。今天痞子衡以 RT1180 数据手册里关于 FlexSPI 速度方面的纠结性描述为例来聊聊影响 FlexSPI 速度上限的三个关键因子:

一、FlexSPI外设性能设计

从 i.MXRT 家族第一个成员 RT1050 (2018年发布)到最新的 RT1180(2025年发布),其中 FlexSPI 外设的功能设计经历了多次迭代和优化,但是始终坚持了同一个上限性能标准,那就是满足 200MHz SDR/DDR 时序(这里仅指外设本身,但在 MCU 系统里最终性能可能会有损失)。

FlexSPI 外设本身性能上限原则上也算一个影响因子,但考虑到 i.MXRT 家族全系列这个指标都一样,所以我们就不特别指出这个影响因子。

二、清爽的RT3digits数据手册

我们打开 RT500 的 DS(Rev.3),找到 FlexSPI Flash interface 小节,可以清晰地看到 FlexSPI 性能能够达到本身上限,所以这里没有啥疑义。(关于 RX Clock source 选项解释详见痞子衡旧文《i.MXRT中FlexSPI外设采样时钟源》)

这里有必要指出影响 FlexSPI 性能上限的第一个因子,那就是 VDDCORE 电源电压。从下表可以看出,RT500 在不同电压等级下,FlexSPI 的最大时钟频率是不同的:

此外如果有些 FlexSPI Port 没有将 DQS 信号从 PAD 引出,那么最大性能也是达不到的,比如 RT600 PortB。由于这个因子属于特殊情况(更多详见痞子衡旧文《i.MXRT中不支持DQS的FlexSPI引脚组》),这里我们也不将其特别指出。

美中不足的是 RT3digits 系列的数据手册里未发现 I/O AC 参数表(最大频率 fmax, 上升时间 tr, 下降时间 tf 等),这可能是因为 RT3digits 来源于 LPC 平台,而 LPC 系列的数据手册里也找不到 fmax,关于这个 fmax 有什么用,下一节我们会细讲。

三、从纠结的RT1180数据手册引出三个影响因子

在讲 RT1180 之前,我们先简单过一下 RT10xx 系列数据手册,它们都是单核产品,MCU 系统架构相对简单,所以 FlexSPI 性能描述也比较清爽,虽然上限没达到 SDR/DDR 200MHz,但是超频跑也不是完全不可以,恩智浦芯片设计 Margin 一般都会留得比较足。另外 I/O AC 参数表里虽然没有 fmax,但是由于各 PAD 组性能并没有差异,这里我们暂时也没必要进一步讨论。

MCU型号 FlexSPIn_MCR0[RXCLKSRC]

0x0 0x1 0x3

RT1010 SDR 60MHz, DDR 30MHz SDR 133MHz, DDR 66MHz SDR/DDR 133MHz

RT1020/1040/1050/1060 SDR 60MHz, DDR 30MHz SDR 133MHz, DDR 66MHz SDR/DDR 166MHz

现在我们来看双核产品 RT1170/1180,这里数据手册描述就开始变得有点纠结了。从 RT1180 的数据手册(Rev.7)里,我们可以看到一些比较有意思的细节。首先是 PAD 被分类了,有 fmax 208MHz/200MHz 高速 PAD 和 fmax 104MHz 标准 PAD 之分,这是影响 FlexSPI 性能上限的第二个因子,如果 PAD fmax 性能不够,那么 FlexSPI 的最大频率也会受限。

从 RT1180 数据手册里我们看到 FlexSPI parameters 小节里提及的上限性能仍然是 166MHz SDR/DDR,这似乎和 RT1050 它们没啥区别,别着急我们继续往下看:

细心找,你会发现如下 SDR200M 和 DDR200M 的补充表格,这说明 RT1180 实际上是支持 200MHz SDR/DDR 的,但是仅在 FlexSPI1 上(注意 RT1180 有两个 FlexSPI 外设)。这似乎是影响 FlexSPI 速度上限的第三个因子(即 FlexSPI 外设编号),不同编号的 FlexSPI 可能有不同的性能上限,这个结论既对又不对,并不是 FlexSPI 外设本身性能差异,而是不同编号 FlexSPI 在 MCU 系统架构中的位置不同导致的性能差异(与 PAD 之间的 path 长度),这才是真正的第三个影响因子。

因此 RT1180 数据手册里有如下总结,这个总结综合了 FlexSPI 性能全部影响因子,还是比较全面的,看到这里,你应该不会再对数据手册里的描述感到纠结了吧!

至此,i.MXRT中FlexSPI外设速度上限的三个影响因子痞子衡便介绍完毕了,掌声在哪里~~~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 4:39:55

AI 智能体 RAG 入门教程

正在寻找⼀种可靠的⽅法来构建智能知识客服或强⼤的知识库?检索增强生成 (RAG) 技术正是您实现这些⽬标的理想选择。 RAG,全称为 Retrieval-Augmented Generation,中⽂译为检索增强⽣成。这项技术的核⼼在于整合两⼤关键功能: 检索…

作者头像 李华
网站建设 2026/6/10 0:33:47

源代码加密软件怎么选?应该考虑哪些关键技术要点

在源代码开发场景中,加密软件的选型需同时兼顾安全防护与开发效率,传统文件透明加密易被绕过、存在文件损坏风险,云桌面则成本高、依赖网络。深信达SDC 沙箱以全磁盘加密、代码级安全防护为核心,适配本机原生开发模式,…

作者头像 李华
网站建设 2026/6/10 6:08:02

LeetCode 3573.买卖股票的最佳时机 V:深度优先搜索

【LetMeFly】3573.买卖股票的最佳时机 V:深度优先搜索 / 动态规划:通俗讲解 力扣题目链接:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-v/ 给你一个整数数组 prices,其中 prices[i] 是第 i 天股票的价格&…

作者头像 李华
网站建设 2026/6/2 22:58:42

从零构建智能四足机器人:Mini Pupper开发全流程解析

在机器人技术快速发展的今天,拥有一款能够自主导航、执行复杂动作的四足机器人不再是遥不可及的梦想。Mini Pupper作为一款开源ROS机器人狗套件,为机器人爱好者提供了从硬件组装到软件编程的完整解决方案,让每个人都能亲手打造属于自己的智能…

作者头像 李华
网站建设 2026/6/10 0:14:26

别再用 PHP 动态方法调用了!三个坑让你代码难以维护

可能在项目代码里见过这样的写法:$this->{methodName}() 或者 $this->{$variable}()。这就是动态方法调用,在运行时才确定要调用哪个方法。看起来很灵活对吧?但用多了你就会发现,这玩意儿会给代码维护带来不少麻烦。IDE 找不…

作者头像 李华