Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

NI 9401 undesired digital input level

Hi NI community,

 

I am using NI 9401 on cRIO-9074. According to the datasheet of NI 9401, the Low level and High level are 0.8V max and 2V min, respectively. It means it should work well in conditions of noise tolerate about 500mV (peak-peak of noise is 500mV max). After incorrectly reading pulses from a motor driver, I tried to set up a NI 9263 (analog output) to check the input levels of NI 9401. It resulted that the state was ON at 1.4V and OFF at 1.3V. Could you please explain why I got the result and how can I mitigate it. 

0 Kudos
Message 1 of 7
(2,920 Views)

Digital logic often has an "undefined" region.

 

On your device, the max value that's certain to register as "low" is 0.8 V, the min value that's certain to register as "high" is 2.0 V.

 

Anywhere in between 0.8-2.0 V is not strictly defined.  Your observations around 1.3 and 1.4 volts are neither guaranteed nor particularly surprising.

 

500 mV sounds like a lot of noise -- I'm not an expert at noise suppression but I'd advise you focus first on noise reduction and then perhaps on digital filtering (to make your task more noise-immune).

 

 

-Kevin P

 

ALERT! LabVIEW's subscription-only policy came to an end (finally!). Unfortunately, pricing favors the captured and committed over new adopters -- so tread carefully.
0 Kudos
Message 2 of 7
(2,851 Views)

Thank you, Kevin.

It seems there is nothing I can do with NI devices. I thought it must have such wide hysteresis regions.

Thanks again for your advice!

0 Kudos
Message 3 of 7
(2,837 Views)

If you can drive your high value a bit higher (you didn't say what the nominal high value in your application is) you might be fine - 0V +- 0.5V will always be less than 0.8V, and for example 3.3V +- 0.5V is also always above 2V...


GCentral
0 Kudos
Message 4 of 7
(2,760 Views)

I do not think that there is a problem with the input of the 9401. 

 

To me, it looks as if this interface line is currently setup as an output (the 9401 has bidirectional interface lines). If this is the case,  the output of your external device is connected to an output of the 9401. There is risk of destroying one or both of your devices since the output of your external device may be forced to sink more current than it is designed for, or the 9401 can be damaged due to excessive current drawn from the output lines.

Anyway, the signal levels you measure on the 9401 will never be correct when the lines are set up as outputs. 

So first disconnect your device from the 9401, and check whether the interface lines of the 9401 are configurated as outputs. If this problem occurs even without any configuration, check the manual for the status of the interface line after reset/power up of the 9401. 

0 Kudos
Message 5 of 7
(2,745 Views)

@Buechsenschuetz wrote:

To me, it looks as if this interface line is currently setup as an output (the 9401 has bidirectional interface lines). If this is the case,  the output of your external device is connected to an output of the 9401. ...

Anyway, the signal levels you measure on the 9401 will never be correct when the lines are set up as outputs. 

 


The OP details how the test was carried out - the input value was varied using an Analog Output module with the voltage level within the undefined region (0.8V - 2.0V) and the input value measured with the 9401 changed. This is unsurprising because the input value in that range is not guaranteed...

 


@Buechsenschuetz wrote:

So first disconnect your device from the 9401, and check whether the interface lines of the 9401 are configurated as outputs. If this problem occurs even without any configuration, check the manual for the status of the interface line after reset/power up of the 9401. 


The default power-on state of the 9401, as given in the specifications, is as an input. I suspect this is typical for bidirectional devices, to avoid precisely the problem you're describing.

Edit: I'm bemused to find that reading from an output-configured 9401 terminal will at least compile on FPGA...


GCentral
0 Kudos
Message 6 of 7
(2,735 Views)

Yes, I would have been surprised if the power-on state of the NI device would have been different from setting all lines as inputs - as mentioned, setting them to outputs might cause damage. I just mentioned this since I did not know whether the tests of the OP were performed before or after application-specific configuration of the board. 

 

If the high and low output levels of the external device do not show distinct difference, you should check the output device. There is hardly any digital device which does not expect TTL-compatible signal levels (or even true TTL-level - there might be minor differences), and if the difference between high and low level is just 0.1V you will hardly find any device working with these signal levels. I am sure the designers of the output device know about that. 

0 Kudos
Message 7 of 7
(2,723 Views)