基于Nios Ⅱ的Serial EEPROM测试方法研究
周亚丽,周辰,武乾文,周冬雁 | ||||||
(中国电子科技集团公司第58研究所,江苏 无锡 214035) | ||||||
Serial EEPROM作为低成本的数据存储元件,在嵌入式系统中使用非常广泛,EEPROM的成品测试由于需要测试功能较多,因而测试时间较长,测试成本较高,文中提出的用Nios Ⅱ软核CPU测试Serial EEPROM的方法有稳定性高、所需器件少、可编程、低成本等优点。 2 Nios Ⅱ简介 Nios Ⅱ是Altera公司开发的第二代嵌入式处理器软核。Nios Ⅱ嵌入式系统处理器是一种采用流水线技术、单指令的RISC处理器,其大多数指令可以在一个时钟周期内完成。Nios Ⅱ处理器软核是一种可配置的通用RISC处理器,可以与用户自定义逻辑(User-defined Logic)集合构成一个基于FPGA的片上系统。32位Nios Ⅱ嵌入式处理器软核结合片外Flash以及大容量存储器,可构成一个功能强大的32位嵌入式系统。 3 Serial EEPROM原理介绍 4 测试原理及系统组成 本系统功能由硬件和软件两大部分协调完成,硬件部分主要完成测试的数据传输和信号采集;软件主要完成信号处理及整个系统控制功能。 其工作原理为Nios Ⅱ CPU发出特定信号,以模拟Serial EEPROM烧写过程,再模拟对其数据读取,以验证Serial EEPROM功能是否正常,同时可以输出PASS/FAIL信号。 4.1 硬件设计 该系统主要包括以下几个部分:Nios Ⅱ软核,Nios Ⅱ外围电路、Nios Ⅱ与测试芯片接口等,Nios Ⅱ软核载体使用Altera公司的Cyclone器件,Nios Ⅱ与测试芯片接口主要使FPGA的I/O口与Serial EEPROM端口电压匹配,如图3。 Nios Ⅱ软核主要由Altera公司的Quartus Ⅱ和SOPC Builder软件生成。可选用最高性能优化的Nios Ⅱ/f的Nios Ⅱ软核,配置为50M赫兹的系统时钟、1个系统控制端口、1个输出时钟端口、1个SDA输出读入端口、2个PASS/FAIL信号输出端口、1个测试完成信号(EOT)输出口、4K内部RAM和外部RAM控制器。 其中系统控制端口接受测试开始信号。时钟输出端口输出驱动EEPROM的时钟,SDA输出端口模拟出烧写EEPROM信号,在写完数据之后,再由这个端口模拟读EEPROM的信号,并由SDA端口采集EEPROM的信号,供给Nios Ⅱ CPU与写入数据进行比较,以确认被测元件的好坏。 Nios Ⅱ的系统工作频率较高,远大于Serial EEPROM的工作频率(100K-400K),故可以较容易的调整两个端口的输出波形时序,使其与Serial EEPROM的时序匹配。 4.2 软件设计 该系统软件主要由主程序、Serial EEPROM写入、Serial EEPROM读取,读出数据判断、PASS/FAIL/EOT信号输出等5个模拟组成,本系统的软件采用C语言编写,使用Altera公司提供的C语言库,Nios Ⅱ IDE软件环境下进行编译连接。 4.2.1 主程序设计 主程序主要完成硬件初始化、子程序调用等功能,主程序流程如图4所示。 4.2.2 Serial EEPROM写入子程序设计 Serial EEPROM写入子程序通过软件编写驱动时钟端口和SDA端口输出高低电平模拟1/0二进制信号,同时使用延时调整两个端口输出波形的时序,写入数据的串行信号如图5所示,为了写入时减少对系统资源的消耗,可以把相同的部分如DEVICE ADDRESS、DATA这些信号编写成为特定的子函数,只要在需要的时候调用这些子函数就能更方便了。 4.2.3 Serial EEPROM读出子程序设计 调用读取函数采集SDA的高低电平,通过延时调整采样点时间,得到输出信号,读入数据的串行信号如图6所示。 4.2.4 读出数据判断子程序设计 读出数据判断子程序完成判断读出数据是否与写入数据一致。 4.2.5 PASS/FAIL信号输出子程序 PASS/FAIL信号输出子程序,在数据判断子程序作出判断之后,通过2个P/F端口输出信号,同时通过测试完成信号端口输出EOT信号,这些输出信号可以按需要在软件中设置成高低电平或高低脉冲信号。 在这个程序的基础上可以对多个测试图形的测试如:棋盘图形、反棋盘图形、对角线图形、反对角线图形、全0图形、全1图形等,只要在Serial EEPROM写入子程序写入不同的图形就可以了,便于测试时调整。 5 仿真调试 本系统使用ModelSim 6.0以上版本进行软件仿真。它支持Nios Ⅱ软核CPU的仿真。在软件仿真阶段,逐模块进行仿真测试,在此基础上逐步集成。譬如可以先仿真Serial EEPROM写入子程序、Serial EEPROM读出子程序等,然后将仿真成功的各个模块加入到主程序中进行仿真。在仿真成功的情况下可以把多个写入图形加入到主程序中仿真。仿真中主要解决时钟和SDA时序匹配的问题。 6 结束语 Nios Ⅱ软核CPU在Serial EEPROM的量产测试中可以代替昂贵的测试系统,具有较高的故障覆盖率。其低成本、高效率使其成为一种性价比较高的替代测试方案。 | ||||||
本文摘自《电子与封装》 |
用户1612190 2008-5-16 00:36