嵌入式软件动态内存检测工具的设计与实现_第1页
嵌入式软件动态内存检测工具的设计与实现_第2页
嵌入式软件动态内存检测工具的设计与实现_第3页
嵌入式软件动态内存检测工具的设计与实现_第4页
嵌入式软件动态内存检测工具的设计与实现_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 题 目: 嵌入式设备中的内存测试方法研究与开发 - 2 - 嵌入式设备中的内存测试方法研究与开发 摘要 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪, 适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机 系统。根据国际电气和电子工程师协会的定义,嵌入式系统是控制、监视或者 辅助设备、机器和车间运行的装置。一般而言,整个嵌入式系统的体系结构可 以分成四个部分:嵌入式处理器、嵌入式外围设备、嵌入式操作系统和嵌入式 应用软件。 无论是 rom 还是 ram,其稳定性对于嵌入系统的可靠性来说都是至关重要的, 因此对于硬件中使用到的 rom 和 ram 进行测试是十

2、分有必要的。本课题的主要 工作就是对嵌入式系统的存储设备进行测试,如果存在错误,即返回存储器错 误的地址。设计说明书着重说明了嵌入式系统内存测试技术的总体思想、设 计结构和实现方法。 关键词 嵌入式系统,内存,测试 - 3 - 毕业设计(论文)外文摘要 titletitle memory test on embedded system abstract embedded system is used to apply, and based on computer technology , you can also add or reduce the hardware or software o

3、n it . it is applicable to the application system possess the rigorous demand calculating machine system special to meritorious service capacity , dependability , cost , bulk and work loss. as the definiens of ieee, embedded system is a devices used to control, monitor, or assist the operation of eq

4、uipment , machinery or plants. for normally ,the entire embedded system architectonic structure may separate into four sections as follow : the handler of flushbonding , the outside facility of flushbonding , the operating system of flushbonding and the applications of flushbonding. whether ram or r

5、om ,the stiffness is very important to the systems credibility !so it is necessary to have a memory test in the hardware.in my design, it can test the memory in the embeded system,and as a result,if it has any problem,it will return the address where the mistakes take place. this design will express

6、ion the thoughts and the structure of memory test on embedded system . keywords embedded system,memory test. 二 五 届 本 科 毕 业 设 计 论 文 第 页 共 页 - ii - 目 次 1绪论.2 1.1 引言.2 1.2 嵌入式系统概述.2 1.2.1 嵌入式系统的定义.2 1.2.2 嵌入式系统的特点.2 1.2.3 嵌入式系统的展望.2 1.3 内存的概述.2 1.4 本文的工作.2 2内存检测技术简介.2 3嵌入式系统的内存检测概述.2 4嵌入式系统的内存检测的设计与实现.

7、2 4.1 引言.2 4.2 嵌入式系统内存测试总体设计思想.2 4.2.1 走 1 测试.2 4.2.2 地址线测试:.2 4.2.3 测试存储器本身的完整性.2 4.3 嵌入式系统内存测试设计结构及实现.2 4.4 结果及性能分析.2 4.5 部分代码.2 5结束语.2 致 谢.2 参 考 文 献.2 附录.2 - 1 - 1 1 绪论绪论 1.11.1 引言引言 在嵌入式设备中需要使用到各种内存,按照存储信息的功能内存可分为如下的种 类: 只读存储器(read only memory, rom),用于存储和保存不需要变更的数据,例 如操作系统和启动信息等。在现代的嵌入式系统中,通常采用可

8、以通过采用特殊方法 进行更新的“只读存储器”来代替传统的 rom,常见的有 eprom、eeprom、flash rom 等。 随机存储器 ram(random access memory, ram),用于存储程序运行时的数据, 在系统断电后其中的数据会丢失。 无论是 rom 还是 ram,其稳定性对于嵌入系统的可靠性来说都是至关重要的,因 此对于硬件中使用到的 rom 和 ram 进行测试是十分有必要的。 1.21.2 嵌入式系统概述嵌入式系统概述 1.2.1 嵌入式系统的定义 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于 应用系统对功能、可靠性、成本、体积、功耗有

9、严格要求的专用计算机系统。它一般 由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分 组成,用于实现对其他设备的控制、监视或管理等功能。简单的说,一个嵌入式系统 就是一个计算机硬件和软件的集合体,也许还包括其他一些机械部件,它是为完成某 中特定的功能而设计的。 作为二十世纪人类社会最伟大的发明之一,计算机迈入了其另一个充满机遇的阶 段后 pc 时代。形式多样的数字化产品已经开始继 pc 机之后成为信息处理的一大 主要工具,并且正在逐步形成一个充满商机的巨大产业。 后 pc 时代的到来,使得人们开始越来越多地接触到一个新的概念嵌入式产 品。像手机、pda 均属于手持的嵌入

10、式产品,vcd 机、机顶盒等也属于嵌入式产品, 而像车载 gps 系统、数控机床、网络冰箱等同样都采用嵌入式系统。形式多样的数字 化设备正努力把 internet 连接到人们生活各个角落,也就是说中国数字化设备的潜 在消费者数量将以亿为单位。嵌入式软件是数字化产品的核心。如果说 pc 机的发展 带动了整个桌面软件的发展,那么数字化产品的广泛普及必将为嵌入式软件产业的蓬 勃发展提供无穷的推动力。 随着中国消费结构的改变,人们对家电的灵活性和可控性提出了更高的要求;这 些只能通过家电的数字化和网络化来实现;随着电话通信费用和通信类电子产品的价 - 2 - 格进一步下调,pda 结合数字手机将成为今

11、后个人数据通信和事务处理的最佳选择; 同时,对于现代化的医疗、测控仪器和机电产品也需要有专用的嵌入式系统软件的支 持。这些需求都极大地刺激了嵌入式系统的发展和产业化的进程。现在,嵌入式软件 已经在很多应用领域得到广泛应用。 (1)信息电器 信息电器是指所有能提供信息服务或通过网络系统交互信息的消费类电子产品。 具有信息服务功能,如:网络浏览、视频点播、文字处理、电子邮件等。 (2)移动计算设备 包括手机,pda,掌上电脑等各种移动设备。中国拥有最大的手机用户,而掌上 电脑(或 pda) 由于易于使用,携带方便,价格便宜,未来几年将得到快速发展,pda 与 手机已呈现融合趋势。 (3)网络设备

12、包括路由器、交换机、web server、网络接入盒等各种网络设备。基于 linux 等 的网络设备价格低廉,将为企业提供更为廉价的网络方案。设计和制造嵌入式瘦服务 器、嵌入式网关和嵌入式因特网路由器已成为嵌入式 internet 时代的关键和核心技 术。 (4)工控、仿真、医疗仪器等 工业、医疗卫生、国防等部门对智能控制需求的不断增长,同时也对嵌入式微处 理器的运算速度、可扩充能力、系统可靠性、功耗和集成度等方面提出了更高的要求。 1.2.2 嵌入式系统的特点 嵌入式计算机系统同通用型计算机系统相比具有以下特点: (1)嵌入式系统通常是面向特定应用的 嵌入式 cpu 与通用型的最大不同就是嵌

13、入式 cpu 大多工作在为特定用户群设计的 系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用 cpu 中许多由 板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力 大大增强,与网络的耦合也越来越紧密。 (2)嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体 应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、 不断创新的知识集成系统。 (3)嵌入式系统的硬件和软件都必须高效率设计,量体裁衣、去除冗余,力争在同 样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争 力。 - 3 - (4)嵌入

14、式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步 进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。 (5)为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯 片或单片机本身中,而不是存贮于磁盘等载体中。 (6)嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对 其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发。 1.2.3 嵌入式系统的展望 随着信息技术的发展,数字化产品空前繁荣。嵌入式软件已经成为数字化产品设 计创新和软件增值的关键因素,是未来市场竞争力的重要体现。由于数字化产品具备 硬件平台多样性和应用个性化的特点

15、,因此嵌入式软件呈现出一种高度细分的市场格 局,国外产品进入也很难垄断整个市场,这为我国的软件产业提供了一个难得的发展 机遇。嵌入式支撑软件是嵌入式系统的基础,而与嵌入式操作系统紧密联系的开发调 试工具是嵌入式支撑软件的核心,它的集成度和可用性将直接关系到嵌入式系统的开 发效率。目前,嵌入式系统工程师队伍迅速扩大,与他们紧密相伴的嵌入式系统开发 工具的发展潜力十分巨大。后 pc 时代的数字化产品要求强大的网络和多媒体处理能 力、易用的界面和丰富的应用功能。无线网络通讯技术的迅速发展,使更多的信息设 备运用无线通讯技术。同时,java 技术的发展,对开发相关无线通讯软件起到推动作 用,因此嵌入式

16、浏览器、嵌入式多媒体套件和无线通讯软件、嵌入式 gui、嵌入式应 用套件、嵌入式 java 成为嵌入式支撑软件的基本要素,能够组合应用或作为产品单 独销售,市场十分巨大。 嵌入式市场非常广泛。目前嵌入式系统带来的工业年产值已超过了 1 万亿美元, 未来 5 年仅基于嵌入式计算机系统的全数字电视产品,就将在美国产生每年 1500 亿 美元的新市场。在美国,到下一个世纪接入 internet 将有一亿辆汽车、几千万台个 人通讯装置、每个家庭中 5-20 个联网的家用电器。以信息家电为代表的互联网时代 嵌入式产品,不仅为嵌入式市场展现了美好前景,注入了新的生命;同时也对嵌入式 系统技术,特别是软件技

17、术提出新的挑战。这主要包括:支持日趋增长的功能密度、 灵活的网络联接、轻便的移动应用和多媒体的信息处理,此外,当然还需对付更加激 烈的市场竞争。 (1).嵌入式应用软件的开发需要强大的开发工具和操作系统的支持 随着因特网技术的成熟、带宽的提高,icp 和 asp 在网上提供的信息内容日趋丰 富、应用项目多种多样,像电话手机、电话座机及电冰箱、微波炉等嵌入式电子设备 的功能不再单一,电气结构也更为复杂。为了满足应用功能的升级,设计师们一方面 采用更强大的嵌入式处理器如 32 位、64 位 risc 芯片或信号处理器 dsp 增强处理能力; - 4 - 同时还采用实时多任务编程技术和交叉开发工具技

18、术来控制功能复杂性,简化应用程 序设计、保障软件质量和缩短开发周期。目前,国外商品化的嵌入式实时操作系统, 已进入我国市场的有 windriver、microsoft、qnx 和 nuclear 等产品。我国自主开发 的嵌入式系统软件产品如科银公司的嵌入式软件开发平台 deltasystem,它不仅包括 deltacore 嵌入式实时操作系统,而且还包括 lamdatools 交叉开发工具套件、测试工 具、应用组件等;此外,中科院也推出了 hopen 嵌入式操作系统。 (2)联网成为必然趋势 为适应嵌入式分布处理结构和应用上网需求,面向 21 世纪的嵌入式系统要求配 备标准的一种或多种网络通信

19、接口。针对外部联网要求,嵌入设备必需配有通信接口,相 应需要 tcp/ip 协议簇软件支持;由于家用电器相互关联(如防盗报警、灯光能源控制、 影视设备和信息终端交换信息)及实验现场仪器的协调工作等要求,新一代嵌入式设 备还需具备 ieee1394、usb、can、bluetooth 或 irda 通信接口,同时也需要提供相 应的通信组网协议软件和物理层驱动软件。为了支持应用软件的特定编程模式,如 web 或无线 web 编程模式,还需要相应的浏览器,如 html、wml 等。 (3).支持小型电子设备实现小尺寸、微功耗和低成本 为满足这种特性,要求嵌入式产品设计者相应降低处理器的性能,限制内存

20、容量 和复用接口芯片。这就提高了对嵌入式软件设计技术要求。如,选用最佳的编程模型 和不断改进算法,采用 java 编程模式,优化编译器性能。因此,既要软件人员有丰 富经验,又要发展先进嵌入式软件技术,如 java、web 和 wap 等。 (4).提供精巧的多媒体人机界面 嵌入式设备之所以为亿万用户乐于接受,重要因素之一是它们与使用者之间的亲 和力,自然的人机交互界面,就好象司机操纵高度自动化的汽车主要还是通过习惯的 方向盘、脚踏板和操纵杆。 1.31.3 内存的概述内存的概述 内存(memory) ,即存储器。在计算机的组成结构中,存储器是很重要的一个部 分。存储器是用来存储程序和数据的部件

21、,对于计算机来说,有了存储器,才有记忆 功能,才能保证正常工作。存储器的种类很多,按其用途可分为主存储器和辅助存储 器,主存储器又称内存储器(简称内存) ,辅助存储器又称外存储器(简称外存) 。外 存通常是磁性介质或光盘,像硬盘,软盘,磁带,cd 等,能长期保存信息,并且不依 赖于电来保存信息,但是由机械部件带动,速度与 cpu 相比就显得慢的多。内存指的 就是主板上的存储部件,是 cpu 直接与之沟通,并用其存储数据的部件,存放当前正 在使用的(即执行中)的数据和程序,它的物理实质就是一组或多组具备数据输入输 出和数据存储功能的集成电路,内存只用于暂时存放程序和数据,一旦关闭电源或发 - 5

22、 - 生断电,其中的程序和数据就会丢失。 既然内存是用来存放当前正在使用的(即运行中)的数据和程序,那么它是怎么 工作的呢?我们平常所提到的计算机的内存指的是动态内存(即 dram) ,动态内存中 所谓的“动态” ,指的是当我们将数据写入 dram 后,经过一段时间,数据会丢失,因 此需要一个额外的电路进行内存刷新操作。具体的工作过程是这样的:一个 dram 的 存储单元存储的是 0 还是 1 取决于电容是否有电荷,有电荷代表 1,无电荷代表 0。 但时间一长,代表 1 的电容会放电,代表 0 的电容会吸收电荷,这就是数据丢失的原 因;刷新操作定期对电容进行检查,若电量大于满电量的 1/2,则

23、认为其代表 1,并 把电容充满电;若电量小于 1/2,则认为其代表 0,并把电容放电,藉此来保持数据 的连续性。 从一有计算机开始,就有内存。内存发展到今天也经历了很多次的技术改进,从 最早的 dram 一直到 fpmdram、edodram、sdram 等,内存的速度一直在提高且容量也 在不断的增加。 1.41.4 本文的工作本文的工作 本文以存储设备中使用到的 fclink(fc: fibre channel)适配卡(嵌入设备)为 例,讨论对于其各内存部件进行测试的理论和实际方法。该系统的框图如下: cpu memory ddr-ram memory controller chipsetp

24、rotocol chip data buffer ddr-ram pldflash x2 nvram cpu fc chip bridge sfpsfp phy device i/f system pci bus pci-x 80mhz/64bit 60 x cpu bus 133-200mhz/64bit 100m ethernet uart local pci bus pci-x 80mhz/64bit pci-express bus 测试对象测试对象 图示说明:图示说明: - 6 - 其中 cpu memory ddr-ram、data buffer ddr-ram 和 nvram 是属

25、于随机存储器 ram(random access memory, ram),而图中的 flash x2 是指二块快闪存储器(flash rom) ,属于只读存储器(read only memory, rom)。cpu memory 容量 128m,data buffer 容量为 128m,flash x2 是的容量是 8m x2,nvram 为 32k 的容量。 本设计在测试中具体要对嵌入式设备的存储器进行测试,测试中包括对存储器的 地址是否全部可以使用,能否完整存储所有数据,确认存储器的内部电路是否有时间 延迟、噪音等,以及测试存储器的内存单元的地址解码器功能等等。在所有测试中, 目的是测试

26、存储器是否能够正常工作,如果有问题将会返回存储器中的地址,并根据 出错码给出一定的提示信息。 - 7 - 2 2 内存检测技术简介内存检测技术简介 随着时代的进步,几乎每家每户都有电脑,伴随着电脑的普及,人们和电脑配件 打的交道也越来越多了,然而内存又是人们很头疼的配件之一,通常我们会觉得内存 出错损坏的几率不大,并且认为如果内存坏了,那么它是不可能通过主板的开机自检 程序的。事实上这个自检程序的功能很少,而且只是检测容量和速度而已,许多内存 出错的问题并不能检测出来。如果你在运行程序时不时有某个程序莫名其妙地失去响 应或者打游戏时突然退出游戏返回桌面,甚至直接蓝屏,打开文件时偶尔提示文件损

27、坏,但稍后打开又没问题,这时候有可能是内存出问题了。目前有很多针对 pc 机内存检测的工具,其中软件又以 memtest86、doc memory diagnostic(内存神医) 等等软件使用率比较高。在硬件方面,sp3000 又是最流行的测试工具。 比如在“内存神医”中,这个内存测试工具软件是一种可自行起动的电脑内存检 测软件。它使用方便,操作灵活。它基本可以检测出常见的内存故障。 “内存神医” 使用的测试算法和程序检测电脑基本内存和扩展内存。无需拆除内存条即可进行检测。 从网上下载的初装软件可以生成一个自行起动的“内存神医”测试软盘。只要将这 个软盘插入欲测电脑的软驱内并起动电脑即可开始

28、内存检测。 “内存神医”提供十 种精密的内存检测程序,其中包括 mats,march+,marchc-,以及 checkerboard 等。 选用老化测试可以检测出 95%以上内存软故障。用户可以使用鼠标器方便的选择检测 程序和设定测试参数。 目前在内存产商中使用广泛的还有内存测试仪,比如 cst 公司的 sp3000 内存测 试仪,它首次将 simm 和 dimm 测试功能集成在一个通用的、可单独使用的、便携式存 储器测试仪上。该测试仪能进行 30 针 simm、72 针 simm、168 针 dimm、 200 针 dimm 等多种存储器模块的测试。它配有支持 pc133、pc100、pc

29、66 sdram; fpm; edo;sodimm;pcmcia sgram 等模块的简单插拔式适配器。 测试能力 sp3000 sdram 测试仪配有通用测试台和满足各种用户测试需求的适配器。sp3000 sdram 测试仪带有 标准 168 针 sdram dimm 插座,可进行 pc133、 pc100、 pc66 sdram 测试。 sp3000 dram 测试仪带有 72 针和 168 针 dram simm/dimm 插座,可进行 dram edo fpm 模块测 试。 sp3000 组合测试仪配有上述二个适配器。您可选择不同的适配器来满足不同的 需要。sp3000 测试仪灵活多变

30、的模块式结构使其可以测试种类繁多的存储器模块。 测试 sdram、sgram、dram simm、edo dimm、sodimm 模块、pcmcia 存储卡、存储芯 片等器件只需选用不同的适配器,而使用相同的测试台。sp3000 测试仪内置 80 个数 - 8 - 据位和 16 路复用地址线,使测试容量高达 4g 字节。它的特性为:1.测试算法,定做 了二种测试算法。walk data 和 walk address 测试模式用于快速测试。它可在数秒内 完成焊接开/短路的检测。marching 和棋盘测试算法可进行存储器单元的综合测试。 它可检测漏焊,元件交叉污染,非连续故障及记时和噪声等因素导

31、致的故障。测试仪 可对模块的 eeprom 进行测试和编辑(spd) 。2.增强性能,有一些增强性能用来提高 测试精度。它们包括:芯片加热,电压抖动,重复测试,计时参数可调(可选) ,可 更改刷新模式和周期,刷新测试,icc 测量,地址和 ras/cas 测试。另外,它还支持 带奇偶校验位和 ecc 位的模块。3.简单易用,模块参数(如:访问时间)的确认只需 轻轻按下一个按钮。这种自动确认方式使用户可以迅速识别未知模块。测试完成后, 故障数据位将显示在液晶显示器上。如您需要打印测试报告,只需将打印机与内置串 口相连即可。4.简单易用,这种便携式 simm/dimm 测试仪适用各种情况。在现场,

32、您 可使用电池包做电源。在实验室,您可以直接将它接到普通交流电源上。在大批量生 产作业时,理想的方案是将 sp3000 与 cst 的 roboflex 自动化 simm/dimm/sodimm/rimm 机械手相配,进行全自动测试。无论何种情况,sp3000 都可 连接到 pc 机上运行,或下载公司的升级软件。 测试 ddr 的方法,尽管 ddr 存储器与 sdr 相似,但是数据频率的翻倍确实对测试 工程师提出了挑战。测试仪不仅要以加倍频率锁存数据读取,而且还要以加倍频率写 数据。这要求有二个 ddr 测试区以便进行单独测试。 芯片级测试,ddr 芯片测试既在初期晶片阶段也在最后封装阶段进行

33、。采用的测 试仪通常是自动测试存储器测试仪,其价值一般在数百万美元以上。测试仪的核心部 分是一台可编程的高分辨信号发生器。测试工程师通过编程来模拟实际工作环境;另 外,他也可以对计时脉冲边沿前后进行微调。 自动测试仪(ate)系统也存在缺陷。它产生的任意波形数量受制于其本身的后 备映象随机存储器和算法生成程序。由于映象随机存储器深度的局限性,使波形只能 在自己的循环内重复。因为 ddr 带宽和速度是普通 sdr 的二倍,所以波形变化也应是 其二倍。因此,测试仪的映象随机存储器容量会很快被消耗殆尽。为此,要保证一定 的测试分辨率,就必须增大测试仪的内存。 建立测试头也是一个棘手的问题。因为 dd

34、r 存储器的数据读取窗口仅有 12ns, 所以管脚驱动器的上升和下降时间非常关键。为保证在数据眼中心进行信号转换,需 要较好的管脚驱动器转向速度。 在频率为 266mhz 时,开始出现传输线反射。设计工程师发现在设计测试平台时 必须遵循直线律。为保证信号的统一性,必须对测试头布局进行传输线模拟。管脚驱 动器强度必须能最大限度降低高频反射。 测试头设计模拟,针对测试的设计(dft)当然收人欢迎,但却不现实。因为自 - 9 - 动测试仪的所需的测试时间与花费正比于存储器芯片的存储容量。显然测试大容量的 ddr 芯片花费是相当可观的。新型 ddr 芯片的通用 dft 功能一直倍受重视,所以人们 不断

35、试图集结能有效控制和观察的内部节点。专用 dft 技术如:工业标准化委员会在 jedec 会上提出的:采用并行测试模式进行多重阵列测试。不幸的是由于考虑到芯片 电路尺寸,该方案没有被采纳。ddr 作为一种商品,必须最大限度减小芯片尺寸来保 持具有竞争力的价位。 存储器模块测试,对存储器模块测试的要求是千差万别的。ddr 模块的制造商假 定已经进行过芯片级半导体故障的测试,因而他们的测试也就集中在功能练习和组装 错误方面。通过采用 ddr 双列直插存储器模块和小型双列直插存储器模块,可以有三 种不同存储器模块测试仪方案: 双路读取 ddr 测试结果。这恐怕是最简单的测试仪方案。大多数的测试仪公司

36、一 般仅对他们现有的 sdr 测试仪作一些很小的改动就将它们作为 ddr 测试仪推出。sdr 测试仪的写方式是将同一数据写在连续排列的二个位上。在读取过程中,sdr 测试仪 能首先读 ddr 模块的奇数位数据。然后,通过将数据锁存平移半个时钟周期,由第二 通道读偶数位。这使得测试仪能完全访问 ddr 存储器单元。该方法没有包括真脉冲串 测试,而且也不是真循环周期测试。 采用实时专用集成电路(asic)控制器设计 ddr 测试仪并不难。毕竟,新型 asic 集成块可以很容易达到所需的 266mhz 频率。然而,考虑到测试仪体积与价格方面的 因素,采用场编程门阵列(fpga)作逻辑核心则更具竞争力

37、。 采用 fpga 设计 266mhz 存储器控制器确实是一个挑战,因为它必须使用 0.18 微 米线宽的芯片来实现上述性能。即使我们可以得到 0.18 微米线宽的芯片,但整个制 备方案还没有进行全面的审核。我们必须与 fpga 的分销商门合作,以克服所有障碍。 我们需要的测试仪不仅仅是价格便宜,而且应当有一定的速度和测试精度。无论 其它测试方法如何,存储器模块制造商一直在寻找超级母板模拟器。他们认为最佳测 试应当在处于实际工作环境中的母板上进行。然而,制造商们也清楚 pc 机母板本身 也存缺陷如:引导速度慢、测试时间长、插槽寿命短,这些均妨碍了它在模块测试仪 上的应用。 由于技术上的突破,上

38、述问题可以通过专门的软件和硬件设计解决。制造商们准 备采用 x86 处理器和 pc 芯片组设计生产新型 ddr 模块测试仪。它将通过专门的测试 操作系统大大降低引导时间,另外采用高速缓冲运算与专用软件算法结合延长双列直 插式存储器模块(dimm)插槽寿命。这意味着在更换测试器件时不必关电源和重新引 导系统。当然,新型测试仪并不等于母板,它仅是一种优化性能的测试仪。它还将配 备重载测试插槽。 - 10 - ddr dimm 模块测试处理,模块测试仪最重要的部分是自动处理器。处理器一般采 用镀金连接器以保证与存储器模块良好的电接触。在频率为 266mhz 时,2 英寸长的连 接器将会造成测试信号极

39、大衰减。为解决上述难题,一种新型处理器面市了。它采用 普通手动测试仪的插槽。测试仪可以模拟手动插入,平稳地接入待测模块的插槽;一 旦测试完成,模块又可以平稳地从插槽中拔出。 ddr 测试技术的转变是以一种渐进方式而不是突变方式进行的。jedec(工业标准委员 会)不再直接干预该技术的发展,而是指出今后的改进方向。根据 jedec 的规划, ddr333 将于 2002 年推出;ddrii 将于 2004 年推出。物理封装将由 tsopii(小型塑料 封装)过渡到 fbga(倒装球格阵列) 。 由于内存在人们的生活中做占据的地位日益重要,人们对于内存是否能够正常工 作的关注也越来越密切,这也促进

40、了内存技术的发展和内存检测技术的发展。 - 11 - 3 3 嵌入式系统的内存检测概述嵌入式系统的内存检测概述 有限的 rom,有限的 ram,有限的传输速率,使用广泛而且不乏高危场所,这一 切都需要嵌入式系统中有一个核心小,效率高,优秀的内存管理。无论是 rom 还是 ram,其稳定性对于嵌入系统的可靠性来说都是至关重要的,因此对于硬件中使用到 的 rom 和 ram 进行测试是十分有必要的。 在嵌入式系统中,内存约束通常是有限的。内存分析工具用来处理在动态内存分 配中存在的缺陷。当动态内存被错误地分配后,通常难以再现,可能导致的失效难以 追踪,使用内存分析工具可以避免这类缺陷进入功能测试阶

41、段。目前有两类内存分析 工具软件和硬件的。基于软件的内存分析工具可能会对代码的性能造成很大影响, 从而严重影响实时操作;基于硬件的内存分析工具价格昂贵,而且只能在工具所限定 的运行环境中使用。 虽然嵌入式系统应用广泛而且前景光明,但对于一些嵌入式系统基层原理和硬件 测试方面还只是一些专业人士比较了解,一般的用户只关心嵌入式系统所能够实现的 功能,相比较于 pc 机的内存的广为人知来说,更多的人也只是知道在嵌入式系统中 存在内存这一事实。目前在市面上比较有效的测试方法是安捷伦公司推出的 93000soc 测试系统,对嵌入式内存的测试提供了行之有效的解决方案。 嵌入式内存测试,嵌入式内存是 soc

42、 芯片不可或缺的组成部分,因此其测试以及 分析的方法也就相当重要。93000soc 测试系统在内存的测试上,无须额外的硬件,可 直接将高速数字测试通道,作为内存测试之用,以达到全速测试的目的,同时在运行 中切换逻辑与内存测试,能有效提高产率,并进一步作冗余分析和修补。 内存测试与除错,首先,在 93000 提供的 apg(算法图码发生器)软件中,我们可 以描述出待测的内存大小,包含 x 和 y 方向的地址数、fo 位数及其与实体地址的关系, 即所谓的不规则图码。因为 93000soc 系统的独立通道架构,在资源安排上,可任意 使用 1024 个测试通道,几乎没有 io 数的限制,也因此在 du

43、t 板设计与引脚安排上 更具有弹性.当待测对象有多个内存块,或者是对嵌入式内存,只有部份引脚用于内 存测试时,利用 apg 中可定义多个测试端口的功能,可以指定不同的引脚至不同的测 试端口是仍须定义存取的运作,比如读和写,以及这些运作中是否需要多任务或流水 线处理。接着便需选择测试图码,其目的在于利用一连串的读写动作重复测试内存的 - 12 - 每一个单元,不同的图码可检测到不同的制程错误,例如固定错误、耦合错误等。 93000 已将校验板、步进 6n 等标准的内存测试图码作成图库,使用者可直接选取,或 者,根据待测物的特定需求,使用 ascii 格式自行编辑图码。内存测试的图码需占用 大量的

44、向量内存,以 12x 12 的 256mbsram 做一次步进 6n 为例,扫描所有的地址需要 约 10m 的周期,这还不含其它功能测试的向量。如采用具有独立通道架构的 93000 测 试系统,使用软件式 apg 能大大压缩系统内存的占用量至原本的 119,500,即约剩 536 周期。因此,在测试具有多功能的 soc 芯片上,便不须担心因为加入内存测试而 需增加系统的内存资源。内存模块因其不同的电路架构,而须特别的除错工具,以便 观察待测对象出问题的地方是在哪里。93000 专为内存测试提供了位图与错误存储两 种除错工具,另外诸如状态列表、示波器与时序图亦可作为辅助使用。 冗余修补,随着高容

45、量内存出现,只要有故障便丢弃整块内存的方式变得不切实 际,通常 2mb 以上的 sramdram,可在模块上增加多余的行或列,利用激光绕开故障 的点。至于有限的行或列是否足以修补故障,则须由测试系统判断。 一般的内存测试系统都有其判断是否足以修补的算法,但很难说是否为最佳化, 尤其当待测对象较简单时。93000 提供的是一种动态的冗余判断,当发现有故障点时, 其地址与 io 资料会传回利用 c 编辑的判断程序处理。如果仍可以修补则继续测试 工作,反之,已知该芯片已无剩余的列或行可使用。当发现还有故障的地址,表示已 无法修补而必须丢弃时,其它的点就可跳过,直接测试另一个项目或跳至下一块芯片, 以

46、节省测试时间。 高速测试的挑战,对于高速数字电路的测试,93000soc 系统同样也具有完备的解 决方案。目前,93000soc 的 p 系列产品具有 600mhz、800mhz 直至 1ghz 的测试能力, 其 np 系列产品,更具有高达 10ghz 的测试能力,充分满足了高速 cpu 和网络处理器 的测试需求。但是,高速电路的测试不但要求测试系统的能力,也对整个测试环境提 出了更高的要求。 一般而言,我们首先会面临到传输线的问题,传输线材质的不同,其相对的电容 特性及电感特性也不一样。在低速传输的环境中,传输线本身的电容效应,电感效应 对于传输的信息不至于有太大的影响,但在高速传输的环境之

47、下,电容效应和电感效 应造成了传输信息的失真,无论在芯片内部的数据传输或是在芯片外部的应用方面, 我们可以预见传输线本身的材质及电器特性在高速环境下的重要性。 在芯片的测试环境中,包含了测试系统,配套设备如送片机负载板或是探头 探头卡及芯片本身等几个主要因素。在整个测试过程中,测试系统送出相关的测试向 量,通过负载板探头卡到芯片输入端,然后接收由芯片输出端送出的经由芯片内部 逻辑运算后的结果来判断测试的正确性。这样的过程看似简单,但在高速的环境下, 测试系统与配套设备间的接口或者配套设备与芯片间的接口,由于接触点的吻合程度, - 13 - 或者彼此的电气特性不同,会导致阻抗匹配的问题。为使阻抗

48、匹配,可以在各个接口 之间利用匹配电路来补偿接口两侧的阻抗特性,如果有一侧为开路端,则需要在端点 加上终端电阻来避免信号的全反射。在各种测试系统中,往返延时(rtd)是一项由于 系统本身与芯片之间的连接而具有的一种特征,如图 2 所示,为了确保芯片能够不受 传输延时影响,系统本身可校验提前送信号到芯片输入端,或者延迟比较由芯片输出 端传回的信号来补偿这样的影响。然而,这种现象若是发生在一个 io 通道上,当 驱动信号与比较信号发生的时间太靠近时,这种补偿是没有效用的,这种发生在传输 线上信号冲突的情形称为总线争用,在高速传输的测试中,发生的机率较高。为了避 免这种情形可由测试程序的图码和定时来

49、考量,将驱动传送信号前的信号比较情形改 为不予考虑或将两者的时间设定分开至少一个 rtd 的时间,在此同时最好能与芯片的 设计者一起讨论以确保错误覆盖率。 - 14 - 4 4 嵌入式系统的内存检测的设计与实现嵌入式系统的内存检测的设计与实现 4.14.1 引言引言 大部分的软件开发者把存储器想成是随机存取的或者是只读的。但是,实际上, 每一种都有亚型,甚至有混合型的。在一个 ram 设备中,存储在存储器中的每一个位 置的数据都可以在需要的时候读或者写;在一个 rom 设备中,存储在存储器中的每一 个位置的数据都可以随意的读取,但是不能够写入,有些时候,在一个类似 rom 设备 中改写其中的数

50、据是可能的。这种设备叫做混合存储器,因为它同时表现出了 ram、rom 的一些特征。 ram 的类型:在 ram 家族中有二个重要的存储设备: sram、dram。在他们之间主 要的差别在于存储于其中的数据的寿命。sram(静态 ram)只要是芯片中有电就会保 持其中的数据直到掉电为止,而 dram(动态 ram)只有极短的数据寿命通常不超 过 0.25 秒,即使在连续供电的情况下也是如此。目前,dram 的应用要比 sram 要广泛 的多,原因有以下几方面:1.在同样大小的芯片中,dram 的继承度远高于 sram,如 dram 的基本单元电路是一个 mos 管,而 sram 是 6 个 m

51、os 管;2.dram 行列地址按先后 顺序传输,减少芯片引脚,也减少了封装尺寸;3.dram 的功耗仅为 sram 的 1/6;4.dram 的价格仅为 sram 的 1/4。但是 dram 也有缺点:1.由于使用动态元件 (电容) ,因此它的速度要比 sram 低;2.dram 需要再生,需要配置再生电路,也需要 消耗一部分功率。通常,容量不大的高速存储器大多用 sram 实现。 rom 的类型:rom 家族中的存储器是按照向其中写入的新数据的方法(通常叫做 编程)及其可以重写的次数来区分的。这个划分反映了 rom 设备从硬连线,到一次性 可编程,到可擦写可编程的演化过程。这些设备一个共同

52、的特性就是他们都能永久的 保存数据和程序,甚至在断电之后。真正第一个 rom 是硬连线设备,它包含一组预先 编排的数据或指令。rom 中的内容不得不在芯片生产出来之前指定,因此实际的数据 用来安排芯片内部的晶体管,硬连线内存依旧在使用,目前被称为“掩膜 rom” 。比掩 膜 rom 更进一步的是 prom(可编程 rom) ,为了 把你的数据写入到 prom 中,需要使 用到设备编程器,还有一种 eprom(可擦写可编程 rom) ,只需要把该设备暴露在强紫 外线光源下,即可擦除。 最近几年存储器的技术已经成熟,ram 和 rom 设备之间的界限已经渐渐模糊,现 在有几种类型的存储器结合了二者

53、的优点,这种存储器不属于任何一类,总体上可以 - 15 - 看做是混合存储设备。混合存储器可以随意的读写,就像 ram 一样,但可以保持其内 容而不需要供电,就像 rom 一样。有二种混合型设备,eeprom 和快闪存储器(flash- rom)是 rom 设备的子代;第三种,nvram,是 sram 的改版。其中快闪存储器和 nvram 也属于本次设计中的测试对象。快闪存储器是存储器技术的最新发展,它具有高密度, 低价格,非易失性,快速以及电器可重编程等特点。但是向快闪存储器中写入数据很 困难,这有三个原因:1.每一个存储位置必须在重写操作之前被擦除。如果旧的数据 没有被擦除,写操作的结果会

54、是新旧数据的某个逻辑组合,存储的值通常不是所期望 的;2.每次只能有一个扇区或者块被擦除;不可能只是擦除一个单个的字节,具体一 个扇区的大小是随设备的不同而变化的,但是它通常是几千字节的量级;3.擦除旧数 据的过程和写入新数据的过程是随着制造商的不同而变化的,通常更加复杂。为了使 快闪存储器更加好用,就必须加入一个软件层(即快闪存储器的驱动)以使得它更容 易被使用,如何创建这么一个软件层不在本文的讨论范围内,因此在这里只是提一下。 而 nvram(nonvolatile ram,非易失 ram) ,nvram 通常只是一个带有后备电池的 sram,当电源接同时,nvram 就像任何一个其他 s

55、ram 一样,但当电源切断时,nvram 从电池中获得足够的电力保持现存的内容,nvram 在嵌入式设备中应用非常普遍;但 它非常昂贵,它的应用被限制于存储仅几百字节的系统关键信息。 下表中概括了不同存储器类型的特征: 存储器种类易失性可写擦除大小擦除周期相对速度 sram是是字节无限制快 dram是是字节无限制适中 掩膜 rom否否无无快 prom否用编程器可写一 次 无无快 eprom否是,利用编程器整个芯片有限制(见说 明书) 快 eeprom否是字节有限制(见说 明书) 快(读快写慢) flash rom否是扇区有限制(见说 明书) 快(读快写慢) nvram否是字节无快 无论是 ro

56、m 还是 ram,其稳定性对于嵌入系统的可靠性来说都是至关重要的,因 此对于硬件中使用到的 rom 和 ram 进行测试是十分有必要的。而各个内存诊断使用的 - 16 - 内存测试评价的 pattern,从逻辑上来看是共同的,因此着眼与 pattern 的概要以达 到测试的目的。 4.24.2 嵌入式系统内存测试总体设计思想嵌入式系统内存测试总体设计思想 存储器测试的目的是确认在存储设备中的每一个存储位置都在工作。换一句话说, 如果你把数 50 存储在一个具体的地址,你希望可以找到存储在那里的那个数,直到 另一个数写入。任何存储器测试的基本思想都是写一些数值到每一个内存设备的地址, 检验读回的

57、数据。如果所有读回的数据和那些写入的数据是一样的,那么就可以说存 储设备通过了测试。所以只有通过认真选择合适的一组数据你才可以确信通过的结果 是有意义的。 存储器中可能会存在一些电子线路问题,这个问题可能是由电路板设计或者制造 中的错误造成的。连接存储器和处理器的每一根线都是三种中的一种:地址线、数据 线、控制线。地址和数据线分别用来选择内存地址以及传输数据。控制线告诉存储设 备处理器是要读还是要写,以及数据将被传输的精确时间。如果问题出在数据线路上, 几个数据位可能看上去是像“粘”在了一起(也就是说,无论传输的数据如何,二个 或者二个以上的位总是包含相同的值) 。类似的,一个数据位可能“粘高

58、” (总是 1) , 或者是“粘低” (总是 0) 。这些问题可以通过写入一个设计好的数据序列来检测。每 一个数据管脚可以被设置成 0 或 1,而不受其他管脚的影响;如果地址线出了问题, 那么二个存储器位置中的内容看上去可能像是重叠的。换句话说,写到某一个地址的 数据会覆盖其他地址的内容。这是因为被短路或者开路的地址线会使得存储设备看到 的地址不同于处理器选择的地址。如下图,就是存储器内部线路出现了短路或开路: - 17 - 有的时候存储器还会出一个很另类的错误无存储器芯片,这是一个显而易见 的问题,但是由于无连接电子线路的电容特性,一些存储器测试不能检测到这个问题, 比如,假设使用以下测试算

59、法:把值 1 写入到存储器的第一个位置,然后读回,验证 他的值,把值 2 写入到存储器的第二个位置,读回并验证依次类推。因为每一次 读的操作都是跟在相应的写操作之后的,所以有可能读回来的数据不代表任何东西, 只不过是上次写操作保留在数据总线上的电压罢了。如果数据被过快的读回来,那么 表面上看来数据好像已经被保存进存储器即使在总线的另一端没有存储器芯片存 在。为了检测出无存储器芯片,测试必须改动。不是在相应的写操作之后以及读入验 证,而是执行几个连续的写操作后再进行同样数量的读操作。比如,把值 1 写入到第 一个位置,值 2 写入到第二个操作,值 3 写入到第三个位置,然后验证第一个位置的 数据

60、,验证第二个位置的数据等等。如果数据的值是唯一的(像上面所述的测试那样) ,那么有无存储器芯片就可以被测试出了:读回来的第一个值会对应于最后写入的值 3,而不是第一个写入的值 1。 上面所说的只是二种有可能发生的存储器错误,针对以上二种可能的错误目前常 用的独立测试方法有三种。 下面介绍这三种基本的独立测试的算法: 4.2.1 走 1 测试 走 1 测试: 由于测试对象是数据线,我们需要确定任何由处理器放置在数据 线上的值都被另一端的存储设备正确的接受。最明显的测试方法就是写入所有可 能的数据值并且验证存储设备成功的存储了每一个。然而,那并不是最有效率的 测试方法。一个更快的测试方法是一次测试

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论