SCI in 8 bit modes send the 9th (recessive) bit

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

SCI in 8 bit modes send the 9th (recessive) bit

432 Views
igorpepelyaev
Contributor II

Hello,

I use S12ZVML uC and I have a stange issue with SCI.

SCI is used for LIN communication together with integrated LIN transceiver.

SCI is configured for 8 bit data Format (SCI0CR1_M = 0)

Communication works OK but with oscilloscope, I see that after every transmitted byte I have an additional recessive bit.

It looks like SCI transmitter always sends 11 bits (start bit, 8 data bits, 1 recessive bit, stop bit).

Does SCI transmitte always sends 11 bit? (Although SCI is configured for 8 data bit operation)

Best regards

Igor

0 Kudos
2 Replies

314 Views
danielmartynek
NXP TechSupport
NXP TechSupport

Hi,

I have just try that on my side, but the signal looks as expected.

LIN.png

Can you attach your code?

Regards,

Daniel

0 Kudos

314 Views
igorpepelyaev
Contributor II

Hello Daniel,

Thank you for fast responding.

I have just found out what is the problem.

Our communication is driven by receive Interrupt (This is necessary for LIN communication).

As soon as we have receive Interrupt, byte is loaded in SCI data register.

It seems to be up to one bit time delta between byte is loaded in SCI data register and start bit appears on bus.

I think because of this, in reference manual section 16.4.5.2 "Character Transmittion) is said:

1) Poll the TDRE flag

2) If the TDRE flag is set, write the data to be transmitted to SCIDRH/L

Unfortunately it is not possible for LIN communication (This communication should be driven by receive Interrupt to be able to stop commnication in case of any problems). As a result I have up to 1 bit between bytes.

Regards,

Igor

0 Kudos