Acute逻辑分析仪 LA_Serial Flash
Acute逻辑分析仪
以邏輯分析儀進行串列快閃記憶體(Serial/SPI Flash)量測方案
Serial Flash 量測問題
在許多的電子產品中都有使用 Serial Flash的需求,它有較簡單的控制程式與電路以及可靠的儲存能力,使它倍受青睞。因此,常被用於電子產品裡放置較關鍵的開機程式(Boot code)或系統設定資料(System setting)。每當系統啟動時,Serial Flash 就會忙碌起來,盡快的把儲存在裡面的程式或資料載入系統內。但越來越複雜的命令組合以及命令差異,使得開發與除錯工作變得更加困難。本文將會介紹使用邏輯分析儀來進行 Serial Flash 的量測工作。
單線(Single)模式解碼
早期的 Serial Flash 使用 SPI 匯流排架構,定義了 4 根與命令資料傳輸有關的腳位分別是 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 命令/地址/資料解出。這是業界行之多年的作法。
雙線(Dual)及四線(Quad)模式解碼
有鑑於電子產品越來越需要大容量的儲存空間,Serial Flash 容量也順應擴大。儲存容量擴大之後衍生而來的問題是,讀取資料的時間越來越長,於是 Serial Flash 開始提高其工作頻率,借由較高的傳輸頻率,以縮短傳輸資料的時間。但這樣還是不夠快,進一步發展出現所謂雙線模式(Dual mode)如圖二與4線模式(Quad Mode)如圖三的 Serial Flash。其匯流排傳輸的架構,已漸漸與單線模式之 SPI 架構不同,也使原有的 SPI 儀器或工具用在此類 Serial Flash 的匯流排除錯工作開始出現困難。
圖二 Serial Flash雙線模式(Dual mode 2-2-2)
圖三 Serial Flash 4線模式(Quad Mode 4-4-4)
在各廠商所推出的Serial Flash,更增加了多種不同數量的命令與資料組合,若沒辦法識別 Flash 命令的軟體工具,將很難看出匯流排的內容。因為這樣的需求,使得具有支援 Serial Flash 匯流排分析的邏輯分析儀成為不可或缺的工具,它可協助分析這種多樣性的訊號。他可以隨著 Flash 命令的改變,而做出相應的分析。
更多不同命令組合的分析方法
A. 隨著命令的不同,Serial Flash 會以不同的傳輸線數量工作
範例一: 如圖四所示,此命令 3Bh (Dual I/O Fast Read) 是個 (1-1-2) 結構的命令,輸入命令與地址時只需要使用 1 條線,但資料輸出時為雙線。圖例可以看出,傳送命令須使用 8個 Clock,但接收資料只需 4 個 Clock。
圖四 Flash 命令 3Bh 波形畫面 (1-1-2)
範例二: 如圖五所示,此命令 EBh(Fast Read Quad I/O) 是個 (1-4-4) 結構的命令,輸入命令使用 1條線,但地址與資料皆為 4 條線。圖例可以看出,傳送命令須使用 8個 Clock,但傳送地址與接收資料只需 2 個 Clock。
圖五 Flash 命令 EBh波形畫面(1-4-4)
範例三: 如圖六所示,此命令 6Bh(Fast Read Quad Ouput)是個 (1-1-4) 結構的命令,與地址時只需要使用 1 條線,但資料輸出時為 4線。圖例可以看出,傳送命令與地址須使用 8個 Clock,但接收資料只需 2 個 Clock。
圖六 Flash 命令 6Bh波形畫面(1-1-4)
如圖七所示可看出有別於 SPI 資料輸入與輸出分成兩條線時,不容易判別和時是資料輸出的困擾。在游標A所在的位置,就是 Serial Flash 開始輸出資料的地方,從通道 SPI-DO 查看時必須自行數到第5個Byte 才算是資料輸出點。有時候 Serial Flash 在輸入時還會安插 Dummy Byte,這樣就更增加查看輸出訊號的困擾。但若採用 Serial Flash 匯流排分析,就會清楚的標示來。
圖七 Serial Flash(SFlash) 與 SPI (SPI-DI, SPI-DO) 匯流排分析比較
A. 效能提升模式 PEM(Performance enhance mode)的分析:
為了加快 Flash 資料傳輸速度,在進入效能提升模式後,讀取資料不需要再下命令。因此,第一筆輸入資料即為地址,而非命令。此法可減少下命令的次數,以達到加速的效果。由於效能提升模式的設定參數,都是包含在 Dummy byte 裡面。而且,各廠商之設定(Set)與取消 (Reset) 規則也不同,也使得判讀上困難許多。如圖九所示,就是一個設定進入效能提升模式波形範例。
圖九 即使Flash 進入效能提升模式,地址與資料也可正確地被分析出來
A. 邏輯分析儀 Serial Flash 分析設定畫面
在設定畫面左上角,可選擇不同的 Flash 製造商及Flash型號。分析軟體已經收錄 Flash Data Sheet 資料,作為分析的參考。設定畫面左側則是通道設定及多樣的解碼分析設定,有些設定值如 QPI(Quad Peripheral Interface)模式,在系統啟動時就被軟體設定好。這樣的話使用者也可以透過手動的方式指定邏輯分析儀分析,就可以無誤的解析出資料,如圖八所示。
圖八 Serial Flash 分析設定畫面
D. 完整的Serial Flash分析報告
不管是多線的組合或是效能提升模式都可藉由完整的報告,將命令、地址、提升模式設定值、資料(十六進制與 ASCII) 都可詳細的呈現。這樣,就可快速的得知分析的內容,儘速的找到問題點,如圖十所示。
圖十 Serial Flash 分析報告
利用 SPI 觸發來進行訊號定位
雖然 Serial Flash 會有多線的組合,但仍有一部分的命令及地址是單線模式。因此,可利用邏輯分析儀的 SPI觸發功能協助訊號定位。圖十一即是使用 SPI 觸發功能,主要就是把將命令及地址資料輸入。這樣,就可以針對特定條件進行觸發。
圖十一 設定 SPI觸發功能以觸發 Serial Flash 命令0Bh,地址 12h 23h 45h.
After CS 打勾的意思是指從 CS go low 之後就開始判斷
在使用SPI觸發的同一個時間,若可以將邏輯分析儀與示波器堆疊,就可以使用邏輯分析儀替示波器定位,如圖十二所示。這樣,問題分析就同時具有 Serial Flash 數位與類比訊號的分析,更加的詳盡清楚。透過檔案共享,亦可使整個工作團隊共享擷取的訊號,加快分析問題的速度。
圖十二 結合邏輯分析儀與示波器來看 Serial Flash 匯流排訊號
結語
藉由本文的介紹,Serial Flash 匯流排分析工作將可藉由邏輯分析儀觸發及軟體的配合。使原本複雜的命令組合變化及命令的定位工作都變得容易控制。這樣,使用者可專心於確認本身的設計問題,而不用花費時間去找到錯誤波形及分析。這會是個非常有效率的解決方案。
參考資料:
1。JEDEC STANDARD,Serial Flash Discoverable Parameters(SFDP),for Serial
NOR Flash JESD216
2。皇晶科技邏輯分析儀使用手冊 Serial Flash 匯流排分析及 SPI 觸發章節
作者:
黃培南
皇晶科技股份有限公司
研發部軟體技術協理