SLVSE03B April 2019 – February 2021 TPS929120-Q1
PRODUCTION DATA
The FlexWire is a UART-based protocol supported by most microcontroller units (MCU), Each frame contains multiple bytes started with a synchronization byte. The synchronization byte allow LED drivers to synchronize with master MCU frequency, therefore saving the extra cost on high precision oscillators that are commonly used in UART / CAN interfaces. Each byte has 1 start bit, 8 data bits, 1 stop bit, no parity check. The LSB data follows the start bit as Figure 7-10 described. The FlexWire supports adaptive communication frequency ranging from 10kHz to 1MHz. The protocol supports master-slave with star-connected topology.
The FlexWire is designed robust for automotive environment. Once the slave device receives a communication frame, it firstly verifies its CRC byte. Only when CRC is verified, the slave device sends out response frame and clears the watchdog timer. In addition, if one communication frame is interrupted in the middle without any bus toggling for a period longer than timeout timer T(FLTIMEOUT), the TPS929120-Q1 resets the communication and wait for next communication starting from synchronization byte. It is also required for idle period between bytes within T(FLTIMEOUT). The timeout timer T(FLTIMEOUT) is programmable by configuration register CONF_FLTIMEOUT. TI recommends using a longer timeout setting for low baud rate communication to avoid unintended timeout and using a shorter timeout setting for high baud rate communication.
If communication CRC check fails, the TPS929120-Q1 ignores the message without sending the feedback. The master does not receive any feedback if the communication is unsuccessful. In this case, the communication can be reset by keeping communication bus idle for T(FLTIMEOUT) , which forces the TPS929120-Q1 to clear its cache and be ready for new communication.
FlexWire supports both write and readback. Both write or readback communication supports burst mode for high throughput and single-byte mode. Figure 7-11 describes the frame structure of a typical single-byte write action. The master frame consists of SYNC, DEV_ADDR, REG_ADDR, DATA and CRC bytes. Once CRC is verified, the slave immediately feeds back ACK byte. Figure 7-12 describes the frame structure of a typical single-byte readback action. The master frame consists of SYNC, DEV_ADDR, REG_ADDR, and CRC bytes. Once CRC is verified, the slave immediately feeds back DATA and ACK bytes.
BYTE NAME | LENGTH (byte) | DESCRIPTION |
---|---|---|
SYNC | 1 | Synchronization byte from master |
DEV_ADDR | 1 | Device address bit, r/w, broadcast, burst mode |
REG_ADDR | 1 | Register address |
DATA_N | Variable (1, 2, 4, 8) | N-th byte data content |
CRC | 1 | Cyclic redundancy check (CRC) for DEV_ADDR, REG_ADDR and all DATA bytes |
STATUS | 1 | Acknowledgment (Return FLAG0 register value) |