通过直接数字合成(SDS)生成逐点方波。合成过程使用程序框图的时钟频率连续运行,生成实时频率。除非方波发生器Express VI位于配置为其他时钟速率的单周期定时循环内,否则程序框图的时钟速率为顶层时钟速率

在运行时,您可以使用归一化信号生成参数 VI可将频率、相位和占空比参数转换为定点单位,并归一化为时钟速率。


icon

对话框选项

选项 说明
方波参数 包含下列选项:
  • 频率

    Specifies the desired output frequency in Hz.

  • 相位偏移

    Specifies the phase in degrees of the signal the Square Wave Generator Express VI returns relative to its initialization.

  • 占空比

    Specifies the desired percentage of time the square wave remains high over one period. The default is 50%.

  • 频率(周期/滴答)

    返回缩放后输出频率(单位为每FPGA时钟滴答的周期数)。

    该VI使用下列公式计算该值:频率(周期/时钟滴答)= 频率 / 时钟速率 VI每次调用都对当前值进行采样。

  • 相位偏移(周期)

    返回缩放后相位偏移量(单位为周期数)。

    该VI使用下列公式计算该值:

    相位偏移(周期)= 相位偏移 /360

  • 占空比(周期)

    返回单个周期中方波为高电平所占时间的百分比(单位为周期数)。

    该VI使用下列公式计算该值:

    占空比(周期)= 占空比 /100

  • 时钟速率

    表明在配置对话框中的时钟部分指定的FPGA时钟频率的值。

输出 包含下列选项:
  • 数据类型

    Specifies the data type of the square wave. If you select Boolean, the Amplitude and Offset options are not available.

  • 偏移量

    指定方波的直流偏移量。默认值为0。

    详细信息见详细信息章节。

  • 幅度

    指定方波的幅值。默认值为32767,方波输出为–32767或32767。

    详细信息见详细信息章节。

执行模式 包含下列选项:
  • 单周期定时循环内部

    生成在一个周期内执行的VI。

    如选择 内部单周期定时循环 选项并将VI置于单周期定时循环外部,则“代码生成错误” 窗口报告错误。

  • 在单周期定时循环之外

    返回输出前,时钟等等VI检测到边沿。通过在While循环中调用该函数,可控制循环执行的频率。因为边沿间隔时间由频率确定。

    如选择在单周期定时循环外选项并将VI放在单周期定时循环内,代码生成错误窗口将报告错误。

信号输出预览 显示已配置方波的预览。
时钟 包含下列选项:
  • FPGA时钟速率

    Specifies the clock rate at which LabVIEW builds the Square Wave Generator Express VI.

    如编译时 FPGA时钟速率 参数与程序框图时钟速率不匹配,“代码生成错误” 窗口报告错误。使用顶层时钟FPGA终端属性 页更改程序框图时钟速率。如方波发生器VI位于单周期定时循环内,可使用通过 配置定时循环 对话框或定时循环上的 源名称 输入端,可更改程序框图的时钟速率。

  • 设置为顶层时钟速率

    设置FPGA时钟频率为当前配置的顶层时钟频率。

输入/输出

  • cbool.png 重置

    设置VI为相位偏移量(周期)确定的初始状态。该VI在第一次调用后自动重置。

  • cunkn.png 占空比(周期)

    指定由下列公式确定的缩放后占空比(周期个数)。

    占空比(周期)= 占空比(%) / 100 如要节省FPGA资源,可不连接 占空比(周期) 输入端,并使用配置对话框指定占空比。如在运行时更改占空比(周期)的值,方波在下一个周期边沿更新。

    连接至该接线端的值必须为无符号定点 数据类型,字长为32位,整数字长为0位。如连线具有不同配置的数据类型至该接线端,LabVIEW将强制转换该配置为<+,32,0>。

  • ci16.png 幅值

    指定方波的幅值。默认值为32767,方波输出为–32767或32767。

  • ci16.png 偏移量

    指定方波的直流偏移量。默认值为0。

  • cunkn.png 频率(周期/滴答)

    指定由下列公式确定的缩放后输出频率(周期个数/FPGA时钟滴答)。

    频率(周期/滴答)=频率(Hz)/FPGA时钟速率 为节省FPGA资源,可将 频率(周期/滴答) 输入端悬空,并使用配置对话框指定频率。如在运行时更改频率(周期/时钟滴答)的值,方波在下一次调用时更新。如更改频率,DDS在周期中保留该位置,因此下次调用时仅更改了速率。

    连接至该接线端的值必须为无符号定点 数据类型,字长为32位,整数字长为0位。如连线具有不同配置的数据类型至该接线端,LabVIEW将强制转换该配置为<+,32,0>。

  • cunkn.png 相位偏移量(周期)

    指定由下列公式确定的缩放后相位偏移量(周期个数)。

    相位偏移(周期)= 相位偏移(度)/ 360 为节省FPGA资源,可不连接 相位偏移(周期) 输入端,并使用配置对话框指定相位偏移。如在运行时更改频率偏移量(周期)的值,方波在下一次调用时更新。如要避免毛刺条件,请勿使用超过用于调用VI的频率(周期/时钟滴答)的值更改相位偏移量(周期)的值。

    连接至该接线端的值必须为无符号定点 数据类型,字长为32位,整数字长为0位。如连线具有不同配置的数据类型至该接线端,LabVIEW将强制转换该配置为<+,32,0>。

  • ii16.png 方波输出

    包含方波输出的布尔值,或8、16或32位整数。

    如正弦波发生器Express VI位于单周期定时循环内部,方波输出为单个采样点。如正弦波发生器Express VI位于单周期定时循环外部,方波输出在每个方波边沿更新。

  • 幅值为偏置值和峰值之间的差值。在下列范例中,偏置值为5,幅值为10

    要将方 传递至输出线,可使用FPGA I/O节点

    随时间变化,该Express VI返回预期的周期长度和频率。但可能发生某些抖动。例如,假设要创建一个使用40 MHz顶层时钟的6.25 MHz的方波。此时时钟周期为25 ns,方波周期为160 ns。因此平均方波周期应为6.4个时钟周期长度。每个方波周期为周期的整数值,但Express VI返回周期长度为6、6、6、7和7。因此平均周期长度为6.4个时钟周期,平均频率为6.25 MHz。

    如将Express VI置于单周期定时循环之外,在开发计算机上运行FPGA VI,定时不精确。因此Express VI返回在高值和低值之间交替的方波。

    范例

    参考LabVIEW FPGA模块中包含的下列范例文件。

    • labview\examples\CompactRIO\FPGA Fundamentals\FPGA Math and Analysis\Generation\Square Wave\Square Wave.lvproj
    • labview\examples\R Series\FPGA Fundamentals\FPGA Math and Analysis\Generation\Square Wave\Square Wave.lvproj