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