1. 前言
接着之前的文章芯片测试学习笔记,以MCU芯片为例,如何在实验室(Lab)实现芯片自动化测试。因为MCU具备丰富的IP外设,具有普适性,其它芯片可以借鉴参考。
1.1 挑战

1.2 目标
提高效率。自动化/半自动化替代重复性验证,做创造性有价值的事情。
提高覆盖率。灵活组合各种测试用例,尽可能穷举所有情况。
提高可复用性。测试方法和用例标准化、平台化,缩短开发时间。
提高可追溯性。对齐每个阶段的验证数据,确保指标参数与Spec一致。大批量、多维度处理数据,帮助工程师快速向研发端提供失效模型分析,指导产品设计迭代和工艺检查。
2. 系统框图
3. 上位机
需要实现以下功能:
-
测试用例编辑和导入/导出; -
识别和控制仪表设备,获取仪表数据; -
通过JTAG或发送命令控制Interface Board; -
通过JTAG或发送命令控制DUT Board; -
获取DUT Board和Interface Board打印的数据,判断测试结果; -
导出验证数据报表。
4. 仪表控制
-
逻辑分析仪获取信号; -
示波器获取信号; -
万用表获取电压、电流信号; -
控制数字电源切换不同电压; -
控制信号发生器发送不同种类频率的信号; -
控制温度设备设置到不同温度;
-
输出高精度信号测试ADC性能;(单端和差分) -
捕获DAC信号测试模拟性能;(使用高精度ADC采样) -
购买一个可移动架子把设备放置好。(需要分开使用时也可取出)
5. Interface Board(接口板)
-
集成一颗或多颗高性能MCU或FPGA芯片,提供多种外设; -
提供一些外设收发器,如CAN、LIN、ECAT、ETH、USB等; -
提供模拟高精度模拟输入/输出通道;(外部专用设备或板子提供) -
提供继电器或多路mux芯片控制信号物理连接; -
提供接口与DUT Board、仪表连接; -
提供JTAG接口可以改变MCU或FPGA的固件程序; -
能够打印测试数据,发送到上位机判断测试结果。
6. DUT Board(待测设备板)
因为有FPGA和EVB两个阶段验证,接口板需要兼容这两套DUT Board的验证测试。
-
FPGA/EVB平台的上下电和复位可以控制; -
FPGA平台的bitfile可以通过上位机烧录; -
FPGA/EVB平台通过子板与Interface board连接; -
能够打印UART测试数据,给上位机存储和判断。
7. 测试用例
提供两种测试用例实现方式,区别如下:
|
|
|
|
|
|
改变配置需要重新编写寄存器代码,需要了解寄存器地址和含义 |
改变配置发送不同的UART命令即可。不需要了解每个寄存器含义 |
|
|
都是裸写,不同平台register map差异需要重新编写 |
不同平台register map差异不影响驱动的接口,可以复用一套测试脚本 |
|
|
不需要额外编写测试代码和驱动。等价于把驱动的代码集成到了测试用例脚本,没有解耦。 |
需要额外编写测试代码和驱动。不过驱动本来就开发,测试代码开发量不大,但是要和测试用例脚本同步维护,确保双方一致 |
|
|
无法验证到提供给客户的驱动开发包 |
验证到SDK开发包。每次开发包迭代更新,内部执行自动化测试即可 |
8. 参考资料
https://www.bilibili.com/video/BV1g3411M7aB/?spm_id_from=333.1387.search.video_card.click&vd_source=1a89ca09926ad55a60f1f415bd0dd519

