0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MIMXRT1064CVL5B连接HyperRAM

li1756686189 来源:嵌入式 MCU 作者:嵌入式 MCU 2022-11-08 09:39 次阅读

NXP MIMXRT1064CVL5B 能否支持使用SPI接口的HyperRAM?使用HyperRam的原因是为LCD存储帧或者USB记录数据或者以太网采集通信数据都需要缓冲区。使用NXP MIMXRT1062DVL6B MCUSDRAM使用并行接口会占用很多GPIO引脚,把所有二进制软件从非易失性Nand闪存复制到SDRAM,大多数SDRAM资源将用于运行应用代码,最大速度为166Mhz,如果在SDRAM上添加帧或者数据缓冲区,速度会很慢。MCU上还可用的接口是使用HyperRam。在MIMXRT1064CVL5B的参考手册中,FlexSPI 模块支持HyperBus 器件(HyperFlash / HyperRAM)。可以使用 I.MX Pins配置工具进行管脚和时钟配置。

efbf72ea-5e96-11ed-8abf-dac502259ad0.png

efe442a0-5e96-11ed-8abf-dac502259ad0.png

f010dcfc-5e96-11ed-8abf-dac502259ad0.png

使用S27KL0642DP为3.0V HyperRAM,不适用于1V8 HyperFlash,RT1060-EVK开发板中的默认FLASH_VCC为1V8,如果要使用S27KL0642DP,则应将FLASH_VC更改为3V。或者将HyperRAM更改为S27KS0642DP。S27KL0642DP的冗余时钟数为7。

f043798c-5e96-11ed-8abf-dac502259ad0.png

f05a5166-5e96-11ed-8abf-dac502259ad0.png

需要启用 combination。

f0dd6b3c-5e96-11ed-8abf-dac502259ad0.png

另外的 MPU 配置,设置存储器 0x60000000 为 ARM_MPU_AP_FULL,如下图所示。

f10afcfa-5e96-11ed-8abf-dac502259ad0.png

可以从调试器中获取 FlexSPI寄存器的状态。

f1344614-5e96-11ed-8abf-dac502259ad0.png

不管应用程序如何使用内存,都能够在HyperRAM中启用不可缓存区域。虽然在HyperRAM中配置不可缓存内存没有问题,禁用缓存的外部内存性能将大大降低。需要仔细考虑如何在应用程序中使用它。例如,与USB或网口一起使用。在MCU中的多个主机之间共享RAM确实需要一个不可缓存区域,因为缓存仅由内核使用。因此,USB端点缓冲区或由内核以外的主机更新的任何RAM都应该是不可缓存的。理想情况下,内部OCRAM将用于这些共享RAM,因为它比外部存储器的性能高得多。特别是对于高速USB或任何需要RAM高性能的主机,使用较慢的外部RAM可能会导致一些带宽/延迟问题。通常,这些与其他主机共享的RAM较小,非常适合放置在内部OCRAM中。

此外,由于堆栈一直在使用,并且经常是非线性访问,因此存储在非缓存的外部内存中可能会对应用程序的性能产生影响。堆栈仅由内核主机使用。理想情况下,堆栈将放置在DTCM中。或者,如果它们不适合DTCM,那么使用缓存的OCRAM或外部内存将优化性能。

在AN12239里面提到了测试验证过的 HyperRAM列表。

f15fcce4-5e96-11ed-8abf-dac502259ad0.png

实际测试,当Cached禁止的时候,HyperRAM写测试比读操作性能更高。HyperRAM 读/写性能(Dcache禁止)

f1849ae2-5e96-11ed-8abf-dac502259ad0.png

f1a883bc-5e96-11ed-8abf-dac502259ad0.png

一些配置可能会影响HyperRAM性能:

缓存影响——RT1060支持最大32K DCACHE和32K ICACHE,启用缓存后可以进一步提高性能。

预取缓冲区影响——RT1060支持1024KB的预取缓冲区,其策略如下:

可为指定的主控或多个主控配置共享同一缓冲区。自动将数据预取到缓冲区,直到缓冲区已满。检查是否命中预取地址范围,如果超出范围,则从FlexSPI 器件触发新的读取操作,否则,如果它已经在预取缓冲区中,则从AHB缓冲区读取,如果没有,则等待预取数据到缓冲区。

因此,需根据应用做不同的配置。如果每次数据访问都很小,并且访问地址不连续,建议设置较小的预取缓冲区大小。如果是连续地址访问,建议设置大的预取缓冲区大小。从HyperRAM测试性能来看,有以下建议:启用Cache缓存以进一步提高HyperRAM性能。

如下是 SDRAM(使能 Cache)测试数据:

f1c76a70-5e96-11ed-8abf-dac502259ad0.png

如下是 Hyper RAM(使能Cache)测试数据:

f1dffebe-5e96-11ed-8abf-dac502259ad0.png

f2027ce6-5e96-11ed-8abf-dac502259ad0.png

HyperRAM性能与SDRAM相比,SDRAM读取吞吐量(ARM内核读取)比HyperRAM慢。HyperRAM MPU配置:( non-shareable,Cacheable,Write back,使能 Dcache)。另外从内存性能来看,SDRAM/Hyper RAM/HyperFlash/Octal Flash几乎具有类似的性能,需要平衡ARM内核和DMA访问超RAM 时隙,可以更改NIC-301SIM-M7寄存器以设置ARM内核和DMA访问优先级。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16016

    浏览量

    343620
  • NXP
    NXP
    +关注

    关注

    60

    文章

    1214

    浏览量

    177237
  • HyperRAM
    +关注

    关注

    0

    文章

    4

    浏览量

    1432

原文标题:MIMXRT1064CVL5B 连接 HyperRAM

文章出处:【微信号:嵌入式 MCU,微信公众号:嵌入式 MCU】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    NXP品牌MCU系列最新优势到货型号:LPC4320FBD144,MCIMX6Y2CVM08AB,MIMXRT1051CVL5B等型号

    TDA8026ET/C3NXPTFBGA64 MIMXRT1051CVL5BNXP 196-MAPBGA(10*10)NXP品牌MCU系列型号众多,有需要请发深力科Sanlik企业qq:3008966581询价。
    发表于 03-18 21:50

    如何搭建NXP MIMXRT1052CVL5B + 正点原子 + MCUXpresso IDE的开发环境?

    如何搭建NXP MIMXRT1052CVL5B + 正点原子 + MCUXpresso IDE的开发环境?
    发表于 02-10 07:45

    MIMXRT1061CVL5B在断电然后上电后,微控制器无法启动的原因?

    我正在使用 MIMXRT1061CVL5B MCU,我偶然发现了一个问题,在某些情况下,在断电然后上电后,微控制器无法启动。经过一些调查,我发现在这种情况下,控制器不启动的情况总是在加电时电源没有
    发表于 03-16 09:00

    可以使用MIMXRT1062CVJ5A为基于MIMXRT1062CVJ5B的开发板构建SDK吗?

    嗨,大家好,我设计了一个基于 MIMXRT1062CVJ5B 的定制板。 当我在 SDK 构建器网站中搜索此 MCU 时,我找不到 MIMXRT1062CVJ5B 部件号,但是可以找到不推荐用于新设
    发表于 03-21 06:33

    如何下载MIMXRT1051CVL5B的IAR IDE SDK?

    嗨恩智浦支持者,我无法登录网站 mcuxpresso.nxp.com 下载 imx 的 SDK。你能帮我下载MIMXRT1051CVL5B的IAR IDE SDK吗!
    发表于 03-22 07:34

    PIMXRT1064DVL6A的MIMXRT1064-EVK板温度怎么可能比环境温度低这么多?

    我加载了一个简单的代码,用于监控两个不同板上的温度结点。第一个是安装了 PIMXRT1064DVL6A 的 MIMXRT1064-EVK 板,第二个是带有 MIMXRT1064DVJ6B 的定制板
    发表于 03-24 08:48

    如何为 i.MIMXRT1064 EVK启用ETM(嵌入式跟踪宏单元)功能?

    你好。我们正在尝试为 i.MIMXRT1064 EVK 启用 ETM(嵌入式跟踪宏单元)功能。请帮忙
    发表于 03-30 07:31

    如何在MIMXRT1064评估套件上部署tflite模型?

    我有一个婴儿哭声检测 tflite (tensorflow lite) 文件,其中包含模型本身。我如何将此模型部署到 MIMXRT1064-evk 以通过 MCUXpresso IDE 运行推理。你能推荐一些用于婴儿哭声检测的教程和输入数据集吗?
    发表于 04-06 06:24

    如何使用MCUXpresso安全配置工具通过UART闪存MIMXRT1064

    我正在尝试使用 MCUXpresso 安全配置工具通过 UART 闪存 MIMXRT1064。所有必要的配置都已完成。引导模式设置为串行下载器 (01)。处理器连接正确。我们反复遇到同样的错误。是否有任何其他配置或设置需要完成?请帮助
    发表于 04-14 06:39

    将非缓存数据放在HyperRAM中有什么问题吗?

    我有一个带有 RT1064HyperRAM(与 EVK 相同的芯片)的系统。这非常有效,我已经运行了数周又数周的 RAM 测试,一切都很好。但是,如果我将不可缓存的区域放在 HyperRAM
    发表于 04-17 07:04

    MiMXRt1064 -EVK停止调试并报错的原因?

    嗨,刚开始使用 MiMXRt1064 -EVK,今天它突然停止调试并出现此错误消息,我正在使用板载链接服务器漏洞和 MCUXpresso,版本如下MCUXpresso IDE v11.1.1
    发表于 04-17 06:07

    如何在MIMXRT1064 EVK中通过USB OTG写入图像?

    MIMXRT1064 EVK 中通过 USB OTG 写入图像
    发表于 04-21 06:15

    MIMXRT1051CVL5B MCU不唤醒的原因?

    我们的设计中有 MIMXRT1051CVL5B。 MCU SNVS 和 3.3V 轨在要求的范围内,时钟正常,但是当我们将 USB 主机连接到 J16 连接器或将 NXP 调试器连接
    发表于 05-05 09:16

    MIMXRT1051CVL5B VDD_USB_CAP 引脚浮动,是否有任何东西可能损坏或无法正常工作吗 ?

    我们的设计中有 MIMXRT1051CVL5B。 如果 VDD_USB_CAP 引脚浮动(并且未连接到电容器),我能知道是否有任何东西可能损坏或无法正常工作吗
    发表于 05-09 10:24

    MIMXRT1062CVL5B和MIMXRT1062XVN5B的区别

    根据上表,MIMXRT1062CVL5B和MIMXRT1062XVN5B的区别主要是工业级温度范围,封装大小。
    的头像 发表于 12-06 09:25 1685次阅读