PSI5 serial protocol decoding

PSI5 (Peripheral Sensor Interface 5) is a standardized serial communication protocol commonly used in the automotive industry for connecting sensors and actuators to an Engine Control Unit (ECU) or other control systems in vehicles.

PSI5 is a two-wire interface using the same lines for power supply and data transmission. Data transmissions and synchronization control from the controller to the sensor are accomplished via modulation of the supply voltage. Data transmissions from the device back to the controller are accomplished via modulation of the current on the power supply
line. 
 

block diagram displaying the PSI5 bus topology and packet timing diagram

Basic PSI5 bus topology


PSI5 can operate in multi-drop mode where multiple sensors are ganged onto the same physical bus, this requires the PSI5 bus to operate in synchronous mode where the controller provides synchronization pulses on a periodic basis by briefly raising the supply voltage. Upon reception of a synchronization pulse, each sensor delays for a period of time corresponding to its allocated time slot before transmitting data.

PSI5 can also operate in an asynchronous mode if only a single sensor is attached to the bus. In this scenario, the controller does not provide the synchronization pulses and the sensor is free to periodically transmit data when ready. The PSI5 decoder in the PicoScope software is able to decode both synchronous and asynchronous transfers.

The sensor outputs data by modulation of the current using Manchester II encoding. Data values are stored in transitions occurring in the middle of the bit time. The signal idles at the normal supply current. A logic low is defined as an increase in current at the middle of the bit duration. Likewise, a logic high is defined as a decrease in current back to idle at the middle of the bit duration. There is always a transition in the middle of the bit duration. If consecutive logic lows or highs are transmitted, a transition occurs at the start of a bit time.
 

Diagram displaying each data bit in a Manchester encoded frame example

Example Manchester encoded data frame


There are two data transmission speeds defined within the PSI5 specification for sensors. Either the nominal bit rate of 125 kbps or the optional higher bit rate of 189 kbps.

PSI5 data transmission frames are composed of the following: two start bits, a data payload (between 10-28 bit length), and error detection bit(s) (either 1-bit parity or a 3-bit CRC). Data words are transmitted least significant bit (LSB) first and CRC bits are transmitted MSB first.
 

PSI5 packet structure diagram including start, control, data and parity bits

PSI5 Packet Structure

The PSI5 signal can be captured using a high-frequency current probe. Alternatively the current modulation resulting from data transfers on the PSI5 data line results in small voltage fluctuations in the order of millivolts owing to the power supply and wiring resistance, this can be captured for decoding and analysis using a standard passive x1/x10 probe or TA041 differential probe. Users might also find the resolution enhancement feature of the PicoScope software useful when capturing data as this feature has the capability to reduce noise.

PicoScope and differential probe capturing a airbag sensor PSI5 bus

Capturing PSI5 signals from an airbag sensor using a TA041 differential probe

Capturing and analyzing PSI5 communications with PicoScope

This guide will show you how to use the PSI5 decoder in the PicoScope software.

Captured PSI5 trace in PicoScope 7

PSI5 captured trace in PicoScope 7

Select Serial decoding from the tab on the left. If it doesn’t appear on the main page, select the More… tab and you’ll find it there.

Next, select PSI5 from the list of available protocols.

In the Configuration tab, select the corresponding PicoScope input channel for Data and provide the appropriate values for the relevant PSI5 fields.

In the Display tab, select the desired Graph and Table display format options to display PSI5 packets in the appropriate locations. 

Double-click a packet in the graph view to see the same packet in the table view, and vice versa, or use the zoom feature to focus on the appropriate areas of the decoder packets.

PicoScope 7 displaying decoded PSI5 trace with table and graph display

PSI5 captured trace in PicoScope 7

References

PSI5 specifications: 
https://www.psi5.org/specification

NXPA FXLS9xxxx Dual channel inertial sensor product data sheet: 
https://www.nxp.com/docs/en/data-sheet/FXLS9xxxx.pdf