在許多的電子產(chǎn)品中都有使用 Serial Flash的需求,它有較簡單的控制程序與電路以及可靠的儲存能力,使它倍受青睞。因此,常被用于電子產(chǎn)品里放置較關(guān)鍵的開機程序(Boot code)或系統(tǒng)設(shè)定資料(System setting)。每當系統(tǒng)啟動時,Serial Flash 就會忙碌起來,盡快的把儲存在里面的程序或資料載入系統(tǒng)內(nèi)。但越來越復雜的命令組合以及命令差異,使得開發(fā)與除錯工作變得更加困難。本文將會介紹使用邏輯分析儀來進行 Serial Flash 的量測工作。
早期的 Serial Flash 使用 SPI 總線架構(gòu),定義了 4 根與命令資料傳輸有關(guān)的腳位分別是 Chip Select(CS)、Clock(SCK) 、Data In(DI) 、Data Out(DO)。傳輸時,由 DI 將命令或資料傳入 Serial Flash,而 DO 將資料讀出。如圖一所示。一般稱之為單線模式(Single mode)。
圖一 Serial Flash Single mod (1-1-1)*
* JEDEC Standard No.216: (x-y-z): 標示Serial Flash I/O 的模式,分別為命令碼(opcode x),位址(address y),資料(Data z)。
使用者若需量測 Serial Flash 總線時,只需使用具有 SPI 總線的儀器或工具,就可以將單線模式之Serial Flash 命令/地址/資料解出。這是業(yè)界行之多年的作法。
有鑒于電子產(chǎn)品越來越需要大容量的儲存空間,Serial Flash 容量也順應擴大。儲存容量擴大之后衍生而來的問題是,讀取資料的時間越來越長,于是 Serial Flash 開始提高其工作頻率,借由較高的傳輸頻率,以縮短傳輸資料的時間。但這樣還是不夠快,進一步發(fā)展出現(xiàn)所謂雙線模式(Dual mode)如圖二與4線模式(Quad Mode)如圖三的 Serial Flash。其總線傳輸?shù)募軜?gòu),已漸漸與單線模式之 SPI 架構(gòu)不同,也使原有的 SPI 儀器或工具用在此類 Serial Flash 的總線除錯工作開始出現(xiàn)困難。
圖二 Serial Flash雙線模式(Dual mode 2-2-2)
圖三 Serial Flash 4線模式(Quad Mode 4-4-4)
在各廠商所推出的Serial Flash,更增加了多種不同數(shù)量的命令與資料組合,若沒辦法識別 Flash 命令的軟件工具,將很難看出總線的內(nèi)容。因為這樣的需求,使得具有支援 Serial Flash 總線分析的邏輯分析儀成為不可或缺的工具,它可協(xié)助分析這種多樣性的訊號。他可以隨著 Flash 命令的改變,而做出相應的分析。
范例一: 如圖四所示,此命令 3Bh (Dual I/O Fast Read) 是個 (1-1-2) 結(jié)構(gòu)的命令,輸入命令與地址時只需要使用 1 條線,但資料輸出時為雙線。圖例可以看出,傳送命令須使用 8個 Clock,但接收資料只需 4 個 Clock。
圖四 Flash 命令 3Bh 波形畫面 (1-1-2)
范例二: 如圖五所示,此命令 EBh(Fast Read Quad I/O) 是個 (1-4-4) 結(jié)構(gòu)的命令,輸入命令使用 1條線,但地址與資料皆為 4 條線。圖例可以看出,傳送命令須使用 8個 Clock,但傳送地址與接收資料只需 2 個 Clock。
圖五 Flash 命令 EBh波形畫面(1-4-4)
范例三: 如圖六所示,此命令 6Bh(Fast Read Quad Ouput)是個 (1-1-4) 結(jié)構(gòu)的命令,與地址時只需要使用 1 條線,但資料輸出時為 4線。圖例可以看出,傳送命令與地址須使用 8個 Clock,但接收資料只需 2 個 Clock。
圖六 Flash 命令 6Bh波形畫面(1-1-4)
如圖七所示可看出有別于 SPI 資料輸入與輸出分成兩條線時,不容易判別和時是資料輸出的困擾。在游標A所在的位置,就是 Serial Flash 開始輸出資料的地方,從通道 SPI-DO 查看時必須自行數(shù)到第5個Byte 才算是資料輸出點。有時候 Serial Flash 在輸入時還會安插 Dummy Byte,這樣就更增加查看輸出訊號的困擾。但若采用 Serial Flash 總線分析,就會清楚的標示來。
圖七 Serial Flash(SFlash) 與 SPI (SPI-DI, SPI-DO) 總線分析比較
為了加快 Flash 資料傳輸速度,在進入效能提升模式后,讀取資料不需要再下命令。因此,第一筆輸入資料即為地址,而非命令。此法可減少下命令的次數(shù),以達到加速的效果。由于效能提升模式的設(shè)定參數(shù),都是包含在 Dummy byte 里面。而且,各廠商之設(shè)定(Set)與取消 (Reset) 規(guī)則也不同,也使得判讀上困難許多。如圖九所示,就是一個設(shè)定進入效能提升模式波形范例。
圖九 即使Flash 進入效能提升模式,地址與資料也可正確地被分析出來
在設(shè)定畫面左上角,可選擇不同的 Flash 制造商及Flash型號。分析軟件已經(jīng)收錄 Flash Data Sheet 資料,作為分析的參考。設(shè)定畫面左側(cè)則是通道設(shè)定及多樣的譯碼分析設(shè)定,有些設(shè)定值如 QPI(Quad Peripheral Interface)模式,在系統(tǒng)啟動時就被軟件設(shè)定好。這樣的話使用者也可以透過手動的方式指定邏輯分析儀分析,就可以無誤的解析出資料,如圖八所示。
圖八 Serial Flash 分析設(shè)定畫面
不管是多線的組合或是效能提升模式都可藉由完整的報告,將命令、地址、提升模式設(shè)定值、資料(十六進制與 ASCII) 都可詳細的呈現(xiàn)。這樣,就可快速的得知分析的內(nèi)容,盡速的找到問題點,如圖十所示。
圖十 Serial Flash 分析報告
雖然 Serial Flash 會有多線的組合,但仍有一部分的命令及地址是單線模式。因此,可利用邏輯分析儀的 SPI觸發(fā)功能協(xié)助訊號定位。圖十一即是使用 SPI 觸發(fā)功能,主要就是把將命令及地址資料輸入。這樣,就可以針對特定條件進行觸發(fā)。
圖十一 設(shè)定 SPI觸發(fā)功能以觸發(fā) Serial Flash 命令0Bh,地址 12h 23h 45h.
在使用SPI觸發(fā)的同一個時間,若可以將邏輯分析儀與示波器堆棧,就可以使用邏輯分析儀替示波器定位,如圖十二所示。這樣,問題分析就同時具有 Serial Flash 數(shù)位與類比訊號的分析,更加的詳盡清楚。透過檔案共享,亦可使整個工作團隊共享擷取的訊號,加快分析問題的速度。
圖十二 結(jié)合邏輯分析儀與示波器來看 Serial Flash 總線訊號
藉由本文的介紹,Serial Flash 總線分析工作將可藉由邏輯分析儀觸發(fā)及軟件的配合。使原本復雜的命令組合變化及命令的定位工作都變得容易控制。這樣,使用者可專心于確認本身的設(shè)計問題,而不用花費時間去找到錯誤波形及分析。這會是個非常有效率的解決方案。