|
大家好,我是痞子衡,是正經(jīng)搞技術的痞子。今天痞子衡給大家分享的是i.MXRT中FlexSPI外設不常用的讀選通采樣時鐘源 - loopbackFromSckPad。
5 N$ U6 ^6 r7 K1 G5 Q7 t+ T最近碰到一個客戶,他們在 i.MXRT500 上使能了 FlexSPI->MCR0[RXCLKSRC] = 2(即 loopbackFromSckPad),這個選項字面上的意思是設置讀選通采樣時鐘源為 SCK 引腳,這個選項在恩智浦官方的代碼包里未曾使能過?蛻粼谑褂眠^程中遇到高頻時 SCK 引腳被降壓的問題(從正常的 1.8V 降至 1.2V),那么這個 loopbackFromSckPad 選項到底是什么作用以及有什么使用限制呢?且聽痞子衡道來:
4 G1 J3 r) C/ `6 b+ z _Note1: 參考手冊里顯示支持 loopbackFromSckPad 選項的型號有 i.MXRT1040/1050/1060/1064/1180/500Note2: 參考手冊里沒有提及支持 loopbackFromSckPad 選項的型號有 i.MXRT1010/1015/1020/1024/1160/1170/600一、為什么存在Read Strobe?對于串行 SPI 接口存儲器,F(xiàn)lexSPI 外設主要支持如下兩種讀數(shù)據(jù)時序:一是所謂的經(jīng)典 SPI 模式,IO0 (MOSI) 專用于發(fā)送命令和地址,IO1 (MISO) 專用于接收數(shù)據(jù)(圖中上面的時序)。二是 Multi-I/O SPI 模式,SIO[n:0] 一起用于發(fā)送命令地址以及接收數(shù)據(jù)(圖中下面的時序)。
9 [; l ^0 R# w. _. ]顯然經(jīng)典 SPI 模式下 IO[1:0] 是單向的,而 Multi-I/O SPI 模式下,SIO[n:0] 是雙向的。當 SIO 用于雙向傳輸時,過程中必然存在引腳方向切換,而 FlexSPI 外設在處理 SIO 方向切換時無法做到零等待周期讀取數(shù)據(jù),這就是為什么 Multi-I/O SPI 讀時序中總是會存在 Dummy 周期。 |
|