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和多核处理器结合起来的话,不仅可以增加测试的吞吐量,而且还可以将虚拟仪器的应用扩展到新的应用领域中。比如,高速数字测试,中频数据流,多通道数据采集,以及全速图像采集等。利用这些现成的计
- 基于LabVIEW RT的自定义流程测控系统(10-30)
- 基于LabVIEW的语音分析平台的实现(10-30)
- 基于示波器卡和LabVIEW的马达编码器测试系统(11-06)
- 基于虚拟仪器的网络虚拟实验室构建(11-06)
- 运用LabView控制DS3900串口通信模块(02-02)
- 采用模块化仪器,对新兴音频和视频应用进行测试(02-19)