我能调整NI5401,NI5411或者NI5431发出的方波的占空比么?



硬件: Signal Sources (AWG/FG/AO)>>Arbitrary Waveform and Function Generators

问题: 当我用NI5401、NI5411或者NI5431发生方波时,占空比总是50%。我能改变方波信号的占空比吗?

解答: 有两种方法从NI5401、NI5411或者NI5431中发生方波信号。通常的方法是输出一个方波信号,然后在任意波形发生器的输出端口接收信号。另一种方法是产生一个正弦波,然后在板上的SYNC端口接收方波信号。当板上产生一个正弦信号时,SYNC端口就产生一个同频率的方波信号。

为了改变SYNC端口产生的方波信号的占空比,您必须设置Sync Duty Cycle High这个属性。这个可以通过LabVIEW的属性节点(Output Attributes » Sync Duty Cycle High)或者在C或者Visual Basic中调用niFgen_SetAttributeViReal64这个函数。占空比的有效范围为20%到80%。

为了在通常的输出端口得到占空比不同于50%的方波,需要进一步的工作。当使用NI5401,NI5411或者NI5431的DDS模式来输出方波时,一个用来代表波形的16,384点的数列被送到板上。当使用NI-FGEN中的Configure Standard Waveform函数来自动导入方波时,(选择函数的“waveform”输入端为“square”), 方程自动产生一个占空比为50%的方波并且导入到DDS缓存中。如果你想得到不同于50%的占空比的你必须自己建立代表这个特性的数组并且手动把它导到DDS缓存。如果需要10%的占空比,你只需把数组中的10%(1638个点)并且设其值为高,把其余90%的点(14746个点)设为低。DDS的缓存定位16,384(2^14)个点,所以,您的数组也得这么长。

一旦你有了原始数组,调用niFgen_DefineUserStandardWaveform() ,并且调用niFgen_ConfigureStandardWaveform() 并把waveform设为'User'。这样就把你的数据手动导入到DDS缓存中。

下面有个如何在LabVIEW中实现的例程。

相关链接:

附件:


SquareDuty.vi - SquareDuty.vi


报告日期: 01/04/2001
最近更新: 08/03/2003
文档编号: 253929Y5