Hello,
my customer use the AM437x IDK and is in the development phase with the 12MBaud soft UART on the AM437x PRU with the EnDAT interface and sees problem receiving data.
He uses the PRU and the EnDAT interface to receive asynchronous data. He send data with 100kHz from the 2nd PRU over the EnDAT interface for testing to the 1rst PRU. The EnDAT works in 8-times oversampling mode this means with 800kHz. He expects when sending 8bits to receive 64bits but he gets 128bits.
He evaluated the received bits and could see that between the correct bits some faulty bits were added. Attached you the results where find the 2 transmit bytes in different bit combinations (1 to 255) and the received data. The 2 bytes were send 2 times so that you see that the received bit combination is the same and not coincidence.
Here an example:
transmit 2 Byte 0xA3 0xA3,
expected receive 16 byte: FF 00 FF 00 00 00 FF FF FF 00 FF 00 00 00 FF FF
but actually received:
FF 00 00 00 FF 00 FF 00 00 00 FF 00 00 00 FF FF FF 00 FF FF FF 00 FF 00 00 00 FF 00 00 00 FF FF 00 00 FF FF
(the big numbers are the correct bits)
What could be the root cause?
Regards, Holger