基于PXI-6713的多功能信号发生平台开发

基于PXI-6713的多功能信号发生平台开发
徐真;张勇
【摘 要】Considering the requirement of special irregular waveforms in engineering system comprehensive tests, a multi-function signal generator based on PXI-6713 has been designed and developed. With a computer as the uniform hardware platform, it makes full use of powerful software function to have achieved the conversion and output of the signal from digital to analog. Compared with traditional hardware instruments, such a virtual platform is much easier at operation, and has greater scalability room. It can realise multi-channel simultaneous output of regular periodic signals including triangle, sine and square wave, etc. , and can also meet the requirement of synchronise outputs of user-defined arbitrary waveform signals.%为满足工程系统综合试验对特殊不规则波形信号的需求,设计开发了一款基于PXI-713模块的多功能形信号发生平台.以计算机作为统一的硬件平台,充分利用计算机强大的软件功能完成了信号由数字量向模拟量的最终转换输出.相比传统硬件仪器,该虚拟仪器平台操作简单,可扩展空间大,不仅能够实现多个通道同时输出三角、正弦、方波等规则的周期信号,更可以满足同步输出用户自定义的任意波形信号的要求.
【期刊名称】《计算机应用与软件》
【年(卷),期】2012(029)001
【总页数】4页(P168-170,202)
【关键词】任意波形发生;PXI-6713;LabWindows/CVI;多通道模拟输出
【作 者】徐真;张勇
【作者单位】隧道式搪瓷烧结炉上海飞机设计研究院 上海200436;上海飞机设计研究院 上海200436
【正文语种】中 文
【中图分类】TP302
0 引言
在工程系统综合试验中,经常需要对系统输入一种已知的激励源信号来模拟控制端的输入,包括阶跃、方波、三角波、正弦波信号和任意波形信号。传统的信号发生器只能满足
用户发送标准信号波形的一般需求,但是在真实的试验系统中往往存在许多不确定因素,使得系统的输入信号变得不可预知,而在这一输入下的系统响应却真实反映了系统的内在特性。为了复现这样一个未知的激励输入,更好地研究系统特性,就需要开发一种信号发生器能够将这些特定不规则的信号模拟输出。针对地面模拟试验的特殊需求,依托LabWindows/CVI以ANSI C为核心的交互式虚拟仪器开发环境,作者设计开发了基于PXI-6713模块的多功能信号发生平台。
1 硬件构架
多功能信号发生平台的硬件部分由“计算处理系统”和“转换输出模块”组成。计算处理系统是硬件平台的核心,用来执行用户指令并实现对转换输出模块的控制;信号转换输出模块主要是PXI-6713模块,完成信号的D/A转换及模拟输出。
1.1 计算处理系统
计算处理系统由NI PXI-1042 8槽3U PXI机箱以及零槽PXI-8187 2.5GHz嵌入式实时控制器搭建而成。此系统符合PXI和Compact PCI规范,可接受相应的3U模块,标配512M DDR内存,并集成了硬件驱动、USB2.0、以太网、GPIB等接口。
1.2 PXI-6713 模块
1.2.1 模块性能指标
PXI-6713是一款支持PXI总线的即插即用仪器模块,可提供模拟输出、数字I/O、定时I/O等功能。PXI6713有8路12位的DAC输出接口,亦即有8路电压输出通道,每个通道电压输出范围为-10~10V,刷新速率为1MS/s;板载FIFO缓存容量为16384个双精度浮点样本;8通道5V TTL/CMOS数字I/O接口;2个用于定时 I/O的24位定时/计数器,最大信号源频率20MHz[1]。671X系列模块没有DIP开关、跳线器或电位计,因此很容易用软件进行配置和校准。671X系列模块利用DAQSTC系统定时控制器实现与时间相关的功能。DAQ-STC包括3个定时组,分别用于控制模拟输入(AI)、模拟输出(AO)利通用定时/计数器功能,最大定时精度为50ns。
1.2.2 信号模拟输出原理
以2通道输出为例,图1所示PXI-6713模拟信号输出简图。计算机将数字样本数据写入板卡 FIFO,DAC(Digital-to-analog converter)于每个样本时钟周期从FIFO中读取一次样本数据,并将其转化成相应的模拟电压信号输出[2]。
图1 模拟输出线路简图
2 软件设计
在工程系统综合试验中,希望多个通道能够同时输出真实的标准波形信号或者任意波形信号,并且可以直观地观测波形图像。根据这一需求,作者以计算机作为仪器统一的硬件平台,充分利用LabWindows/CVI强大的软件功能实现信号数据的运算、分析和处理,并控制 PXI-6713模块完成信号的调理、转换与输出。通过增添测试模块、修改软件,能够很方便地改变这一虚拟仪器系统的功能与规模。
2.1 软件功能结构
该多功能信号发生平台主要具备以下几大功能:
1)输出通道的选择 图2所示是该信号发生平台的主操作界面,从中勾选试验所需个数的输出,并在下拉菜单中选取一路AO输出接口,本文主要介绍2路模拟输出的情况。
图2 平台主操作界面
阀门试压设备
2)波形的选取及参数的设置 确定各个通道输出的波形,标准周期波形或任意波形,以及设置相应的波形参数。
3)任意波形数据的导入 如果要求输出的是任意波形,则将数据从指定的文件导入信号发生器,即弹出如图3所示的面板,左侧显示的是文件中各列原始数据曲线,用户从中选取一列待输出的数据。在面板右下方区域可设置参数,对被选取数据添加增益或者偏置补偿;同时,在右上方的图形显示区,移动两个竖直光标还能够确定要输出数据的范围。
图3 数据导入及参数设置界面
4)输出波形的显示及其设置 在用户点击“开始”按钮之后,模拟信号将从I/O接口输出,并在信号发生平台上显示出来,用户可以更改输出显示的上下限,以及每屏显示的时间。信号发生平台的软件主算法流程如图4所示。
图4 软件主算法流程图建筑线脚
2.2 关键功能算法说明
2.2.1 多线程机制
LabWindows/CVI提供了一种在次线程中运行代码的高级机制,线程池(thread pools)。在多线程程序中,使用主线程创建、显示并运行用户界面,而在次线程中运行其他的对时间要求很高的操作或者实时处理。本文通过线程池来完成向板载FIFO写入数据的控制。
利用线程池来运行次线程中的代码,需要调用Utility Library库中的CmtScheduleThreadPoolFunction函数。将想要在次线程中执行的函数名传递给它,线程池就会调度这个函数在它的一个线程中运行[3]。以下给出主要代码:
2.2.2 DAQmx 任务的创建与配置
模拟信号的输出是通过完成DAQmx任务来实现的,以下给出关键函数的详细配置说明。
1)创建一个DAQmx任务DAQmxCreateTask(char Task_Name[],TaskHandle Task_Handle)。函数的两个参数分别表示定义的任务名称及任务句柄,前者可使用双引号″″表示采用默认名称。
客流统计系统方案2)创建模拟输出通道
函数参数依次表示任务句柄,指定的物理AO输出接口,输出口名称(可使用双引号″″省略),输出信号的最小值、最大值、单位及默认比例刻度名称(可设置为NULL)。本文中有两个输出通道,因此两次调用该函数所选取的AO输出接口应该不同。
3)设置每个通道输出属性
DAQmxSetChanAttribute(TaskHandle Task_Handle,char Channel[],int32 Attribute,...)。
精准的失控前2个参数的意义同前,第三至五个属性参数分别填写:DAQmx_AO_DataXferReqCond、DAQmx_Val_OnBrdMemNotFull及每次输出数据点个数。将数据写卡传递请求属性设置为On-BrdMemNotFull,表示一旦板卡FIFO发送出数据后有空间腾出,则立即将电脑缓存上的数据补写入FIFO,以保证在程序运行过程中整个FIFO始终是满载的。

本文发布于:2024-09-22 11:37:09,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/194742.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:信号   输出   系统   数据   波形
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议