Other Parts Discussed in Thread: HALCOGEN
Hello,
We are using the SCI1 and SCI2 for an application of varying length frame reception/transmission. We have an issue related to losing bytes when either receiving or transmitting data. We use the sci modules in interrupt mode. We have verified that the bytes that are sent to the cpu RX pins do indeed reach them, and the ones that come out of the cpu TX pin reach our receiver. However, there is an incoherence between the number of bytes coming in the cpu and the ones that we get in the receive buffer. Similarly, there is also an incoherence in the number of bytes that we send to the transmit buffer and the ones that come out of the cpu pins. We are effectively losing bytes "in" the chip. And the challenge is that it is not a constant issue, it may happen every 5 to 20 frame.
It seems that something is interfering with the receive/transmit process.
To fix that, we implemented the process by DMA. It does fix in part the receive issue, as it significantly reduce the number of times that we lose incoming bytes, but not the transmit as incomplete frames still often come out of the cpu.
Furthermore, we tested the application on the SCI4 port (which is usually used for another application) , without DMA, and it works seamlessly.
So our question is:
Is there a major difference in the way that the SCI/Lin ports work or are configured as compared to the SCI3/SCI4 ports, and which could cause the losing bytes problem. i.e are there any processes that could affect sci1/sci2 and not sci3/sci4.
Best,