• 首页
  • 技术专栏
  • 以逻辑分析仪进行串列快闪记忆体(Serial/SPI Flash)量测方案

以逻辑分析仪进行串列快闪记忆体(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

图一 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双线模式

图二 Serial Flash双线模式(Dual mode 2-2-2)

Serial Flash 4线模式

图三 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 波形画面

图四 Flash 命令 3Bh 波形画面 (1-1-2)

范例二: 如图五所示,此命令 EBh(Fast Read Quad I/O) 是个 (1-4-4) 结构的命令,输入命令使用 1条线,但地址与资料皆为 4 条线。图例可以看出,传送命令须使用 8个 Clock,但传送地址与接收资料只需 2 个 Clock。

Flash 命令 EBh波形画面

图五 Flash 命令 EBh波形画面(1-4-4)

范例三: 如图六所示,此命令 6Bh(Fast Read Quad Ouput)是个 (1-1-4) 结构的命令,与地址时只需要使用 1 条线,但资料输出时为 4线。图例可以看出,传送命令与地址须使用 8个 Clock,但接收资料只需 2 个 Clock。

Flash 命令 6Bh波形画面

图六 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) 总线分析比较

图七 Serial Flash(SFlash) 与 SPI (SPI-DI, SPI-DO) 总线分析比较

B. 效能提升模式 PEM(Performance enhance mode)的分析:

为了加快 Flash 资料传输速度,在进入效能提升模式后,读取资料不需要再下命令。因此,第一笔输入资料即为地址,而非命令。此法可减少下命令的次数,以达到加速的效果。由于效能提升模式的设定参数,都是包含在 Dummy byte 里面。而且,各厂商之设定(Set)与取消 (Reset) 规则也不同,也使得判读上困难许多。如图九所示,就是一个设定进入效能提升模式波形范例。

即使Flash 进入效能提升模式,地址与资料也可正确地被分析出来

图九 即使Flash 进入效能提升模式,地址与资料也可正确地被分析出来

C. 逻辑分析仪 Serial Flash 分析设定画面

在设定画面左上角,可选择不同的 Flash 制造商及Flash型号。分析软件已经收录 Flash Data Sheet 资料,作为分析的参考。设定画面左侧则是通道设定及多样的译码分析设定,有些设定值如 QPI(Quad Peripheral Interface)模式,在系统启动时就被软件设定好。这样的话使用者也可以透过手动的方式指定逻辑分析仪分析,就可以无误的解析出资料,如图八所示。

Serial Flash 分析设定画面

图八 Serial Flash 分析设定画面

D. 完整的Serial Flash分析报告

不管是多线的组合或是效能提升模式都可藉由完整的报告,将命令、地址、提升模式设定值、资料(十六进制与 ASCII) 都可详细的呈现。这样,就可快速的得知分析的内容,尽速的找到问题点,如图十所示。

Serial Flash 分析报告

图十 Serial Flash 分析报告

利用 SPI 触发来进行讯号定位

虽然 Serial Flash 会有多线的组合,但仍有一部分的命令及地址是单线模式。因此,可利用逻辑分析仪的 SPI触发功能协助讯号定位。图十一即是使用 SPI 触发功能,主要就是把将命令及地址资料输入。这样,就可以针对特定条件进行触发。

设定 SPI触发功能以触发 Serial Flash 命令0Bh,地址 12h 23h 45h.

图十一 设定 SPI触发功能以触发 Serial Flash 命令0Bh,地址 12h 23h 45h.

After CS 打勾的意思是指从 CS go low 之后就开始判断

在使用SPI触发的同一个时间,若可以将逻辑分析仪与示波器堆栈,就可以使用逻辑分析仪替示波器定位,如图十二所示。这样,问题分析就同时具有 Serial Flash 数位与类比讯号的分析,更加的详尽清楚。透过档案共享,亦可使整个工作团队共享撷取的讯号,加快分析问题的速度。

结合逻辑分析仪与示波器来看 Serial Flash 总线讯号

图十二 结合逻辑分析仪与示波器来看 Serial Flash 总线讯号

结语

藉由本文的介绍,Serial Flash 总线分析工作将可藉由逻辑分析仪触发及软件的配合。使原本复杂的命令组合变化及命令的定位工作都变得容易控制。这样,使用者可专心于确认本身的设计问题,而不用花费时间去找到错误波形及分析。这会是个非常有效率的解决方案。


深圳市千兆科科技有限公司一直致力于将世界先进的测试技术带到科技的各个领域

关于我们


© 千兆科科技 版权所有。 | 粤ICP备17152948号 | 网站地图 | 技术支持:野草工作室