RTX逻辑控制层。主要负责用例运行,实时地与被测系统交互,满足被测系统相关数据的请求,保存被测系统发出的状态数据。
外设驱动层。为了满足对系统100%的测试,还需要有测试系统与被测系统之间的通信接口卡。从硬件划分包括1台工控机、2块ISA总线RS422通信卡、2块PCI总线RS485通信卡、1块A/D卡、开关量采集卡、D/A卡。这些硬件板卡通过ISA、PCI总线的方式连接到测试平台里,测试平台管理所有板卡的驱动程序,使其与被测系统形成闭环。
这样,3层的软件结构就能够顺利地运行用例,实现对系统的完整的功能测试。
2.2 Windows+Verilog(工控机+FPGA板卡+接口芯片)
第2套方案使用的是Windows+Verilog,如图5所示。在这种方案中,使用FPGA来管理各个接口,并通过PCI总线与工控机通信。PCI总线能够把各种接口的数据上传到工控机,同时把工控机的数据下载到被测试系统上。
系统也是3层结构,上两层与第1种方案基本一样,但在外设驱动层上不再是从多块板卡之间取数送数,而是单一地与FPGA板卡通过制定好的协议进行通信,而后的接口芯片采集、编码等工作都交给FPGA完成。
3 方案比较
3.1 两种方案优缺点比较
表1详细比较了上述2套方案的优缺点。第2种设计方案中,因为有了FPGA器件,使得原来考虑不周的设计可以只重新配置硬件就得以修改,减少重新制版的周期、经费等一系列不确定因素,达到更广泛的测试目的。
3.2 不同操作系统优缺点比较
此外,方案的实行也可以考虑在工控机上直接运行一些实时操作系统,如DOS、VxWorks等等。DOS是单任务实时系统,人机交互界面差,没有网络功能。表2比较了Windows+RTX和VxWorks两种方案的优缺点。
4 用例管理软件设计
在软件上层,需要设计出带有数据库的用例管理系统,它需要管理用例的定义、简介、组别、运行时间、过程数据、结果数据,并能够作用例回归测试的用例管理层。用例运行前需要收集用户输入的各种参数,并从相应的文件位置提前把相关数据读取到内存里,提前准备数据。用例运行时,RTX层会有相应的CPU空闲时间,而用例管理层会利用这段时间进行运行状态的显示。用例运行结束后,相应的标志位会被置位,用例管理层读到相应的状态后会主动向RTX层索要运行的各种数据和结果,并把相应的数据存入数据库,写入日志,并呈现到界面上。