I have a S32K144EVB-Q100 board that has a MCZ33903 SBC that supports LIN. I would like to use it in an application, but I cannot seem to make the LIN example (Lin_Lpuart_MasterFrameTransfer_S32K144) work. It always ends with a timeout and the T_LinStatus remains in LIN_TX_BUSY. If I look at the LIN_TX line going to the SBC, I can see the sync and the break field get transmitted, but it never transmits the PID.
In the code, the LinCurrentState->CurrentNodeState gets set to LPUART_LIN_IP_NODE_STATE_SEND_SYNC but the Lpuart_Lin_Ip_FrameIrqHandler newer gets called afterwards.
I am assuming that no external connections are needed as there's nothing written in the description file.
Does anyone know what might be causing this?
I am using S32DS 3.5 and S32K1_S32M24X Real-Time Drivers Version2.0.0.
Hi Tereza,
seems you must have some older board, probably FRDMPK144, where MCZ33903 is used. On
new one simple TJA1027 is used as LIN transceiver. RTD demo does not cover MCZ33903 and seems you will need to enable internal LIN transceiver & LIN termination to make example functional.
Below AN could help I think,
https://www.nxp.com/docs/en/application-note/AN4770.pdf
BR, Petr
Hello,
I found another one that should have TJA1027, but the problem is the same
the break and sync get sent, but nothing else and the example results in timeout.
I cannot find the schematic for the SCH-29248 REV A board, but it's visible that the TJA1027 is there
Hi Tereza,
unfortunately I do not have revA schematic, try revB, it would be similar, https://www.nxp.com/webapp/Download?colCode=S32K144EVB-SCH-29248-RB
Still this looks some very old board, probably with preproduction device. I can recommend to get some new one.
Anyway you need to power board with external 12V so TJA1027 will be powered, and be sure its /SLP pin is held high so transceiver is in Normal mode.
BR, Petr