当前位置: 首页 > news >正文

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


  大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是i.MXRT中FlexSPI外设速度上限的三个影响因子

  FlexSPI 几乎是开发 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]
0x00x10x3
RT1010SDR 60MHz, DDR 30MHzSDR 133MHz, DDR 66MHzSDR/DDR 133MHz
RT1020/1040/1050/1060SDR 60MHz, DDR 30MHzSDR 133MHz, DDR 66MHzSDR/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外设速度上限的三个影响因子痞子衡便介绍完毕了,掌声在哪里~~~

欢迎订阅

文章会同时发布到我的 博客园主页、CSDN主页、知乎主页、微信公众号 平台上。

微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。

http://www.jsqmd.com/news/53310/

相关文章:

  • Yanhua Mini ACDP-2 Module 38: BMW BDC2 Keys Learning LF Smart Key Antenna Bench Platform
  • 第二天—C++语法基础
  • 自指自洽,别具一格的逻辑,千奇百怪的因果
  • Day26垂直对齐方式--vertical-align
  • 2025 年 12 月上海 AMC12 择校指南:选对专业机构,高效冲刺竞赛目标
  • USB输入监控
  • 2025年度绍兴交通事故优秀律师推荐|聚焦实力与口碑
  • 最小链覆盖 - Dilworth 定理 小记
  • 我研发了一款电影截图拼接神器:Eagle 插件让你的影片收藏更专业
  • 有种人
  • memset 破坏string
  • 关于字符串的小记
  • [NOIP2024] 编辑字符串-题解
  • 机器人设备端AI技术实现突破
  • 11月27日日记
  • 信创环境 海光7455D+深信服超融合+阿里龙晰8.6 虚拟机扩容方法 - yi
  • 251127今天是学习的一天
  • 三菱Q/西门子S7-300 PLC互联Modbus TCP 转 Modbus RTU工业网关
  • 基于Java+SSM+Flask宠物综合服务平台(源码+LW+调试文档+讲解等)/宠物服务/宠物商城/宠物用品/宠物医疗/宠物美容/宠物寄养/宠物保险/宠物社区/宠物咨询/宠物培训 - 指南
  • 金融科技中网络安全的关键作用
  • 否定之否定的辩证法,谁会不承认?但又有多少人说的透?
  • Windows Update - Part 5: Timeline [discarded draft]
  • wechatapi-微信号二次开发
  • 2025年12月最新最全的AI搜索优化公司与GEO优化公司排行榜:8大国内头部Top级GEO服务商深度解析与AIEO推荐指南
  • CVE-2022-26271
  • MySQL性能分析(六)之Performance Schema监控SQL性能
  • js控制并发请求
  • Windows Update - Part 2: Update Package - Appendix
  • Azure app service 和 Azure container app 的对比以及技术选型
  • Nestjs框架: 微服务与分布式架构解析之核心概念、应用场景与技术挑战 - 指南