用户中心

资讯 > 自动化软件

嵌入式模块自动测试系统软件设计若干问题的研究

作者:www.cechina.cn2010.08.09阅读 2370

        随着ETX、St~2C、ATPPC等嵌入式模块的规模化 生产、设计技术的成熟,越来越多的科研院所和工程单 位选择外购这些模块用于各类系统项目。随着工程中 各类嵌入式模块外购情况的增多,对这些外购模块的 验收测试,仿真与其交联的模块,验证其功能、性能和 接口的工作也越来越频繁。另一方面,自动测试技术 在现代科学技术、工业生产和国防等诸多领域中的应 用十分广泛。随着计算机技术、通信技术和电子技术 的飞速发展,各种先进的测控技术、测控设备和远程通 信手段层出不穷。现代自动测试系统经常是由多个分 系统组成的,每个分系统由通用系统或专用系统实现, 并承担一部分相对独立的测控任务,各分系统之间通过信息的交换实现并行与协同工作,共同实现整个自 动测试系统的功能u 。
        由此,设计一种通用自动测试系统来完成对外购 嵌入式模块的验收,这是一项具有重要应用价值的任 务。这种通用自动测试系统一般分为硬件、软件两部 分。硬件设计一般针对各型号模块的结构和布局配合 不同的适配器完成测试工作;软件设计则包括测试界 面管理,各种接口的测试应用软件,通信,测试结果数 据管理和测试报告自动生成等功能。
        测试软件采用C/S模式进行应用程序开发,分为 测试台和控制台两部分。测试台用于对嵌入式模块各 测试项目进行本地测试,各测试项目都有特定的测试 方法,如IDE接口测试,一般通过对磁盘进行文件系 统的读、写、删除操作实现;主频及存储器可以通过测 试软件EVEREST Ultimate Edtion进行测试。控制台 负责测试命令的发送,测试结果的接收、存储、查询及 测试报告的自动生成。各型号嵌入式模块的功能及性 能不同,其测试项目也略有差异。测试软件控制台至少要提供给测试人员两种测试方式:分项目进行测试 和对测试项目按照设定的测试顺序自动完成测试。控 制台和测试台的通信采用网络套接字方式,两部分可 分别设计实现,对开发平台开发语言没有强制性限制, 这是采用C/S结构最大的优势。
        1 软件网络通信设计
        TCP/IP协议在基本的IP数据包上增加了可靠性 和流量控制,并定义了一种可靠的面向连接的服务。 套接字是一种网络编程接口,应用程序通过这种接口 可以和网络中不同的应用程序进行通信。因此,设计 实现自动测试系统软件的网络通信可以在TCP/IP协 议的基础上使用套接字,这样就可以在统一的平台下 实现控制台设计。而且可以针对不同型号外购模块的 特性选用合适的平台完成测试台的设计。测试台和控 制台通信流程如图1所示。

        自动测试系统是通过发送和接收一定格式的数据 包来实现网络通信的。制定详细的通信协议成为通信 是否成功、稳定的关键。在项目实际开发过程中发现, 将一次发送和接收数据的缓冲区大小定为1024 B,采 用字节类型进行传输的网络通信速度最快控制工程网版权所有,稳定性最 好。协议的格式为:状态字段+数据长度字段+命令 字段+数据字段,具体协议结构见表1。

        以上通信协议提供了256种测试命令,基本能够 满足对各类模块的功能、性能和接口测试控制工程网版权所有,65535种命 令状态可以用于测试结果中各类故障信息的编码,对 于一个中型的自动测试系统,该通信协议具有很好的 通用性。
        2 数据库设计
        自动测试系统控制台需通过直接操作数据库实现 对测试数据的存储及查询管理CONTROL ENGINEERING China版权所有,目前常用的开发平台 都提供了直接操纵数据库的方式如ODBC、ADO、DAO 等。如果是Windows平台,底层数据库可以选用Mi. crosoft SQL Server,它是一个高性能数据库管理系统, 在数据完整性的维护方面有着很强的优势,因为它可 以在整个IJAN内部保证数据库信息的完整性和一致 性,因此在许多单位得到应用。如果是Linux平台,则 可以先安装Sybase的SQL Server客户端,通过Sybase 的客户端可以实现对Microsoft SQL Server的访问。
        在数据库设计方面,至少应为每个测试项目提供 一张单独的数据表,用于记录该测试项的所有相关数 据;为每种类型的嵌入式模块提供一张单独的数据表, 用于记录该型号模块一次测试的项目及其结果;还应 有一张数据表存储所有测试的信息,如测试时间、测试 模块、测试项目、测试人员等。
        3 软件设计中的几个问题
        3.1 开发平台不同数据类型结构不统一
        在不同的处理器中有不同的字长,表2为Linux 支持的体系结构和它们的字长的对照表 。

        控制台和测试台在开发过程中可能使用不同的开 发环境或不同的编程语言,由此而产生与数据类型相 关的问题,双方在制定通信协议时需要约定数据包中 各字段的数据存放方式与所代表的数据类型。
        3.2 数据库备份及恢复策略的选择
        创建数据库备份是为了可以恢复已损坏的数据 库。但是,备份和恢复数据必须根据特定环境进行自 定义,并且必须使用可用资源。因此需要有一个备份 和恢复策略实现对数据库的可靠恢复。 自动测试系统数据库的备份和恢复由控制台完 成。程序访问数据库首先要解决数据源的配置问题, 在Windows操作系统下,使用Windows提供的SQL— configDatasource函数进行数据源的动态注册或使用 . udl文件都可以实现对数据源的配置。
        定期备份数据库是最稳妥的防止磁盘故障(主要 是系统发生故障)的方法,它能有效地恢复数据,这是 一种比较廉价的保险方式,同时也是最简单的确保能 恢复大部分信息的方法 。结合SQL Server自身带有 的备份功能(DTS),经实验,把数据库全部定时备份到 某个目录,或者在程序中添加功能代码,保证程序每次 退出前都对数据库进行备份,以上两种策略都具有很 好的备份速度和良好的稳定性。
        3.3 测试报告的设计与生成
        测试报告是把测试的过程和结果写成文档,并对 发现的问题和缺陷进行分析,为纠正模块存在的质量 问题提供依据,同时为模块的验收和交付打下基础。 自动测试系统的测试报告由程序自动生成,应该包括 测试时间、测试人员、被测模块类型、测试项目、标称 值、测试所得数据和测试结论等。对于IDE接口等在 测试过程中存在故障数据的,还应在测试报告中给出 测试使用数据及故障情况评测。
        目前比较成熟的文字报告生成方式主要有:基于 平台的报告生成控件,如LabVIEW 报告生成工具箱 (LabVIEW report generation toolkit);微软开发平台提 供的用于直接调用WORD、EXCEL的API函数;利用 脚本语言生成固定的报告模板,如在VC或VB平台下 使用VBA脚本语言。
        针对不同的被测模块,被测项目可能不同。因此, 一种高效的测试报告生成方式是,通过从数据库中读 取有效数据,以表格的方式生成测试报告,并且要为该 功能提供统一的接口,在接口处指定被测模块类型等 信息。这样在不同被测模块的测试控制窗口都可以调 用同一个接口来实现测试报告的自动生成。即使有些 自动测试系统要求实现测试报告的实时生成,即一次 测试完成后直接生成测试报告www.cechina.cn,也提倡使用统一的接 口从数据库读取数据,这样可以避免在测试报告生成 过程中引发测试数据存储方面的问题。经实际工程验 证,这样的方式提高了软件的稳定性,同时在效率方面 没有太大影响。
        4 结束语
        开发外购嵌入式模块的自动测试系统具有很高的 应用价值,随着硬件设备的模块化设计成为一种潮流, 各类测试手段日趋完善,注重自动测试系统软件开发 和使用过程的通用性,将成为今后自动测试系统软件 设计的一种趋势。
        参考文献:
        [1] 吕辉.现代测控技术[M].西安:电子科技大学出版社, 2006-05.
        [2] Love R.Linux内核设计与实现[M].第2版.陈莉君,康 华,张波www.cechina.cn,译.北京:机械工业出版社,2006-01.
        [3] 陈万米,何智伟.Microsoft SQL Server数据库安全备份和 恢复策略[J].微型电脑应用,2000,16(1).
版权声明:版权归控制工程网所有,转载请注明出处!

频道推荐

关于我们

控制工程网 & CONTROL ENGINEERING China 全球工业控制、自动化和仪器仪表领域的先锋媒体

CE全球

联系我们

商务及广告合作
任小姐(北京)                 夏小姐(上海)
电话:010-82053688      电话:18616877918
rendongxue@cechina.cn      xiashuxian@cechina.cn
新闻投稿:王小姐

关注我们的微信

关于我们 | 网站地图 | 联系我们
© 2003-2020    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688