在 C 系列模块中使用外部时钟写入数字数据

更新 Mar 31, 2024

环境

硬件

  • C Series Digital Module

C 系列数字模块可以通过在软件中指示何时输出逻辑 0 或 1 来在其数字线路中写入数字数据。然而,有些应用需要根据作为采样时钟的外部信号来改变线路的状态。这对于输出预定的位模式也很有用。

本文以 NI-9401 C 系列数字模块为例,说明您需要考虑哪些因素才能完成这项操作。

1. 检查您设备的规格以便找出可用的输入/输出缓冲区的数量。例如,NI-9401 有两个缓冲区(DIO 0 到 3 是一个缓冲区,DIO 4 到 7 是另一个缓冲区)。
缓冲器.png
  • 如果您的设备有多个缓冲区(如 NI-9401),您可以使用一个缓冲区读取外部时钟,另一个缓冲区用于数字输出。请注意,如果您使用一个缓冲器读取外部时钟(例如 DIO0:3),您将只能使用其他缓冲器的通道作为输出(例如 DIO4:7)。
  • 您还可以使用 cDAQ 机箱上的 PFI 输入来连接外部采样时钟。
  • 对于这两种情况,请确保您的外部时钟规格与您的数字模块或 cDAQ PFI 输入的 PFI 输入功能是匹配的。
2. 修改 DAQmx 定时功能,将 PFI 作为数字输出任务的采样时钟源。
  • 如果您使用的是 LabVIEW,则可以使用 Digital - Continuous Output.vi 或 Digital - Finite Output.vi 范例。如果您使用的是基于文本的环境,则可以使用相等的示例: NI-DAQmx LabVIEW 和 Windows 中基于文本的示例位置
  • 确保根据连接外部采样时钟的线路正确选择 PFI 端子:

pinmap.png

3. 要输出位模式,有不同的方法。其中之一是使用预定义的位序列创建波形常量并修改 DAQmx 写入更改为DAQmx写入 数字波形1通道N采样。在 LabVIEW 中,这将如下所示:
数字波形.png

C 系列模块将能够使用有限或连续数字输出任务对数字数据进行采样,使用外部时钟作为采样时钟。