基于FT4222的SPI闪存测试系统及方法与流程

文档序号:13558422阅读:2357来源:国知局

本发明涉及一种基于ft4222的spinandflash测试方法,属于spinandflash测试领域。



背景技术:

spinandflash测试通常由两块fpga板相连,一块作为host端,一块作为device端,测试时通过host端执行不同的指令测试device端的各种功能是否正确。此方法有2个弊端,一是由于host端执行的bin文件烧在rom里,因此测试过程中,需要频繁的烧录,比较麻烦。二是这种测试只能测正常情况下的spi的功能和响应,有些特殊情况或是测试内容无法实现,不够灵活。

于是,采用ft4222模拟host行为,把需要执行的指令编辑在文本文档中,测试时只需要修改文本文档中的内容,然后通过软件程序loadfile并执行,指令可以任意组合搭配,并且方便修改,提高效率。

spi协议是一个简易便捷的通信协议,各种主控芯片上都会存在,用于连接周边模块。目前存储芯片应用广泛,需求量大,spinandflash在各种设备上都有应用,而flash的稳定性需要大量测试保证,并且spinandflash的测试需要长时间大量的资料读写,随机区块存取等复杂的操作,所以需要一个系统的方法来对flash进行测试。



技术实现要素:

针对上述技术问题,本发明旨在提供一种基于ft4222的spinandflash测试方法,该测试方法可以测试简单的spinandflash的读、写、擦除、burnintest(稳定性测试),同时还可通过修改测试软件程序代码,达到一些特殊的测试目的。

为实现上述目的,本发明采用如下技术方案:

基于ft4222的spi闪存测试系统,所述测试系统包括处理器模块、spinandflash模块、ft4222芯片模块以及各模块之间的通信连接。

所述处理器模块与ft4222芯片模块间通过usb连接。

所述处理器模块用于生成测试指令,所述测试指令经usb传输到ft4222芯片模块,由ft4222芯片模块自带usb和spi协议的转换功能,把待测的指令转换成spi形式,传给spinandflash模块运行指令后,再通过ft4222芯片模块把结果传回到所述处理器模块上,从而判断指令运行的正确性。

基于ft4222的spi闪存测试方法,所述测试方法根据测试人员输入的测试语句,调用调试工具中的ft4222芯片设备,针对不同参数的spinandflash模块配置测试条件,最后将测试语句载入到ft4222芯片模块对所述spinandflash模块进行测试。

进一步的,所述方法具体包括以下步骤:

步骤一,在处理器模块中输入所需要测试的指令;

步骤二,脚本文件输入完毕后,打开调用调试工具,获取与处理器连接的芯片设备,选中ft4222芯片设备;然后设置spinandflash模块参数以及测试所需的条件,将所述待测指令文档载入,通过ft4222芯片模块的库函数实现spinandflash的测试工作;

步骤三,通过逻辑分析仪观察波形检验指令运行结果的正确性。

所述处理器模块为pc。

所述在处理器模块中输入所需要测试的指令具体为:首先创建一个文本文档,输入所需要测试的指令,如果是多条组合需分行输入,格式为两个字节十六进制数,以空格隔开,依次排列下去,输入完以回车换行。

所述逻辑分析仪从fpga上采集数字信号。

本发明具有如下创新:

采用ft4222模拟host行为,把需要执行的指令编辑在文本文档中,测试时只需要修改文本文档中的内容,然后通过软件程序loadfile并执行,指令可以任意组合搭配,并且方便修改,提高效率。

spi协议是一个简易便捷的通信协议,各种主控芯片上都会存在,用于连接周边模块。目前存储芯片应用广泛,需求量大,spinandflash在各种设备上都有应用,而flash的稳定性需要大量测试保证,并且spinandflash的测试需要长时间大量的资料读写,随机区块存取等复杂的操作,所以需要一个系统的方法来对flash进行测试。

该测试方法可以测试简单的spinandflash的读、写、擦除、burnintest(稳定性测试),同时还可通过修改测试软件程序代码,达到一些特殊的测试目的,例如模拟h2test,随机区块的读写,各种datapattern组合以及测试flash的读写效能等,并且在测试中可以按需求增加测试项目,达到自动化测试功能。

附图说明

图1是本发明测试方法的系统结构图。

具体实施方式

本发明提供一种基于ft4222的spinandflash测试系统,如图1所示,所述测试系统包括处理器模块、spinandflash模块、ft4222芯片模块以及各模块之间的通信连接;所述处理器模块与ft4222芯片模块间通过usb连接。

所述处理器模块用于生成测试指令,所述测试指令经usb传输到ft4222芯片模块,由ft4222芯片模块自带usb和spi协议的转换功能,把待测的指令转换成spi形式,传给spinandflash模块运行指令后,再通过ft4222芯片模块把结果传回到所述处理器模块上,从而判断指令运行的正确性。

基于上述测试系统,本发明提供一测试方法,所述测试方法根据测试人员输入的测试语句,调用调试工具中的ft4222芯片设备,针对不同参数的spinandflash模块配置测试条件,最后将测试语句载入到ft4222芯片模块对所述spinandflash模块进行测试。

具体的说,所述方法具体包括以下步骤:

步骤一,在处理器模块中输入所需要测试的指令;把多条单一指令组合起来编辑成脚本进行自动化测试,减少繁琐的人工操作,脚本的优势;

步骤二,脚本文件输入完毕后,打开调用调试工具,获取与处理器连接的芯片设备,选中ft4222芯片设备;然后设置spinandflash模块参数以及测试所需的条件,将所述待测指令文档载入,通过ft4222芯片模块的库函数实现spinandflash的测试工作;(以脚本方式运行,可编辑性强,操作方便)

步骤三,按照界面上的操作流程进行测试,通过逻辑分析仪观察波形检验指令运行结果的正确性。

上述逻辑分析仪从fpga上采集的数字信号,如芯片使能,命令/地址锁存,读写使能,数据等信息,检验指令运行结果的正确性。

本实施例所采用的可编程的电路,用硬件描述语言完成电路的设计烧录到fpga上进行测试,这里的可编程电路是常规的选择,用作ic设计验证,这里即是用来测试spi闪存。

所述处理器模块为pc。

所述在处理器模块中输入所需要测试的指令具体为:首先创建一个文本文档,输入所需要测试的指令,如果是多条组合需分行输入,格式为两个字节十六进制数,以空格隔开,依次排列下去,输入完以回车换行。

具体实施方式:

1)首先创建一个文本文档,输入所需要测试的指令,如果是多条组合需分行输入,格式为两个字节十六进制数,以空格隔开,依次排列下去,输入完以回车换行。如:

写命令0x02+columnaddr+数据

读命令0x03/0x3b/0x6b/0xeb/0xbb+columnaddr+长度(两字节十六进制)

0x13/0x10+block/pageaddr

擦除命令0xd8+blockaddr

2)脚本文件输入完毕后,打开debugtool,点击scanbutton,openft4222device,然后在界面上设置各种flash参数以及测试所需的条件,完成后点击loadfilebutton,把刚才创建的指令文档载入,通过编程调用ft4222的库函数实现spinandflash的测试工作。

3)运行结果显示在右侧空白区域,同时可以通过逻辑分析仪观察波形检验指令运行结果的正确性。

该测试方法可以测试简单的spinandflash的读、写、擦除、burnintest(稳定性测试),同时还可通过修改测试软件程序代码,如把多条单一指令有规律,可以按需求或者说是按照flash工作特性,例子就是下一句所描述的。的组合起来以达到一些特殊的测试目的,例如模拟h2test,flash全区块顺序写读检验,随机区块的读写,地址随机变化的写读操作,各种datapattern组合,不同数据如全0,全1以及随机数等,以及测试flash的读写效能,flash的写读速度稳定性等,并且在测试中可以按需求增加测试项目,达到自动化测试功能。

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1