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.

MSPM0L1117: MSPM0L1117:Comparison and Verification of Transmitted and Received LIN Data

Part Number: MSPM0L1117

Hi,Experts

My client is currently debugging the LIN system on the MSPM0L.
According to the OEM specifications, we need to receive the data and checksum
transmitted by the LIN slave and verify for errors.

The customer modified the sample LIN_responder so that, after sending 1 byte of response data,
it would receive and compare the data if the RxFIFO is not empty.
However,they are currently unable to confirm that transmission and reception are working properly.

[Question]

Is this kind of operation even possible in the first place ?
If so, could you please tell me how to implement it ?

[Problem Description]

 1.In the Tx interrupt handler LIN_Responder_transmitMessage(), before the next transmission,
   the system first checks for data using DL_UART_Extend_isRxFIFOEmbpy(),
   then receives data via DL_UART_Extend_receiveData(),and when comparing it to the data
   transmitted previously, the received data shows unexpected values. It does not appear to be related data.

 2. Overall, LIN communication is functioning normally.
    The master is successfully receiving responses from the responder.

[Changes to the source code]

 lin_config.c 
 lin_config.h 

The customer has made some changes, but the basic structure remains the same.
   LIN_Responder_transmitMessageBitCheck();
   This function receives the transmitted data and compares it.
   It is currently commented out.

Best Regards,
Hidekazu

  • Hi Hidekazu,

    In LIN transmission frame, there is break signal and it will also be received by MCU UART-RX pin as 0x00 data.

    You may need to clear those unexpected bytes before you received data from RXFIFO.

    When you say the "the received data shows unexpected values", is the value has some byte shift from expected data, or it is totally unexpected data from transmission data?

**Attention** This is a public forum