Chip123 科技應用創新平台

標題: serial flash 介面 [打印本頁]

作者: mclaren_18    時間: 2008-12-16 03:07 PM
標題: serial flash 介面
請教一下 :
( O7 R! T8 Q6 O# Z. d& t" F有人做過SPI的介面嗎......小弟目前需使用到 serial flash 但是不知讀寫控制如何做起??
9 L+ H: R# }/ k7 ?6 f我有寫過一般ram rom 的控制介面 但是由於 serial 是串列的 所以不知從做起 !!
# A* m  Q+ z+ F& E4 ]
6 B! _. v# X  I7 t4 ^有經驗的大大 拜託了!!
作者: M9202108    時間: 2008-12-16 10:43 PM
依SPI clock 將parallel data 透過SPI data 一個位元一個位元送出或讀入~~
6 N. g2 X: w& I$ W) S5 I6 x通常SPI flash data sheet都會說明此protocol~~
; A6 q+ |: C8 p; T2 k在opencores 網站上也有人家做好的SPI Controller可參考" p1 S9 `4 |3 I$ y, _: u- C
http://www.opencores.org
作者: mclaren_18    時間: 2008-12-17 10:33 AM
m9202108大大:  g/ s% X: ^2 `, ~- u; a
感謝你的回覆...我會上去找資料來看看
* h. j6 u  {7 S9 Z謝謝
作者: M9202108    時間: 2008-12-18 03:19 PM
再來補充一下,以一個BMbit SPI flash來說 http://www.sst.com/downloads/datasheet/S71296.pdf
! a% q1 H9 J  k$ Y# s$ b0 }
6 O# a- Q8 M' n9 r5 }0 [& L. l! w5 l如果要做read 的指令- S/ m; P; ]8 f8 F( B, e9 H
1. 透過FPGA的SDO 連至flash 的SDI 將 8-bit 的OP Code送出,告知flash你的動作是什麼,如果是read則OP CODE為 0x03。3 ?- n  |7 X! t; G& N: {
2. 再將Address(8Mbit 需要3 bytes) 透過SDO(FPGA)依序送出- F" _/ h- }4 R, N
3. 接著透過SDI(FPGA)將資料依序讀入~~. [3 h9 q4 Q% e' k

2 |  I1 q/ m+ i以上"依序"是基於SCK就是從FPGA送出至flash的clock,詳細操作方式看完data sheet 應該就會明白了
作者: jason_lin    時間: 2008-12-19 08:55 AM
Hi,
3 _8 Y3 p8 l3 X4 H  w6 d; j如果看不懂怎麼驅動SPI Flash,沒關係!) M7 D. H8 {2 V
Altera有提供一個免費IP,叫Serial FlashLoader,只要學會怎麼用就好,
5 F( O+ R! @) [( C1 kAltera 參考設計裡有一步一步教怎麼使用,從開一個project到整個project建好,還有教怎麼燒錄.
9 M$ l7 D- O7 Y5 P. h6 q2 F( d附上這個參考設計,有問題我們在來討論^__^: g; y+ X9 u- l" d" ~3 i& W
希望對你有幫助.




歡迎光臨 Chip123 科技應用創新平台 (http://www.chip123.com/) Powered by Discuz! X3.2