FPGA在自定义测试中的四种应用
扫描二维码
随时随地手机看文章
电子产品不断提高的复杂性无疑为测试工程师带来巨大的挑战。许多被测设备(DUT)需要更加复杂的测试方法,而传统测试仪器往往无法满足这些复杂的测试需求。在这种情况下,可以基于模块化仪器架构,通过软件自定义的方式开发满足复杂功能需求的测试系统;模块化仪器平台PXI的快速发展就体现了这种需求。然而对于某些特殊应用,基于软件自定义的仪器有时也无法解决所有挑战,因而需要将自定义的范围从软件进一步扩展到模块化硬件以满足高吞吐量、高确定性或更多的自定义需求。 而对于绝大多数测试与验证工程师来说,硬件自定义并非易事。幸运的是,测试工程师也可以从摩尔定律中获益。摩尔定律使CPU频率得到不断提高,从而使自定义测试系统的计算吞吐量也可不断提升;另一方面,摩尔定律也正在推动另一种计算器件—现场可编程门阵列(FPGA)的发展。FPGA本质上是一种特殊的数字电路,用户可以通过软件编程的方式重新配置其硬件逻辑。FPGA不仅可以帮助工程师缩短测试时间,而且可以实现一些过去只能通过自定义硬件来实现的测试功能。下文就将介绍FPGA在测试系统中的四种典型应用。
执行实时连续的测量 FPGA可以通过专享的硬件资源进行处理数据,从而实现较高的吞吐率,可以比通过I/O硬件先获取数据再通过软件执行数据处理的速率更快。结合FPGA技术的测试系统,不是按照传统意义上的“采集、数据传输、后处理”模式,而是可以直接在I/O采集之后就直接在FPGA硬件上执行数据处理,这种系统可以连续地测试被测设备,从而缩短测试时间。 通过FPGA上的专用硬件资源可以实现实时测量,如快速傅里叶变换(FFT)等。基于FPGA硬件本身所具有并行执行特性,可以对多个输入通道同时进行测量,或者对单通道同时进行多种计算参数的测量。图1:使用FPGA硬件生成测试向量,并对采集数据进行实时连续分析
自定义触发和采集 使用FPGA可以进行连续的实时信号处理或数据计算,从而可以添加自定义触发和数据记录功能,从而有选择地传递所需的数据。相对于只能执行一组固定操作的传统仪器,带有FPGA仪器的可重置特性可以满足特定的硬件应用需求。 例如,频域触发应用就体现了FPGA可重置特性的优势。有些传统频谱分析仪可以使用频率触发功能,但不能实时进行。另一方面,矢量信号分析仪(VSA)可进行实时功率触发,但不能实时地选择感兴趣的频率信号。通过将FPGA技术添加到矢量信号分析仪中,您可以创建一个实时的、频率相关的触发功能,或者可以根据需要执行其他自定义的触发操作。自定义协议接口
FPGA可以直接在硬件上对数据进行编解码,而无需使用软件将信号信息编码成协议信号(或将协议信号解码成信号信息)。这样就可以帮助简化测试系统软件,因为系统软件只需要处理信号信息,使得协议级通信变得可行。而在过去,在只有预定义测试向量的情况下,是不适合通过软件进行带有协议通讯的测试的(例如,当基于协议数据需要快速决策时)。FPGA对于那些从接收到发送数据间需要快速响应的应用也是有必要的,在这种情形下,测试硬件必须能够快速检测和响应。 因为FPGA是可通过软件进行重配置的硬件资源,因此对于同一硬件,可以通过不同配置支持多种协议,从而促进硬件的重复使用。此外,还可以利用FPGA的硬件级执行性能实现复杂的协议状态机,此外基于FPGA的并行执行特性,可以实现同一协议接口的多个实例,从而进行多个被测设备的并行测试。闭环控制和动态测试 如今有许多被测设备需要与测试环境进行实时的信号交互,在这种情况下,如果测试系统不能对被测设备提供实时反馈信息,就可能无法提供足够的测试覆盖范围。例如,现代通信方案通常包含确认数据包或比特数据。如果测试系统不能准确地解析这些确认数据包或比特,并及时作出响应,那么可能无法正确地测试被测设备。在大多数情况下,只有硬件(FPGA)可以提供这种低延迟响应。 另一个实例是硬件在环(HIL)测试系统。在HIL系统中,待测设备通常是控制器,而测试系统必须模拟被控对象的行为。这样可以提高对控制器进行测试的性能和可靠性;在某些情况下,还可以在被控对象生产出来之前先通过测试系统模拟被控对象,从而对控制器的功能进行验证。FPGA的高性能和低延迟可以基于确定性的闭环循环周期来准确地模拟被控对象的行为。图2:FPGA硬件可以对协议级通信进行编码和解码,从而简化测试系统软件