除了SPI這種串行接口比較受存儲器設(shè)計(jì)廠商的歡迎,還有比如由samsung和toshiba設(shè)計(jì)的Toggle NAND Interface,也被稱為 Asynchronous DDR NAND Interface ( DDR:double data rate ,之所以設(shè)計(jì)成Asynchronous是因?yàn)樽铋_始傳統(tǒng)的存儲器用的就是異步設(shè)計(jì)方法),雖然數(shù)據(jù)的傳輸速率得到了大大提升(使用DDR設(shè)計(jì)方法),但是確保數(shù)據(jù)準(zhǔn)確性的設(shè)計(jì)卻較為復(fù)雜。
另外一種比較受歡迎的接口就是由Cypress設(shè)計(jì)的 ONFI(Open NAND Flash Interface) NAND Interface, 據(jù)說現(xiàn)在的4.1版本已經(jīng)能夠達(dá)到1200MBps的傳輸速率了。而且使用的是NV-DDR3的1.2V電壓標(biāo)準(zhǔn),使得功耗也得到了改進(jìn)。以上兩種接口不是本篇文章討論的重點(diǎn),就暫且介紹到這里,感興趣的朋友們可以在網(wǎng)上自行搜索更詳細(xì)的資料了解學(xué)習(xí),我們還是回到SPI接口上來。
下面我們就來講講為什么芯片常選用SPI作為與存儲器互聯(lián)的接口,也就是說SPI相較于其他接口有什么優(yōu)勢。
- 所使用的pin口較少,最少為4個(gè)
- 擁有較高的數(shù)據(jù)傳輸速率,前文提到過
- 功耗較低,相較于IIC沒有上拉電阻
- 設(shè)計(jì)簡單,成本低
- 同步接口(勉強(qiáng)也算一個(gè))
最主要的一個(gè)原因也是目前業(yè)界使用的大部分存儲器( Serial NAND FLASH )使用的都是SPI接口,比如WINBOND家的,MICRON家的和GIGADEVICE家的,好像有種被綁架的感覺。。。
一般在SPI接口的數(shù)據(jù)端還會設(shè)計(jì)一個(gè)FIFO(數(shù)據(jù)寬度一般為8bit)來控制數(shù)據(jù)能夠穩(wěn)定被接收到,因此,SPI由一個(gè)緩沖區(qū)組成,該緩沖區(qū)通過 DMA (直接存儲器訪問)或CPU可尋址緩沖區(qū)與系統(tǒng)接口。時(shí)鐘邏輯從內(nèi)部系統(tǒng)時(shí)鐘獲得時(shí)鐘,并可針對所需的速度進(jìn)行編程。引腳控制邏輯提供輸出驅(qū)動(dòng)和延遲設(shè)置??梢杂懈鞣N控制和狀態(tài)寄存器為器件提供可編程性。
除此之外在物理實(shí)現(xiàn)的過程中會在接口產(chǎn)生一個(gè)延遲(正常情況不會超過兩個(gè)時(shí)鐘周期)。所以如果在full-duplex mode下,當(dāng)slave已經(jīng)將所需的數(shù)據(jù)都發(fā)送出去(發(fā)送的數(shù)據(jù)多少需要提前由master發(fā)出的指令決定),但是master還是會多產(chǎn)生幾個(gè)時(shí)鐘周期的SCLK和CS信號,這個(gè)時(shí)候就會采集到幾個(gè)沒有意義的數(shù)據(jù)線上的信號(signal low)。這個(gè)時(shí)候就需要系統(tǒng)軟件識別出多余的信號然后將它們從有效數(shù)據(jù)中剔除出去。
目前除了最開始介紹的傳統(tǒng)四線數(shù)據(jù)線的SPI接口,為了進(jìn)一步增大接口的數(shù)據(jù)傳輸速率,已經(jīng)發(fā)展成了具有多個(gè)數(shù)據(jù)傳輸pin口的接口,比如說dual,quad SPI。
多個(gè)數(shù)據(jù)傳輸pin口
結(jié)語
SPI作為一個(gè)芯片常見的片外接口,適用于許多目前業(yè)界流行的Serial存儲器設(shè)備,這些Serial NAND Flash一般作為儲存芯片boot code的存儲設(shè)備。有許多的優(yōu)勢所在,而相比于并行接口,改進(jìn)后的串行接口目前也有較高的數(shù)據(jù)吞吐率以及成本較低的優(yōu)勢,無論是在工藝上還是功耗上。
-
存儲器
+關(guān)注
關(guān)注
38文章
7492瀏覽量
163853 -
SPI
+關(guān)注
關(guān)注
17文章
1706瀏覽量
91598 -
串行接口
+關(guān)注
關(guān)注
3文章
328瀏覽量
42615
發(fā)布評論請先 登錄
相關(guān)推薦
評論