资源描述
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
开创虚拟仪器技术新纪元
概览
作者: NI中国 资深技术市场工程师 周斌
NI中国 市场部经理 朱君
目录
1. 仪器技术新时代
2. 并行技术的涌现
3. 虚拟仪器技术新纪元
4. 更多相关资源
仪器技术新时代
日新月异的科技发展与日趋激烈的市场竞争给工程师们带来了持续的压力和挑战。
其中一个挑战就是协议的多样化, 比如在通讯行业中, 比起十年前, 当前的通讯协议几乎数不清( 见图1) , 而且没有一个明显的主导协议, 因此最终产品就需要同时实现多个协议。如果按照原来的传统方式, 即一个测试仪器针对一个协议, 那么很难想象会需要多少台独立仪器。
图1 通讯行业并存着多样的协议
产品功能的日趋集成化也是挑战之一, 我们拿新上市的iPhone为例( 见图2) , 它汇聚了多种功能, 不但用来通话, 也能够用作mp3、 PDA、 数字相机等等, 而且为了保持市场的竞争力, 新的功能会被不断地加入。如果要跟上这样的发展来进行产品的功能测试, 显然, 功能固定的传统测试方法已无法满足灵活性的要求; 而且如果产品功能每增加一个就意味着需要增加或替换一台仪器来测试的话, 这是工程师们所无法接受的。
图2 产品功能日趋集成化
随着科技的高速发展, 上述的发展趋势当前已愈加明显, 因此测试仪器也正在经历一个基本原则的变更——从功能固定的分立仪器向着灵活的基于软件的模块化仪器架构转变, 而这也就是NI在20多年前提出的 ”虚拟仪器技术”的概念。利用虚拟仪器技术的特性, 我们能够有效地解决上述的挑战: 基于软件的自定义功能使得工程师们能够针对不同的协议开发对应的测试程序; 而模块化的仪器架构则能够根据不同的功能测试选用不同的模块硬件, 在同一个测试平台上灵活地实现测试系统的集成。
当前, 虚拟仪器技术已经被应用在测试测量和自动化的各大领域, 协助越来越多的工程师们来创立高性能、 高扩展性的测试系统, 能够说, 一个仪器技术的新时代已经来临。
而与此同时, 虚拟仪器技术本身也在不断发展和创新, 纵观其20多年来的发展历程, 我们能够看到, 由于虚拟仪器技术是建立在商业可用技术的基础之上, 因此它能够将新兴发展的科学技术都融合进来, 使工程师能以最迅速和便捷的方式来享用, 从而创立更高性能的测试系统。PC处理器技术的发展就是一个很好的例子: 在1990年, 用当时的PC(Intel 386/16)处理65000个点的FFT( 快速傅立叶变换, 用于频谱分析的基本方法) 需要1100秒时间, 而现在使用3.4GHz的P4计算机实现相同的FFT只需要约0.8秒, 能够想见, 这一技术上的飞跃对工程师们意味着多少曾经的设想将成为可能。
以此类推, 当前正在蓬勃发展着的新兴技术也注定将成为推动虚拟仪器技术发展的新动力, 例如PCI Express总线技术能够让更多的原始数据以更高的速度传送给PC; 而多核技术则能够实现真正的并行运算, 从而直线提升系统的数据处理性能; 可编程逻辑门阵列( FPGA) 技术则允许工程师根据不同的测试要求经过软件重新定制硬件的功能。因此, 能够预见的是, 这些主流的商业可用技术将让虚拟仪器技术向许多之前只能用昂贵的专用设备的应用领域敞开了大门, 从而开启一个虚拟仪器技术的新纪元!
并行技术的涌现
纵观当前主流的商业可用技术, 我们能够很明显地看到, 其发展的趋势是经过并行拓扑结构来实现更高的性能, 下面将针对它们进行更深入的探讨。
( 1) PCI Express 总线技术
传统仪器由于将数据处理和分析的过程放在了仪器硬件内部, 因此它只能返回一个结果值, 这种方式虽然方便, 可是却无法满足之前已经叙述过的灵活性的要求。因此, 一个更好的测试方式就是直接得到原始数据, 再使用专业的分析工具来分析数据, 这种方式能够允许工程师们对原始数据进行多次的分析, 从而不再需要做多次测试来获得不同的分析结果, 节省了时间和成本。
然而, 随着采样率的不断提高和通道数的增多, 现有的总线带宽能否进行原始数据的实时读取, 这是实现很多新兴测试应用之前就需要解决的问题。
回顾现有的总线技术, 能够看到PCI总线的数据传达吞吐率能够高达132兆/秒, 这个相比其它总线已经属于相当高了, 而且还具有最低的延时( 图3) 。然而它是一个共享资源的总线, 也就是说, 当多个设备同时在总线上传输数据时, 每个设备可享受的带宽会相比例地降低。随着I/O速度和应用要求的提高, 这样的架构成为了瓶颈。而新一代的PCI Express技术, 它运用了点对点总线的拓扑架构, 使每个仪器能够经过独立的通道向处理器传输数据, 明显地改进了传输数据的带宽, 极小化了对内存的需求, 并加快了数据流的传输( 图4) 。
众所周知, 在通信背板上添加的PCI总线是推动PXI得到快速应用的一个关键因素。现在, 随着商用的PC技术从PCI总线发展到PCI Express, PXI也已经将PCI Express结合到PXI标准中, 即PXI Express( 图5) 。PXI Express不但保留了PXI的定时和同步等特性, 还加入了很多新的同步特性, 甚至还提供了微分系统时钟, 微分信号以及微分星触发等。
图3 总线带宽与延时比较
图4 PCI与PCI Express总线对比
图5 PXI Express机箱
值得一提的是, PXI Express标准还提供了向后的软件兼容性, 这样工程师们就能够充分利用她们在已有软件系统中所开发的成果。另外, NI提供的PXI Express混合插槽能够同时支持PXI和PXI Express两种总线形式的模块, 从而更好地保留了过去的投资。
总言之, PCI Express技术的诞生使得虚拟仪器技术能够实现对于数据吞吐率有高要求的应用, 例如汽车碰撞测试的高速图像采集或高速数字I/O应用等等。
( 2) 多核处理器技术
PCI Express技术提高了总线带宽和数据吞吐率, 使得工程师能够获得原始数据, 并经过专业的分析工具拿到可靠的测试结果。不过近年的数据量快速增长, 导致对这些数据进行处理和分析成为摆在工程师们面前的又一个问题。在过去的很多年来, 我们都能够无需改变任何编程即可经过升级CPU处理器来享受运算性能的提升, 而现在, 这种”免费的午餐”即将结束。
以往计算机处理器都是单纯经过提高主频来提高处理器的运行速度, 正如摩尔定律所陈述的: 每隔24个月, 晶体管的数量将翻番。但当前受制于功率的因素, 单纯提高主频的方法已不再可行( 图6) , 一个新的架构正孕育而生, 那就是多核。
图6 处理器速度的发展趋势
多核处理器技术能够提高传统的测试算法的运行速度, 可是不同于以往的单核, 为了实现性能的提高, 开发人员需要在应用软件里配置线程。从图7中能够看到, 即使是在四核的处理器上, 如果其应用只是单线程的话, 操作系统仍旧会将所有的任务分配到其中的一个核上运行。可见, 为了实现在多核处理器上程序性能的提升, 就必须将你的应用程序分成多个线程, 再由OS协调分配在不同的核上运行, 这样才能最大限度的利用多核处理器并行的优势来提升性能。
然而, 这对于许多习惯于开发单线程应用的开发者来说都是一个极大的挑战。如果工程师使用的是基于文本的编程语言, 如C语言, 那么在进行多线程应用软件的编写时, 需要专门的语义创立和管理线程, 而且在线程安全方式下进行数据的传送。
图7使用多线程编程才能最大限度地利用多核处理器的性能
而NI LabVIEW, 就非常适合于创立并行的多线程应用。首先, 相比文本编程语言的至上而下的顺序结构, LabVIEW本身就是一种并行的编程结构; 其次, 早在LabVIEW 5.0时LabVIEW就已经支持多线程, 在LabVIEW程序编写完毕后, LabVIEW编译器能够自动地识别线程并创立线程到不同的任务和循环上, 再由OS分配到不同的核上运行( 图8) 。而最新的LabVIEW 8.5更针对多核技术进行了全面的支持; 另外, 在实时操作系统中, 用户还能够自己分配特定的线程在特定的核上运行, 如图9所示。
而且, 随着更多的核的到来, LabVIEW 能够自动创立更多的线程来自动提升程序的性能。简单来说, 就是当你把测试系统的控制器升级为更多核的处理器时, 不需要对程序做任何修改, 测试系统就能自动达到更高的处理性能。
图8 使用LabVIEW方便实现多线程编程
图9 LabVIEW 8.5允许用户手动分配线程在指定的核上运行
综上所述, 多核处理器使用了并行拓扑架构来提高处理能力, 而真正的多线程编程语言, 如LabVIEW, 能够帮助我们轻松实现真正的运算性能的提高。
( 3) FPGA技术
虚拟仪器技术最初的一个重要特性就是能够使用软件来定制硬件的功能。随着LabVIEW作为并行化的编程语言的地位逐渐稳固, 它的应用也得到了不断的扩展, 并对强大的并行硬件技术FPGA提供了强有力的支持。
创造于80年代中期的FPGA技术是扎根于简单的可编程逻辑上, 一块FPGA芯片包含了一个可重置的门阵列逻辑电路, 内部电路如何连接是经过软件来实现开发和部署。
一般来说, FPGA的软件开发平台是使用VHDL语言来实现, 可是这种语言需要很长的学习时间, 而且也需要深厚的硬件技术背景, 因此只有少数的一些专业人员掌握。随着可编程硬件的需求日益增长, FPGA已成为一种主流的技术, 这种趋势需要我们能够有方法降低FPGA编程的门槛, 从而将FPGA技术带给更多的工程师。
LabVIEW的并行化的编程方式以及图形化的编程环境能够允许工程师们能以直观的方式来实现FPGA的逻辑功能。例如, 使用LabVIEW, 在FPGA中实现图10所示的逻辑功能就变得相对简单。
当然, 如果要搭建一个完整的测控平台, 我们还需要有很多不同的IO模块来选择。NI提供给工程师们完整的基于FPGA的商业可用型平台以供选择, 让工程师们能够利用这一技术实现更高性能的测试应用。
图10 使用LabVIEW实现FPGA逻辑功能
虚拟仪器技术新纪元
最后, 让我们一起来展望一下未来虚拟仪器技术的蓝图。
PCI Express总线的高带宽将虚拟仪器技术的应用范围扩展到更多新兴的应用, 从而使工程师们能够在享受高通道、 高采样率的好处同时, 又可根据自身需要灵活定制相关功能。
Intel已经许诺了在 会推出80个芯核的CPU, 而NI LabVIEW也已经做好了迎接这一丰盛饕餮的准备, 工程师们能够在不改变程序的同时, 充分提升数据分析和处理的性能。
而利用基于FPGA的平台, 工程师们能够对硬件进行重新配置, 它能够灵活地根据待测单元、 软件或者是测试需求的变化来进行重新配置。
综上所述, 新的技术不断地被吸收和融合, 成为推动虚拟仪器技术飞跃的源动力。这一次, PCI Express、 多核以及FPGA等并行技术将扮演开启虚拟仪器技术新纪元的角色, 从而推动它成功实现这一次的腾跃!
展开阅读全文