This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS570LS1224: Configuration problems of LIN Rx Pin

Part Number: TMS570LS1224
Other Parts Discussed in Thread: HALCOGEN

Hello,

I am using the TMS570LS1224 with the TMS570x Launchpad and have some issues with the LIN Rx Pin of the µC.

If we connect the LIN Tx and Rx to a LIN Transceiver, and have a LOW signal on the 12V bus wire, we get a LOW signal on the Rx pin of 2.0V. The HIGH signal is fine on 3.3V.

I suspected a wrong configuration of the LIN Block.

I read out the LIN config with the halcogen function "linGetConfigValue(&reg, CurrentValue)" see following screenshot of the LIN config registers.

Register GCR1 says: LIN mode enabled (bit 6) and LIN slave mode (bit 5)

Register FUN/PIO0 says: LINRX is the receive pin (bit 1), LINTX is the transmit pin (bit 2)

Registers seems to be configured correctly for me.

After that I analyzed to LIN RX port on the Evalboard standalone. No mather of the configuration (pull up, pull down, open, input, output, gio, lin) it seems that the RX input is pulled high with a 80R equivalent. I verified that with the following testsetup. As you can see, the calculated currents are very high, whereas the datasheet mentions only 20µA (Data Sheet TMS570LS1224 chapter 4.3.1.8 LIN)

So far my investigations on the above described LIN input behaviour I found on three evaluation boards.

Please give me some assistance to solve this issue.

Thanks

Daniel

  • If we connect the LIN Tx and Rx to a LIN Transceiver, and have a LOW signal on the 12V bus wire, we get a LOW signal on the Rx pin of 2.0V. The HIGH signal is fine on 3.3V.

    The RX low level should be < VIL. How do you wire the MCU and LIN transceiver? The LIN node acts as open-drain, so the LIN bus requires a pullup resistor. The pullup resistor values are different for the master and slave nodes. The master node requires an external pullup resistor and diode. The typical value seen is 1 kohms in series with a diode connected to the battery voltage. The typical pullup value of the LIN slave is 30 kΩ, and in all modern LIN transceivers, this is integrated within the IC, so no external pullup is necessary in the slave configuration.

    No mather of the configuration (pull up, pull down, open, input, output, gio, lin) it seems that the RX input is pulled high with a 80R equivalent.

    The TX and RX have internal pull-up (20uA). The  registers PO1~PO8 are used when the TX and RX pins are configured as GIO pins (PO0 register is 0x0). The pull-up is equivalent to 165kohms.

  • The RX low level should be < VIL. How do you wire the MCU and LIN transceiver? The LIN node acts as open-drain, so the LIN bus requires a pullup resistor. The pullup resistor values are different for the master and slave nodes. The master node requires an external pullup resistor and diode. The typical value seen is 1 kohms in series with a diode connected to the battery voltage. The typical pullup value of the LIN slave is 30 kΩ, and in all modern LIN transceivers, this is integrated within the IC, so no external pullup is necessary in the slave configuration.

    This is our connection between the MCU and LIN transceiver:

    We use the Infineon TLE8457DSJ in slave configuration. This IC has the mentioned slave-pullup integrated.

    The TX and RX have internal pull-up (20uA). The  registers PO1~PO8 are used when the TX and RX pins are configured as GIO pins (PO0 register is 0x0). The pull-up is equivalent to 165kohms.

    Our measurements showed a different result. As described in the opening post, we see a 80R pullup and with an current of a mA-range.

  • If you drive the MCU LIN TX to logic LOW, the transceiver generates a dominant level on the LIN BUS, the MCU should read back the signal on the LIN RX as LOW. if you drive the MCU TX pin to HIGH, the transceiver sets the LIN BUS to the recessive level, and  MCU LIN TX is pulled to HIGH.

    I don't have LIN transceiver for testing this moment. Try to get one sometime next week.