Capture or Source Waveforms with More Than 32 Pins Using Digital Pattern Instruments

Updated Feb 26, 2024

Reported In

Hardware

  • PXIe-6570
  • PXIe-6571

Driver

  • NI-Digital Pattern Driver

Issue Details

Is it possible to use the NI Digital Pattern Source or Capture Waveform functionality to generate or read data that spans more than 32 pins? If so, how?

Solution

It is possible to use more than 32 pins in Capture or Source Waveforms. This can only be done for Parallel mapped waveforms, and you will have to use multiple instances of the NI Digital Create/Read/Write Waveform VIs. Each VI can only operate on a maximum of 32 pins as the API can only return 32 bits for source and capture per session, but multiple calls of the VIs allow you to configure more than 32 pins in total for the pattern.
 

For example, in order to create a Source Waveform spanning 64 pins, you need two instances of niDigital Create Source Waveform and two instances of niDigital Write Source Waveform, as shown in the snippets below:

Digital Snippet Source.png
Digital Snippet Broadcast.png

All VIs should have the same waveform name. For the Create Source Waveform VIs, the first pin list has a Pin Group corresponding to the first 32 pins, and the second pin list has a Pin Group for the last 32 pins. For the Write Source Waveform VIs, the data being written to the first and last pin groups is split among the two waveform data inputs. This will cause the proper data to be generated across all of the pins when you burst your pattern. Note that you cannot interleave pins that span multiple devices, i.e. you cannot address some channels on device 1, some channels on device 2, then more channels on device 1 in that order.

There is also the need to use Tclk to synchronise the burst pattern between sessions:
Teams_Sjr76QNEwp.png
 
 

Additional Information

A similar process can be used to execute Capture Waveforms on more than 32 pins, using multiple Create Capture Waveform and Fetch Capture Waveform VIs. You will have to combine the data sets retrieved from the Fetch Capture Waveform VIs