- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
LabVIEW、多核技术及FPGA技术如何改变自动测试
关键字:LabVIEW、多核技术 FPGA技术
编辑笔记:Eric Starkloff,美国国家仪器的模块化仪器和仪器控制产品营销总监。他将和我们一起讨论影响仪器技术和自动测试的一些变化,以及NI的LabVIEW,多核处理器技术和现场可编程逻辑门阵列(FPGA)技术如何推动下一代测试技术的产生。
问题:在最近这几年里,仪器技术和自动化测试领域发生了什么样的变化?
Starkloff回答:我们现在正将处于软件定义的世界里。我们每天使用的设备如智能手机,机顶盒,甚至汽车,这些都是建立在嵌入式软件系统发展的基础之上。对于测试工程师们来说,在开发时间和预算减少的情况下对这些复杂的设备进行测试给他们带来了挑战。现在,测试管理人员和工程师们利用模块化仪器,软件定义体系来应对这些挑战和趋势。
用户定义仪器或测试系统的概念已经不新了。实际上,用户定义仪器已经以虚拟仪器的形式存在了20多年的时间。推动这些趋势进一步发展的技术,已经发展成熟。正是这些技术可以将这种新式的软件定义的模式推向顶峰。参考Web2.0,软件定义的仪器技术和之前仪器技术的差异可以称之为仪器技术2.0了。推动这样的变化的关键技术包括高速PCI总线,多核处理器技术和FPGA技术。
问题:多核处理能够为工程师创建测试系统提供什么样的好处呢?
Starkloff回答:处理器的制造商已经提出了将多个CPU集成到一个芯片上的多核处理器,这种多核处理器技术如今已经成基于PC机的应用程序提高执行性能的关键技术。超线程作为改善多线程代码的支持之一也被提出了,超线程也为更高效的利用CPU资源提供了可能。上述这两种技术的结合就会使工程师们开发高密度的处理和高吞吐量的应用程序称为可能,而这两种应用程序在并行的方式下执行时性能会得到提升。
由于多核处理能的执行性能直接取决于一个应用程序的源代码按照什么样的并行方式进行书写,所以,对于希望利用多核处理器进行开发的工程师们来说,软件开发就是他们所面临的一项挑战。双核和多核处理器为软件开发世界带来了很大的冲击,而这种冲击自十多年前面向对象的编程方式产生时就已经开始了。对于软件开发者们来说,这种冲击就像Herb Sutter(一名很有名的C++专家)写到的“免费的午餐时代已经结束!”。传统的顺序编程方法已经不再适用了,所以,软件开发者们需要新的编程模式,比如LabVIEW的图形化并行编程,来充分发挥并行硬件体系的潜在的性能。
问题:是什么使LabVIEW处于multicore-ready软件层的上层
Starkloff回答:工程师如果要在控制应用程序中寻找更快的测试方法或更好的循环频率,那么他们就需要考虑他们要如何执行并行应用程序以及如何利用多核处理器所带来的性能的提高。采用LabVIEW,工程师们就会有一个理想的软件环境来进行并行程序的编写,这都是因为LabVIEW是以数据流为基础的编程语言,以及由LabVIEW实时标准模块和向下渗透的多核支持的软件堆。LabVIEW8.5在1998年推出的LabVIEW5.0的基础上又增加了许多增强多线程性能的功能。
利用LabVIEW进行应用程序开发的时候,最大的优点就是LabVIEW是一种直观的,图形化的编程语言。LabVIEW的数据流的本质就意味着任何时候在框图上都会存在一个分支或者是并行顺序,潜在的LabVIEW的编译器试图创建一个用于并行执行代码的线程。LabVIEW的这种图形化的语言本身就考虑着某种并行化的程度。LabVIEW8.5扩展了能够在桌面系统中应用的自动多线程功能,这样就可以在SMP的支持下在多核实时硬件上开发实时系统。
问题:如果将多核并行处理和像PCI Express这样的总线结合起来的话,将会对测试系统产生怎样的影响呢?
Starkloff回答:工程师经常会有一些特殊的测试需求,如执行高性能测量任务、信号处理和定制的信号分析。PCI Express使其成为可能。这种建立在PCI Express总线技术上的解决方案代替固定的,由卖方定义的解决方案。PC总线的带宽和潜在的规范自15年前开始,快速发展至今。从ISA到PCI再到现在的PCI Express,在使用仪器和处理器之间建立了一条快速的、专门的通道。这就使工程师们能够将他们的原始的测试数据重新装载到主PC处理器里进行实时处理和测试分析了。结合并行编程和多核处理器,工程师们还可以在他们的测试系统中增强系统性能和数据处理通道的数量。如果将PCI Express、LabVIEW8.5和多核处理器结合起来的话,不仅可以增加测试的吞吐量,而且还可以将虚拟仪器的应用扩展到新的应用领域中。比如,高速数字测试,中频数据流,多通道数据采集,以及全速图像采集等。利用这些现成的计算机技术,工程师们可以对包括大且贵的卖方定义和其他解决方案进行选择。比如,Eaton公司,这样一个工业产品生产商,通过将基于LabVIEW的系统移植到一个四核心的系统后,成功地使他们的测试系统的运行通道数量增加了4倍。
问题:仪器控制总线,比如GPIB,以太网和USB的发展前景如何?
Starkloff回答:GPIB,以太网和USB都是基于计算机的仪器控制的可选方法。GPIB在一起控制中仍然是最常用到的总线,这主要是因为它已经被世人所证明的性能,良好的连通性以及大量的仪器和控制器的配置基础。USB越来越被那些便携式的,快速建立的台式应用所青睐,而以太网则被那些不要求准确的系统时间和同步的高分布式的仪器系统所青睐。
每种仪器控制总线都会依据你的应用类型以及你的仪器上可利用的功能来发挥它们各自的优势。在决定一个应用中要采用哪种总线比较理想之前,充分了解每种总线的相关技术,易用性和交易等是至关重要的。美国国家仪器在它的网站ni.com上,提供了能够帮助培养工程师们了解这些交易的详细信息。工程师们同样需要考虑到一种混合式的总线方式,这种总线方式包括了大量的仪器控制总线的选项,从而工程师们可以就可以最大限度发挥系统的执行性能和灵活性,并且对系统进行在利用。一个基于计算机的仪器平台,比如,PXI,被推荐运用到一个混合式测试的系统中来。通过抑制可能发生的低带宽,高潜在的总线比如以太网的总线瓶颈问题,可以全面的最大化系统的执行性能。
问题:您认为在未来的几年里,使用仪器和自动测试会有怎样的变化呢?
Starkloff回答:在这个领域中,一个最被看好的技术就是FPGA。使用FPGA,工程师们可以在设备上定义硬件系统的行为,进行在线处理或分散处理。FPGA由于它内在的并行可靠地执行,同样可以使FPGA有了更快的执行速度。LabVIEW的图形数据流的并行的本质,非常适用于多核应用,这种本质同样对于FPGA技术的优势发挥也很理想。
当FPGA应用到独立的仪器中时,工程师们就不能对这些仪器进行在编程,这对自动测试来说是很关键的一个要求。当然,在一个主双核的处理器上进行不同的处理有很多好处。比如,FPGA非常适用于在点对点的I/O上进行像简单的采样这样的在线分析。但是,在一个主处理器上进行复杂的调制就会得到更好的结果。这是因为复杂的调制过程需要大量的浮点运算。另外,尽管FPGA在进行自动测试的时候具有编译功能和灵活性,但是,这些功能都是需要通过采用硬件描述语言,如Verilog或VHDL等来进行描述,这些语言都是用低级的语法来描述硬件行为的。而大部分测试工程师都不是很精通这些工具。
将FPGA的编程细节用系统水平的工具来抽象就会跨过这个不足。比如,LabVIEW FPGA,可以直接利用一个LabVIEW程序来实现便携式的FPGA以及综合必要的硬件。开发一个分散型的处理系统最理想的方法就是专门的开发环境,比如LabVIEW这种环境可以在主处理器或FPGA中选择一个较好的执行性能将处理过程进行快速的分割。
问题:图形化系统设计对测试来说意味着什么?
Starkloff回答:这些年来,美国国家仪器一直在传播虚拟仪器,一个可以对工业发展产生革命性意义的概念。工程师们可以利用虚拟仪器创建能够满足特定需求的用户自定义的系统。图形化系统设计推动虚拟仪器向着更远的方向发展,它也为工程师们带来了利用LabVIEW图形化开发环境和标准FPGA硬件在单独的一个平台上开发他们常用的I/O,信号处理和分析算法的机会。这种方法可以帮助工程师在他们的系统中快速开发常用的测量功能,并且是他们能够尽快的成为仪器设计师。