From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

NI-9403: Acheiving maximum 7us update rate

The NI-9403 module has an update rate of 7us, so in theory it should be able to output a clock period of 2*7us=14us or 71kHz.  I have a simple program which inverts the boolean input to a single NI-9403 channel, enclosed in a continuous while loop (no timing functions or single-cycle loops). However, I cannot get more than 38kHz out of the module.  Without disabling arbitration, is there a way to get to a higher data rate?

0 Kudos
Message 1 of 4
(2,864 Views)

Hi npol2, 

 

Why are you multiplying by 2 for the maximum update rate in your equation? The update rate is measured in S/s when outputting from a single channel.

Adena L.
Technical Support Engineer
National Instruments
0 Kudos
Message 2 of 4
(2,826 Views)

A square wave requires 2 samples per period.  

I ended up reconfiguring the system to work with 9401 modules instead, which would support the required clock rate

0 Kudos
Message 3 of 4
(2,807 Views)

Sounds good! 

 

For some more information, I noticed in the datasheet for the 9403 that the maximum update rate is only valid when the module is used in a cRIO system.In other systems, things like driver software and system latencies can impact the update rate. In your case it sounds like you are doing software timing with the boolean inside a while loop. The output is then only able to update as quickly as your while loop can iterate. 

0 Kudos
Message 4 of 4
(2,793 Views)