痞子衡嵌入式:恩智浦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主頁微信公衆號 平臺上。

微信搜索"痞子衡嵌入式"或者掃描下面二維碼,就能夠在手機上第一時間看了哦。

相關文章
相關標籤/搜索