您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术嵌入式计算系统调测方法与技术综述 正文
嵌入式计算系统调测方法与技术综述

嵌入式计算系统调测方法与技术综述

点击数:7213 次   录入时间:03-04 11:51:55   整理:http://www.55dianzi.com   嵌入式系统-技术
 摘要:叙述嵌入式计算系统在开发阶段、生产环境和现场环境三种情况下的调测技术和方法,以及如何在硬件和软件设计中进行可观测性和可测试性设计。

    关键词:在线测试 可观测性 可测试性 BDM JTAG

引言

对于含有微处理器的装置来说,调测总是软件和硬件结合的。在产品开发的阶段以排错为主,在产品开发后期以及生产和现场运行阶段,则是以测试为主。不同的阶段,调测的内容、手段和使用的工具不尽相同。

测试接口并不是系统功能的一部分,测试接口设计本身也需要成本。对于小型简单系统来说,没有必要也不允许(成本考虑)设计测试接口;对于复杂系统来说,设计测试接口的花费是值得的。良好的测试接口设计可经缩短产品的开发周期,给产品维护、维修带来便利。

对于嵌入式计算系统来说,测试往往是软件和硬件相结合的,既有借助于“正确”的软件来测试硬件,也有借助于“正确”的硬件来测试软件。由于软件设计人员和硬件设计人员的技术隔膜,二者常常在出现问题后相互指责,难以界定是软件还是硬件问题。对于嵌入式系统的软件设计人员来说,必须对硬件有足够的了解。这一点,和通用计算平台上的软件设计是不同的;反之,硬件人员也必须能够编写一些测试软件,以证明其设计的正确性。

1 开发阶段的调制方法

1.1 RAM版本的目标系统调试

通过ICE(In-Circuit-Emulate)来调试目标板是开发人员最常用的手段。在产品开发初期,由于各种软件和硬件问题很多,通过仿真器并结合逻辑分析仪、示波器等硬件信号测试工具能够很好地发现问题。

在仿真器环境下,通过仿真器的监控软件来控制用户软件的运行,使用断点、单步跟踪和查看变量、CPU寄存器、存储器的数值等手段来查找问题。由于仿真器的软件和硬件需要一定的CPU资源,用户软件在仿真器环境下运行和脱离仿真器后独立运行是有区别的。好的仿真器能够尽量减小这种区别。常见的仿真器从技术上区分有:单CPU仿真器、双CPU仿真器和ROM仿真器。

在仿真器环境下,程序一般是在仿真器的RAM存储器中运行的,所以这种阶段也称为“RAM版本的目标系统调试”。

1.2 ROM版本的目标系统调试

在仿真器环境下,目标板运行调试正确后,一般的做法是将应用程序写入目标板的非易失性存储器中,让目标板单独运行。在很多情况下,目标板系统往往不能运行或者运行结果和仿真器环境下不一致。而没有连接仿真器,无法观察各种软件状态,给分析问题造成一定困难。在目标板上设计指示电路有助于发现问题;在电路板上增加1个LED是最简单也是很有效的方法。对于复杂系统,可以设计1个数码管显示输出接口,或者设计1个调试用串口,将调试信息发送到PC机上显示。

在使用PC机作为显示输出设备时,一般的做法是使用Winodws自带的超级终端软件,无需另外编制程序。和前二种方法相比,该方法的接口信号是双向的,调试者可以通过PC机输入信息到目标板中,设定显示信息的类别。这一点,对于复杂系统的调试是很有价值的,CISCO公司的很多路由器产品就使用这种方法来维护和调试。

2 生产阶段的测试方法

生产阶段的测试只是对硬件电路或者系统进行测试。测试目的是为了对产品或者部件进行分检,找出有缺陷的产品。测试内容包括:

*裸板测试——检查未安装元器件的电路板上的开路和短路缺陷;

*成品生产缺陷分析——检查已安装元器件的电路板上焊点的短路和开路缺陷;

*成品电气性能测试——认证每个单元器件的上电运作;

*产品功能测试——认证电路模块的功能。

生产测试和开发阶段的硬件测试不同,需要测试方法快速、能成批测试,易于在制造生产线上安装。在生产的不同阶段使用的测试工具和技术也不相同。目前常用的测试工具和技术有:人工视觉检查(MVI)、在线测试(ICT)、自动光学测试(AOI)、自动X射线测试(AXI)。其中人工视觉测试(MVI)只能用于小批量试制产品。

在线测试(ICT)是最常用的一种线路板测试方法:使用专门的针床与已焊接好的线路板上的元器件接触,通过针床在线路板上施加微小电压来测试线路通断、元件是否正确安装。由于需要为特定电路板设计专用夹具,适合于单一品种民用型家电线路板极大规模生产的测试;缺点是在高密度的SMT线路板测试困难。目前的替代解决办法是使用光学方法测试(如AOI,AXI),或者使用边界扫描技术(即基于IEEE1394标准的JTAG测试接口)测试。后者需要IC或者线路板支持此技术。

功能测试是生产过程的最后阶段使用,测试线路板或者系统的功能指标,一般的功能测试需要设计专用测试设备和测试软件。

3 现场测试技术

现场测试分为三种情况:一种是在线测试,测试设备不停止运行;一种是停机测试,被测试设备停止运行;第三种为脱机测试,将被测部件从运行现场取出,放到专用的测试装备上进行测试。从测试技术角度上说,后二者更容易进行各种测试;对于复杂系统来说,往往故障和问题需要在设备运行时才能发现和定位,必须进行在线测试。究竟采取哪种方式进行现场测试,取决于故障状况和实际应用是否允许立即停机。

开发阶段产品和成熟产品的现场测试要求也不同:前者测试目的主要是发现设计中的问题,由产品开发人员进行;后者侧重于发现使用中的问题和失效的部件,目的是更换部件,由产品使用人员进行。(但测试方法和步骤也有可能是设计人员制定的。)

现场测试和试验室测试的最大区别就是测试设备难以安装和连接:线路板封闭在机箱中,测试信号线很难引入,即使设备外壳上留有测试插座,测试信号线也需要很长,传统的在线仿真器在现场测试中无法使用。另一方面,现场往往没有实验室里的各种测试仪器和设备,因此,必须有更好的方法和手段来完成测试。

    嵌入式处理器中目前有很多芯片具有类似Motorola公司683XX系列处理器的BDM调试接口(详见第5部分)。这种接口是串行的,处理器内部固化了调试微码,为现场测试 带来了方便。对于不具备这种接口的嵌入式计算系统,在系统设计时将关键信号点引出到一个测试接口插座上,通过该插座可输入测试激励信号和观察输出信号;对于软件测试,可使用前文中所述的ROM板测试方法,外接显示部件来观察程序运行情况。

软件现场调试的另外一个要求是程序应能够现场下载,以便在发现问题后能够修改软件。现场在线下载程序的方法有两种:一种是使用具有ISP功能的处理(如Philips公司的P89C51RD系列MCU等),另一种方案是将软件设计成两部分,一部分是应用功能软件,另一部分是完成前者下载到系统中的下载通信软件。无论哪种方法,下载的主机均是PC机。如果需要达到远程调试和下载的目的,则要使用后一种方案。例如,在Echelon公司的Lonwork现场总线产品中,每个节点中的程序均可以通过网络下载,这种功能为多节点网络系统的现场调试带来了极大方便。

4 可测试性设计

在产品开发初期,产品测试的目的是验证产品设计的正确性,而可测试性部件的存在则能加快测试速度,缩短产品开发周期;在生产阶段,通过测试来剔除有缺陷的产品和部件;在使用阶段,测试则用于故障定位,找出失效的部件并更换或者维修。可见,产品的测试在产品生命周期各阶段均有十分重要的作用。可测试性设计应该在产品设计初期就加以考虑,结合测试在不同阶段的作用来设计测试模块和接口。

产品的可测试性设计要考虑的问题有:测试的目的、测试部件的位置、测试部件的基本要素、内置测试部件与外部测试设备仪器之间的电气和机械连接,添加测试部件对被测模块功能和性能的影响、测试部件的成本以及何时使用测试功能等。

如前所述,测试在产品不同阶段是有差别的。在产品开发阶段,很多参数需要定量和详细地进行测试,以验证产品在各种不同情况下是否能正常工作;测试参数,测试点较多,可以方便地连接各种外部测试仪器,也不需要考虑添加测试部件所带来的附加成本。在产品生产和使用阶段,测试的节点和参数数量也相对减少,测试一般是定性的,无需借助于外部设备的自测试,成本因素也必须考虑。

测试部件一般位于被测部件的接口和边界位置上,如图上所示,用于产品控制被测部件的激励信号和采样被测部件的输出信号。测试部件一般由测试信号源、信号传输通道、测试观察装置等组成。测试部件可以完全包含在被测部件中,也可部分位于外部(如外接信号源和示波器等)。对于自动测试,测试部件还包括被测部件的预期输出存储部件比较部分。

[1] [2]  下一页


本文关键字:技术  嵌入式  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术