CN111025129A - 基于fpga的soc芯片自动化测试工具和测试方法 - Google Patents
基于fpga的soc芯片自动化测试工具和测试方法 Download PDFInfo
- Publication number
- CN111025129A CN111025129A CN201911359190.5A CN201911359190A CN111025129A CN 111025129 A CN111025129 A CN 111025129A CN 201911359190 A CN201911359190 A CN 201911359190A CN 111025129 A CN111025129 A CN 111025129A
- Authority
- CN
- China
- Prior art keywords
- soc chip
- module
- soc
- test
- tool
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明提供一种基于FPGA的SOC芯片自动化测试工具,包括相连接的上位机接口模块、FPGA芯片、高精度AD模块和高精度DA模块;所述上位机接口模块用于连接上位机;所述FPGA芯片上设有:JTAG/SWD逻辑模块,用于对接SOC芯片上的JTAG/SWD模块;AD逻辑模块,控制高精度AD模块对接SOC芯片上的DA模块;DA逻辑模块,控制高精度DA模块对接SOC芯片上的AD模块;UART逻辑串口模块,用于对接SOC芯片上的UART串口模块;SPI逻辑模块,用于对接SOC芯片上的SPI模块;I2C逻辑模块,用于对接SOC芯片上的I2C模块;定时器逻辑模块,用于验证SOC芯片上的定时器;GPIO逻辑模块,用于对接SOC芯片上的GPIO模块。本发明实现测试过程的全自动化。
Description
技术领域
本发明涉及SOC芯片测试领域,尤其是一种基于FPGA的SOC芯片自动化测试工具和测试方法。
背景技术
目前在SOC芯片FPGA原型验证阶段,每修改一次芯片设计,都需要对FPGA原型进行一次验证。由于SOC芯片外设一般较多,大部分外设测试需要使用示波器、逻辑分析仪和信号发生器等仪器辅助,且部分模块测试另外需要使用杜邦线连接,测试工作繁琐重复,且不能自动生成测试报告。针对以上问题,急需一个可以一键测试SOC芯片,并将测试结果自动生成测试报告的全自动SOC芯片测试平台。
目前在SOC芯片测试领域由于SOC芯片模块功能复杂导致的大量重复工作问题,如下:
(1) 测试SOC芯片定时器(Timer)的PWM模式时,对于SOC芯片输出不同频率、占空比和是否带死区的PWM信号时,需要使用示波器或者逻辑分析仪不断抓取不同频率、占空比和是否带死区的PWM波形进行分析,重复工作比较多;
(2) 测试SOC芯片定时器(Timer)的比较(Compare)模式时,对于SOC芯片输出不同频率、占空比的比较信号时,需要使用示波器或者逻辑分析仪不断抓取不同频率、占空比比较波形进行分析,重复工作比较多;
(3) 测试SOC芯片定时器的(Timer)的捕获(Capture)模式时,需要接信号发生器人为去设置不同频率和占空比的方波,去判断SOC芯片捕获模式下捕获的方波频率和占空比是否正确,需要人工去判断;
(4) 对于SOC芯片电源管理单元(PMU)的多种工作模式,需要手工去切换进入不同模式后通过万用表去测试相应模式电流的大小,从而判断每种模式的功耗水平;
(5) 对于SOC芯片串口(UART)的测试,常规的测试是使用串口调试助手,需要串口调试助手和SOC芯片设置同样的波特率,测试多种波特率通信较繁琐;
(6) 对于SOC芯片SPI的测试,在测试SPI主模式时,一般外接SPI从设备。而测试SPI从模式时,需要外接SPI主设备,插拔连接线比较繁琐;
(7) 对于SOC芯片I2C的测试,在测试I2C主模式时,一般外接I2C从设备。而测试I2C从模式时,需要外接I2C主设备,插拔连接线比较繁琐;
(8)对于SOC芯片的AD模块、DA模块等,目前还缺乏相关的测试手段。
发明内容
本发明的目的在于克服现有技术中存在的不足,提供一种基于FPGA的SOC芯片自动化测试工具和测试方法,避免大量的人工复杂重复性工作,以及实现测试过程的全自动化。本发明采用的技术方案是:
本发明实施例提出一种基于FPGA的SOC芯片自动化测试工具,包括相连接的上位机接口模块、FPGA芯片、高精度AD模块和高精度DA模块;所述上位机接口模块用于连接上位机,具体采用USB模块;
所述FPGA芯片上设有:
JTAG/SWD逻辑模块,用于对接SOC芯片上的JTAG/SWD模块;
AD逻辑模块,控制高精度AD模块对接SOC芯片上的DA模块;
DA逻辑模块,控制高精度DA模块对接SOC芯片上的AD模块;
UART逻辑串口模块,用于对接SOC芯片上的UART串口模块;
SPI逻辑模块,用于对接SOC芯片上的SPI模块;
I2C逻辑模块,用于对接SOC芯片上的I2C模块;
定时器逻辑模块,用于验证SOC芯片上的定时器;
GPIO逻辑模块,用于对接SOC芯片上的GPIO模块。
本发明实施例还提出一种基于FPGA的SOC芯片自动化测试方法,适用于上述的基于FPGA的SOC芯片自动化测试工具,包括以下步骤:
S1,上位机、测试工具、SOC芯片依次连接;
S2,测试SOC芯片的UART串口模块;上位机向测试工具传输多个不同波特率的Hex文件,测试工具将各Hex文件通过SWD协议下载到SOC芯片中,测试工具会通过串口输出相应波特率的批量数据,SOC芯片接收数据后将接收到的批量数据发送给测试工具,测试工具的UART逻辑串口模块根据接收数据计算出波特率误差,与发送的批量数据相比较计算传输数据误码率,将结果发送给上位机;
S3,对于SOC芯片定时器模块的捕获、比较和PWM三种模式,由测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口发送捕获模式命令和配置参数给SOC芯片,使其进入捕获模式;当SOC芯片进入捕获模式时,测试工具会自动产生频率和占空比周期变化的方波信号,SOC芯片将测得的方波信号的频率和占空比通过串口返回给测试工具,测试工具根据产生的频率和占空比和SOC芯片测得的频率和占空比数据作比较,相同则向上位机返回测试成功,不同则发送误差比例;
S4,当测试SOC芯片比较模式时,由测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口发送比较模式命令和配置参数给SOC芯片,使其进入比较模式,同时测试工具启动自身的定时器逻辑模块的捕获功能,采集SOC芯片进入比较模式时产生的波形,测试工具根据采集SOC芯片比较模式产生的波形判断SOC芯片定时器模块的比较模式测试是否成功,将测试结果发送给上位机;
S5,当测试SOC芯片PWM模式时,测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具发送测试PWM模式命令和配置参数,测试工具启用自身的定时器逻辑模块的捕获功能,对捕获的PWM波形,分析PWM的频率、占空比和死区时间测试工具将输入的PWM的频率、占空比和死区电压与捕获的频率、占空比和死区时间对比,将对比结果发送给上位机;
S6,对于SOC芯片电源管理单元多种工作模式测试,测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具发送进入相应模式命令,SOC芯片进入相应模式后,通过测试工具内部高精度AD模块采集测试电阻电压测出SOC芯片进入相应模式的电流,与上位机输入的SOC芯片电流参数做对比,从而判断SOC芯片是否可以正常进入每种模式,将比对结果发送给上位机;
S7,对于测试SOC芯片I2C模块的主从模式时,测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具首先测试SOC芯片的I2C主模式,测试工具通过串口发送进入I2C主模式指令给SOC芯片;测试工具同时将自身切换为I2C从模式;测试工具和SOC芯片的I2C主模式进行批量数据交互;测试工具会解析SOC芯片I2C主模式发送的数据并对SOC芯片的I2C速率进行分析与比对,将比对结果发送给上位机;
S8,测试工具测试SOC芯片的I2C从模式,测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口发送进入I2C从模式指令给SOC芯片;测试工具将自身切换为I2C主模式;测试工具和SOC芯片的I2C从模式进行批量数据交互;测试工具会解析SOC芯片I2C从模式的数据进行分析与对比,将对比结果发送给上位机;
S9,对于测试SOC芯片SPI模块的主从模式时,测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具首先测试SOC芯片的SPI主模式,测试工具通过串口发送进入SPI主模式指令给SOC芯片;测试工具切换为SPI从模式;测试工具和SOC芯片的SPI主模式进行批量数据交互;测试工具会解析SOC芯片SPI主模式的数据并对SPI速率进行分析与比对,将比对结果发送给上位机;
S10,测试工具测试SOC芯片的SPI从模式,测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口发送进入SPI从模式指令给SOC芯片;测试工具切换为SPI主模式;测试工具和SOC芯片的SPI从模式进行批量数据交互;测试工具会解析SOC芯片SPI从模式的数据进行分析与比对,将比对结果发送给上位机;
S11,对于SOC芯片的多路复用引脚测试;
测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口向SOC芯片发送进入I2C引脚多路复用指令,SOC芯片的I2C模块作为主模式,测试工具作为I2C从模式,根据串口命令切换SOC芯片不同的I2C引脚复用,相应的测试工具也会切换相应的I2C引脚复用进行数据收发,测试工具对接收的数据进行比对,比对成功则SOC芯片的I2C模块引脚多路复用测试成功,将测试结果发送给上位机;
测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口向SOC芯片发送进入SPI引脚多路复用指令,SOC芯片的SPI模块作为主模式,测试工具作为SPI从模式,根据串口命令切换SOC芯片不同的SPI引脚复用,相应的测试工具也会切换相应的SPI引脚复用进行数据收发,测试工具对接收的数据进行比对,比对成功则SOC芯片的SPI模块引脚多路复用测试成功,将测试结果发送给上位机;
测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口向SOC芯片发送进入UART引脚多路复用指令,SOC芯片根据串口复用命令切换不同的串口引脚复用组合,测试工具相应引脚复用切换为SOC芯片对应的引脚,进行数据收发,数据收发成功则SOC芯片的UART串口模块的多路复用引脚测试成功,将测试结果发送给上位机;
S12,对于SOC芯片的AD模块的验证;测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口发送进入AD测试指令给SOC芯片;测试工具DA逻辑模块控制高精度DA模块产生指定幅度的电压信号;SOC芯片AD模块将采集的电压值通过串口发送给测试工具,由测试工具判断SOC芯片AD模块采集模拟电压值与测试工具输出的电压值的偏差,将偏差结果发送给上位机。
S13,对于SOC芯片的DA模块的验证;测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口发送进入DA测试指令给SOC芯片,包含需要产生的模拟电压值;SOC芯片的DA模块产生固定的模拟电压输出,测试工具AD逻辑模块控制高精度AD模块采集模拟电压;将测试工具采集的模拟电压值与测试工具指定SOC产生的模拟电压值进行比较,将比较的偏差结果发送给上位机;
S14,对于SOC芯片的GPIO模块的测试,测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口发送进入GPIO口输出功能测试指令给SOC芯片,测试SOC芯片的GPIO口输出功能时,SOC芯片会根据指令产生相应的高低电平,测试工具会采集SOC芯片GPIO口输出的高低电平;测试工具比对采集的GPIO的输出高低电平与测试工具指定SOC输出的高低电平是否相同,将测试结果发送给上位机;测试工具通过串口发送进入GPIO口输入功能测试指令给SOC芯片,测试工具会产生上升沿、下降沿信号和上升下降沿信号,SOC芯片检测到上升沿、下降沿和上升下降沿信号后触发相应中断,将触发结果通过串口发送给测试工具,测试工具比对采集的GPIO的上升沿、下降沿和上升下降沿与测试工具指定SOC输出的信号是否相同,将测试结果发送给上位机。
进一步地,步骤S7、S8中,数据交互时,测试工具和SOC芯片同时切换为100kbps/400kbps/1Mbps。
进一步地,步骤S9、S10中,数据交互时,测试工具和SOC芯片同时切换为1Mbps/8Mbps/16Mbps。
本发明的优点在于:本发明能够实现全自动化测试,避免大量的人工复杂重复性工作以及实现功能模块测试技术的优化。针对SPI、I2C等通信模块,解决了由主从模式切换测试带来的难点,实现自动化测试;针对电源管理单元等工具测试型模块,解决了由多种测试工具(如万用表、示波器等),带来的重复性人工操作的难点,实现自动化测试;针对定时器模块等具有多模式功能软件配置模块,解决了单独配置并硬件检测的复杂操作难点,实现在测试工具上软硬协调的自动化测试。针对UART模块,解决了多种波特率测试,上位机和SOC芯片同时切换的繁琐工作。针对I2C、SPI和UART等模块引脚复用测试,解决了重复连线,实现自动化测试。针对GPIO模块,实现GPIO所有引脚的输入和输出一键测试,解决了使用手工单个测试引脚输入输出操作。
附图说明
图1为本发明的结构组成示意图。
图2为本发明的测试流程图之前半部分。
图3为本发明的测试流程图之后半部分。
具体实施方式
下面结合具体附图和实施例对本发明作进一步说明。
本发明实施例提出一种基于FPGA的SOC芯片自动化测试工具,包括相连接的上位机接口模块、FPGA芯片、高精度AD模块和高精度DA模块;所述上位机接口模块用于连接上位机,具体采用USB模块;
所述FPGA芯片上设有:
JTAG/SWD逻辑模块,用于对接SOC芯片上的JTAG/SWD模块;
AD逻辑模块,控制高精度AD模块对接SOC芯片上的DA模块;
DA逻辑模块,控制高精度DA模块对接SOC芯片上的AD模块;
UART逻辑串口模块,用于对接SOC芯片上的UART串口模块;
SPI逻辑模块,用于对接SOC芯片上的SPI模块;
I2C逻辑模块,用于对接SOC芯片上的I2C模块;
定时器逻辑模块(Timer),用于验证SOC芯片上的定时器;
GPIO逻辑模块,用于对接SOC芯片上的GPIO模块。
本发明实施例还提出一种基于FPGA的SOC芯片自动化测试方法,适用于上述的基于FPGA的SOC芯片自动化测试工具,包括以下步骤:
S1,上位机、测试工具、SOC芯片依次连接;
S2,测试SOC芯片的UART串口模块;上位机向测试工具传输波特率为9600的HEX文件,测试工具将HEX文件通过SWD协议下载到SOC芯片中,HEX文件在SOC芯片运行,测试工具会通过串口输出波特率为9600的批量数据,SOC芯片接收数据后将接收到的批量数据发送给测试工具,测试工具的UART逻辑串口模块根据接收数据计算出波特率误差,与发送的批量数据相比较计算传输数据误码率,将结果发送给上位机;测试串口其他波特率与误差方法与S2相同。
S3,对于SOC芯片定时器模块的捕获、比较和PWM三种模式,由测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口发送捕获模式命令和配置参数给SOC芯片,使其进入捕获模式;当SOC芯片进入捕获模式时,测试工具会自动产生频率和占空比周期变化的方波信号,SOC芯片将测得的方波信号的频率和占空比通过串口返回给测试工具,测试工具根据产生的频率和占空比和SOC芯片测得的频率和占空比数据作比较,相同则向上位机返回测试成功,不同则发送误差比例;
S4,当测试SOC芯片比较模式时,由测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口发送比较模式命令和配置参数给SOC芯片,使其进入比较模式,同时测试工具启动自身的定时器逻辑模块的捕获功能,采集SOC芯片进入比较模式时产生的波形,测试工具根据采集SOC芯片比较模式产生的波形判断SOC芯片定时器模块的比较模式测试是否成功,将测试结果发送给上位机;
S5,当测试SOC芯片PWM模式时,测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具发送测试PWM模式命令和配置参数,测试工具启用自身的定时器逻辑模块的捕获功能,对捕获的PWM波形,分析PWM的频率、占空比和死区时间测试工具将输入的PWM的频率、占空比和死区电压与捕获的频率、占空比和死区时间对比,将对比结果发送给上位机;
S6,对于SOC芯片电源管理单元多种工作模式测试,测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具发送进入相应模式命令,SOC芯片进入相应模式后,通过测试工具内部高精度AD模块采集测试电阻电压测出SOC芯片进入相应模式的电流,与上位机输入的SOC芯片电流参数做对比,从而判断SOC芯片是否可以正常进入每种模式,将比对结果发送给上位机;
S7,对于测试SOC芯片I2C模块的主从模式时,测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具首先测试SOC芯片的I2C主模式,测试工具通过串口发送进入I2C主模式指令给SOC芯片;测试工具同时将自身切换为I2C从模式;测试工具和SOC芯片的I2C主模式进行批量数据交互(测试工具和SOC芯片同时切换为100kbps/400kbps/1Mbps);测试工具会解析SOC芯片I2C主模式发送的数据并对SOC芯片的I2C速率进行分析与比对,将比对结果发送给上位机;
S8,测试工具测试SOC芯片的I2C从模式,测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口发送进入I2C从模式指令给SOC芯片;测试工具将自身切换为I2C主模式;测试工具和SOC芯片的I2C从模式进行批量数据交互(测试工具和SOC芯片同时切换为100kbps/400kbps/1Mbps);测试工具会解析SOC芯片I2C从模式的数据进行分析与对比,将对比结果发送给上位机;
S9,对于测试SOC芯片SPI模块的主从模式时,测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具首先测试SOC芯片的SPI主模式,测试工具通过串口发送进入SPI主模式指令给SOC芯片;测试工具切换为SPI从模式;测试工具和SOC芯片的SPI主模式进行批量数据交互;测试工具会解析SOC芯片SPI主模式的数据并对SPI速率进行分析与比对,将比对结果发送给上位机;
S10,测试工具测试SOC芯片的SPI从模式,测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口发送进入SPI从模式指令给SOC芯片;测试工具切换为SPI主模式;测试工具和SOC芯片的SPI从模式进行批量数据交互;测试工具会解析SOC芯片SPI从模式的数据进行分析与比对,将比对结果发送给上位机;
S11,对于SOC芯片的多路复用引脚测试;
测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口向SOC芯片发送进入I2C引脚多路复用指令,SOC芯片的I2C模块作为主模式,测试工具作为I2C从模式,根据串口命令切换SOC芯片不同的I2C引脚复用,相应的测试工具也会切换相应的I2C引脚复用进行数据收发,测试工具对接收的数据进行比对,比对成功则SOC芯片的I2C模块引脚多路复用测试成功,将测试结果发送给上位机;
测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口向SOC芯片发送进入SPI引脚多路复用指令,SOC芯片的SPI模块作为主模式,测试工具作为SPI从模式,根据串口命令切换SOC芯片不同的SPI引脚复用,相应的测试工具也会切换相应的SPI引脚复用进行数据收发,测试工具对接收的数据进行比对,比对成功则SOC芯片的SPI模块引脚多路复用测试成功,将测试结果发送给上位机;
测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口向SOC芯片发送进入UART引脚多路复用指令,SOC芯片根据串口复用命令切换不同的串口引脚复用组合,测试工具相应引脚复用切换为SOC芯片对应的引脚,进行数据收发,数据收发成功则SOC芯片的UART串口模块的多路复用引脚测试成功,将测试结果发送给上位机;
S12,对于SOC芯片的AD模块的验证;测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口发送进入AD测试指令给SOC芯片;测试工具DA逻辑模块控制高精度DA模块产生指定幅度的电压信号;SOC芯片AD模块将采集的电压值通过串口发送给测试工具,由测试工具判断SOC芯片AD模块采集模拟电压值与测试工具输出的电压值的偏差,将偏差结果发送给上位机。
S13,对于SOC芯片的DA模块的验证;测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口发送进入DA测试指令给SOC芯片,包含需要产生的模拟电压值;SOC芯片的DA模块产生固定的模拟电压输出,测试工具AD逻辑模块控制高精度AD模块采集模拟电压;将测试工具采集的模拟电压值与测试工具指定SOC产生的模拟电压值进行比较,将比较的偏差结果发送给上位机。
S14,对于SOC芯片的GPIO模块的测试,测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口发送进入GPIO口输出功能测试指令给SOC芯片,测试SOC芯片的GPIO口输出功能时,SOC芯片会根据指令产生相应的高低电平,测试工具会采集SOC芯片GPIO口输出的高低电平;测试工具比对采集的GPIO的输出高低电平与测试工具指定SOC输出的高低电平是否相同,将测试结果发送给上位机;测试工具通过串口发送进入GPIO口输入功能测试指令给SOC芯片,测试工具会产生上升沿、下降沿信号和上升下降沿信号,SOC芯片检测到上升沿、下降沿和上升下降沿信号后触发相应中断,将触发结果通过串口发送给测试工具,测试工具比对采集的GPIO的上升沿、下降沿和上升下降沿与测试工具指定SOC输出的信号是否相同,将测试结果发送给上位机。
综上,本发明能够实现:
(1).自动化验证SOC芯片的GPIO模块输入和输出功能,输出验证结果;
(2).自动化验证SOC芯片定时器(Timer)的捕获(Capture)、比较(Compare)和PWM三种模式,输出验证结果,免去使用示波器和信号发生器测试;
(3).全自动化验证SOC芯片电源管理单元(PMU)的各种工作模式的功耗与模式切换是否成功,输出验证结果,免去手工测试;
(4).全自动化验证SOC芯片串口(UART),自动验证批量数据收发、波特率验证和自动计算波特率误差,输出验证结果,免去仪器测量和手工计算;
(5).全自动化验证SOC芯片SPI模块,由测试工具充当SPI从设备和SPI主设备对SOC芯片的SPI模块进行测试,并能够对SOC芯片主模式产生的时钟信号进行自动测量,并自动计算时钟误差,对于SOC芯片设置从模式,由测试工具发出不同速率的数据给SOC芯片SPI模块,测试工具自动判断数据的收发和SOC芯片作为SPI从模式最大的支持速率;
(6).全自动化验证SOC芯片I2C模块,由测试工具充当I2C从设备和I2C主设备对SOC芯片的I2C模块进行测试,并能够对SOC芯片主模式产生的时钟信号进行自动测量,并自动计算时钟误差,对于SOC芯片设置从模式,由测试工具发出不同速率的数据给SOC芯片I2C模块,测试工具自动判断数据的收发和SOC芯片作为I2C从模式最大的支持速率;
(7).对于SOC芯片AD模块的验证,由测试工具产生指定幅度的电压信号,SOC芯片AD模块将采集的电压值通过串口发送给测试工具,由测试工具判断SOC芯片AD模块采集模拟电压值与测试工具输出的电压值的偏差。
(8).对于SOC芯片DA模块的验证,SOC芯片的DA模块产生固定的模拟电压输出,测试工具AD逻辑模块控制高精度AD模块采集模拟电压;由测试工具判断采集的模拟电压值与测试工具指定SOC产生的模拟电压值的偏差。
(9).对于SOC芯片模块的引脚复用验证,如SOC芯片I2C/UART/SPI模块复用多组引脚,通过测试工具和SOC芯片的I2C/UART/SPI引脚进行自动切换,实现I2C/UART/SPI模块引脚复用自动化验证。
最后所应说明的是,以上具体实施方式仅用以说明本发明的技术方案而非限制,尽管参照实例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (5)
1.一种基于FPGA的SOC芯片自动化测试工具,包括相连接的上位机接口模块、FPGA芯片、高精度AD模块和高精度DA模块;所述上位机接口模块用于连接上位机;其特征在于,
所述FPGA芯片上设有:
JTAG/SWD逻辑模块,用于对接SOC芯片上的JTAG/SWD模块;
AD逻辑模块,控制高精度AD模块对接SOC芯片上的DA模块;
DA逻辑模块,控制高精度DA模块对接SOC芯片上的AD模块;
UART逻辑串口模块,用于对接SOC芯片上的UART串口模块;
SPI逻辑模块,用于对接SOC芯片上的SPI模块;
I2C逻辑模块,用于对接SOC芯片上的I2C模块;
定时器逻辑模块,用于验证SOC芯片上的定时器;
GPIO逻辑模块,用于对接SOC芯片上的GPIO模块。
2.一种基于FPGA的SOC芯片自动化测试方法,适用于如权利要求1所述的基于FPGA的SOC芯片自动化测试工具,其特征在于,包括以下步骤:
S1,上位机、测试工具、SOC芯片依次连接;
S2,测试SOC芯片的UART串口模块;上位机向测试工具传输多个不同波特率的Hex文件,测试工具将各Hex文件通过SWD协议下载到SOC芯片中,测试工具会通过串口输出相应波特率的批量数据,SOC芯片接收数据后将接收到的批量数据发送给测试工具,测试工具的UART逻辑串口模块根据接收数据计算出波特率误差,与发送的批量数据相比较计算传输数据误码率,将结果发送给上位机;
S3,对于SOC芯片定时器模块的捕获、比较和PWM三种模式,由测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口发送捕获模式命令和配置参数给SOC芯片,使其进入捕获模式;当SOC芯片进入捕获模式时,测试工具会自动产生频率和占空比周期变化的方波信号,SOC芯片将测得的方波信号的频率和占空比通过串口返回给测试工具,测试工具根据产生的频率和占空比和SOC芯片测得的频率和占空比数据作比较,相同则向上位机返回测试成功,不同则发送误差比例;
S4,当测试SOC芯片比较模式时,由测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口发送比较模式命令和配置参数给SOC芯片,使其进入比较模式,同时测试工具启动自身的定时器逻辑模块的捕获功能,采集SOC芯片进入比较模式时产生的波形,测试工具根据采集SOC芯片比较模式产生的波形判断SOC芯片定时器模块的比较模式测试是否成功,将测试结果发送给上位机;
S5,当测试SOC芯片PWM模式时,测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具发送测试PWM模式命令和配置参数,测试工具启用自身的定时器逻辑模块的捕获功能,对捕获的PWM波形,分析PWM的频率、占空比和死区时间测试工具将输入的PWM的频率、占空比和死区电压与捕获的频率、占空比和死区时间对比,将对比结果发送给上位机;
S6,对于SOC芯片电源管理单元多种工作模式测试,测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具发送进入相应模式命令,SOC芯片进入相应模式后,通过测试工具内部高精度AD模块采集测试电阻电压测出SOC芯片进入相应模式的电流,与上位机输入的SOC芯片电流参数做对比,从而判断SOC芯片是否可以正常进入每种模式,将比对结果发送给上位机;
S7,对于测试SOC芯片I2C模块的主从模式时,测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具首先测试SOC芯片的I2C主模式,测试工具通过串口发送进入I2C主模式指令给SOC芯片;测试工具同时将自身切换为I2C从模式;测试工具和SOC芯片的I2C主模式进行批量数据交互;测试工具会解析SOC芯片I2C主模式发送的数据并对SOC芯片的I2C速率进行分析与比对,将比对结果发送给上位机;
S8,测试工具测试SOC芯片的I2C从模式,测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口发送进入I2C从模式指令给SOC芯片;测试工具将自身切换为I2C主模式;测试工具和SOC芯片的I2C从模式进行批量数据交互;测试工具会解析SOC芯片I2C从模式的数据进行分析与对比,将对比结果发送给上位机;
S9,对于测试SOC芯片SPI模块的主从模式时,测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具首先测试SOC芯片的SPI主模式,测试工具通过串口发送进入SPI主模式指令给SOC芯片;测试工具切换为SPI从模式;测试工具和SOC芯片的SPI主模式进行批量数据交互;测试工具会解析SOC芯片SPI主模式的数据并对SPI速率进行分析与比对,将比对结果发送给上位机;
S10,测试工具测试SOC芯片的SPI从模式,测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口发送进入SPI从模式指令给SOC芯片;测试工具切换为SPI主模式;测试工具和SOC芯片的SPI从模式进行批量数据交互;测试工具会解析SOC芯片SPI从模式的数据进行分析与比对,将比对结果发送给上位机;
S11,对于SOC芯片的多路复用引脚测试;
测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口向SOC芯片发送进入I2C引脚多路复用指令,SOC芯片的I2C模块作为主模式,测试工具作为I2C从模式,根据串口命令切换SOC芯片不同的I2C引脚复用,相应的测试工具也会切换相应的I2C引脚复用进行数据收发,测试工具对接收的数据进行比对,比对成功则SOC芯片的I2C模块引脚多路复用测试成功,将测试结果发送给上位机;
测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口向SOC芯片发送进入SPI引脚多路复用指令,SOC芯片的SPI模块作为主模式,测试工具作为SPI从模式,根据串口命令切换SOC芯片不同的SPI引脚复用,相应的测试工具也会切换相应的SPI引脚复用进行数据收发,测试工具对接收的数据进行比对,比对成功则SOC芯片的SPI模块引脚多路复用测试成功,将测试结果发送给上位机;
测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口向SOC芯片发送进入UART引脚多路复用指令,SOC芯片根据串口复用命令切换不同的串口引脚复用组合,测试工具相应引脚复用切换为SOC芯片对应的引脚,进行数据收发,数据收发成功则SOC芯片的UART串口模块的多路复用引脚测试成功,将测试结果发送给上位机;
S12,对于SOC芯片的AD模块的验证;测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口发送进入AD测试指令给SOC芯片;测试工具DA逻辑模块控制高精度DA模块产生指定幅度的电压信号;SOC芯片AD模块将采集的电压值通过串口发送给测试工具,由测试工具判断SOC芯片AD模块采集模拟电压值与测试工具输出的电压值的偏差,将偏差结果发送给上位机;
S13,对于SOC芯片的DA模块的验证;测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口发送进入DA测试指令给SOC芯片,包含需要产生的模拟电压值;SOC芯片的DA模块产生固定的模拟电压输出,测试工具AD逻辑模块控制高精度AD模块采集模拟电压;将测试工具采集的模拟电压值与测试工具指定SOC产生的模拟电压值进行比较,将比较的偏差结果发送给上位机。
3.如权利要求2所述的基于FPGA的SOC芯片自动化测试方法,其特征在于,还包括以下步骤:
S14,对于SOC芯片的GPIO模块的测试,测试工具将相应HEX文件通过SWD协议下载到SOC芯片中,测试工具通过串口发送进入GPIO口输出功能测试指令给SOC芯片,测试SOC芯片的GPIO口输出功能时,SOC芯片会根据指令产生相应的高低电平,测试工具会采集SOC芯片GPIO口输出的高低电平;测试工具比对采集的GPIO的输出高低电平与测试工具指定SOC输出的高低电平是否相同,将测试结果发送给上位机;测试工具通过串口发送进入GPIO口输入功能测试指令给SOC芯片,测试工具会产生上升沿、下降沿信号和上升下降沿信号,SOC芯片检测到上升沿、下降沿和上升下降沿信号后触发相应中断,将触发结果通过串口发送给测试工具,测试工具比对采集的GPIO的上升沿、下降沿和上升下降沿与测试工具指定SOC输出的信号是否相同,将测试结果发送给上位机。
4.如权利要求2所述的基于FPGA的SOC芯片自动化测试方法,其特征在于,
步骤S7、S8中,数据交互时,测试工具和SOC芯片同时切换为100kbps/400kbps/1Mbps。
5.如权利要求2所述的基于FPGA的SOC芯片自动化测试方法,其特征在于,
步骤S9、S10中,数据交互时,测试工具和SOC芯片同时切换为1Mbps/8Mbps/16Mbps。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911359190.5A CN111025129A (zh) | 2019-12-25 | 2019-12-25 | 基于fpga的soc芯片自动化测试工具和测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911359190.5A CN111025129A (zh) | 2019-12-25 | 2019-12-25 | 基于fpga的soc芯片自动化测试工具和测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111025129A true CN111025129A (zh) | 2020-04-17 |
Family
ID=70213338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911359190.5A Pending CN111025129A (zh) | 2019-12-25 | 2019-12-25 | 基于fpga的soc芯片自动化测试工具和测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111025129A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111475364A (zh) * | 2020-05-27 | 2020-07-31 | 中电海康无锡科技有限公司 | 一种片上系统芯片的测试方法及系统 |
CN111737933A (zh) * | 2020-06-19 | 2020-10-02 | 浪潮(北京)电子信息产业有限公司 | 一种soc原型验证方法、系统、设备及介质 |
CN111913471A (zh) * | 2020-07-21 | 2020-11-10 | 北京京瀚禹电子工程技术有限公司 | 测试装置 |
CN112198865A (zh) * | 2020-09-29 | 2021-01-08 | 中电海康无锡科技有限公司 | 一种mcu低功耗模式切换的测试方法、装置及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030149946A1 (en) * | 2002-02-01 | 2003-08-07 | Devins Robert J. | Method of switching external models in an automated system-on-chip integrated circuit design verification system |
CN101377795A (zh) * | 2008-09-22 | 2009-03-04 | 浪潮电子信息产业股份有限公司 | 一种工业便携式终端专用soc芯片逻辑验证方法 |
CN102043878A (zh) * | 2010-10-29 | 2011-05-04 | 山东大学 | 一种基于dw8051核的soc芯片的可重用验证装置和验证方法 |
CN104459518A (zh) * | 2014-11-27 | 2015-03-25 | 北京时代民芯科技有限公司 | 基于SoPC芯片的功能自动化测试系统及其测试方法 |
CN106707143A (zh) * | 2017-01-05 | 2017-05-24 | 北京航天自动控制研究所 | 一种芯片内部逻辑验证系统和方法 |
CN108226748A (zh) * | 2017-12-05 | 2018-06-29 | 上海精密计量测试研究所 | 用于SoC片上系统的单粒子效应测试方法 |
CN209746085U (zh) * | 2018-11-21 | 2019-12-06 | 上海欧比特航天科技有限公司 | 一种soc芯片测试与验证系统 |
-
2019
- 2019-12-25 CN CN201911359190.5A patent/CN111025129A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030149946A1 (en) * | 2002-02-01 | 2003-08-07 | Devins Robert J. | Method of switching external models in an automated system-on-chip integrated circuit design verification system |
CN101377795A (zh) * | 2008-09-22 | 2009-03-04 | 浪潮电子信息产业股份有限公司 | 一种工业便携式终端专用soc芯片逻辑验证方法 |
CN102043878A (zh) * | 2010-10-29 | 2011-05-04 | 山东大学 | 一种基于dw8051核的soc芯片的可重用验证装置和验证方法 |
CN104459518A (zh) * | 2014-11-27 | 2015-03-25 | 北京时代民芯科技有限公司 | 基于SoPC芯片的功能自动化测试系统及其测试方法 |
CN106707143A (zh) * | 2017-01-05 | 2017-05-24 | 北京航天自动控制研究所 | 一种芯片内部逻辑验证系统和方法 |
CN108226748A (zh) * | 2017-12-05 | 2018-06-29 | 上海精密计量测试研究所 | 用于SoC片上系统的单粒子效应测试方法 |
CN209746085U (zh) * | 2018-11-21 | 2019-12-06 | 上海欧比特航天科技有限公司 | 一种soc芯片测试与验证系统 |
Non-Patent Citations (1)
Title |
---|
肖安兵: "基于FPGA的SoC测试验证系统设计", 《万方数据》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111475364A (zh) * | 2020-05-27 | 2020-07-31 | 中电海康无锡科技有限公司 | 一种片上系统芯片的测试方法及系统 |
CN111737933A (zh) * | 2020-06-19 | 2020-10-02 | 浪潮(北京)电子信息产业有限公司 | 一种soc原型验证方法、系统、设备及介质 |
CN111913471A (zh) * | 2020-07-21 | 2020-11-10 | 北京京瀚禹电子工程技术有限公司 | 测试装置 |
CN112198865A (zh) * | 2020-09-29 | 2021-01-08 | 中电海康无锡科技有限公司 | 一种mcu低功耗模式切换的测试方法、装置及系统 |
CN112198865B (zh) * | 2020-09-29 | 2022-03-25 | 中电海康无锡科技有限公司 | 一种mcu低功耗模式切换的测试方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111025129A (zh) | 基于fpga的soc芯片自动化测试工具和测试方法 | |
CN101482602A (zh) | 继电保护测试仪检测分析系统 | |
CN111308299B (zh) | 一种换流阀闭环回路测试系统及方法 | |
CN108072830B (zh) | 一种三浮惯性平台单板自动化测试装置 | |
CN104459435A (zh) | 一种用于变电站的接线验证方法及装置 | |
CN107526020A (zh) | 一种基于SoC的声波测井信号采集电路的自动检测系统 | |
CN111337869A (zh) | Bms板测试装置、测试系统及测试方法 | |
CN203232134U (zh) | 一种实装电路板的测试装置 | |
CN111025062A (zh) | 一种svg功率模块测试系统及方法 | |
CN108051619A (zh) | 一种tr组件波控电路快速定量测试验证系统和方法 | |
CN211043647U (zh) | 一种便携式测试装备检验验收系统 | |
RU72773U1 (ru) | Автоматизированная система контроля и диагностики радиоэлектронных устройств "ас 5-2" | |
CN114020544A (zh) | 一种服务器板卡时序测试装置及方法 | |
CN110058142B (zh) | 一种1553b总线接口电路自动化熔丝烧调板及烧调方法 | |
CN112858786A (zh) | 一种模块化电阻电压测量装置和方法 | |
CN114509656B (zh) | 一种igbt驱动单板智能检测系统 | |
CN116859894B (zh) | 基于多代理技术的直升机内部电子调节器的自动测试方法 | |
CN110221146A (zh) | 适用于智能变电站的带负荷测试方法 | |
CN110514983A (zh) | 一种基于Labview的打印机接口电路板的自动测试的方法 | |
CN104639039A (zh) | 中小型光伏并网逆变器单板自动化测试平台 | |
CN113567843B (zh) | 一种基于fpga的电路板有源通路测试方法 | |
CN215813191U (zh) | 一种基于fpga的延时asic电路自动检测装置 | |
CN212410781U (zh) | 机车接触器的检测装置 | |
CN220691052U (zh) | 一种快速检测rtc功能的装置 | |
CN219757219U (zh) | 一种用于航空器舵面角度检测的测量系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200417 |
|
RJ01 | Rejection of invention patent application after publication |