一种基于FPGA的新型元器件自动验证方法*
2015-09-21梁炳春孙韶媛李春阳赵海涛
梁炳春 ,孙韶媛 ,李春阳 ,赵海涛
(1.东华大学 信息科学与技术学院,上海 201620;2.华东理工大学 信息科学与工程学院,上海 200237)
0 引言
目前,我国宇航事业进入快速发展阶段,新型航天器和新一代运载火箭对配套元器件的性能、功能、可靠性和适应性提出了更高的要求,因此新型元器件性能的验证工作对确保航天事业顺利快速发展起着至关重要的作用。目前,对宇航元器件的应用验证的研究大多是基于系统工程方法上的理论研究,主要是对新型元器件验证的工程路线、技术体系、方法工具等提出了理论上的框架,并且大多数的实施方案是面向特定的被测元器件设计出一套专用的验证设备,这样就造成了验证工作成本高、周期长、可移植性差[1]的问题。针对这些不足,基于国内外对宇航元器件应用验证的研究及工程实践,本文设计出一种通用性强、应用范围广、自动化程度高、功能齐全的元器件应用验证平台和方法,使宇航元器件的验证工作变得极为智能、便捷、高效、准确,为我国航天工程的快速发展提供了先进的技术方法。
1 通用应用验证平台分析
为了实现对不同元器件的性能功能的验证,设计出如图1所示的自动验证系统,验证系统由通用验证平台、功能应用平台和配套的测试向量等组成,控制母板的核心是一块 Xilinx的V5FX100T FPGA芯片[2],控制着验证平台中的各项功能模块,并负责验证装置与通信终端的显示链接[3]。验证子板为各类待验证器件及外围电路,只需设计待验证芯片的外围应用电路即可搭载在该平台上进行验证工作。
图1 通用验证平台原理框图
控制母板是整个验证平台中的核心模块,负责数据传输、A/D采集、对元器件的指令操作、指令采集译码和测试环境的控制等重要功能[4]。母板通过RS485总线与监控计算机连接,监控计算机通过RS485发送指令,控制母板通过通信接口发送检测的数据。OC指令发送用于控制验证子板的被验证元器件和外围电路器件。D/A输出用于对某些特定要求的电压源输入的精确控制。A/D采集被验证元器件的电压值、温度量和电流检测电阻的电压值。通过FPGA对采集到的信息数据进行缓存和封装,对接收到的指令进行译码,发送控制信号和地址数据[5]。
2 基于通用验证平台的JSR71238芯片应用验证
2.1 验证目标
JSR71238为16路RS422收发器芯片,包括16位驱动器和16位接收器。驱动器接收CMOS数字信号,转换成RS422电平信号输出。接收器接收RS422兼容的差分输入信号,转化成CMOS输出信号。其功能性能验证主要从驱动功能验证、自闭环验证、接收功能验证及器件功耗验证四个方面展开。
2.2 验证过程分析
依据通用验证平台提供的接口定义,在功能子板上构建所需要的应用电路,对测试向量进行修改达到验证不同元器件的目的。验证过程框图如图2所示[6]。
通用验证平台上FPGA包括通信模块、指令解析模块、命令执行模块、数据采集模块和数据处理模块,主要功能是接收来自终端PC设备的指令并发送指令控制子板,采集由子板反馈回来的数据进行处理后发送给终端PC设备;终端PC设备通过上位机软件向FPGA发送控制指令和数据,监控FPGA的状态,接收来自FPGA的数据,并对数据进行分析、诊断,图形化显示出测试的结果。子板通过软排线与通用验证平台相连。
图2 验证过程分析框图
通信模块用于上位机和FPGA的通信,是信号传输的唯一通道。在FPGA中实现UART的功能很方便、灵活,因此采用UART来完成数据的传输[7]。在数据接收时,接收模块将输入的串行数据转换为并行数据,将接收到的数据暂时存储到接收FIFO中,由数据处理操作读取数据进行处理,执行后再写入到发送FIFO中,发送模块再把数据发送到上位机软件。可传送数据位、数据帧和数据包等格式。通信模块总体框图如图3所示[8]。
图3 通信模块框图
指令解析模块主要负责指令的译码操作,对来自上位机的指令按照规定好的协议进行翻译,译为子板可以执行的指令[9]。指令译码表如表1所示。
表1 指令解析表
命令执行模块把解析出的数据传送给子板的接收器接口,同时把由上位机设定的原始数据发送给数据逻辑判断模块,作为参考数据,对子板上的元器件对应功能进行判定。数据采集模块以一定的频率采集由子板上的元器件发送出的数据,送给数据逻辑判断模块来进行分析、比较。
数据的逻辑判断模块按照一定的算法对采集回来的数据与原始数据进行比较,根据比较的结果分析出待验证芯片的功能性能[10],运算的状态机如图4所示。
图4 数据逻辑判断状态机
3 实验结果
测试JSR71238在不同的波特率下的通信性能,在1 min的时间内连续发送数据,观察并分析数据的错误率和消耗的功率,具体数据如表2所示。
表2 测试数据表
通过对JSR71238芯片自闭环验证,其驱动功能和接收功能均达到技术指标,其功耗也在元器件允许范围内,在自动验证平台上完成了新型元器件的验证工作。
4 结论
该验证方法具有通用性和智能性,可以对不同的验证目标提供不同类型的信号接口,可以对数据进行自动比对、诊断和修正,分析结果以图形化的界面显示出来,更直观清晰,可以搭载不同的验证元器件子板,具有通用性。以上都是在不改变验证平台硬件条件的情况下实现的,若要验证不同的元器件只需要设计对应的子板外围电路和配套的测试向量,即可完成元器件验证工作。验证不同的元器件,以上的平台可重复利用,依靠上位机的测试软件设置即可完成测试,无需再花费时间和成本设计出新的验证板,极大地提高了验证效率,节约了验证成本,加速了项目的研制过程。
[1]黄丽.百万门级专用集成电路的 FPGA验证[D].西安:西安电子科技大学,2007.
[2]Xilinx.Virtex-5 FPGA User Guide[R].2009.
[3]何宾.Xilinx FPGA设计权威指南[M].北京:清华大学出版社,2012.
[4]张凯虹.一种FPGA验证与测试的方法介绍[J].计算机与数学工程,2010(9):70-72.
[5]李洪涛,朱晓华,顾陈.Verilog HDL与FPGA开发设计及应用[M].北京:国防工业出版社,2013.
[6]COFER R C,BENJAMIN B,HARDING F.FPGA快速系统原型设计权威指南[M].吴厚航,姚琪,杨碧波,译.北京:机械工业出版社,2014.
[7]孙航.Xilinx可编程逻辑器件的高级应用与设计技巧[M].北京:电子工业出版社,2004.
[8]冯子陵,俞建新.RS485总线通信协议的设计与实现[J].计算机工程,2012(20):215-218.
[9]廉玉平,韩燕.大规模数字集成电路中的验证技术及其应用[D].杭州:浙江大学,2010.
[10]梁骏.芯片设计的验证技术和验证流程研究[D].杭州:浙江大学,2004.