https://www.cnblogs.com/henjay724/p/14438002.html 今天痞子衡給大家分享的是串行NOR Flash的DQS信號(hào)功能。 串行NOR Flash在嵌入式里的應(yīng)用相當(dāng)廣泛,既可用作數(shù)據(jù)存儲(chǔ)也可以用作代碼(XiP)存儲(chǔ),串行NOR Flash種類很多,最早期有Standard SPI(一線),后來(lái)發(fā)展到QuadSPI(四線),到現(xiàn)在OctalSPI或者HyperBus SPI(八線),I/O管腳越來(lái)越多,數(shù)據(jù)吞吐率也越來(lái)越高。但到八線Flash的時(shí)候,你會(huì)發(fā)現(xiàn)多了一個(gè)特殊的控制信號(hào)DQS,DQS是Data Strobe Signal縮寫,中文直譯叫數(shù)據(jù)選通信號(hào),這個(gè)DQS信號(hào)有什么作用呢?今天痞子衡帶大家分析一下: 一、回顧DDR中DQS我們對(duì)DQS信號(hào)更深的印象應(yīng)該來(lái)源于DDR,DDR是DDR SDRAM的簡(jiǎn)稱,其本身也是Double Data Rate(雙倍數(shù)據(jù)速率)的縮寫。從RAM分類來(lái)看,DDR是DRAM范疇內(nèi)的重要組成,DDR已經(jīng)發(fā)展到了第n代了。 在DDR中,DQS信號(hào)主要作用是用來(lái)在一個(gè)時(shí)鐘周期內(nèi)準(zhǔn)確的區(qū)分出每個(gè)數(shù)據(jù)傳輸周期,從而便于接收方準(zhǔn)確接收數(shù)據(jù)。DQS信號(hào)是雙向的,在寫入DDR時(shí)它用來(lái)傳送由主設(shè)備發(fā)來(lái)的DQS信號(hào),讀取DDR時(shí)則由DDR生成DQS向主設(shè)備發(fā)送,所以DQS其實(shí)就是數(shù)據(jù)的同步信號(hào)。關(guān)于DQS以及DDR原理可以參看網(wǎng)上一篇很好的文章《DDR工作原理》。 那么Flash上的DQS功能與DDR上DQS是不是一樣呢?有相同點(diǎn)也有不同點(diǎn),咱們繼續(xù)往下看: 二、DQS之Octal Flash篇我們來(lái)看一款典型的Octal Flash,來(lái)自MXIC的MX25UM51345G。這款Flash包含DQS引腳(I/O屬性為輸出),從芯片數(shù)據(jù)手冊(cè)里找到跟DQS信號(hào)相關(guān)的主要是下面這張輸出時(shí)序圖,DQS信號(hào)僅在DTR模式(SCLK雙邊沿采樣)時(shí)生效,并且只在Flash輸出數(shù)據(jù)時(shí)起作用(主設(shè)備寫Flash時(shí),DQS不起作用),即DQS信號(hào)是Flash發(fā)出的用于通知讀取Flash的主設(shè)備SIO[7:0]數(shù)據(jù)線開始更新的標(biāo)志。 讓我們結(jié)合AC特性表里的Symbol再來(lái)進(jìn)一步分析,SCLK信號(hào)邊沿用于觸發(fā)Flash數(shù)據(jù)更新,但是SIO[7:0]數(shù)據(jù)線并不是在SCLK邊沿就立刻更新并且穩(wěn)定的,這里有一定的時(shí)延(tCHQV),在tCHQV時(shí)間內(nèi),F(xiàn)lash核心收到SCLK觸發(fā)信號(hào),開始準(zhǔn)備數(shù)據(jù),并陸續(xù)放到SIO[7:0]線上。由于tCHQV時(shí)間相對(duì)較長(zhǎng),主設(shè)備僅根據(jù)SCLK信號(hào)邊沿不知道應(yīng)該什么時(shí)候去拿數(shù)據(jù),因此誕生了DQS,DQS信號(hào)邊沿標(biāo)志著SIO數(shù)據(jù)線開始更新,但是SIO[7:0]一共8根數(shù)據(jù)線,這8根數(shù)據(jù)線更新不是完全同步的,這就有一個(gè)硬性規(guī)定,即tDQSQ時(shí)間,各數(shù)據(jù)線SIO[x]在DQS信號(hào)跳變開始后不得超過(guò)tDQSQ最大時(shí)間必須把數(shù)據(jù)更新完畢。 tCHQV - 從SCLK信號(hào)跳變到SIO[7:0]輸出有效的時(shí)間 tQSV - 從SCLK信號(hào)跳變到DQS信號(hào)跳變的時(shí)間 tDQSQ - 從DQS信號(hào)跳變到SIO[7:0]輸出有效的時(shí)間 tQH - SIO[7:0]輸出保持時(shí)間 三、DQS之Hyper Flash篇再來(lái)看一款典型的Hyper Flash,來(lái)自Cypress的S26KS512S。這款Flash包含RWDS引腳(I/O屬性為輸出),RWDS就是DQS信號(hào)。與Octal Flash不同的是,Hyper Flash的時(shí)鐘信號(hào)CK往往是差分的,差分信號(hào)因?yàn)槠溲a(bǔ)償糾正特性,使得時(shí)鐘跳變間隔比較穩(wěn)定,因此數(shù)據(jù)傳輸從CK與CK#交叉點(diǎn)開始進(jìn)行。Hyper Flash天然是DTR傳輸模式,RWDS作用與Octal Flash上的DQS是完全一致的。 同樣結(jié)合AC特性表里的Symbol來(lái)進(jìn)一步分析,CK差分信號(hào)跳變用于觸發(fā)Flash數(shù)據(jù)更新,在tCKD時(shí)間內(nèi),F(xiàn)lash核心收到CK觸發(fā)信號(hào),開始準(zhǔn)備數(shù)據(jù),并陸續(xù)放到DQ[7:0]線上。RWDS信號(hào)邊沿標(biāo)志著DQ數(shù)據(jù)線開始更新,各數(shù)據(jù)線DQ[x]在RWDS信號(hào)跳變開始后不得超過(guò)tDSS最大時(shí)間必須把數(shù)據(jù)更新完畢。 tCKD - 從CK差分信號(hào)跳變到DQ[7:0]輸出有效的時(shí)間 tCKDS - 從CK差分信號(hào)跳變到RWDS信號(hào)跳變的時(shí)間 tDSS - 從RWDS信號(hào)跳變到DQ[7:0]輸出有效的時(shí)間
至此,串行NOR Flash的DQS信號(hào)功能痞子衡便介紹完畢了,掌聲在哪里~~~ |
|