摘要:JEDEC标准(JESD216)Serial Flash Discoverable Parameter (SFDP)[1]是在串行Flash中树立一个可供查询的描绘串行Flash功用的参数表。文章首要介绍了这个串行Flash功用参数表的结构、功用和效果,并给出其在体系规划中的具体运用。
关键词:JEDEC JESD216;SFDP;串行Flash;SPI
1 串行Flash的根本介绍
串行Flash是一种SPI接口的NOR Flash,归于非挥发性贮存器材,首要被用来寄存体系的发动程序。其特点是体积小、引脚少、接口简略和易于扩展。首要封装为8个引脚,有片选、数据输入、写保护、接地、数据输出、时钟、暂停和电压引脚,见图1。常用一进一出的串行数据传输方法,省去了并行Flash的很多数据线、地址线和控制线。有些串行Flash在封装引脚数目不变的情况下,经过引脚的功用复用,还能够支撑四进四出的数据传输方法,极大地提高数据的输出速率。现在最大频率能够支撑到104MHz以上,全体数据传输速率现已超过了一般并行Flash的数据传输速率。在主芯片功用和端口的支撑下,串行Flash在一些体系运用中可代替并行Flash,不光能够削减体系印制电路板体积,并且能够削减体系的布线,增强了体系全体的电磁兼容性。从全体体系计划的视点来看,比较支撑并行Flash的主芯片而言,只支撑串行Flash的主芯片能够在存储端口的引脚数量上有大幅的削减,不只有利于主芯片面积的减缩,关于全体的计划报价也十分有利。因而,串行Flash遭到越来越多开发和规划人员的承受和喜爱,也被广泛地运用在计算机、消费类电子、无线通讯、车载和工控等很多范畴。
2 JESD216 SFDP标准发生的布景
跟着串行Flash商场不断的扩张,串行Flash的指令、功用和特性也日趋增多,并且各个厂商在串行Flash器材上的功用和特性也无法彻底共同。例如,在扇区擦除功用上,支撑4kB、32kB、64kB的擦除操作虽然别离有相应的指令,可是不同厂商的器材仍是会存在一些指令和功用的差异。为了精确地完结体系的兼容性测验或者是考虑到容量的晋级,开发和规划人员需求具体阅览每一份串行Flash的产品标准,了解引脚的散布和界说是否共同,操作所需求用到的功用指令是否彻底兼容,从而对底层设备驱动软件做相应的补充和修正,乃至改动到硬件,这无疑给项目的规划、保护和更新带来一些不方便。因而,串行Flash器材迫切需求一个一致标准的功用参数表,能够让开发和规划人员明确地读取到每一个所运用串行Flash的功用和参数特性。JEDEC的新标准JESD216 SFDP就是在这样的一个商场环境下孕育而生的。
3 JESD216 SFDP的功用和结构
SFDP是JEDEC发布的JESD216的一个新标准,现在的版本号是V1.0,用来标准寄存串行Flash相关信息的功用参数表。其完结方法是在串行Flash中内置一个可供查询的一致标准的功用参数表,不占用串行Flash正常的容量巨细。现在SFDP支撑的读取频率为50MHz以下,即虽然串行Flash能够支撑更高的体系频率,可是体系主芯片只需求在50MHz及以下的频率下即可顺畅读取到SFDP的材料。为进一步便于体系的灵敏读取,该标准还支撑串行Flash的一进一出、两进两和四进四出的数据传输方法。SFDP的数据在出厂时就被固定住,无法修正,只供查询运用。其效果有些类似于并行Flash中的公共闪存接口Common Flash Interface(CFI)的功用。开发和规划人员在经过0x5A的操作指令来读取查询SFDP时,能够将串行Flash包括其厂商辨认码等一系列的功用和参数信息快速地出现出来。这样不只添加了器材自身的辨识度,提高了主芯片与串行Flash的交流运作效能和便利性,也让开发和规划人员能够快速了解到不同串行Flash之间的特性和差异,从而在底层设备驱动软件上做出相应的调整,完结规划和兼容测验。
在SFDP的功用和结构上,SFDP标准强制标准有必要要有SFDP标题档、1st参数标题档和对应的JEDEC Flash根本参数表格,结构见图2。SFDP标题档首要设置了供开发和规划人员查询承认的签名信息0X50444653(“S”、“F”、“D”、“P”的ASCII码),在读取承认签名信息正确后,方能够为该串行Flash器材支撑SFDP标准。在JEDEC Flash根本参数表格里边标准和界说了该器材的一些最根本的读取方法、指令内容、扇区巨细和芯片容量等信息。其次,各家串行Flash厂商能够依照SFDP的标准顺次添加2nd、3rd参数标题档以及对应的参数表来扩大一些参数特性,增强器材本体的参数辨认度,结构见图3。在厂商标题档中,首要标准和预留了串行Flash的厂商ID辨认号、SFDP版本号、参数长度以及寄存参数表格的地址指针。其参数表格中则能够让厂商依据能够放入其器材的一些其它的参数信息如电压、特别指令和功用支撑的情况,也能够在读取中明确地显示出来,但不是SFDP标准所强制标准的,归于可选项。
4 在体系软件上读取SFDP的操作流程及代码
体系关于串行Flash的任何操作,在软件上有必要依照相应的指令和标准的流程才能够正确地操作串行Flash。读取SFDP也有必要依照规则的操作流程。敞开片选选通芯片——>发送0x5A的读取SFDP的指令——>发送3byte的地址——>发送1byte的空周期——>在输出脚上读取SFDP数据——>封闭片选完毕操作。 经过一进一出方法读取SFDP数据的时序如图4所示。
SFDP参数表的部分软件读取代码参阅如下: