虚拟仪器的概念最早是由美国国家仪器公司(Na-tional Instrument)提出来的,经过十几年的发展,目前正沿着总线与驱动程序标准化、硬件、软件模块化、编程平台图像化和硬件模块即插即用方向发展。随着计算机技术和网络技术的飞速发展,虚拟仪器将在数据采集、自动测试和测量仪器领域得到广泛应用,拟仪器技术十分符合国际上流行的“硬件软件化”的发展趋势,尤其是在高校科研和工业生产领域中发展前景非常广阔。
1 虚拟仪器概述
1.1 虚拟仪器简介
虚拟仪器核心技术思想是“软件即是仪器”,在通用的集成硬件平台上,结合高性能的模块化硬件和高效灵活的软件使本来需要硬件实现的技术软件化。一般当标准化硬件平台确定后,通过标准的仪器驱动软件可实现模块化的硬件(如GPIB,VXI,DAQ板等)之间的通信、定时应用等需求;而灵活高效的开发应用软件能创建完全自定义的用户界面和系统,实现传统仪器中由硬件完成的仪器功能。虚拟仪器技术的优势在于仪器性能的改进和功能扩展只需用户选择适合其应用要求的硬件模块以及更新相关软件程序设计,即可重新配置现有系统,增加程序可复用性,大大缩短整个系统开发换代周期,降低成本,方便实现多种功能。
1.2 虚拟仪器构成
虚拟仪器一般由通用仪器硬件平台和应用软件组成,如图1所示。
虚拟仪器硬件平台主要有两部分,分别是用于集成的硬件平台和模块化I/O接口设备。虚拟仪器的软件部分包括应用软件和I/O驱动软件两部分,应用软件包含实现虚拟面板功能的前面板的软件程序和定义测试功能的流程图软件程序,如LabVIEW等;I/O接口仪器驱动程序用来完成特定外部硬件设备的扩展、驱动和通信,可以由虚拟仪器开发环境提供。只有同时拥有高效的软件、模块化I/O硬件和用于集成的软硬件平台这三大组成部分,才能充分发挥虚拟仪器技术性能高、扩展性强、开发时间少以及出色的集成这四大优势。
1.3 图形化编程语言LabVIEW
LabVIEW(Laboratory Virtual Instrument Engi-neetring Workbench)是一种用图标代替文本行创建应用程序的图形化编程语言,采用数据流编程方式,程序框图中节点之间的数据流向决定了程序的执行顺序,用图表表示函数,用连线表示数据流方向。LabVIEW程序称为虚拟仪器(Virtual Instrument,VI)程序。一个最基本的VI由前面板(Panel)、框图程序(Diagram Program)和图标/连接端口(Icon/Terminal)三部分组成。LabVIEW为虚拟仪器设计者提供了一个便捷、轻松的设计环境,不仅能轻松方便地完成与各种软硬件的连接,还提供强大的后续数据处理能力,交互式的测量工具和更高层的系统管理软件工具。LabVIEW能够支持串行接口、GPIB,VXI,PXI等标准总线和多种数据采集板,以驱动不同仪器公司的仪器,用户可以高效、快速地编写出相应的应用程序,自行设计仪器驱动程序,完成诸如数据采集、数据处理、数据显示以及仪器控制和通信等多种功能。在较高性价比的条件下,降低系统开发和维护费用,缩短技术更新周期。
2 系统结构设计
该系统使用NI公司PXI-1042Q机箱和NI PXI-5122高速数字化仪模块组建数据采集硬件平台。PXI(PCI Extensions for Instrumentation),它的主要优势在于利用了已经验证的,符合工业标准的技术,在高速的Compact PCI总线基础之上,加入类似VXI所具有的定时、触发和同步功能。PXI作为一种专为工业数据采集与自动化应用高性能模块化硬件平台,具有开放式架构,内有高端的定时和触发总线,结合模块化的I/O硬件和相应的测试测量开发软件,便可以较好地完成数据采集任务。
2.1 系统硬件部分
PXI-5122高速数字化仪是硬件部分的核心,可直接插入PXI-1042Q机箱插槽中,属于内置式驱动。通过LabVIEW嵌入的驱动函数可配置其触发方式,如即时触发、软件触发、数字触发等,还可配置采样速率,采样记录长度等。PXI-5122提供双输入通道,每个通道最高100 MS/s实时采样率,分辨率14 b,采用交叉采样方式的采样率可提高到200 MS/s,带有去噪和100 MHz抗混叠滤波器,具有动态范围大、板上采样存储器容量大等特点。这里配置为单通道即时触发模式,以便实现实时的连续采样。根据采样定理,设置的最小采样速率至少是被采样信号频率的两倍。数据采集系统示意图如图2所示。
2.2 系统软件部分
系统软件部分主要由标准I/O模块驱动,采用队列同步控制和数据显示三大部分组成。系统程序流程图如图3所示。
首先通过NI,Scope示波器驱动来完成PXI-5122的配置和初始化,将此部分放置到由单个while循环控制的独立线程中便可以实现连续数据采集。被采集的数据被放人队列中,队列允许多个任务同时访问,其他独立线程的模块可同时并行地从中读取数据,实时完成各自的功能,如数据存储、数据显示等。 [page]
2.2.1 I/O驱动模块
NI Scope示波器驱动是NI公司提供的八类可互换的虚拟仪器IVI(Interchangeable Virtual Instru-ment)规范驱动之一,由于IVI规范驱动是基于虚拟仪器软件架构VISA(Virtual Instrunment Software Archi-tecture),可以实现程序与硬件接口的不相关。此外,NI Scope提供了规范和标准API函数和DAQ驱动程序库,它将仪器的功能完整封装,让用户更快更容易地开发系统。成功安装NI Scope示波器驱动后,在Lab-VIEW程序框图中,打开“函数”菜单下,打开“测量I/O”可以看到“NI Scope”工具包,选择初始化、水平方向设置、竖直方向设置、通道设置、触发方式设置等函数,自定义NI PXI-5122驱动程序。该系统设置偏移量为零,即时触发采样模式,采样记录数值默认为1,采样频率和采样记录长度由输入控件控制,采样的通道名称默认为“channel 0”,实现连续采样。NI PXI-5122驱动程序具体如图4所示。
2.2.2 同步技术
系统各模块分别由单个循环控制,并且各循环之间相互独立,每一个循环都有一个独立的线程独自运行,构成了一个包含多个并行任务虚拟仪器系统。各个循环之间也有数据交流,相互关联,为了实现在同一个程序中处理好各循环或并行任务之间的同步或通信,则需要使用同步控制技术。系统选用队列(Queue)技术来控制这些循环可以避免对设备的访问冲突。
队列结构是一种先进先出的结构。队列可以保证有序的数据传递,避免竞争或冲突。一般当多个用户需要使用同一个资源时,就可以通过队列来对多个用户进行排队处理;同时。也允许多个用户访问一个队列,这样就可以加快队列的处理速度。同样,在程序框图中打开“函数”,选择“编程”中的“同步”,可看待“队列”函数包。通过“获取队列引用”先建立一个队列,可设置队列名称,元素类型,队列大小等属性。图5中显示数据采集循环,数据存储循环,数据显示循环共同使用一个队列,即数据循环中使用“元素人队列”函数将采集数据不断地存放到队列中,数据存储和数据显示循环使用“元素出队列”函数从队列中不断地读取数据,实现了系统实时采集和存储的功能。若某个模块的任务运行过快或过慢,队列可以起到缓存作用,进行约束或补偿,不会导致数据丢失或重复读取。
2.2.3 数据存储
高速数据流文件TDM Streaming文件以流文件形式存储数据,读写速度比较快,适合用来存储海量数据,常于实时系统。TDMS文件除了可以存储信号数据外,还可以为每个信号添加附加信息:文件、组、通道等。通过TDMS文件操作函数可对被采集的信号进行快速的读,写,属性设置及提取,管理简单;在写操作后可以调用TDMS File ViewerⅥ函数,打开TDMS文件浏览器,查看数据和属性值。TDMS的写操作如图5所示。
3 实验结果
数据采集系统前面板如图6所示,根据所设计的数据采集系统,分别进行了数据采集、数据输入,数据存储及波形显示等实验。数据保存在以.tdms为后缀名的波形文件中。图6所示为对频率10 kHz,幅度为0.5 V的模拟正弦波信号使用单通道采样,输入的采样频率为1 MHz,实际采样频率为1 MHz。经过实际验证,对三角波,方波等合理采样,结果比较满意。
4 结 语
该数据采集系统实际是用于对中波段范围内调幅信号的实时采集,方便对采集后的数据直接进行各种数学分析。一方面可将结果直观的显示在前面板上,另一方面也可同时将数据进行存储,以供日后分析使用。此外,由于LabVIEW是一个功能强大的虚拟仪器编译环境,简化编程过程,尤其是使用IVI驱动程序,极大地简化代码,用户不需要关心仪器底层是如何通信,只需要关注任务本身。给予系统更多的灵活性。以后只需要根据实际功能要求,修改相应的软件编程即可进行系统拓展。整个数据采集系统在实际使用中方便活,不受具体线路的限制。
关键字:Scope 实时 数据采集
引用地址:基于NI Scope实时数据采集系统设计
1 虚拟仪器概述
1.1 虚拟仪器简介
虚拟仪器核心技术思想是“软件即是仪器”,在通用的集成硬件平台上,结合高性能的模块化硬件和高效灵活的软件使本来需要硬件实现的技术软件化。一般当标准化硬件平台确定后,通过标准的仪器驱动软件可实现模块化的硬件(如GPIB,VXI,DAQ板等)之间的通信、定时应用等需求;而灵活高效的开发应用软件能创建完全自定义的用户界面和系统,实现传统仪器中由硬件完成的仪器功能。虚拟仪器技术的优势在于仪器性能的改进和功能扩展只需用户选择适合其应用要求的硬件模块以及更新相关软件程序设计,即可重新配置现有系统,增加程序可复用性,大大缩短整个系统开发换代周期,降低成本,方便实现多种功能。
1.2 虚拟仪器构成
虚拟仪器一般由通用仪器硬件平台和应用软件组成,如图1所示。
虚拟仪器硬件平台主要有两部分,分别是用于集成的硬件平台和模块化I/O接口设备。虚拟仪器的软件部分包括应用软件和I/O驱动软件两部分,应用软件包含实现虚拟面板功能的前面板的软件程序和定义测试功能的流程图软件程序,如LabVIEW等;I/O接口仪器驱动程序用来完成特定外部硬件设备的扩展、驱动和通信,可以由虚拟仪器开发环境提供。只有同时拥有高效的软件、模块化I/O硬件和用于集成的软硬件平台这三大组成部分,才能充分发挥虚拟仪器技术性能高、扩展性强、开发时间少以及出色的集成这四大优势。
1.3 图形化编程语言LabVIEW
LabVIEW(Laboratory Virtual Instrument Engi-neetring Workbench)是一种用图标代替文本行创建应用程序的图形化编程语言,采用数据流编程方式,程序框图中节点之间的数据流向决定了程序的执行顺序,用图表表示函数,用连线表示数据流方向。LabVIEW程序称为虚拟仪器(Virtual Instrument,VI)程序。一个最基本的VI由前面板(Panel)、框图程序(Diagram Program)和图标/连接端口(Icon/Terminal)三部分组成。LabVIEW为虚拟仪器设计者提供了一个便捷、轻松的设计环境,不仅能轻松方便地完成与各种软硬件的连接,还提供强大的后续数据处理能力,交互式的测量工具和更高层的系统管理软件工具。LabVIEW能够支持串行接口、GPIB,VXI,PXI等标准总线和多种数据采集板,以驱动不同仪器公司的仪器,用户可以高效、快速地编写出相应的应用程序,自行设计仪器驱动程序,完成诸如数据采集、数据处理、数据显示以及仪器控制和通信等多种功能。在较高性价比的条件下,降低系统开发和维护费用,缩短技术更新周期。
2 系统结构设计
该系统使用NI公司PXI-1042Q机箱和NI PXI-5122高速数字化仪模块组建数据采集硬件平台。PXI(PCI Extensions for Instrumentation),它的主要优势在于利用了已经验证的,符合工业标准的技术,在高速的Compact PCI总线基础之上,加入类似VXI所具有的定时、触发和同步功能。PXI作为一种专为工业数据采集与自动化应用高性能模块化硬件平台,具有开放式架构,内有高端的定时和触发总线,结合模块化的I/O硬件和相应的测试测量开发软件,便可以较好地完成数据采集任务。
2.1 系统硬件部分
PXI-5122高速数字化仪是硬件部分的核心,可直接插入PXI-1042Q机箱插槽中,属于内置式驱动。通过LabVIEW嵌入的驱动函数可配置其触发方式,如即时触发、软件触发、数字触发等,还可配置采样速率,采样记录长度等。PXI-5122提供双输入通道,每个通道最高100 MS/s实时采样率,分辨率14 b,采用交叉采样方式的采样率可提高到200 MS/s,带有去噪和100 MHz抗混叠滤波器,具有动态范围大、板上采样存储器容量大等特点。这里配置为单通道即时触发模式,以便实现实时的连续采样。根据采样定理,设置的最小采样速率至少是被采样信号频率的两倍。数据采集系统示意图如图2所示。
2.2 系统软件部分
系统软件部分主要由标准I/O模块驱动,采用队列同步控制和数据显示三大部分组成。系统程序流程图如图3所示。
首先通过NI,Scope示波器驱动来完成PXI-5122的配置和初始化,将此部分放置到由单个while循环控制的独立线程中便可以实现连续数据采集。被采集的数据被放人队列中,队列允许多个任务同时访问,其他独立线程的模块可同时并行地从中读取数据,实时完成各自的功能,如数据存储、数据显示等。 [page]
2.2.1 I/O驱动模块
NI Scope示波器驱动是NI公司提供的八类可互换的虚拟仪器IVI(Interchangeable Virtual Instru-ment)规范驱动之一,由于IVI规范驱动是基于虚拟仪器软件架构VISA(Virtual Instrunment Software Archi-tecture),可以实现程序与硬件接口的不相关。此外,NI Scope提供了规范和标准API函数和DAQ驱动程序库,它将仪器的功能完整封装,让用户更快更容易地开发系统。成功安装NI Scope示波器驱动后,在Lab-VIEW程序框图中,打开“函数”菜单下,打开“测量I/O”可以看到“NI Scope”工具包,选择初始化、水平方向设置、竖直方向设置、通道设置、触发方式设置等函数,自定义NI PXI-5122驱动程序。该系统设置偏移量为零,即时触发采样模式,采样记录数值默认为1,采样频率和采样记录长度由输入控件控制,采样的通道名称默认为“channel 0”,实现连续采样。NI PXI-5122驱动程序具体如图4所示。
2.2.2 同步技术
系统各模块分别由单个循环控制,并且各循环之间相互独立,每一个循环都有一个独立的线程独自运行,构成了一个包含多个并行任务虚拟仪器系统。各个循环之间也有数据交流,相互关联,为了实现在同一个程序中处理好各循环或并行任务之间的同步或通信,则需要使用同步控制技术。系统选用队列(Queue)技术来控制这些循环可以避免对设备的访问冲突。
队列结构是一种先进先出的结构。队列可以保证有序的数据传递,避免竞争或冲突。一般当多个用户需要使用同一个资源时,就可以通过队列来对多个用户进行排队处理;同时。也允许多个用户访问一个队列,这样就可以加快队列的处理速度。同样,在程序框图中打开“函数”,选择“编程”中的“同步”,可看待“队列”函数包。通过“获取队列引用”先建立一个队列,可设置队列名称,元素类型,队列大小等属性。图5中显示数据采集循环,数据存储循环,数据显示循环共同使用一个队列,即数据循环中使用“元素人队列”函数将采集数据不断地存放到队列中,数据存储和数据显示循环使用“元素出队列”函数从队列中不断地读取数据,实现了系统实时采集和存储的功能。若某个模块的任务运行过快或过慢,队列可以起到缓存作用,进行约束或补偿,不会导致数据丢失或重复读取。
2.2.3 数据存储
高速数据流文件TDM Streaming文件以流文件形式存储数据,读写速度比较快,适合用来存储海量数据,常于实时系统。TDMS文件除了可以存储信号数据外,还可以为每个信号添加附加信息:文件、组、通道等。通过TDMS文件操作函数可对被采集的信号进行快速的读,写,属性设置及提取,管理简单;在写操作后可以调用TDMS File ViewerⅥ函数,打开TDMS文件浏览器,查看数据和属性值。TDMS的写操作如图5所示。
3 实验结果
数据采集系统前面板如图6所示,根据所设计的数据采集系统,分别进行了数据采集、数据输入,数据存储及波形显示等实验。数据保存在以.tdms为后缀名的波形文件中。图6所示为对频率10 kHz,幅度为0.5 V的模拟正弦波信号使用单通道采样,输入的采样频率为1 MHz,实际采样频率为1 MHz。经过实际验证,对三角波,方波等合理采样,结果比较满意。
4 结 语
该数据采集系统实际是用于对中波段范围内调幅信号的实时采集,方便对采集后的数据直接进行各种数学分析。一方面可将结果直观的显示在前面板上,另一方面也可同时将数据进行存储,以供日后分析使用。此外,由于LabVIEW是一个功能强大的虚拟仪器编译环境,简化编程过程,尤其是使用IVI驱动程序,极大地简化代码,用户不需要关心仪器底层是如何通信,只需要关注任务本身。给予系统更多的灵活性。以后只需要根据实际功能要求,修改相应的软件编程即可进行系统拓展。整个数据采集系统在实际使用中方便活,不受具体线路的限制。
上一篇:LabVIEW计数滤波器在信号降噪中的应用
下一篇:基于LabVIEW的气体微流量测量虚拟仪器的开发
推荐阅读最新更新时间:2024-03-30 22:54
机车电子柜实时检测系统设计
机车电子控制柜是机车(SS4G、SS6B等型号的机车)控制电路的核心,其主要功能是实现机车的牵引、制动控制及空转、滑行保护控制等。由于整个电子控制柜由很多个模拟、数字电路插件板组成(绝大多数为模拟电路板),其本身就是一个极其复杂的电子设备,再加上其长期工作在高温、振动和强磁的恶劣条件下,因而造成了机车电子控制柜的故障发生率极高(窜车、无流等故障)。而且诊断难度很大。传统的监测方法是依靠一些仪器仪表,按照跟踪信号逐点寻迹的思路,依靠人的逻辑判断来判定设备的故障所在,该方法效率低,实时性不强,不能实时监测机车电子柜的运行状态。因此,设计一个机车电子柜的实时监测系统是提高机车检修效率和行车安全的关键。 1系统结构原理 本系统可由信号
[模拟电子]
基于LabVIEW与USB接口的实时数据采集系统
1 数据采集系统
工程上使用具有PCI、PXI、USB、并口以及串口的计算机来获取测试数据,称为基于PC的数据采集系统。其中一种是通过插入式的数据采集卡直接获取数据传输给计算机。鉴于数据采集卡的价格昂贵,且安装不方便等缺点,本文提出使用STC单片机作为前端的数据采集系统,利用CH341T芯片的USB总线转异步串口的功能,将采集数据只通过一条USB线传输给PC机,最后在LabVIEW平台下进行数据的显示、分析、处理。
1.1 系统组成与工作原理
本系统总体结构框图如图1所示。主要包括有STC12C5410AD单片机和CH341T转换芯片组成的数据采集、转换、传输部分,以及基于PC机的LabVlEW软件构成
[模拟电子]
基于RTX51实时操作系统的用户专用键盘软件设计
引言 传统的用户专用键盘单片机软件采用结构化设计方法,主程序循环执行,依次完成按键扫描、按键处理、串口命令接收、串口命令处理等任务。由于任务的数量少,并且每个任务执行的操作简单,此种设计可以使得软件较好地满足功能要求。但仔细分析,会发现程序一些可以改进的地方,如:执行时间短的任务不得不排队等待执行时间长的任务的完成。此外,如果用户的设计要求发生变化(如:专用键盘功能增加、按键数量增多、串口协议复杂化等),原有的编程思想将很难满足要求,程序因此无法进行移植升级而不得不重新开发。 基于RTX51实时操作系统进行单片机软件设计,可以真正做到各任务并行执行,同时,由于程序结构更加科学合理,可以方便地实现修改升级,以满足功能较多
[单片机]
基于DSP的高速实时语音识别系统的设计
实时语音识别系统中,由于语音的数据量大,运算复杂,对处理器性能提出了很高的要求,适于采用高速DSP实现。虽然DSP提供了高速和灵活的硬件设计,但是在实时处理系统中,还需结合DSP器件的结构及工作方式,针对语音处理的特点,对软件进行反复优化,以缩短识别时间,满足实时的需求。因此如何对DSP进行优化编程,解决算法的复杂性和硬件存储容量及速度之间的矛盾,成为实现系统性能的关键。本文基于TMS320C6713设计并实现了高速实时语音识别系统,在固定文本的说话人辨识的应用中效果显著。 1 语音识别的原理 语音识别的基本原理框图如图1所示。语音信号中含有丰富的信息,从中提取对语音识别有用的信息的过程,就是特征提取,特征提取方法是整个语音识
[嵌入式]
基于高速USB接口模块的数据采集系统
引言 工程师在设计基于PC的数据采集系统时都认为,要想获得比较好的性能,都需要使用PCI总线。其实并不是这样,随着USB通信技术的不断发展,USB总线的传输速度和可靠性都在逐步提升。对于广范应用的USB2.0,其最快速度能够达到480 Mb/s。就算其中一些中断或者协议占用一部分带宽,高于80 Mb/s的速度也是很容易实现的。而USB3.0协议下的理论速度可以达到USB2.0的10倍左右。另外,相比于PCI卡,USB接口对系统的开发与升级更加方便。
QuickUSB 是基于CY7C68013A 开发的一款针对USB2.0的高速USB模块。Bitwise公司为这款模块提供嵌入EEPROM的底层程序,同时还在PC端提供
[嵌入式]
嵌入式实时操作系统 μC/OS-II 在S12单片机上的移植
1 引言
在采用前后台系统软件设计模式的嵌入式系统中,主程序是一个无限循环,单任务顺序执行,通过设置一个或多个中断来处理异步事件。这种系统对于简单的应用是可以
的,但对于实时性要求比较高的、处理任务较多的应用,就会暴露出实时性差、系统可靠性低、稳定性差等缺点。μC/OS-II 是一个源代码公开、可移植、可裁剪的实时多任
务操作系统,具有低成本、稳定可靠、实时性好等优点,是专门针对微处理器和微控制器设计的实时内核,它的内核可以做到很小,很适合在单片机系统上移植。移植了μC/OS-II 的嵌入式系统可以使各个任务独立工作,互不干涉,很容易实现准时而且无误执行,使实时应用程序的设计和扩展变得容易,使应用程序的设计过程大为减化
[嵌入式]
谈论嵌入式实时系统的关键特征
本文将描述嵌入式实时系统的关键特征,然后讨论如何在所选择或所开发的硬件和软件构件的基础上开发一个高效的嵌入式系统方案,并介绍开发这些系统所需的独特关键处理技术。
许多系统设计师将执行软/硬件协同设计周期,即同时开发硬件和软件。理解硬件与软件功能之间的关系以及对两者进行划分有助于确保完全和正确地实现系统需求。
在定义和分析需求的初期阶段,系统开发者需要与设计工程师紧密合作,将要求实现的功能分配给硬件或软件。这是根据早期系统仿真、建立原型和行为建模的结果,再加上对前面提及的多种因素的折衷以及过去的设计经验来进行分配的。一旦完成这种分配,就将开始详细的设计和实现。当同时进行硬件和软件设计时,各种不同的分析
[嵌入式]
用户关注实时性性,Linux使用率仍然偏低
日前在美国硅谷举办的嵌入式系统研讨会(Embedded Systems Conference)上,一份针对嵌入式操作系统的调查显示,目前(美国)只有17%的嵌入式系统设计工程师采用嵌入式Linux,而66%的人表示他们要么对此没有兴趣,要么就是今后也不会用。 EE Times及其姊妹出版物Embedded Systems Design的“2006年嵌入式系统设计状况调查报告”发现,34%的受调查表示对Linux不感兴趣,2/3的受调查对象说他们对Linux有兴趣,但是,最近不会使用;而17%的人则说他们可能很快就会采用。相比之下,2005年有24%的受调查者表示他们正在使用嵌入式Linux。 在考虑使用嵌入式Linux
[焦点新闻]