图 1:显示从存储器到输出的数据路径的 AWG 概念框图
任意波形发生器 (AWG) 的强大功能之一是它们可以生成几乎无限数量的波形。 AWG 的工作模式控制这些波形输出方式的时序。 在本应用说明中,我们将研究虹科Spectrum M4i.66xx 系列 AWG 工作模式的有效使用,重点关注序列模式,该模式提供近实时控制输出波形选择的能力。
AWG 的运行模式就像一个反向的数字化仪。 它们以数字形式将波形存储在波形存储器中,然后波形控制器将数字数据传送到数模转换器 (DAC),后者将其转换为模拟电压。 如图 1 所示。
虹科Spectrum M4i.66xx 系列 AWG 中的波形存储器以两种不同的模式使用。 第一种是标准模式,其中波形数据完全存储在波形存储器中,因此波形持续时间会被限制为波形存储器的长度。 请注意,对于该产品系列,波形存储器达到2 GSamples,以最快 (1.25 GS/s) 时钟速率提供长达 1.6 秒的波形持续时间,波形的任何部分都不会重复。
第二种模式是先进先出 (FIFO),它使用 PCIe x8 串行接口以高达 2.8 GB/s 的速率从主机传输波形数据。内部波形存储器用作流缓冲器。此模式允许延长波形持续时间,但现在受到主机中可用内存的限制。使用基于 RAID 的数据存储的 PC 系统,例如 虹科 Spectrum 的Streaming Systems,甚至可用于实现数小时的不间断波形生成
操作模式决定了波形的输出时间和部分。 该操作模式与可在内部或外部生成的 AWG 触发器一起工作。操作模式总结如下:
多重和序列模式都将波形存储器分段,每个分段包含一个波形或部分波形。 然后每个触发器都会增加段号并输出选定的波形。 序列模式增加了将片段内容循环用户可选择的次数以及选择要输出的下一个片段的能力。
图 2:波形内存拆分和序列内存链接
如前所述,序列模式将 AWG 波形分成几个数据段。
每个段中加载的每个波形可以具有不同的大小。 如图 2 底部所示,数据段使用附加序列存储器按用户选择的顺序链接。序列存储器将存储器步骤与特定段链接起来,指定每个段的循环次数,并定义下一个 部分。 重要的是,波形段之间的切换发生在段之间没有死区时间。
在我们的示例中,序列内存中的 4 个步骤已被定义。 其中三个(步骤#1、步骤#3 和步骤#4)执行无限循环,将不断重复。 卡的输出将包含重复 10 次的数据段 #2,重复 100 次的数据段 #3,以及仅重复一次的数据段 #7。 此时 AWG 循环回到第 1 步并重新开始循环。
在序列模式下,可以通过简单的软件命令更改重放的波形,或者在重放其他段的同时重新定义段的波形数据。 这允许对波形输出进行近乎实时的编程。
波形和序列存储器的严格分离使得可以在运行时更改序列存储器。 如果我们再次查看该示例,该序列有一个未使用的步骤,即步骤#2。 在我们的示例中,在 AWG 开始之前定义了 3 个步骤。 起初这些都没有改变。 步骤#2 设置为重复自身。 也就是说,它作为下一步链接回自身,但由于定义的顺序,通常不使用它。 由于序列存储器的性质(先读后写),可以写入任何步进寄存器
在运行期间在序列内存中而不破坏它。 通过寻址某个步骤并更改例如其下一个参数,可以通过软件在两个序列之间切换。
假设在我们上面的示例中,我们将步骤 #4 的下一个参数从 Next=1 更改为 Next=2,无限执行的 3 步序列(自 AWG 启动以来一直重复)将在下次执行时保留 重放完成与步骤#4 关联的模式的最后一个样本(在本例中为段#7),然后它将跳转到步骤#2 并无缝地继续重放关联段#3 的第一个样本。 当步骤#2 链接回自身时,它将在无限循环中生成数据段#3,直到被用户停止。
序列存储器中任何步骤的三个步骤参数“Next”、“Segment”和“Loop”中的任何一个都可以在运行时更改,而不会损坏序列存储器。 但是,一旦输入一个步骤,它将被执行并完成当前设置,例如输出关联的模式并重复编程的次数。
虹科M4i.66xx系列
虹科Spectrum M4i.66xx 系列 AWG 的序列模式具有相当大的优势。 首先是它可以更有效地利用内部存储器。 循环波形元素可以存储一次并根据需要重复,从而减少所需的存储空间。输出波形选择的排序有很大的灵活性。 可以立即加载测试程序所需的所有波形,然后根据需要进行选择。 这大大提高了测试速度。此外,对波形段进行近乎实时的控制,可以轻松地对测试需求提供自适应响应。 测得的测试结果可以改变序列顺序,并且这可以在不停止测试的情况下发生。 这是最强大的优势,因为它支持自适应测试,可以根据测量的性能更改测试条件。
考虑以下一般情况:
这种存储所有测试波形并根据需要通过动态编辑序列存储器调用它们的能力是一种独特的能力。 结合 AWG 生成几乎任何波形的能力,它构成了理想的测试发生器。
考虑测试接收器的曼彻斯特编码串行数据流,如图 3 所示。
图 3:应由 AWG 生成的曼彻斯特编码串行数据流示例
曼彻斯特编码用于许多常见的串行数据链路,包括 RFID、PSI 5 和以太网。曼彻斯特码总是在每个位周期的中间放置一个转换。它也可能(取决于要传输的信息)在周期开始时有一个过渡。中间位转换的方向指示数据。周期边界的转换不携带信息。它们的存在只是为了将信号置于正确的状态以允许中间位转换。保证转换允许信号自计时。该复合波形由图 4 所示的三个波形分量组成:
图 4:3 个数据段用于生成曼彻斯特码
波形段
“1” - 从高到低的过渡
“0” - 从低到高的过渡
0 伏直流电平的基线。
通过使用这些组件定义三个波形段,可以合成任何数据模式组合。这意味着通过重新排列这三个段的顺序,可以更改数据包的内容。
在下面的示例中,段将设置为 512 个样本的长度,时钟速率为 50 MS/s,因此每个组件的持续时间(图 3 中的 TBit)将为 10.24 µs。数据包由持续超过两个位时钟周期的基线信号分隔。
虹科Spectrum M4i.6631-x8 AWG 使用 MATLAB 脚本进行控制,该脚本为测试目的构建了四种不同的数据模式。虹科Spectrum 提供适用于 Windows 和 Linux 操作系统的驱动程序。这些驱动程序支持最常见的编程语言和第三方系统集成软件,如 LabVIEW、MATLAB 或 LabWindows/CVI。所有驱动程序都附带详细的文档和工作示例。
控制序列存储器内容的 MALAB 代码如下所示:
*注意:条件定义:(0 => 始终结束循环,1 => 触发时结束循环,2 => 结束序列)
仅使用上面描述的三个组件,十四个步骤即可构建波形。
图 5:使用虹科 M4i.4450-x8 数字化仪采集串行数据包的不同段
MATLAB 脚本包含四个这样的表,每个表加载不同的段组合。 当 AWG 在此 MATLAB 脚本下运行时,它会生成四种不同的数据模式。 数据输出结果如图5所示。
使用虹科 Spectrum M4i.4450-x8 数字化仪以多重采集模式采集四段串行数据包。 顶部显示的是已经讨论过的数据模式。 其他三个是不同的模式,显示 AWG 如何仅通过更改序列存储器内容来切换数据内容。
AWG 操作模式控制波形的选择和时序。 序列模式是最通用的模式,可以分段存储并选择要输出的波形段,设置该段重复的次数,然后确定下一段。 段的编程由可以在 AWG 运行时更改的序列存储器控制。 这意味着输出的波形可以近乎实时地改变,从而提供进行测试自适应编程的能力。