Quadrature decoder

Quadrature decoder

Zebra Rapixo CoF features 4 quadrature decoders. They are used to decode quadrature input received from linear or rotary encoders with a quadrature output. A rotary encoder is a device that provides information about the position and direction of a rotating shaft (for example, that of a conveyor belt); a linear encoder is a device that provides information about the position and direction of a moving sensor along a scale. Encoders with quadrature output transmit a two-bit code (also known as Gray code) on two pairs of LVDS wires for each change in position of the rotating shaft, or of the sensor along the scale. For a given direction, the encoder outputs the code in a precise sequence (either 00 - 01 - 11 - 10 or 00 - 10 - 11 - 01, depending on how the encoder is attached. If the rotating shaft, or sensor moving along the scale, changes direction, the encoder transmits the Gray code in the reverse sequence (00 - 10 - 11 - 01 or 00 - 01- 11 - 10, respectively).
Upon decoding a Gray code, the rotary decoder increments or decrements its 32-bit internal counter, depending on the direction of movement. You can configure which Gray code sequence represents forward movement and increments the counter; the reverse Gray code sequence will then represent the backward direction and decrement the counter. You can specify the direction of movement occurring when the Gray code sequence is 00 - 01 - 11 - 10, using MdigControl() with M_ROTARY_ENCODER_DIRECTION.
The rotary decoder supports encoder frequencies of up to 50 MHz. The encoders can only be connected to our LVDS auxiliary input signals. The LVDS receivers on Zebra Rapixo CoF can support, under most circumstances, RS-422 signaling; refer to the electrical specification of the LVDS auxiliary input signals in Appendix B: Technical information for requirements.
An external source must be used to power the rotary or linear encoder.
You can configure the rotary decoder’s settings, using the Aurora Imaging Library-Lite function MdigControl() with M_ROTARY_ENCODER..., or by modifying the DCF file with Aurora Imaging Capture Works.