Make a Differential TTL Quadrature Encoder Work on Single-Ended TTL Input

Updated Apr 5, 2023

Reported In

Hardware

  • NI-9401
  • NI-9402
  • NI-9403
  • NI-9411

Issue Details

I have a quadrature encoder (Sick DBS36E-S3AP02500 with 5V TTL outputs) connected to the counter input of a NI-9401 C Series 5V/TTL Digital Module. The counter counts correctly most of the time but does not reset to zero on the index pulse.

The encoder is wired directly to the NI-9401. The A, B (and Z signal if applicable) wires are connected to the NI-9401, the A-, B-, (Z-) signal wires are not connected to the NI-9401.

Solution

The encoder outputs a differential TTL signal whereas the NI-9401 expects a single ended one. Connecting only one of the two wires of a differential connection pair might work but there will be sporadic strange counting behavior due to signal noise and level drifts.

There are three possible solutions to the issue described above:
  • Use a single-ended encoder instead of the differential one.
  • Use a module that features differential TTL input like the NI-9411 instead and fully wire the encoder's differential signal pairs to it.
  • Use a signal converter to convert the differential TTL signals to single-ended TTL ones.

Additional Information

Single-ended TTL signals are referenced to ground, and prone to signal errors from induction.
Differential TTL signals are referenced to themselves using a pair of wires, and are preferred for long-distance signaling and signaling in electrically harsh environments.