原创 基于Nios Ⅱ的Serial EEPROM测试方法研究

2008-5-10 20:33 4792 5 6 分类: 测试测量

基于Nios Ⅱ的Serial EEPROM测试方法研究




周亚丽,周辰,武乾文,周冬雁

(中国电子科技集团公司第58研究所,江苏 无锡 214035)


1 引言


Serial EEPROM作为低成本的数据存储元件,在嵌入式系统中使用非常广泛,EEPROM的成品测试由于需要测试功能较多,因而测试时间较长,测试成本较高,文中提出的用Nios Ⅱ软核CPU测试Serial EEPROM的方法有稳定性高、所需器件少、可编程、低成本等优点。


2 Nios Ⅱ简介


Nios Ⅱ是Altera公司开发的第二代嵌入式处理器软核。Nios Ⅱ嵌入式系统处理器是一种采用流水线技术、单指令的RISC处理器,其大多数指令可以在一个时钟周期内完成。Nios Ⅱ处理器软核是一种可配置的通用RISC处理器,可以与用户自定义逻辑(User-defined Logic)集合构成一个基于FPGA的片上系统。32位Nios Ⅱ嵌入式处理器软核结合片外Flash以及大容量存储器,可构成一个功能强大的32位嵌入式系统。



4db85603-806c-476f-9c3b-f96fd2a8535e.JPG

3 Serial EEPROM原理介绍

Serial EEPROM通过SDA串行数据输入输出口进行数据读写。其时序如图2。



d89c2daa-b8af-4615-8448-31e9ed7253c5.JPG

4 测试原理及系统组成


本系统功能由硬件和软件两大部分协调完成,硬件部分主要完成测试的数据传输和信号采集;软件主要完成信号处理及整个系统控制功能。


其工作原理为Nios Ⅱ CPU发出特定信号,以模拟Serial EEPROM烧写过程,再模拟对其数据读取,以验证Serial EEPROM功能是否正常,同时可以输出PASS/FAIL信号。


4.1 硬件设计


该系统主要包括以下几个部分:Nios Ⅱ软核,Nios Ⅱ外围电路、Nios Ⅱ与测试芯片接口等,Nios Ⅱ软核载体使用Altera公司的Cyclone器件,Nios Ⅱ与测试芯片接口主要使FPGA的I/O口与Serial EEPROM端口电压匹配,如图3。



c7d25700-0969-4053-ac56-1f6401ff4ac6.JPG

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所示。



931e9386-84ab-41fe-8456-8570ed5b26bc.JPG

4.2.2 Serial EEPROM写入子程序设计


Serial EEPROM写入子程序通过软件编写驱动时钟端口和SDA端口输出高低电平模拟1/0二进制信号,同时使用延时调整两个端口输出波形的时序,写入数据的串行信号如图5所示,为了写入时减少对系统资源的消耗,可以把相同的部分如DEVICE ADDRESS、DATA这些信号编写成为特定的子函数,只要在需要的时候调用这些子函数就能更方便了。



830f6584-f6bf-40dd-bdda-dfceba4a40f4.JPG

4.2.3 Serial EEPROM读出子程序设计


调用读取函数采集SDA的高低电平,通过延时调整采样点时间,得到输出信号,读入数据的串行信号如图6所示。



4ea72962-5258-4288-92b7-07d4b63740cb.JPG

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的量产测试中可以代替昂贵的测试系统,具有较高的故障覆盖率。其低成本、高效率使其成为一种性价比较高的替代测试方案。




本文摘自《电子与封装》

文章评论1条评论)

登录后参与讨论

用户1612190 2008-5-16 00:36

来支持一下好朋友
相关推荐阅读
用户71098 2014-11-18 09:41
智能家居不应被手机化绑架
现在很多产品都围绕着手机开发,手机集成的功能也越来越多,甚至可以实现移动办公。以智能家居来说,几乎所有的产品都围绕着手机终端开发,小到一只灯泡、大到电视、冰箱、洗衣机…只要摆在家里的电器,都可以通...
用户71098 2014-11-18 09:40
智能家居不应被手机化绑架
现在很多产品都围绕着手机开发,手机集成的功能也越来越多,甚至可以实现移动办公。以智能家居来说,几乎所有的产品都围绕着手机终端开发,小到一只灯泡、大到电视、冰箱、洗衣机…只要摆在家里的电器,都可以通...
用户71098 2014-11-01 10:03
浅谈智能家居
最早期,小商家们打着智能家居的幌子,推出了遥控开关、定时开关,以低廉的价格去打入市场。这时,所谓的智能家居,就是狭义上的传统开关智能化,与真正意义的智能家居相差甚远。但凭着商家搞得噱头,当时这类开...
用户71098 2013-09-09 16:09
GSM继电器的PCB回来了
前几天发出打样的PCB回来了,先上几个图               ...
用户71098 2013-09-09 16:08
GSM继电器板基本焊接好了
PCB到手几天了,今天上午把元件基本焊接好,除了一些端子没有,回头把没有的原件买回来喊上就可以了,指示灯位置也跟外壳吻合,太好了,简单测试了下,GSM模块跟电脑连接测试,打电话和发信息都没问题了,...
用户71098 2013-08-29 15:13
想用SIM900A做个小东西
        早几年前,折腾过TC35I,后来因为别的事情就搁置了,现在想再搞起来,但TC35I的连接座手焊有一定难度,所以就不用它了,网上搜索一番,发现SIM900A还挺好,邮票口的封装,手焊...
我要评论
1
5
关闭 站长推荐上一条 /2 下一条