侵权投诉
订阅
纠错
加入自媒体

多功能存储器芯片的测试系统设计:提高芯片测试效率

硬件电路设计

在测试NAND FLASH时,测试时间长达十个小时不等。在此为提高测试效率,增加测试速度,本设计采用两套完全一样且独立的硬件系统构成。可同时最多测试2片NAND FLASH器件。每一个硬件系统由一个微处理器(NIOSII)加一个大容量FPGA及一个存储器测试扩展接口(即ABUS接口)三大模块构成。如图3-1。RS232通信接口实现测试系统与上位机的数据交换,完成人机交互操作。电源系统产生各种合适的电压,满足各芯片的电源供给。

图 3?1 硬件方块图

处理器模块电路

处理器模块电路由FPGA内嵌的NIOSII软核(CPU)、两路RS232通信、一个FLASH芯和一个SRAM芯片组成。CPU是整个系统的核心管理者,向下负责各种存储器芯片的读写测试,向上负责与上位机通信,实现人机交互。通信由其中一个RS232电路完成,另一个RS232电路用来实现系统调试和软件固化。FLASH芯片用来存储程序代码及重要的数据。而SRAM芯片在CPU上电工作以后,通过CPU加载FLASH的程序,最终给CPU的程序代码提供快速的运行环境。

基于FPGA的ABUS接口模块

ABUS接口模块由FPGA芯片、配置FLASH及数据存储EEPROM芯片构成。ABUS要实现NIOSII的外部总线与多种存储器模块的接口对接,每一种特定的存储器有一个特定的时序逻辑,而每一种时序逻辑可以通过FPGA的硬件代码(IP核)来实现,具体的每一个存储器模块在测试时会给ABUS接口一个固定的类别信号CLAS,ABUS接口根据这个类别信号识别出各种SIP存储器模块,最终切换出正确的对应特定产品的时序逻辑,来完成NIOSII通过外部总线来对存储器芯片的读写测试。而配置FLASH实现FPGA在上电时硬件程序的加载工作及掉电数据保护。EEPROM用来存储一些重要的系统参数。

SIP存储器测试扩展接口

存储器测试扩展接口在硬件上由两排双排座构成。一共是120个管脚。ABUS接口与测试扩展接口相连接:40个管脚与双向的数据或I/O线相连、8个管脚与8根信号输入控制线相连、16个管脚与16根片选信号输出线相连、5个管脚与5根类别输入信号相连、16个管脚与16根状态输入信号线相连、27个管脚与27根地址线相连。其它的管脚可分配成电源和地线,以及信号指示等。

ABUS接口IP核的设计

每一种SIP存储器对应于一个特定的ABUS接口IP核,以实现正确的时序读写操作。这个IP核有一个统一的接口约定,都是由两个固定的接口构成,其中与NIOSII连接的是外部总线接口,其操作按照NIOSII的外部总线时序规范来实现,另一个接口就是上文提及的ABUS接口,在相应的CLAS信号有效的情况下,它负责把NIOSII的外部总线读写时序转换成对应存储器芯片的时序。IP核的工作就是完成这些读写操作的转换。表5是各种SIP存储器对应的类别信(CLAS)号输入值,在设计接口转接板时要按这个值设定,ABUS才会切换出正确的读写时序。

七位类别示别信号含义:T_XX_WW_CC,T为1表示高低测试测试,为0表示常温下的功能测试。XX表示存储器种类,WW表示总线宽度,CC表示容量种类。

表5 各种SIP存储器对应的CLAS信号值

8位SRAM/MRAM/NOR FLASH接口IP核设计

如图4-1,SRAM、MRAM和NOR FLASH的接口操作基本一致,NIOSII的总线时序完全满足。故在FPGA内部只要简单地把相应的控制线和数据线相连就可以了,唯独只要设计一个片选寄存器,用来区分存储器芯片的16个片选。每一个片选可以访问的空间为128MByte。片选寄存器的地址为(基址+0x0FFFFFFC),基地址设在NIOSII外部总线的最高地址位。

图 4?1  8位SRAM/MRAM/NOR FLASH接口IP

16位SRAM/MRAM/NOR FLASH接口IP核设计

如图4-2,SRAM、MRAM和NOR FLASH的接口操作基本一致,NIOSII的总线时序完全满足。故在FPGA内部只要简单的把相应的控制线和数据线相连就可以了,唯独只要设计一个片选寄存器,用来区分SIP的16个片选。每一个片选可以访问的空间为128MByte。片选寄存器的地址为(基址+0x0FFFFFFC),基地址设在NIOSII 外部总线的最高地址位。

图 4?2 16位SRAM/MRAM/NOR FLASH接口IP

32位SRAM/MRAM/NOR FLASH接口IP核设计

如图4-3,SRAM、MRAM和NOR FLASH的接口操作基本一致,NIOSII的总线时序完全满足。故在FPGA内部只要简单的把相应的控制线和数据线相连就可以了,唯独只要设计一个片选寄存器,用来区分SIP的16个片选。每一个片选可以访问的空间为128MByte。片选寄存器的地址为(基址+0x0FFFFFFC),基地睛设在NIOSII 外部总线的最高地址位。

图 4?3 32位SRAM/MRAM/NOR FLASH接口IP

40位SRAM/MRAM/NOR FLASH接口IP核设计

如图4-4,40位的数据宽度有点特殊。在此我们把40位的数据分成5个8位的区域,用8位宽度的总线去分别访问每一个区域。IP核中的位选寄存器就是用来完成切换8位数据总线到40位总线的5个区域的其中一个。片选寄存器的地址为(基址+0x0FFFFFFC),位选寄存器的地址为(基址+0x0FFFFFF8)。最大可以测试128M×40位×16片的存储器SRAM/MRAM/NOR FLASH模块。

图 4?4 40位SRAM/MRAM/NOR FLASH接口IP

8位NAND FLASH的ABUS接口IP设计

如图4-5,通过写片选寄存器来选中模块的16个片选的其中一个。我们约定其地址为(基址+0x0FFFFFFC)。读状态寄存器返回的是16个NAND FLASH芯片的忙信号,其地址为(基址+0x0FFFFFF8)。向地址(基址+0x00)写入数据就是对NAND FLASH数据寄存器的写操作。向地址(基址+0x00)单元读数据就是对NAND FLASH数据寄存器的读操作。向地址(基址+0x01)写入数据就是对NAND FLASH命令寄存器的写操作。向地址(基址+0x02)写入数据就是对NAND FLASH地址寄存器的写操作。

图 4?5 8位NAND FLASH的ABUS接口IP核设计图

16位NAND FLASH的ABUS接口IP设计

16位的NAND FLASH存储器芯片可以有多种组合方式,可以用多个16位的NAND FLASH组合,也可以用多个8位的NAND FLASH组合。这里我们假设16位的SIP NAND FLASH产品是由多个16位的NAND FLASH组合而成,下面的IP核是根据它的结构来设计的。

如图4-6,通过写片选寄存器来选中模块的16个片选的其中一个。我们约定其地址为(基址+0x0FFFFFFC)。读状态寄存器返回的是16个NAND FLASH芯片的忙信号,其地址为(基址+0x0FFFFFF8)。向地址(基址+0x00)写入数据就是对NAND FLASH数据寄存器的写操作。向地址(基址+0x00)单元读数据就是对NAND FLASH数据寄存器的读操作。向地址(基址+0x01)写入数据就是对NAND FLASH命令寄存器的写操作。向地址(基址+0x02)写入数据就是对NAND FLASH地址寄存器的写操作。

图 4?6 16位NAND FLASH的ABUS接口IP核设计图

验证与总结

将写好的FPGA程序和调试的C代码写入FLASH后,掉电重配置FPGA,串口的输出能正常识别所有设置好的存储器芯片,并能够进行准确地读写功能测试。达到了设计目的。

<上一页  1  2  
声明: 本文系OFweek根据授权转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号