方波发生器
- 更新时间2025-01-28
- 阅读时长8分钟
通过直接数字合成(SDS)生成逐点方波。合成过程使用程序框图的时钟频率连续运行,生成实时频率。除非方波发生器Express VI位于配置为其他时钟速率的单周期定时循环内,否则程序框图的时钟速率为顶层时钟速率。
在运行时,您可以使用归一化信号生成参数 VI可将频率、相位和占空比参数转换为定点单位,并归一化为时钟速率。

对话框选项
| 选项 | 说明 |
|---|---|
| 方波参数 | 包含下列选项:
|
| 输出 | 包含下列选项:
|
| 执行模式 | 包含下列选项: |
| 信号输出预览 | 显示已配置方波的预览。 |
| 时钟 | 包含下列选项:
|
输入/输出
重置
—
设置VI为相位偏移量(周期)确定的初始状态。该VI在第一次调用后自动重置。
占空比(周期)
—
指定由下列公式确定的缩放后占空比(周期个数)。 占空比(周期)= 占空比(%) / 100 如要节省FPGA资源,可不连接 占空比(周期) 输入端,并使用配置对话框指定占空比。如在运行时更改占空比(周期)的值,方波在下一个周期边沿更新。 连接至该接线端的值必须为无符号定点 数据类型,字长为32位,整数字长为0位。如连线具有不同配置的数据类型至该接线端,LabVIEW将强制转换该配置为<+,32,0>。
幅值
—
指定方波的幅值。默认值为32767,方波输出为–32767或32767。
偏移量
—
指定方波的直流偏移量。默认值为0。
频率(周期/滴答)
—
指定由下列公式确定的缩放后输出频率(周期个数/FPGA时钟滴答)。 频率(周期/滴答)=频率(Hz)/FPGA时钟速率 为节省FPGA资源,可将 频率(周期/滴答) 输入端悬空,并使用配置对话框指定频率。如在运行时更改频率(周期/时钟滴答)的值,方波在下一次调用时更新。如更改频率,DDS在周期中保留该位置,因此下次调用时仅更改了速率。 连接至该接线端的值必须为无符号定点 数据类型,字长为32位,整数字长为0位。如连线具有不同配置的数据类型至该接线端,LabVIEW将强制转换该配置为<+,32,0>。
相位偏移量(周期)
—
指定由下列公式确定的缩放后相位偏移量(周期个数)。 相位偏移(周期)= 相位偏移(度)/ 360 为节省FPGA资源,可不连接 相位偏移(周期) 输入端,并使用配置对话框指定相位偏移。如在运行时更改频率偏移量(周期)的值,方波在下一次调用时更新。如要避免毛刺条件,请勿使用超过用于调用VI的频率(周期/时钟滴答)的值更改相位偏移量(周期)的值。 连接至该接线端的值必须为无符号定点 数据类型,字长为32位,整数字长为0位。如连线具有不同配置的数据类型至该接线端,LabVIEW将强制转换该配置为<+,32,0>。
方波输出
—
包含方波输出的布尔值,或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
重置
—
占空比(周期)
—
幅值
—
方波输出
—