痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(11.2)- FlexSPI NOR链接方式大全(RT1060/1064(SIP))


  你们好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给你们介绍的是恩智浦i.MX RT1060/1064(SIP)两款MCU的FlexSPI NOR启动的链接方式html

  上一篇文章《FlexSPI NOR启动链接方式(RT1015/1020/1050)》 写完以后,痞子衡发给了作线上客户支持的同事们审阅,受到了同事们的好评,同事们但愿这个系列能把全部i.MXRT家族都写一遍,因而便有了今天的文章。特别提醒阅读本文时须要有上一篇文章的基础,由于有一些重复的内容本文不会赘述。
  今天的主角是i.MXRT1060和i.MXRT1064,说是两款不一样的芯片,其实本质上是一款,由于i.MXRT1064是i.MXRT1060的SIP(System In a Package)版本,简单的说就是 i.MXRT1060 + 内置QSPI NOR Flash (4MB, 108MHz) = i.MXRT1064。但要真说是一款芯片吧,其实它们确实是两款不一样的芯片,咱们今天要聊到的FlexSPI NOR启动特性(尤为是链接方式)上二者又不同。
  i.MXRT1060是紧接着i.MXRT1050以后推出的加强型,在IP数量上进一步增多,尤为是本文重点关注的IP - FlexSPI,i.MXRT1060内部集成了两个FlexSPI模块(均是双通道8bit),相比于i.MXRT1050的单FlexSPI模块,i.MXRT1060在双Flash启动链接的支持上要更丰富一些。而i.MXRT1064由于有内置Flash,其在单Flash启动方式则是定死的,永远从内部Flash启动,没法选择从外部Flash启动。
  i.MXRT1060集成双FlexSPI的主要用意其实并非链接两个Flash,而是一个挂Flash,另外一个挂HyperRAM。HyperRAM性能与价格如今与SDRAM相差无几,但引脚减小了不少,这对于I/O资源使用紧张的i.MXRT项目颇有帮助。微信

1、关于Pin2Pin兼容

  咱们知道i.MXRT1050和i.MXRT1060均是BGA196封装,并且它们是Pin2Pin兼容,这意味着只要你的代码里使用的资源在两个芯片上都存在,那么这个代码原则上既能够跑在i.MXRT1050上,也能够跑在i.MXRT1060上。
  你确定会以为奇怪,明明i.MXRT1060比i.MXRT1050多了一些IP模块(好比FlexSPI2),为何还能作到Pin2Pin兼容,那FlexSPI2模块的Pinmux跑哪里去了?且听痞子衡慢慢解释,Pinmux分配都在IOMUXC模块里,i.MXRT1050上每一个GPIO共支持ALT0-ALT7共8个选项,i.MXRT1060上关于ALT0-ALT7的定义与i.MXRT1050是如出一辙的,这是Pin2Pin兼容的根本缘由,但i.MXRT1060上部分GPIO还拓展了ALT8和ALT9,那些新增的IP模块的Pinmux都在ALT8-ALT9上。
  下表示例了GPIO_EMC[11:9]的ALT定义,能够看到ALT0-ALT7的定义在两个芯片上是同样的,可是i.MXRT1060上多了ALT8定义,这正是FlexSPI2的部分Pinmux。性能

2、涉及FlexSPI引脚

2.1 BootROM指定

  前面讲了,既然i.MXRT1060与i.MXRT1050是Pin2Pin兼容的,那么它们的BootROM在FlexSPI NOR启动的支持上是否是也同样的呢?你猜对了,虽然i.MXRT1060有两个FlexSPI模块,可是它的BootROM仅指定了从FlexSPI1启动,与i.MXRT1050是彻底一致的
  咱们能够在i.MXRT1060芯片参考手册System Boot这一章节找到BootROM指定的FlexSPI NOR引脚,痞子衡整理以下:flex

  下表适用于i.MXRT1060(适用全系列封装):spa

  i.MXRT1064内置了一片QSPI Flash,这片Flash固定连在FlexSPI2 PortA上,具体PAD是在GPIO_SPI分组里,可是你在芯片手册里根本找不到GPIO_SPI分组,由于这是芯片封装内部的I/O,没有引到外部BGA196封装上。为了充分利用片内Flash,其BootROM指定了仅从片内Flash所链接的FlexSPI2启动
  下表适用于i.MXRT1064(适用全系列封装):.net

2.2 BootROM未指定

  在此也列出不在BootROM指定的FlelxSPI NOR引脚,方便后续设计双Flash时参考。设计

  下表适用于i.MXRT106x(适用全系列封装):3d

3、单Flash链接方式

3.1 对于i.MXRT1060(3种)

  参考上一篇文章《FlexSPI NOR启动链接方式(RT1015/1020/1050)》 的 《3、单Flash链接方式(3种)》章节,在这方面,i.MXRT1060与i.MXRT1050是同样的。htm

3.2 对于i.MXRT1064(1种)

  单Flash链接方式对于i.MXRT1064来讲就是一种,直接使用内部QSPI Flash,用户板级设计根本不须要再考虑外挂Flash。这也是i.MXRT1064相比i.MXRT1060的最大意义所在。blog

4、双Flash链接方式

  i.MXRT1050/1020仅含单FlexSPI模块,最大能够同时挂4片QSPI Flash,i.MXRT106x的两个FlexSPI模块固然理论上能够同时挂8片Flash。仅考虑接两片Flash的话,选择真的是太多了。

4.1 对于i.MXRT1060(18+4种)

  参考上一篇文章《FlexSPI NOR启动链接方式(RT1015/1020/1050)》 的 《4、双Flash链接方式(18种)》章节,在这方面,i.MXRT1060也一样支持i.MXRT1050所支持的18种链接方式。须要注意的是这18种链接均是基于FlexSPI1。
  除了上述18种链接外,在i.MXRT1060上还能够实现FlexSPI1和FlexSPI2上各链接一个Flash,这是i.MXRT1060相比i.MXRT1050的独特优点,使用两个FlexSPI模块能够自然解决在Code Flash中原地执行代码去擦写Data Flash这个难题
  所在在i.MXRT1060上又新增了以下4种组合方式:

Num FlexSPI1 1st Option
BootROM指定
FlexSPI2
BootROM未指定
A_SS0 A_DATA[3:0]
A_SCLK
A_SS0 A_SS1 A_DATA[3:0]
A_SCLK
B_SS0 B_SS1 B_DATA[3:0]
B_SCLK
1
Code

Data
2
Code

Data
3
Code

Data
4
Code

Data

4.2 对于i.MXRT1064(3+16种)

  i.MXRT1064片内Flash固定为Code Flash,所以咱们只须要外挂一片Data Flash就行。因此对于i.MXRT1064来讲,双Flash方案须要从头设计,有了前面的基础,我们按葫芦画瓢吧:

Note:下面组合方案中第17种方案,由于涉及跟内部QSPI共信号,因此外挂Flash需跟内部QSPI Flash型号保持一致。恩智浦并无公布i.MXRT1064内部QSPI具体型号,但其实这也不是秘密,本身网上搜一搜相关信息吧,痞子衡就不在这里透露了。

Num FlexSPI 1st Option FlexSPI 2nd Option FlexSPI2
BootROM未指定 BootROM指定 BootROM未指定
A_SS0 A_SS1 A_DATA[3:0]
A_SCLK
B_SS0 B_SS1 B_SCLK B_DATA[3:0] A_SS1 B_SS0 A_SS0 A_SS1 A_DATA[3:0]
A_SCLK
B_DATA[3:0] A_SS0 A_DATA[3:0]
A_SCLK
A_SS1 B_SS0 B_SS1 B_DATA[3:0]
B_SCLK
1
Data

Code
2
Data

Code
3
Data

Code
4
Data

Code
5
Data

Code
6
Data

Code
7
Data

Code
8
Data

Code
9
Data

Code
10
Data

Code
11
Data

Code
12
Data

Code
13
Data

Code
14
Data

Code
15
Data

Code
16
Data

Code
17
Code

Data
18
Code

Data
19
Code

Data

5、双FlexSPI主要用意

  最后再简单介绍一下双FlexSPI的主要用意,咱们知道对于一些带LCD屏的i.MXRT项目,经常须要大的显存,芯片内部虽有高达1MB的RAM,但每每也捉襟见肘,因此咱们通常还须要外挂一片RAM。在i.MXRT1050上咱们是经过SEMC接口来接SDRAM,而到了i.MXRT1060上,除了接SDRAM以外,咱们还能够经过FlexSPI接口连HyperRAM,HyperRAM相比SDRAM在I/O占用上要少一些,这样咱们就能够省出更多的I/O用做其余设计。这才是双FlexSPI的核心价值。

  至此,恩智浦i.MX RT1060/1064(SIP)两款MCU的FlexSPI NOR启动的链接方式痞子衡便介绍完毕了,掌声在哪里~~~

欢迎订阅

文章会同时发布到个人 博客园主页CSDN主页微信公众号 平台上。

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

相关文章
相关标签/搜索