面向高速1553B总线的伺服控制驱动软件测试技术

2020-02-03 08:21焦震樊茜张震刘海山丁怀龙
电子技术与软件工程 2020年6期
关键词:测试环境控制指令测试人员

焦震 樊茜 张震 刘海山 丁怀龙

(北京精密机电控制设备研究所 北京市 100076)

近几年,机电伺服技术已经成为整个伺服技术的发展方向。机电伺服系统将电动机、减速器、滚珠丝杠、检测装置和控制器集成化、小型化,克服了传统液压系统固有的一些缺点。与此同时,机电伺服中越来越多的采用高速1553B 总线的设计方案,伺服控制驱动软件用于实现伺服机构闭环控制及性能补偿功能,传输速率大幅提高。这对于配置项测试而言也提出了巨大的挑战。本文在测试技术上的创新,有效提高了软件测试的有效性和测试的充分性,缩短了软件开发的周期和成本,收到了很好的经济效益和社会效益,并且对今后的软件测试工作的开展具有良好的指导和借鉴作用。

1 总体测试思路

根据某伺服控制驱动软件及CPLD 软件的特点,本文探究了一种全新的测试方法。某项目伺服控制驱动器采用的是4Mbps 1553B总线与BC 进行通信,原有的设备均不能进行4Mbps 1553B 总线的测试,因此首先搭建高速1553B 总线的测试环境。其次,对于软件在较高速总线传输速率下的稳定性需要做出验证,这就要求测试人员要根据协议,设计大量的测试用例,包括正常情况和异常情况软件的处理是否正确,可靠性是否足够高。采用故障注入技术,有效模拟了各软件在弹上可能发生的各种突发异常情况,激发可能存在的故障模式,检验软件对错误命令或非法数据输入的检测能力和对非常规操作、误操作的适应能力。另一方面,依托1553B 测试板卡和上位机测试软件,通过设置指令消息间不同的时间间隔和消息周期,进一步可以验证4Mbps 的1553B 总线在传输的数据量大小不同的情况下,是否依然稳定可靠。

2 测试背景

2.1 总线采用4Mbps高速1553B总线台

伺服控制驱动器通过4Mbps 1553B 总线与BC 连接,较之前常用的1Mbps 1553B 总线传输速度提高了4 倍。1553B 总线是一种时分制指令响应式多路传输数据总线,具有很高的可靠性和良好的实时性。1553B 总线由4 部分基本硬件组成:传输介质、总线控制器、远程终端和总线监视器。1553B 总线采用异步、半双工方式传输,1553B 总线BC 向某一终端发送一个接收/发送指令,RT 在规定的响应时间内发回一个状态字并执行消息的接收/发送。1553B 采用双冗余总线,有两个传输通道,保证了良好的容错性和故障隔离。

2.2 DSP与CPLD协同工作机制

软件搭载于处理能力更强的TMS320F28335 型DSP,作为运算核心,TMS320F28335 具有150MHz 的高速处理能力,具备32 位浮点处理单元。它内部资源丰富,存储器容量大,接口丰富。由于机电伺服系统动态性能较高,伺服控制驱动软件的闭环控制周期缩短到100us,相对于传统伺服控制驱动软件的1ms 的闭环周期缩短了90%。闭环周期缩短了,软件的处理任务并未减少。另外使用工业级CPLD 作为伺服控制器的逻辑接口器件,完成复位逻辑、过流逻辑保护及恢复、双极性PWM 产生和双极性PWM 逻辑互锁等工作。

图1:测试实物环境

2.3 软件的复杂程度高,架构更加复杂

相较于液压项目的伺服控制驱动软件,机电项目的伺服控制驱动软件代码量大,大多处于中等规模的水平。除此之外,软件与外部的接口采用4M 带宽的1553B 总线,总线数据传输速率更快;另一方面,伺服电机的控制采用三环控制算法,即位置环、速度环和电流环,相比于液压项目的算法更加复杂,数据处理量也随之增大,总而言之,机电项目软件复杂度的提高对于软件测试者说需要更强的逻辑思维能力,测试的难度随之提高。

3 关键测试方法

3.1 4Mbps 1553B高速总线测试环境的搭建

测试的首要工作就是搭建面向4Mbps 1553B 高速总线的测试环境,测试环境的搭建采用4Mbps 1553B 总线板卡,1553B 总线板卡实现了 1553B 数据总线仿真功能和总线节点模拟功能,满足实验仿真需求。主机接口为 PCI 总线接口,板卡可以设置为BC、RT 和BM 三种模式。本测试环境板卡设置为BC 模式,支持单条消息的定时发送,分辨率为1ms,并且消息间隔时间可设,分辨率为0.25us。上位机软件采用板卡配套的总线测试软件。半实物仿真测试环境使用CCS3.3 应用开发平台,目标机为伺服控制驱动器,用来运行伺服控制驱动软件;在进行功能测试时,上位机通过总线测试软件向目标机发送1553B 总线指令, 目标机则通过1553B 总线板卡将消息转发给上位机,上位机通过总线测试软件读取1553B 总线消息。

测试环境搭建中,终端电阻是必不可少的。它的主要作用是匹配信号源和传输线之间的阻抗,减少反射,避免振荡。不同于带宽是1M 的1553B 总线,4Mbps 1553B 高速总线的数据传输速率较高,易发生信号的反射,导致通信不成功或不稳定,所以搭建测试环境时务必添加终端电阻。此外,示波器和RTInsight 作为测试环境中不可缺少的设备,在性能测试和覆盖率测试中都发挥着重要作用。测试实物环境如图1 所示。

3.2 基于高速总线的软件压力测试

压力测试也称强度测试,是在强负载(大数据量、大量并发用户等)下的测试。通过查看软件在峰值使用情况下的操作行为,发现软件的某项功能隐患、软件是否具有良好的容错能力和可恢复能力。在实际的飞行状态下,伺服控制驱动软件实时接收控制系统指令,并及时解码、保存当前控制指令,用于伺服系统闭环控制,控制指令消息周期性定时发送,消息内容为伺服系统的俯仰、偏航角度命令值。本次测试采用的高速1553B 总线板卡,支持单条消息的定时发送,分辨率为1ms。测试时将消息配置为控制指令消息,并且定时发送周期设置为5ms,此时软件可以实时接收上位机发送的控制指令,进行闭环控制计算,测试人员可以通过设计测试用例,考察软件在这种状态下是否工作稳定和可靠。为了进一步考核软件在强负载下的工作状态,我们将上位机发送控制指令的周期缩短到1ms,此时软件单位时间内接收到的数据量明显增加,在此状态下,测试人员通过PWM 接口的输出、变量监控等方法,查看软件是否具有某些隐患,也就是考核了软件的抗压能力。

3.3 测试环境的真实性和可控性更高

测试环境的特征一是环境的真实性,另一个是环境的可控性。可控性是指测试环境是否便于测试数据的注入和测试结果的获取,也就是说测试人员是否能够方便的注入数据。这里用到最多的就是故障注入技术。故障注入技术是一种相对特殊的方法,它最大的特点是高度灵活性,它可以对软件的容错性、可靠性、安全性进行测试。本测试技术所搭建的测试环境,伺服控制驱动软件的输入信息主要包括三种:BC 通过1553B 总线发送的指令信息、伺服机构其它模拟量信息、电机旋变位置信息。通过以上三个接口,测试人员可以通过设计测试用例,向软件注入各种故障,在上位机的总线测试软件中获得想要的测试数据,与此同时,通过JTAG口的在线仿真,测试人员也可方便的注入测试数据和获取结果。另一方面,测试环境更加真实,本测试技术所搭建的半实物仿真环境,能够逼真地模拟被测软件运行所需的真实物理环境的输入和输出,实时接收上位机发送的控制指令,并且能够组织被测软件的输入,来驱动被测软件运行,同时接收被测软件的输出结果。

4 实施效果

4.1 首次成功搭建4Mbps 高速1553B总线测试环境

测试人员搭建了全新的4Mbps 1553B 高速总线测试环境,较之前采取的测试环境,该环境添加了1553B 总线终端电阻,消除了高速1553B 数据传输的信号反射,使控制器与上位机间的通信更加稳定可靠。此外测试环境所采用的测试板卡支持消息的周期性发送和周期设置,更贴近于BC 在飞行状态下定时发送控制指令的状态,有效降低了测试环境对软件测试结果产生的不利影响,提高了软件测试的精度。

4.2 基于高速总线的软件压力测试

在实际的飞行状态下,伺服控制驱动软件实时接收控制系统指令,并及时解码、保存当前控制指令,用于伺服系统闭环控制,控制指令消息周期性定时发送,消息内容为伺服系统的俯仰、偏航角度命令值。本测试技术不仅仅模拟了BC 周期性定时发送控制指令的状态,还将发送的周期逐步减小,考核软件在强负载条件下的工作是否依然稳定、可靠,检验了软件的抗压能力。

4.3 测试环境真实性和可控性提高

本测试技术所搭建的半实物仿真环境,能够逼真地模拟被测软件运行所需的真实物理环境的输入和输出,测试环境更加真实有效。环境的可控性是除了真实性之外另一个测试环境的特征。4Mbps 1553B 高速总线测试环境的搭建,更便于测试数据的注入和测试结果的获取。与此同时,故障注入技术在系统级测试环境中得到了更好的应用,我们可以在从软件中输入边界值、故障数据,通过软件给控制系统的回令分析故障所造成的结果,帮助测试人员找到软件缺陷,发现潜在的问题。

5 结束语

在某项目的开发方测试过程中,本文所描述的测试技术得到了很好的应用,测试人员通过搭建4Mbps 1553B 高速总线测试环境,运用故障注入技术设计多种失效模式,同时利用压力测试,考察了软件在大负载状态下的工作状态,用例覆盖全面,同时也发现了若干软件缺陷,为提高软件的质量提供了有力的保证;该测试技术的应用极大提高了工作效率及发现问题数目,为第三方配置项测试节省了工作量和时间,为开发方节省了资金,保证软件开发质量的同时缩短了开发的周期。

猜你喜欢
测试环境控制指令测试人员
城轨车辆控制指令试验装置研制
宏指令控制的多轴系统研究及实现
高校分析测试中心测试队伍建设方案初探
犯罪心理测试人员素质要求分析