Sensors for measuring linear or angular position may be considered in 2 groups – incremental and absolute. ‘What happens on power up?’ is a good test of which group a sensor belongs to. If the sensor has to do a calibration step to find its position – it’s incremental; if it doesn’t – it’s absolute. Most engineers still specify incremental position sensors because they think absolute versions might be too costly but, nowadays, absolute sensors don’t cost that much more. The proportion of absolute sensors is increasing because equipment and automation users are increasingly unwilling to wait for a protracted start-up routine.
In the 80s and 90s, many absolute position sensors gave a parallel output where the 1s and 0s of a binary value or Gray code were represented by a number of wires (often a ribbon cable) by high or low voltage. This parallel approach has died off because of its relatively high cost, size, complexity and reliability – especially in precision sensors. A 20bit parallel output sensor would need at least 20 individual signal wires. Not so bad with a single sensor but a nightmare in a robot, for example, where there are lots of sensors, motors and power lines.
Parallel interfaces have largely been replaced by Synchronous Serial Interface (SSI) where the 1s and 0s are fed in series (one after the other) along the signal wires. SSI is a well-established and widely used interface for industrial communications between a controller and sensor – especially for absolute position sensors. Importantly, the use of SSI is not restricted to a particular manufacturer or club of manufacturers and no membership or license fees are needed. It is – and, in the foreseeable future, is likely to be – the most widely used form of digital communications for absolute position sensors.
SSI – General
SSI is based on the widely used RS-422 hardware standard. This standard specifies the electrical characteristics of the signaling circuits, but is limited to defining signal levels. In other words, it defines the basic hardware but other specifics such as electrical connectors, pins and wiring, are open to the designer’s choice. The RS-422 circuit designs used by SSI allow data to be reliably and quickly transmitted over long distances in noisy environments without expensive or bulky electronics, cables or connectors. High data rates and long distances are achieved using balanced, or differential, signalling. Differential means when one line is high, the other is low and vice versa.
Fig 1 – Simplified RS422 DIAGRAM
SSI is described as a … deep breath…point to point, synchronous, serial communication channel for transmitting digital data. Phew. ‘Point to point’ basically means that it’s not a complex, multi-node bus or network system. ‘Synchronous’ means that the data transmission is synchronized using a clock signal. ‘Serial’ means it’s not parallel – so multiple bits of data are sent down the same wire. The data is transmitted between a ‘master’ (usually a controller) which sends out the clock signal and a ‘slave’ (usually an absolute position sensor) which generates the data/value.
RS-422 uses a nominal 0 to 5V signal levels and typically uses a cable made of 2 sets of twisted pair wires (one pair for data and one pair for clock signals) and a ground wire – as shown in Figure 1. While a double pair cable may be practical for many RS-422 applications, the RS-422 specification only defines one signal path and does not assign any function to it. Most SSI cable uses twisted pairs with a metal foil or mesh, as an electromagnetic shield, over each twisted pair and/or over the complete wire bundle underneath an overall cable sheath.
Generally, with SSI, data and clock transmissions over cable lengths of around 20m need little or no special consideration. Distances of 20m will cover most position sensor applications. At cable lengths of >20m it’s a good idea to keep cable lengths between position sensor and controller as short as practical. High data rates of about 10Mbits/second are readily achieved over cable lengths of 10 or 20m (with 24AWG cable) but as cable lengths increase above 20m, sensor data rates should be reduced as per Figure 2:-
Fig 2 – SSI Cable length versus Baud Rate Guidelines
The above data is based on 24AWG wire and cable lengths can be increased if the cable is beefed up to say 22 or 20AWG. Maximum cable length is also influenced by the tolerable signal distortion, local electromagnetic noise levels and differences in ground potential between the cable ends.
Relative to other interfaces, SSI’s technical features are:
- inexpensive due to
- low count of electronic components
- only 4 wires
- slaves or sensors use master’s clock and no need for precision oscillators
- widely available connectors and cables
- secure data output with possibility for error detection and parity signalling
- resilient to electromagnetic interference
- long cable lengths of up to 1000s of metres can be used
- easy electrical isolation between sensor and host
- synchronised data transmission to a clock signal
- high baud rates of up to l0Mbits/second
- flexible – the number of bits in a message is not limited to a defined message size
- multiple slaves can be connected to a common clock.
Engineers can sometimes get confused between SSI, RS-422 and RS-485. SSI is the serial communications method which uses RS-422 hardware standards. RS-485 is a more complex multi-node or bus system. RS-422 cannot implement a true multi-point communications network since there can be only one driver on each pair of wires, however one clock signal can be used by more than one sensor..
SSI Clock & Data Transmission
The master (or controller) controls the clock signals and the slave (the position sensor) transmits the data/value. When invoked by the master, the data is clocked out from the slave’s output – usually a shift register. The master and slave are synchronized by the clock. Data is transmitted using balanced or differential signals. Basically this means the CLOCK and DATA lines are twisted pair cables. The clock sequence is triggered by the master when a data/value is required. Different clock frequencies can be used ranging from 100kHz to 2MHz and the number of clock pulses depends on how many data bits are to be transmitted. The protocol for the data transmission is based on three different subsequent parts (Leading-”1″ -> Data-Bits -> Trailing-“0”). This helps ensure reliable and secure data transmission, free from any hardware or software errors.
The SSI is initially in the idle mode, where both the CLOCK and DATA lines stay high and the slave keeps updating its data. Keeping the CLOCK and DATA outputs high whilst idle is useful in detecting broken wire contacts.
As can be seen in Figure 3, the first falling edge after Tmu starts the Read Cycle and the transfer of data. Each rising edge of the CLOCK transmits the next data bit of the message, staring with Dn-1. After the last rising edge of the clock sequence, the data line is set by the Error Flag (if supported) for the period Tmu – 0.5Xt. After Tmu, the latest position data is now available for transmission in the next Read Cycle.
Fig 3 – SSI timing diagram
- T: Clock Period (1/T = 100 kHz to 2 MHz)
- Trc: Read Cycle time: This is defined as (n x T) + (0.5 x T)
- Tmu: Message Update time. The time from last falling edge of clock to when new data is ready for transmission
- Timg: Intermessage Gap time. Must be >Tmu otherwise position data will be indeterminate
- n: The number of bits in the message (not including the Error Flag).
After n-CLOCK pulses (rising edges) the data value has been transmitted. With the next CLOCK pulse (rising edge n+1) the sensor output goes to low level. If it is high even after n+1 rising edges then it means that the interface has a short circuit.
Readings from multiple slaves (up to three) can be enabled at the same time by connecting them to a common clock. To avoid ground loops and to electrically isolate the slave, complete galvanic isolation by opto-couplers is needed.
Multiple transmissions of the same data from the position sensor happens only if there is continuous clocking even after the transmission of the least significant bit. The initial sequences are the same as that of the single transmission. In the idle state the CLOCK and DATA lines are high but with the arrival of the first falling edge the transmission mode is evoked and the similarly the data bits are transmitted sequentially starting with the most significant bit with every rising edge of the CLOCK. The transmission of the least significant bit means that the transmission of the data is complete. An additional rising edge pushes the data line to low, signifying the end of transmission of the data.
If there are continuous clock pulses even after the completion (i.e. the next clock pulses comes in time tw (< tm )) the value of the slave is not updated. This is because the monoflop output is still unsteady and the value in the shift register still contains the same value as before. So with the next rising edge, i.e. after the (n+1) rising edge, the transmission of the same data continues and the MSB of data transmitted earlier is re-transmitted. Then, it follows the same procedure as earlier transmissions, leading to multiple transmissions of the same data. The value of the slave is updated only when the timing between two clock pulses is more than the transfer timeout. Multiple transmission can be used to check the data integrity. The two consecutive received values are compared, transmission failures are indicated by differences between the two values. The transmission of data is controlled by the master and the transmission can be interrupted at any time just by stopping the clock sequence, for a period longer than the time out period. The slave automatically will recognize the transfer timeout and go into idle mode.
Some position sensor manufacturers have added additional information to the basic SSI protocol, in various efforts to ensure high integrity data transmission. For secure transmission and to indicate the end of data transmission CRC bits or parity bits can be added. They are used for identifying if the data from the position sensor has been correctly interpreted and received.
Sensors using SSI
The more observant readers may have noted that this article has used the term ‘sensor’ rather than the more usual ‘encoder’. This is deliberate because encoders are often, but incorrectly, thought of as optical devices, producing data in proportion to a measured position. In recent years, a new generation of non-contact encoders – especially absolute encoders – are not optical but rather inductive (sometimes referred to as ‘incoders’). Such devices use printed circuit board transformer constructions rather than the bulky and expensive transformer windings used in traditional inductive position sensors such as resolvers, LVDTs, RVDTs or synchros. These traditional devices have been the engineer’s preferred choice in many harsh environments for many years due to their non-contact, reliable operation and excellent safety record. Incoders use the same basic physics of their traditional counterparts and so, unsurprisingly they are just as reliable and robust but are more accurate and easier to use. Their ease of use partly comes from the fact that they use SSI as a preferred communications methods. They have gained a significant market share in through bore, bearing-less formats favoured in high reliability, precision sensor applications in the defence, medical, aerospace and industrial sectors.
Fig 4 – Inductive encoders or ‘IncOders’ – are bearingless, precision, non-contact angle encoders