您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页基于windows的spi控制器黑盒测试方法

基于windows的spi控制器黑盒测试方法

来源:意榕旅游网
2020.04网络信息工程基于Windows的SPI控制器黑盒测试方法丁京鑫(无锡文思海辉信息技术有限公司上海分公司,上海,200241)摘要:随着时代的发展,越来越多的电脑上提供了丰富的外部设备以增强用户体验。比如触摸屏,指纹识别等,而随着精度的提高,总线传输所需的数据量就越来越大,那么使用更加高速的总线进行通信就势在必行。本文旨在介绍工作中的Windows环境下SPI控制器的测试方法。关键词:SPI;黑盒测试;HLK;MITTBlack box test method of SPI controller based on WindowsDing Jingxin(Wuxi Pactera Technology Co.,Ltd.,Shanghai Subsidiary,Shanghai,200241)Abstract:With the development of the times, more and more computers provide rich external devices to enhance the user experience. Such as touch screen, fingerprint recognition, etc., and as the accuracy increases, the amount of data required for bus transmission becomes larger and larger, so it is imperative to use a higher-speed bus for communication. The purpose of this article is to introduce the testing method of SPI controller under the Windows environment.Keywords: SPI; Black box test; HLK;MITT1 SPI协议介绍

SPI是串行外设接口(Serial Peripheral Interface)的缩写。是一种同步串行接口技术,是高速的,全双工,同步的通信总线。SPI总线在除GND(地线)VDD(电源)之外有四根信号线,MISO(主输入从输出),MOSI(主输出从输入),SCLK(时钟信号),CS(片选信号)。通常结构是一个主设备连接一个或多个从设备。CS是作为从设备的使能信号线来使用,一般设置为低有效模式,当主设备发出控制信号,拉低CS时,从设备被主设备选中,此时主设备可以对从设备进行操作。以为其速度快,而常常被用在指纹识别等设备中。

简单外设总线的测试节点,再安装对应的驱动程序,则可以连接从设备并进行对应的测试创建基于微软MITT的测试节点并安装驱动多接口测试工具 (Multiple Interface Test Tool)是一项IO的测试工具,用于验证简单外设总线(例如 UART、I2C、SPI和GPIO)的硬件和软件。MITT使用FPGA开发板并提供一个软件包,其中包含固件、测试二进制文件和驱动程序,是一个成本较低的测试解决方案。

3 基本状态

在安装SPI驱动完成之后,可以在设备管理器中查看设备状态,确保没有未知设备,或错误状态。设备处于运行状态,并且驱动版本号与当前所安装的版本号一致。同时测试节点状态正常,如果有设备异常,可以通过TraceView抓取SPI控制器驱动加载过程中出现的错误的原因,如果有蓝屏等严重问题,可以通过连接Windbg进行调试。

2 环境的搭建

当前工作中的测试环境是基于Windows系统下SPI控制器驱动黑盒测试,因此首先需要在测试机上安装Windows操作系统并安装所需要测试的SPI控制器驱动。然后通过iASL.exe修改符合ACPI规范的DSDT table来创建测试节为了使修点。[1]在节点生成之后需要安装SPI控制器驱动。改的DSDT Table能够被操作系统正确的加载,通常我们需要打开测试模式,而为了能够打开测试模式,需要先在BIOS中将SecurityBoot选项进行关闭,再在以管理员权限运行的命令行窗口中使用”bcdedit/set testsigning on”命令来打开Windows系统的测试模式。

一般需要创建两种类型的测试节点。创建基于微软“简单外设总线”的测试节点并安装驱动程序1微软为简单外设总线(SPB)硬件设备提供了符合ACPI 5.0规范的示例代码 (sample code)和驱动程序,通过修改DSDT table创建出

4 功能测试

在确认一切安装显示正常之后,需要进行驱动的基本功能测试,包括读写响应双工等工作模式。

(1)SPB读写测试:在SPI控制器信号上连接一块F-RAM的存储器,可以选择FM25V10-G2,这是一颗1Mbit的Flash,工作电压2.0V-3.6V,最高支持频率40MHz,通过OP-code发送“7F”获得返回的设备ID来确认设备连接是否正常,然后通过发送“06”来设置Flash写使能,通过发送“05”并获取返回值来确认写使能状态是否设置成功。在完成了基本的验证之后可以进行读写测试,需要验证写入与读出的值是否一致。

(2)工作模式测试:SPI控制器一共可以在4种工作模

81网络信息工程式下工作。由时钟极性以及时钟相位来决定。时钟极性共有两种状态,当时钟极性为0时,时钟空闲电平为低,当时钟极性为1时,时钟空闲电平为高。时钟相位也有两种状态,当时钟相位为0时,上升沿采集数据,下降沿输出数据,当时钟相位为1时,上升沿输出数据,下降沿采集数据。因而为了测试所有SPI支持的类型,测试过程中采用USB-910H作为从设备模拟器,可以测试SPI的4种工作模式。(3)MITT测试:在修改DSDT Table创建出MITT的测试节点之后,从主板上连接SPI控制器信号到MITT SPI适配器JCI端口,并选择正确的电压,MITT软件包提供了完整的测试程序,包括基本的读写序列测试,双工测试,性能测试以及电源测试压力测试等一共16项。5 驱动整合测试在完成了基本的功能测试之后,还需要验证驱动在各种工作环境下是否会有故障,所以需要进行系统整合测试已保证驱动质量。包括各电源状态之间的转换并检查SPI控制器状态,同时对挂载在SPI控制器上的第三方外设进行基本的功能检查,进行停用启用SPI控制器并检查设备状态,打开开发者验证模式状态并进行基本读写已验证SPI控制器是否正常工作。(1)休眠模式,系统进入休眠,并将数据保存至内存,在等待60秒之后将设备进行唤醒,再去检查SPI控制器状态,是否会出现不正常,是否处于运行状态,并可以检查SPI控制器是否能够进行正常的读写,SPI控制器外设工作是否正常。

(2)连接待机,即Connected Standby 模式,这是一个从Windows8开始加入的全新的电源模式,在这个模式下,设备依然能够保持连接状态,唤醒速度也十分迅速,可以降低功耗,所以我们需要将测试机进入连接待机(CS),并在60秒后唤醒设备,再去检查SPI控制器状态,是否会出现不正常,是否处于运行状态,并可以检查SPI控制器是否能够进行正常的读写,SPI控制器外设工作是否正常。

(3)休眠模式,这是一种更加省电的模式,数据被存入硬盘之中,因此也需要更长的唤醒时间,在设备进入休眠模式60秒之后唤醒设备,再去检查SPI控制器状态,是否会出现不正常,是否处于运行状态,并可以检查SPI控制器是否能够进行正常的读写,SPI控制器外设工作是否正常。

(4)关机开机模式,通过对测试设备进行关机再开机,再去检查SPI控制器状态,是否会出现不正常,是否处于运行状态,并可以检查SPI控制器是否能够进行正常的读写,SPI控制器外设工作是否正常。

(5)断电开始模式,通过关机并进行彻底断电再开机,然后去检查SPI控制器状态,是否会出现不正常,是否处于运行状态,并可以检查SPI控制器是否能够进行正常的读写,SPI控制器外设工作是否正常。

(6)重启模式,对运行中的电脑进行重启,再去检查SPI控制器状态,是否会出现不正常,是否处于运行状态,并可以检查SPI控制器是否能够进行正常的读写,SPI控制器外设工作是否正常。

822020.04(7)停用启用测试,对SPI控制器进行停用再启用,再去检查SPI控制器状态以及读写等。(8)验证模式,Windows提供了Verifier功能,可以打开并选择指定需要测试的驱动程序sys文件,在重启之后,驱动会进入验证模式,这时,进行基本的读写测试等,可以验证是否会触发内存泄漏等错误,并导致蓝屏,可以帮助开发者尽快发现并定位问题。如上测试项目除验证模式外需要在日常测试过程中进行5圈手动测试,并在各里程碑阶段进行100~1500次的压力测试,因此需使用自动化脚本调用微软提供的Pwrtest.exe来完成压力测试。6 回归测试通常来说,在发现了测试问题之后,会保留测试现场,并进行复现,找到复现规律,抓取必要的log,提交给驱动程序开发者,协助开发者进行调试,并进行验证,在开发者更新了新版本的驱动之后还需要进行回归测试。7 Windows HLK 测试Windows HLK测试全称是Windows Hardware Lab Kit,是由微软提供的一整套成熟的自动化测试框架,通过HLK测试之后企业可以申请WHQL认证,并可将设备驱动程序发布到Windows 自动更新中,在驱动的生命周期内接收来自用户的崩溃分析以改进设备驱动程序。获得由微软提供的正式签名的驱动可以无需测试模式,无弹窗地安装到电脑中,WHQL认证代表着软件质量的可靠性保证,因此,在正式发布的软件版本之前,需要执行HLK测试。

HLK测试可以去微软网站下载所需要支持的系统的HLK软件包,并安装到一台服务器中,将测试设备与HLK服务器连接至同一网络内,按照微软的HLK测试文档进行环境的搭建,按照惯例,会同时完成当前最新版本Windows系统和前一版本Windows系统的HLK测试并提交获取签名。

8 安装包测试

因为驱动版本总是会因为一些bug的修复而更新,所以需要进行驱动的升级或者降级的测试。正常的,驱动发布时会提供驱动文件和安装包两种格式的驱动,驱动文件一般提供给生产厂商,安装包一般提供给最终用户去使用。所以两种驱动格式都需要进行升级或降级测试,并且在升级和降级测试之后进行基本的功能验证。

9 总结

在SPI控制器驱动的整个开发和测试过程中常常会有新的bug发现,因此需要有完备的测试流程和bug的回归测试,以及及时更新测试用例,才能更好的保证软件测试质量。

参考文献

[1]赵轶飞.计算机软件开发的数据库测试技术研究[J].科技

风, 2019(19) : 82.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务