基于SoPC芯片的功能自动化测试系统及其测试方法

文档序号:6250717阅读:315来源:国知局
基于SoPC芯片的功能自动化测试系统及其测试方法
【专利摘要】本发明提供了一种基于SoPC芯片的功能性测试系统及其测试方法,该系统包括串行通信接口测试模块、I2C测试模块、中断处理测试模块、定时器测试模块、计数器测试模块、总线测试模块、模拟开关/ADC测试模块、GPIO测试模块、FPGA配置模块、通信模块和测试控制模块;本发明的自动化测试方法在同一个测试系统中,按照测试需求在一个测试程序中完成SoPC芯片的各个功能模块的测试,避免了传统测试方法中对同一个SoPC芯片不同功能进行测试时,针对各测试项目返回进行编译,可有效缩短测试时间,并降低测试难度和测试操作复杂度。
【专利说明】基于SoPC芯片的功能自动化测试系统及其测试方法

【技术领域】
[0001] 本发明涉及SoPC (System-on-Programmable-Chip)芯片领域,特别涉及一种基于 SoPC芯片的功能性测试系统及其测试方法,实现芯片入库前硬件功能筛选和出库前的硬件 功能确认。

【背景技术】
[0002] 随着微电子技术、计算机技术、EDA技术的发展,和武器、空间飞行器对电子控制系 统的小型化、灵活、低功耗的需求日益加剧,催生了 SoPC技术的出现。SoPC是SoC和FPGA 技术的融合,在ASIC和可编程逻辑器件之间找到一个折衷点,它将处理器、存储器、FPGA和 外设接口等系统设计按需要集成到一块芯片上,用一块芯片取代了传统电子系统,实现电 子系统的小型化、轻型化、高集成度、低功耗、可重构、灵活性、同时增强可靠性和电磁兼容 性。同时降低基于SoPC的开发难度,大幅缩短开发周期,降低设计成本。
[0003] SoPC芯片内部十分复杂,集成多种外设接口,并且可以完成多种功能,测试成为 SoPC芯片设计过程中关键环节。特别是芯片设计完成后,在物理实现过程中是否存在制造 缺陷直接影响产品的成品率和制造成本,这也凸显了芯片功能性测试的重要性。传统的测 试方法大多是只选择一个或一部分功能进行测试,在测试结束后,选择另一部分的功能进 行测试。这种测试方法通常将整个测试系统进行整体编写,根据需要测试的功能对测试程 序进行编译,而每次编译都需要花费大量的时间。
[0004] 综上所述,传统的测试方法对同一个SoPC芯片的不同功能进行测试时,测试系统 构建复杂,需要较长时间,重用性差,维护困难,增加了测试的难度和操作复杂度。


【发明内容】

[0005] 本发明的目的在于克服现有技术的不足,提供了一种基于SoPC芯片的功能性测 试系统及其测试方法,该方法采用同一个测试系统,按照测试需求在一个测试程序中完成 SoPC芯片的各个功能模块的测试,避免了传统测试方法中对同一个SoPC芯片不同功能进 行测试时,针对各测试项目返回进行编译,可有效缩短测试时间,并降低测试难度和测试操 作复杂度。
[0006] 本发明的上述目的主要是通过如下技术方案予以实现的:
[0007] -种基于SoPC芯片的功能自动化测试系统,包括测试控制模块、通信模块、串行 通信接口测试模块、I 2C测试模块、中断处理测试模块、定时器测试模块、计数器测试模块、 总线测试模块、模拟开关/ADC测试模块和GPIO测试模块,其中:
[0008] 测试控制模块:发送测试命令、计数命令到通信模块,并接收通信模块发送的测试 结果;
[0009] 通信模块:接收测试控制模块发送的测试命令或计数命令,并将所述测试命令发 送到被测芯片CPU,接收被测芯片的CPU输出的测试结果;将所述计数命令发送到计数器测 试模块;
[0010] 串行通信接口测试模块:包括N个串口测试电路,分别与被测芯片的N个异步串行 通信接口连接,接收所述通信接口发送的测试数据,并将所述测试数据接收转发回被测芯 片的异步串行通信接口;其中,N为正整数;
[0011] I2C测试模块:包括2个I2C测试电路,分别与被测芯片的2个I2C连接,接收并保 存被测芯片I 2C发送的测试数据;
[0012] 中断处理测试模块:接收被测芯片CPU发送的GPIO波形,并将所述GPIO波形发送 到所述CPU的中断逻辑电路;
[0013] 定时器测试模块:包括指示电路,所述指示电路由被测芯片定时器发送的测试波 形进行驱动并亮灯显示;
[0014] 计数器测试模块:接收通信模块发送的计数命令,产生计数信号,并将所述计数信 号发送到被测芯片计数器部件;
[0015] 总线测试模块:接收被测芯片1553B总线模块输出的测试信号,对所述测试信号 进行电平转换、信号隔离、信号耦合后输出到外部1553B标准设备;接收所述外部1553B标 准设备转发的返向测试信号,对所述返向测试信号进行信号耦合、信号隔离和电平转换处 理后输出到被测芯片1553B总线模块;
[0016] 模拟开关/ADC测试模块:为被测芯片的模拟开关的L个端口配置L个不同的模拟 电压值;其中,L为正整数;
[0017] GPIO测试模块:在被测芯片GPIO前向通道测试过程中,接收被测芯片CPU的GPIO 发送的前向测试信号,发送所述前向测试信号到被测芯片FPGA的GPIO ;在被测芯片GPIO 返向通道测试过程中,接收被测芯片FPGA的GPIO发送的返向测试数据,并转发所述返向测 试数据到被测芯片CPU的GPIO端口。
[0018] 上述的基于SoPC芯片的功能自动化测试系统还包括FPGA配置模块、时钟复位模 块和电源模块,其中:
[0019] FPGA配置电路模块:对被测芯片的FPGA进行文件更新配置;
[0020] 时钟复位模块:为被测芯片CPU提供时钟和复位信号;
[0021] 电源模块:对串口通信接口测试模块、I2C测试模块、中断处理测试模块、定时器测 试模块、计数器测试模块、总线测试模块、模拟开关/ADC测试模块、GPIO测试模块、FPGA配 置模块、通信模块和时钟复位模块进行供电。
[0022] -种基于SoPC芯片的功能自动化测试方法,在一种自动化测试系统中实现,其 中,所述自动化测试系统包括测试控制模块、通信模块、串行通信接口测试模块、I 2C测试模 块、中断处理测试模块、定时器测试模块、计数器测试模块、总线测试模块、模拟开关/ADC 测试模块和GPIO测试模块,所述测试方法的包括以下步骤:
[0023] 首先,按照设定的测试内容和测试顺序,由测试控制模块发送测试命令,依次开启 串行通信接口测试、I 2C测试、中断处理测试、定时器测试、计数器测试、1553B总线测试、模 拟开关/ADC测试、GPIO测试;并在各项测试结束后,由被测芯片CPU将测试结果发送到通 信模块,所述通信模块再将所述测试结果发送到测试控制模块进行汇总,完成被测芯片的 功能测试。
[0024] 在上述的基于SoPC芯片的功能自动化测试方法中,被测芯片的串行通信接口测 试包括以下步骤:
[0025] (la)、测试控制模块通过通信模块发送串行通信接口测试命令到被测芯片CPU,所 述被测芯片CPU通过N个异步串行通信接口分别发送测试数据到通信接口测试模块中的N 个串口测试电路中;
[0026] (Ib)、所述串口测试电路将接收到的测试数据转发回被测芯片的异步串行通信接 Π ;
[0027] (lc)、被测芯片将所述异步串行通信接口接收到的数据与步骤(Ia)中的发送数 据进行比较,得到测试结果,其中:
[0028] 如果所述接收数据与发送数据相同,则判断被测芯片CPU的异步串行通信接口工 作正常;如果所述接收数据与发送数据不相同,则判断被测芯片CPU的异步串行通信接口 工作异常;
[0029] (Id)、被测芯片CPU将步骤(Ic)得到的测试结果发送到通信模块;
[0030] (Ie)、通信模块发送测试结果到测试控制模块。
[0031] 在上述的基于SoPC芯片的功能自动化测试方法中,被测芯片的I2C测试包括以下 步骤:
[0032] (2a)、测试控制模块通过通信模块发送I2C测试命令到被测芯片CPU,被测芯片的 I2C发送测试数据到的I2C测试电路模块中的I2C测试电路中;
[0033] (2b)、所述的I2C测试电路接收并保存步骤(2a)中的测试数据;
[0034] (2c)、被测芯片的I2C读取I2C测试电路中保存的测试数据,并与步骤(2a)中的发 送数据进行比较,得到测试结果,其中:
[0035] 如果所述读取数据与发送数据相同,则判断被测芯片I2C工作正常;如果所述读取 数据与发送数据不同,则判断被测芯片I 2C工作异常;
[0036] (2d)、被测芯片CPU将步骤(2c)得到的测试结果发送到通信模块;
[0037] (2e)、通信模块发送测试结果到测试控制模块。
[0038] 在上述的基于SoPC芯片的功能自动化测试方法中,被测芯片中断处理测试包括 以下步骤:
[0039] (3a)、测试控制模块通过通信模块发送中断处理测试命令到被测芯片CPU ;
[0040] (3b)、被测芯片CPU设定所述CPU中断逻辑电路的中断模式,并产生与所述中断模 式相对应的GPIO波形;
[0041] (3c)、被测芯片CPU发送所述GPIO波形到中断处理测试模块;
[0042] (3d)、中断处理测试模块将步骤(3c)接收到的GPIO波形发送到被测芯片CPU的 中断逻辑电路;
[0043] (3e)、被测芯片CPU根据所述中断逻辑电路的触发结果,得到被测芯片中断处理 测试结果,其中:
[0044] 如果所述中断逻辑电路根据接收到的GPIO波形触发中断,则判断被测芯片的中 断处理工作正常;如果所述中断逻辑电路在接收到的GPIO波形后没有触发中断,则判断被 测芯片的中断处理工作异常;
[0045] (3f)、被测芯片CPU将步骤(3d)得到的测试结果发送到通信模块;
[0046] (3g)、通信模块发送测试结果到测试控制模块。
[0047] 在上述的基于SoPC芯片的功能自动化测试方法中,被测芯片的定时器测试的具 体实现过程如下:
[0048] (4a)、测试控制模块通过通信模块发送定时器测试命令到被测芯片CPU ;
[0049] (4b)、被测芯片CPU根据所述测试命令,设定被测芯片定时器的工作模式和定时 时间,并将所述定时时间分为M个时间片,其中,在每个所述时间片的结束时刻,由所述CPU 的中断逻辑电路产生中断信号,并由所述CPU进行计数;其中,M为设定的正整数;
[0050] (4c)、被测芯片的CPU在所述定时时间的结束时刻停止计数,并且被测芯片的定 时器输出测试波形到定时器测试电路模块;定时器测试电路模块在接收到所述测试波形 后,驱动所述模块中的指示电路,表明定时器工作完成;
[0051] (4d)、CPU将步骤(4b)中得到的计数结果与设定的M值进行比较,得到测试结果, 其中:
[0052] 如果所述计数结果与M值相同,则判断被测芯片的定时器部件工作正常;如果所 述计数结果与M值不同,则判断被测芯片的定时器部件工作异常;
[0053] (4e)、被测芯片CPU将步骤(4d)得到的测试结果发送到通信模块;
[0054] (4f)、通信模块发送所述测试结果到测试控制模块。
[0055] 在上述的基于SoPC芯片的功能自动化测试方法中,被测芯片的计数器测试包括 以下步骤:
[0056] (5a)、测试控制模块通过通信模块发送计数命令到计数器测试模块;
[0057] (5b)、计数器测试模块在接收到所述计数命令后,产生计数信号;
[0058] (5c)、发送步骤(5b)产生的计数信号到被测芯片的计数器部件;
[0059] (5d)、被测芯片的计数器部件按照计数信号进行计数操作,得到计数结果,其中:
[0060] 如果所述计数结果与计数信号对应的计数结果相同,则判断被测芯片的计数器部 件工作正常;如果所述计数结果与计数信号对应的计数结果不同,则判断被测芯片的计数 器部件工作异常;
[0061] (5e)、被测芯片CPU将步骤(5d)得到的测试结果发送到通信模块;
[0062] (5f)、通信模块发送所述测试结果到测试控制模块。
[0063] 在上述的基于SoPC芯片的功能自动化测试方法中,被测芯片的总线测试包括以 下步骤:
[0064] (6a)、测试控制模块通过通信模块发送总线测试命令到被测芯片CPU ;被测芯片 (PU通过被测芯片的1553B总线输出前向测试信号到总线测试电路模块;
[0065] (6b)、总线测试电路模块对所述前向测试信号进行电平转换、信号隔离和信号耦 合处理后,输出处理后的前向测试信号到外部1553B标准设备;
[0066] (6c)、所述外部1553B标准设备将接收到的前向测试信号转发回总线测试模块;
[0067] (6d)、总线测试模块对步骤(6c)接收到的测试信号进行信号耦合、信号隔离和电 平转换后,得到返向测试信号;
[0068] (6e)、总线测试模块发送所述返向测试信号到被测芯片1553B总线模块;
[0069] (6f)、被测芯片CPU将所述返向测试信号与步骤(6a)中所述CPU发送的前向测试 信号进行比较,得到测试结果,其中:
[0070] 如果所述前向测试信号与所述返向测试信号相同,则判断被测芯片的总线工作正 常;如果所述前向测试信号与所述返向测试信号不同,则判断被测芯片的总线工作异常;
[0071] (6g)、被测芯片CPU发送步骤(6f)得到的测试结果到通信模块;
[0072] (6h)、通信模块转发所述测试结果到测试控制模块。
[0073] 在上述的基于SoPC芯片的功能自动化测试方法中,被测芯片模拟开关/ADC测试 包括如下步骤:
[0074] (7a)、测试控制模块通过通信模块发送模拟开关/ADC测试命令到被测芯片CPU ; 模拟开关/ADC测试模块为被测芯片的模拟开关的L个输入端口配置L个不同的模拟电压 值,其中,所述模拟开关的输出端口与被测芯片的ADC连接;
[0075] (7b)、被测芯片ADC接收模拟开关传送的模拟电压值,并进行模数转换,输出电压 数字值;
[0076] (7c)、被测芯片CPU根据所述ADC输出的电压数字值,推算出模拟电压值;
[0077] (7d)、被测芯片CPU将步骤(7c)中推算出的模拟电压值与步骤(7a)中配置的模 拟电压值进行比较,得到测试结果,其中:
[0078] 如果所述两种模拟电压值相同,则判断被测芯片的模拟开关和ADC工作正常;如 果所述两种模拟电压值不同,则判断被测芯片的模拟开关和ADC工作异常正常;
[0079] (7e)、被测芯片CPU将步骤(7d)得到的测试结果发送到通信模块;
[0080] (7f)、通信模块发送测试结果到测试控制模块。
[0081] 在上述的基于SoPC芯片的功能自动化测试方法中,被测芯片的GPIO测试通过被 测芯片CPU的GPIO与被测芯片FPGA的互相测试完成,具体实现步骤包括:
[0082] (8a)、测试控制模块通过通信模块发送模拟开关/ADC测试命令到被测芯片CPU ; 被测芯片CPU的GPIO输出前向测试数据到被测芯片的FPGA的GPIO ;
[0083] (8b)、被测芯片CPU通过总线读取所述FPGA中的前向测试数据,并与步骤(8a)中 输出的前向测试数据进行比较,得到前向通道的测试结果,其中:
[0084] 如果进过比较得到所述两组数据相同,则判断被测芯片CPU的GPIO中的输出模式 工作正常,且被测芯片FPGA的GPIO中的接收模式工作正常;如果进过比较得到所述两组数 据不同,则判断被测芯片CPU的GPIO中的输出模或被测芯片FPGA的GPIO中的接收模式工 作异常;
[0085] (8c)、被测芯片CPU通过总线发送返向测试数据到被测芯片的FPGA ;
[0086] (8d)、被测芯片FPGA通过GPIO发送所述返向测试数据到GPIO测试电路模块;
[0087] (8e)、GPI0测试电路模块将所述返向测试数据发送到被测芯片CPU的GPIO端口;
[0088] (8f)、被测芯片CPU将步骤(Se)中接收的返向测试数据与步骤(8c)中发送的返 向测试数据进行比较,得到测试结果,其中:
[0089] 如果进过比较得到所述两组数据相同,则判断被测芯片CPU的GPIO中的接收模式 工作正常,且被测芯片FPGA的GPIO中的输出模式工作正常;如果进过比较得到所述两组数 据不同,则判断被测芯片CPU的GPIO中的接收模或被测芯片FPGA的GPIO中的输出模式工 作异常;
[0090] (8g)、发送步骤(8b)和(8f)得到的测试结果到通信模块;
[0091] (8h)、通信模块发送所述测试结果到测试控制模块。
[0092] 本发明与现有技术相比的优点在于:
[0093] (1)、本发明在一个测试系统中,集成了各功能测试模块,通过流程化控制实现所 有功能模块的集中测试,可以有效缩短测试时间,有益于进行芯片的批量测试;
[0094] (2)、本发明针对根据所述功能模块生成测试命令,并在测试结束后返回各项测试 的结果,并进行汇总,可以有效提高测试效率。

【专利附图】

【附图说明】
[0095] 图1为本发明自动化测试硬件平台系统框图;
[0096] 图2为本发明实施例中测试系统连接示意图;
[0097] 图3为本发明实施例中的测试流程图。

【具体实施方式】
[0098] 下面结合附图和具体实施例对本发明作进一步详细的描述:
[0099] 根据图1所示的本发明测试系统与被测芯片的连接框图,本发明的基于SoPC芯 片的功能自动化测试系统包括测试控制模块、通信模块、串行通信接口测试模块、I2C测试 模块、中断处理测试模块、定时器测试模块、计数器测试模块、总线测试模块、模拟开关/ADC 测试模块、GPIO测试模块、FPGA配置模块、时钟复位模块和电源模块,其中:
[0100] 测试控制模块:发送测试命令、计数命令到通信模块,并接收通信模块发送的测试 结果;该模块用于对整个测试过程进行控制,可以根据测试需求,进行专项功能测试或全功 能测试。测试人员可以通过测试人机交互界面选择测试项目,并由测试控制模块自动产生 测试指令序列,用于各模块间联合操作完成各项测试。
[0101] 通信模块:接收测试控制模块发送的测试命令或计数命令,并将所述测试命令发 送到被测芯片CPU,接收被测芯片的CPU输出的测试结果;将所述计数命令发送到计数器测 试模块;
[0102] 串行通信接口测试模块:包括N个串口测试电路,分别与被测芯片的N个异步串行 通信接口连接,接收所述通信接口发送的测试数据,并将所述测试数据接收转发回被测芯 片的异步串行通信接口;其中,N为正整数;
[0103] I2C测试模块:包括2个I2C测试电路,分别与被测芯片的2个I2C连接,接收并保 存被测芯片I 2C发送的测试数据;
[0104] 中断处理测试模块:接收被测芯片CPU发送的GPIO波形,并将所述GPIO波形发送 到所述CPU的中断逻辑电路;
[0105] 定时器测试模块:包括指示电路,所述指示电路由被测芯片定时器发送的测试波 形进行驱动并亮灯显示,可用于提示测试人员定时器测试已完成;
[0106] 计数器测试模块:接收通信模块发送的计数命令,产生计数信号,并将所述计数信 号发送到被测芯片计数器部件;
[0107] 总线测试模块:接收被测芯片1553B总线模块输出的测试信号,对所述测试信号 进行电平转换、信号隔离、信号耦合后输出到外部1553B标准设备;接收所述外部1553B标 准设备转发的返向测试信号,对所述返向测试信号进行信号耦合、信号隔离和电平转换处 理后输出到被测芯片1553B总线模块;
[0108] 模拟开关/ADC测试模块:为被测芯片的模拟开关的L个端口配置L个不同的模拟 电压值;
[0109] GPIO测试模块:在被测芯片GPIO前向通道测试过程中,接收被测芯片CPU的GPIO 发送的前向测试信号,发送所述前向测试信号到被测芯片FPGA的GPIO ;在被测芯片GPIO 返向通道测试过程中,接收被测芯片FPGA的GPIO发送的返向测试数据,并转发所述返向测 试数据到被测芯片CPU的GPIO端口;
[0110] FPGA配置电路模块:对被测芯片的FPGA进行文件更新配置。
[0111] 时钟复位模块:为被测芯片CPU提供时钟和复位信号;
[0112] 电源模块:对串口通信接口测试模块、I2C测试模块、中断处理测试模块、定时器测 试模块、计数器测试模块、总线测试模块、模拟开关/ADC测试模块、GPIO测试模块、FPGA配 置模块、通信模块和时钟复位模块进行供电。
[0113] 本发明基于上述SoPC芯片的功能自动化测试系统的自动化测试方法包括以下步 骤:
[0114] 首先,按照设定的测试内容和测试顺序,由测试控制模块发送测试命令,依次开启 串行通信接口测试、I 2C测试、中断处理测试、定时器测试、计数器测试、1553B总线测试、模 拟开关/ADC测试、GPIO测试;并在各项测试结束后,由被测芯片CPU将测试结果发送到通 信模块,所述通信模块再将所述测试结果发送到测试控制模块进行汇总,完成被测芯片的 功能测试。
[0115] 其中,各模块的具体测试方法如下:
[0116] (1)、被测芯片的串行通信接口测试包括以下步骤:
[0117] (Ia)、测试控制模块通过通信模块发送串行通信接口测试命令到被测芯片CPU,所 述被测芯片CPU通过N个异步串行通信接口分别发送测试数据到通信接口测试模块中的N 个串口测试电路中;
[0118] (lb)、所述串口测试电路将接收到的测试数据转发回被测芯片的异步串行通信接 Π ;
[0119] (lc)、被测芯片将所述异步串行通信接口接收到的数据与步骤(Ia)中的发送数 据进行比较,得到测试结果,其中:
[0120] 如果所述接收数据与发送数据相同,则判断被测芯片CPU的异步串行通信接口工 作正常;如果所述接收数据与发送数据不相同,则判断被测芯片CPU的异步串行通信接口 工作异常;
[0121] (Id)、被测芯片CPU将步骤(Ic)得到的测试结果发送到通信模块;
[0122] (Ie)、通信模块发送测试结果到测试控制模块。
[0123] (2)、被测芯片的I2C测试包括以下步骤:
[0124] (2a)、测试控制模块通过通信模块发送I2C测试命令到被测芯片CPU,被测芯片的 I2C发送测试数据到的I2C测试电路模块中的I2C测试电路中;
[0125] (2b)、所述的I2C测试电路接收并保存步骤(2a)中的测试数据;
[0126] (2c)、被测芯片的I2C读取I2C测试电路中保存的测试数据,并与步骤(2a)中的发 送数据进行比较,得到测试结果,其中:
[0127] 如果所述读取数据与发送数据相同,则判断被测芯片I2C工作正常;如果所述读取 数据与发送数据不同,则判断被测芯片I 2C工作异常;
[0128] (2d)、被测芯片CPU将步骤(2c)得到的测试结果发送到通信模块;
[0129] (2e)、通信模块发送测试结果到测试控制模块。
[0130] (3)、被测芯片中断处理测试包括以下步骤:
[0131] (3a)、测试控制模块通过通信模块发送中断处理测试命令到被测芯片CPU ;
[0132] (3b)、被测芯片CPU设定所述CPU中断逻辑电路的中断模式,并产生与所述中断模 式相对应的GPIO波形;该中断模式包括上升沿触发模式、下降沿触发模式、低电平触发模 式和高电平触发模式;
[0133] (3c)、被测芯片CPU发送所述GPIO波形到中断处理测试模块;
[0134] (3d)、中断处理测试模块将步骤(3c)接收到的GPIO波形发送到被测芯片CPU的 中断逻辑电路;
[0135] (3e)、被测芯片CPU根据所述中断逻辑电路的触发结果,得到被测芯片中断处理 测试结果,其中:
[0136] 如果所述中断逻辑电路根据接收到的GPIO波形触发中断,则判断被测芯片的中 断处理工作正常;如果所述中断逻辑电路在接收到的GPIO波形后没有触发中断,则判断被 测芯片的中断处理工作异常;
[0137] (3f)、被测芯片CPU将步骤(3d)得到的测试结果发送到通信模块;
[0138] (3g)、通信模块发送测试结果到测试控制模块。
[0139] (4)、被测芯片的定时器测试的具体实现过程如下:
[0140] (4a)、测试控制模块通过通信模块发送定时器测试命令到被测芯片CPU ;
[0141] (4b)、被测芯片CPU根据所述测试命令,设定被测芯片定时器的工作模式和定时 时间,并将所述定时时间分为M个时间片,其中,在每个所述时间片的结束时刻,由所述CPU 的中断逻辑电路产生中断信号,并由所述CPU进行计数;其中,M为设定的正整数;所述的定 时器工作模式包括内部时钟模式测试、外部时钟模式测试和外部实启模式;
[0142] (4c)、被测芯片的CPU在所述定时时间的结束时刻停止计数,并且被测芯片的定 时器输出测试波形到定时器测试电路模块;定时器测试电路模块在接收到所述测试波形 后,驱动所述模块中的指示电路,表明定时器工作完成;
[0143] (4d)、CPU将步骤(4b)中得到的计数结果与设定的M值进行比较,得到测试结果, 其中:
[0144] 如果所述计数结果与M值相同,则判断被测芯片的定时器部件工作正常;如果所 述计数结果与M值不同,则判断被测芯片的定时器部件工作异常;
[0145] (4e)、被测芯片CPU将步骤(4d)得到的测试结果发送到通信模块;
[0146] (4f)、通信模块发送所述测试结果到测试控制模块。
[0147] (5)、被测芯片的计数器测试包括以下步骤:
[0148] (5a)、测试控制模块通过通信模块发送计数命令到计数器测试模块;
[0149] (5b)、计数器测试模块在接收到所述计数命令后,产生计数信号;
[0150] (5c)、发送步骤(5b)产生的计数信号到被测芯片的计数器部件;
[0151] (5d)、被测芯片的计数器部件按照计数信号进行计数操作,得到计数结果,其中:
[0152] 如果所述计数结果与计数信号对应的计数结果相同,则判断被测芯片的计数器部 件工作正常;如果所述计数结果与计数信号对应的计数结果不同,则判断被测芯片的计数 器部件工作异常;
[0153] (5e)、被测芯片CPU将步骤(5d)得到的测试结果发送到通信模块;
[0154] (5f)、通信模块发送所述测试结果到测试控制模块。
[0155] (6)、被测芯片的总线测试包括以下步骤:
[0156] (6a)、测试控制模块通过通信模块发送总线测试命令到被测芯片CPU ;被测芯片 (PU通过被测芯片的1553B总线输出前向测试信号到总线测试电路模块;
[0157] (6b)、总线测试电路模块对所述前向测试信号进行电平转换、信号隔离和信号耦 合处理后,输出处理后的前向测试信号到外部1553B标准设备;
[0158] (6c)、所述外部1553B标准设备将接收到的前向测试信号转发回总线测试模块;
[0159] (6d)、总线测试模块对步骤(6c)接收到的测试信号进行信号耦合、信号隔离和电 平转换后,得到返向测试信号;
[0160] (6e)、总线测试模块发送所述返向测试信号到被测芯片1553B总线模块;
[0161] (6f)、被测芯片CPU将所述返向测试信号与步骤(6a)中所述CPU发送的前向测试 信号进行比较,得到测试结果,其中:
[0162] 如果所述前向测试信号与所述返向测试信号相同,则判断被测芯片的总线工作正 常;如果所述前向测试信号与所述返向测试信号不同,则判断被测芯片的总线工作异常;
[0163] (6g)、被测芯片CPU发送步骤(6f)得到的测试结果到通信模块;
[0164] (6h)、通信模块转发所述测试结果到测试控制模块。
[0165] (7)、被测芯片模拟开关/ADC测试包括如下步骤:
[0166] (7a)、测试控制模块通过通信模块发送模拟开关/ADC测试命令到被测芯片CPU ; 模拟开关/ADC测试模块为被测芯片的模拟开关的L个输入端口配置L个不同的模拟电压 值,其中,所述模拟开关的输出端口与被测芯片的ADC连接;
[0167] (7b)、被测芯片ADC接收模拟开关传送的模拟电压值,并进行模数转换,输出电压 数字值;
[0168] (7c)、被测芯片CPU根据所述ADC输出的电压数字值,推算出模拟电压值;
[0169] (7d)、被测芯片CPU将步骤(7c)中推算出的模拟电压值与步骤(7a)中配置的模 拟电压值进行比较,得到测试结果,其中:
[0170] 如果所述两种模拟电压值相同,则判断被测芯片的模拟开关和ADC工作正常;如 果所述两种模拟电压值不同,则判断被测芯片的模拟开关和ADC工作异常正常;
[0171] (7e)、被测芯片CPU将步骤(7d)得到的测试结果发送到通信模块;
[0172] (7f)、通信模块发送测试结果到测试控制模块。
[0173] (8)、被测芯片的GPIO测试通过被测芯片CPU的GPIO与被测芯片FPGA的互相测 试完成,具体实现步骤包括:
[0174] (8a)、测试控制模块通过通信模块发送模拟开关/ADC测试命令到被测芯片CPU ; 被测芯片CPU的GPIO输出前向测试数据到被测芯片的FPGA的GPIO ;
[0175] (8b)、被测芯片CPU通过总线读取所述FPGA中的前向测试数据,并与步骤(8a)中 输出的前向测试数据进行比较,得到前向通道的测试结果,其中:
[0176] 如果进过比较得到所述两组数据相同,则判断被测芯片CPU的GPIO中的输出模式 工作正常,且被测芯片FPGA的GPIO中的接收模式工作正常;如果进过比较得到所述两组数 据不同,则判断被测芯片CPU的GPIO中的输出模或被测芯片FPGA的GPIO中的接收模式工 作异常;
[0177] (8c)、被测芯片CPU通过总线发送返向测试数据到被测芯片的FPGA ;
[0178] (8d)、被测芯片FPGA通过GPIO发送所述返向测试数据到GPIO测试电路模块;
[0179] (8e)、GPI0测试电路模块将所述返向测试数据发送到被测芯片CPU的GPIO端口;
[0180] (8f)、被测芯片CPU将步骤(Se)中接收的返向测试数据与步骤(8c)中发送的返 向测试数据进行比较,得到测试结果,其中:
[0181] 如果进过比较得到所述两组数据相同,则判断被测芯片CPU的GPIO中的接收模式 工作正常,且被测芯片FPGA的GPIO中的输出模式工作正常;如果进过比较得到所述两组数 据不同,则判断被测芯片CPU的GPIO中的接收模或被测芯片FPGA的GPIO中的输出模式工 作异常;
[0182] (8g)、发送步骤(8b)和(8f)得到的测试结果到通信模块;
[0183] (8h)、通信模块发送所述测试结果到测试控制模块。
[0184] 在本发明中,还可以将被测芯片的SRAM、SDRAM和FLASH的测试程序写入总的测试 程序中,完成进行测试被测芯片的SRAM、SDRAM和FLASH的软件测试。
[0185] 实施例:
[0186] 本实施例中针对一款包括SPARC V8内核处理器、IMB SRAM、8MB FLASH,16MB SDRAM和30万门FPGA实现的SoPC芯片,进行自动化功能性测试。
[0187] 在自动化测试系统中,串行通信接口测试模块包括4个异步串行通信接口的测试 电路;I 2C测试模块包括2个I2C测试电路;中断处理测试模块包括1路不可屏蔽中断和4路 外部中断的测试电路;定时器测试模块包括10个定时器输出的3种应用模式的测试电路, 其中,三种应用模式分别为内部时钟模式、外部时钟模式和外部实启模式;计数器测试模块 包括12路计数器测试电路;总线测试模块包括1路高速1553B总线测试电路;模拟开关/ ADC测试模块包括针对4路7位模拟开关输入和4路独立ADC的测试电路;GPIO测试模块 包括16路输入输出电路的测试电路;其中,电源模块由电源适配器实现220V交流电源到 5V03A直流电源的转换,对其他模块进行供电;测试控制模块由PC机实现,可以实现人机交 互;并且该PC机与集成了各测试模块的硬件电路间通过通信电缆连接;FPGA配置模块将测 试版本的FPGA配置文件加载在被测芯片的FPGA中,并在被测芯片CPU中运行测试程序。
[0188] 其中,通信模块、通信接口测试模块、I2C测试模块、中断处理测试模块、定时器测 试模块、计数器测试模块、总线测试模块、模拟开关/ADC测试模块、GPIO测试模块、FPGA配 置模块、时钟复位模块和电源模块集成在一个硬件测试平台上。
[0189] 在测试过程中,PC机通过通信电缆发送指令、接收响应,测试程序运行于被测 SoPC芯片内。其中,被测芯片根据收到的指令确定需要测试功能所涉及的模块,并自动产 生需要施加的激励,完成对SoPC芯片不同功能模块的功能性测试,并将测试结果汇总到PC 机。
[0190] 以上所述的测试系统的连接方式如图2所示,并按照图3所示的测试流程进行测 试,具体的测试步骤如下:
[0191] (1)、根据被测SoPC芯片包含的功能模块和测试规范,编写SoPC芯片的测试程序, 包括处理器程序和FPGA配置程序,并将两者融合;
[0192] (2)、根据测试规范,编写PC机上运行的自动化测试程序,由其控制测试流程、汇 总测试结果、记录测试信息;
[0193] (3)、打开芯片测试插座,加载被测试芯片并夹紧;实现芯片与测试系统的连接;
[0194] (4)、运行PC机上的自动化测试软件,并给自动化测试硬件平台上电;
[0195] (5)、下载SoPC芯片使用的测试程序,然后运行;
[0196] (6)、打开PC机的通信端口,并记录测试人员、测试记录保存路径、文件名等信息;
[0197] (7)、PC机通过通信电缆读取被测SoPC芯片的识别ID号,并在测试记录文件中记 录该ID号;
[0198] (8)、触发测试程序,开始对被测芯片的各项功能进行测试,其中包括:① UARTl测 试;②UART2测试;③UART3测试;④UART4测试;⑤第一个I2C写操作测试、读操作测试, 第二个I 2C写操作测试、读操作测试;⑥不可屏蔽中断低电平触发、高电平触发、上升沿触 发、下降沿触发测试、4个外部中断低电平触发、高电平触发、上升沿触发、下降沿触发测试; ⑦10个定时器的内部时钟模式测试、外部时钟模式测试、外部实启模式测试;;⑧12个计 数器测试;⑨1553B总线BC模式测试、RT模式测试;⑩4路模拟开关和ADC转换测试;? GPIO输入输出模式测试;?FPGA配置模式测试;?SRAM测试;?SDRAM测试;?Flash 读写操作测试、扇区擦除测试、整片擦除测试;
[0199] (9)、PC机通过通信电缆接收测试结果,单片测试结束;
[0200] (10)、在单片测试结束后,切断自动化测试硬件平台电源;
[0201] (11)、打开芯片测试插座,取出被测试芯片;同时将测试过程和步骤(9)得到的测 试结果记录在测试文件中。
[0202] 本实施例通过自动化硬件测试平台、测试程序和自动化测试软件之间的有机配 合,顺利完成一款包括SPARC V8内核处理器、IMB SRAM、8MB FLASH,16MB SDRAM和30万门 FPGA实现的SoPC芯片的功能性测试自动化实现。模块化设计解决了测试系统的维护困难 的问题,利用FPGA可重用的优势,精简了自动化硬件测试平台电路设计,降低测试成本,解 决了测试系统重构复杂的问题;芯片测试的整个过程完全自动化,将测试过程从原来的15 分钟缩短到3分钟,同时自动输出测试报告和结果统计,大大提高了设计生产率,降低了操 作复杂度。真正实现了一种自动化、高效、操作简单、可重用的功能性测试。
[0203] 以上所述,仅为本发明最佳的【具体实施方式】,但本发明的保护范围并不局限于此, 任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。
[0204] 本发明说明书中未作详细描述的内容属于本领域专业技术人员公知技术。
【权利要求】
1. 一种基于SoPC芯片的功能自动化测试系统,其特征在于:包括测试控制模块、通信 模块、串行通信接口测试模块、I2C测试模块、中断处理测试模块、定时器测试模块、计数器 测试模块、总线测试模块、模拟开关/ADC测试模块和GPI0测试模块,其中: 测试控制模块:发送测试命令、计数命令到通信模块,并接收通信模块发送的测试结 果; 通信模块:接收测试控制模块发送的测试命令或计数命令,并将所述测试命令发送到 被测芯片CPU,接收被测芯片的CPU输出的测试结果;将所述计数命令发送到计数器测试模 块; 串行通信接口测试模块:包括N个串口测试电路,分别与被测芯片的N个异步串行通信 接口连接,接收所述通信接口发送的测试数据,并将所述测试数据接收转发回被测芯片的 异步串行通信接口;其中,N为正整数; I2C测试模块:包括2个I2C测试电路,分别与被测芯片的2个I2C连接,接收并保存被 测芯片I2C发送的测试数据; 中断处理测试模块:接收被测芯片CPU发送的GPI0波形,并将所述GPI0波形发送到所 述CPU的中断逻辑电路; 定时器测试模块:包括指示电路,所述指示电路由被测芯片定时器发送的测试波形进 行驱动并亮灯显示; 计数器测试模块:接收通信模块发送的计数命令,产生计数信号,并将所述计数信号发 送到被测芯片计数器部件; 总线测试模块:接收被测芯片1553B总线模块输出的测试信号,对所述测试信号进行 电平转换、信号隔离、信号耦合后输出到外部1553B标准设备;接收所述外部1553B标准设 备转发的返向测试信号,对所述返向测试信号进行信号耦合、信号隔离和电平转换处理后 输出到被测芯片1553B总线模块; 模拟开关/ADC测试模块:为被测芯片的模拟开关的L个端口配置L个不同的模拟电压 值;其中,L为正整数; GPI0测试模块:在被测芯片GPI0前向通道测试过程中,接收被测芯片CPU的GPI0发 送的前向测试信号,发送所述前向测试信号到被测芯片FPGA的GPI0 ;在被测芯片GPI0返 向通道测试过程中,接收被测芯片FPGA的GPI0发送的返向测试数据,并转发所述返向测试 数据到被测芯片CPU的GPI0端口。
2. 根据权利要求1所述的一种基于SoPC芯片的功能自动化测试系统,其特征在于:还 包括FPGA配置模块、时钟复位模块和电源模块,其中: FPGA配置电路模块:对被测芯片的FPGA进行文件更新配置; 时钟复位模块:为被测芯片CPU提供时钟和复位信号; 电源模块:对串口通信接口测试模块、I2C测试模块、中断处理测试模块、定时器测试 模块、计数器测试模块、总线测试模块、模拟开关/ADC测试模块、GPI0测试模块、FPGA配置 模块、通信模块和时钟复位模块进行供电。
3. -种基于SoPC芯片的功能自动化测试方法,其特征在于:所述测试方法在一种自动 化测试系统中实现,其中,所述自动化测试系统包括测试控制模块、通信模块、串行通信接 口测试模块、I2C测试模块、中断处理测试模块、定时器测试模块、计数器测试模块、总线测 试模块、模拟开关/ADC测试模块和GPIO测试模块,所述测试方法的包括以下步骤: 首先,按照设定的测试内容和测试顺序,由测试控制模块发送测试命令,依次开启串行 通信接口测试、I2C测试、中断处理测试、定时器测试、计数器测试、1553B总线测试、模拟开 关/ADC测试、GPI0测试;并在各项测试结束后,由被测芯片CPU将测试结果发送到通信模 块,所述通信模块再将所述测试结果发送到测试控制模块进行汇总,完成被测芯片的功能 测试。
4. 根据权利要求3所述的一种基于SoPC芯片的功能自动化测试方法,其特征在于:被 测芯片的串行通信接口测试包括以下步骤: (la) 、测试控制模块通过通信模块发送串行通信接口测试命令到被测芯片CPU,所述被 测芯片CPU通过N个异步串行通信接口分别发送测试数据到通信接口测试模块中的N个串 口测试电路中; (lb) 、所述串口测试电路将接收到的测试数据转发回被测芯片的异步串行通信接口; (lc) 、被测芯片将所述异步串行通信接口接收到的数据与步骤(la)中的发送数据进 行比较,得到测试结果,其中: 如果所述接收数据与发送数据相同,则判断被测芯片CPU的异步串行通信接口工作正 常;如果所述接收数据与发送数据不相同,则判断被测芯片CPU的异步串行通信接口工作 异常; (ld) 、被测芯片CPU将步骤(lc)得到的测试结果发送到通信模块; (le) 、通信模块发送测试结果到测试控制模块。
5. 根据权利要求3所述的一种基于SoPC芯片的功能自动化测试方法,其特征在于:被 测芯片的I2C测试包括以下步骤: (2a)、测试控制模块通过通信模块发送I2C测试命令到被测芯片CPU,被测芯片的I2C 发送测试数据到的I2C测试电路模块中的I2C测试电路中; (2b)、所述的I2C测试电路接收并保存步骤(2a)中的测试数据; (2c)、被测芯片的I2C读取I2C测试电路中保存的测试数据,并与步骤(2a)中的发送数 据进行比较,得到测试结果,其中: 如果所述读取数据与发送数据相同,则判断被测芯片I2C工作正常;如果所述读取数据 与发送数据不同,则判断被测芯片I2C工作异常; (2d)、被测芯片CPU将步骤(2c)得到的测试结果发送到通信模块; (2e)、通信模块发送测试结果到测试控制模块。
6. 根据权利要求3所述的一种基于SoPC芯片的功能自动化测试方法,其特征在于:被 测芯片中断处理测试包括以下步骤: (3a)、测试控制模块通过通信模块发送中断处理测试命令到被测芯片CPU ; (3b)、被测芯片CPU设定所述CPU中断逻辑电路的中断模式,并产生与所述中断模式相 对应的GPI0波形; (3c)、被测芯片CPU发送所述GPI0波形到中断处理测试模块; (3d)、中断处理测试模块将步骤(3c)接收到的GPI0波形发送到被测芯片CPU的中断 逻辑电路; (3e)、被测芯片CPU根据所述中断逻辑电路的触发结果,得到被测芯片中断处理测试 结果,其中: 如果所述中断逻辑电路根据接收到的GPIO波形触发中断,则判断被测芯片的中断处 理工作正常;如果所述中断逻辑电路在接收到的GPIO波形后没有触发中断,则判断被测芯 片的中断处理工作异常; (3f)、被测芯片CPU将步骤(3d)得到的测试结果发送到通信模块; (3g)、通信模块发送测试结果到测试控制模块。
7. 根据权利要求3所述的一种基于SoPC芯片的功能自动化测试方法,其特征在于:被 测芯片的定时器测试的具体实现过程如下: (4a)、测试控制模块通过通信模块发送定时器测试命令到被测芯片CPU ; (4b)、被测芯片CPU根据所述测试命令,设定被测芯片定时器的工作模式和定时时间, 并将所述定时时间分为M个时间片,其中,在每个所述时间片的结束时刻,由所述CPU的中 断逻辑电路产生中断信号,并由所述CPU进行计数;其中,M为设定的正整数; (4c)、被测芯片的CPU在所述定时时间的结束时刻停止计数,并且被测芯片的定时器 输出测试波形到定时器测试电路模块;定时器测试电路模块在接收到所述测试波形后,驱 动所述t旲块中的指不电路,表明定时器工作完成; (4d)、CPU将步骤(4b)中得到的计数结果与设定的M值进行比较,得到测试结果,其 中: 如果所述计数结果与M值相同,则判断被测芯片的定时器部件工作正常;如果所述计 数结果与M值不同,则判断被测芯片的定时器部件工作异常; (4e)、被测芯片CPU将步骤(4d)得到的测试结果发送到通信模块; (4f)、通信模块发送所述测试结果到测试控制模块。
8. 根据权利要求3所述的一种基于SoPC芯片的功能自动化测试方法,其特征在于:被 测芯片的计数器测试包括以下步骤: (5a)、测试控制模块通过通信模块发送计数命令到计数器测试模块; (5b)、计数器测试模块在接收到所述计数命令后,产生计数信号; (5c)、发送步骤(5b)产生的计数信号到被测芯片的计数器部件; (5d)、被测芯片的计数器部件按照计数信号进行计数操作,得到计数结果,其中: 如果所述计数结果与计数信号对应的计数结果相同,则判断被测芯片的计数器部件工 作正常;如果所述计数结果与计数信号对应的计数结果不同,则判断被测芯片的计数器部 件工作异常; (5e)、被测芯片CPU将步骤(5d)得到的测试结果发送到通信模块; (5f)、通信模块发送所述测试结果到测试控制模块。
9. 根据权利要求3所述的一种基于SoPC芯片的功能自动化测试方法,其特征在于:被 测芯片的总线测试包括以下步骤: (6a)、测试控制模块通过通信模块发送总线测试命令到被测芯片CPU ;被测芯片CPU通 过被测芯片的1553B总线输出前向测试信号到总线测试电路模块; (6b)、总线测试电路模块对所述前向测试信号进行电平转换、信号隔离和信号耦合处 理后,输出处理后的前向测试信号到外部1553B标准设备; (6c)、所述外部1553B标准设备将接收到的前向测试信号转发回总线测试模块; (6d)、总线测试模块对步骤(6c)接收到的测试信号进行信号耦合、信号隔离和电平转 换后,得到返向测试信号; (6e)、总线测试模块发送所述返向测试信号到被测芯片1553B总线模块; (6f)、被测芯片CPU将所述返向测试信号与步骤^a)中所述CPU发送的前向测试信号 进行比较,得到测试结果,其中: 如果所述前向测试信号与所述返向测试信号相同,则判断被测芯片的总线工作正常; 如果所述前向测试信号与所述返向测试信号不同,则判断被测芯片的总线工作异常; (6g)、被测芯片CPU发送步骤(6f)得到的测试结果到通信模块; (6h)、通信模块转发所述测试结果到测试控制模块。
10. 根据权利要求3所述的一种基于SoPC芯片的功能自动化测试方法,其特征在于: 被测芯片模拟开关/ADC测试包括如下步骤: (7a)、测试控制模块通过通信模块发送模拟开关/ADC测试命令到被测芯片CPU ;模拟 开关/ADC测试模块为被测芯片的模拟开关的L个输入端口配置L个不同的模拟电压值,其 中,所述模拟开关的输出端口与被测芯片的ADC连接; (7b)、被测芯片ADC接收模拟开关传送的模拟电压值,并进行模数转换,输出电压数字 值; (7c)、被测芯片CPU根据所述ADC输出的电压数字值,推算出模拟电压值; (7d)、被测芯片CPU将步骤(7c)中推算出的模拟电压值与步骤(7a)中配置的模拟电 压值进行比较,得到测试结果,其中: 如果所述两种模拟电压值相同,则判断被测芯片的模拟开关和ADC工作正常;如果所 述两种模拟电压值不同,则判断被测芯片的模拟开关和ADC工作异常正常; (7e)、被测芯片CPU将步骤(7d)得到的测试结果发送到通信模块; (7f)、通信模块发送测试结果到测试控制模块。
11. 根据权利要求3所述的一种基于SoPC芯片的功能自动化测试方法,其特征在于: 被测芯片的GPI0测试通过被测芯片CPU的GPI0与被测芯片FPGA的互相测试完成,具体实 现步骤包括: (8a)、测试控制模块通过通信模块发送模拟开关/ADC测试命令到被测芯片CPU ;被测 芯片CPU的GPI0输出前向测试数据到被测芯片的FPGA的GPI0 ; (8b)、被测芯片CPU通过总线读取所述FPGA中的前向测试数据,并与步骤(8a)中输出 的前向测试数据进行比较,得到前向通道的测试结果,其中: 如果进过比较得到所述两组数据相同,则判断被测芯片CPU的GPI0中的输出模式工作 正常,且被测芯片FPGA的GPI0中的接收模式工作正常;如果进过比较得到所述两组数据不 同,则判断被测芯片CPU的GPI0中的输出模或被测芯片FPGA的GPI0中的接收模式工作异 常; (8c)、被测芯片CPU通过总线发送返向测试数据到被测芯片的FPGA ; (8d)、被测芯片FPGA通过GPI0发送所述返向测试数据到GPI0测试电路模块; (8e)、GPI0测试电路模块将所述返向测试数据发送到被测芯片CPU的GPI0端口; (8f)、被测芯片CPU将步骤(8e)中接收的返向测试数据与步骤(8c)中发送的返向测 试数据进行比较,得到测试结果,其中: 如果进过比较得到所述两组数据相同,则判断被测芯片CPU的GPIO中的接收模式工作 正常,且被测芯片FPGA的GPI0中的输出模式工作正常;如果进过比较得到所述两组数据不 同,则判断被测芯片CPU的GPI0中的接收模或被测芯片FPGA的GPI0中的输出模式工作异 常; (8g)、发送步骤(8b)和(8f)得到的测试结果到通信模块; (8h)、通信模块发送所述测试结果到测试控制模块。
【文档编号】G01R31/28GK104459518SQ201410706874
【公开日】2015年3月25日 申请日期:2014年11月27日 优先权日:2014年11月27日
【发明者】王蕊, 兰利东, 赵元富, 周华章, 陆振林, 舒磊, 刘薇, 李璟, 李楠 申请人:北京时代民芯科技有限公司, 北京微电子技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1