I have a custom board with 3 nRF52840 chipsets, 1 central module is connected to 2 side modules.
The central module communicates with each of the side modules using UARTE with HWFC enabled.
For the most part this is working nicely, however occasionally one of the side modules will receive junk data into its UARTE buffer, even though this was not what was sent.
For example:
Central Module Sent:
13, 00, 03, 02, 01, 20, 02, 02, 00, 0B, 04, 08, 00, 04, 03, 01, 32, 00, 02, 02, 08
Side Module Received:
D3, 17, 49, 20, 7F, BD, A1, B4, DC, A8, 7B, 5A, FB, CD, 2D, 5B, 9B, 9A, C9, 27, DD, C2, 9E, BE, ED, C1, 2A, 8F, 1B, 2D, 62, F2, D9, C7, 57, BF, 36, 06, 13, 2D, 47, D6, 58, 95, 5F, AD, 05, DC, 13, 00, 03, 02, 01, 20, 02, 02, 00, 0B, 04, 08, 00, 04, 03, 01, 32, 00, 02, 02, 08, 65, 61, 64, 65, 72, 0B, 03, 01, D4, 08, 00, 00, D6, 08, 00, 00, 04, 00, 00, 00, F8, 79, 00, 20, A4, 25, 04, 00, 28, 57, 04, 00, 50, 57, 04, 00, FF, FF, 00, 00, 00, 90, D0, 03, 00, 10, 01, 40, 11, 00, 04, 00, FD, 21, 04, 00, 10, 7A, 00, 20, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00
I can see that the message I sent is contained within the bytes received but it should be at the front not somewhere squashed in the middle.
Like I said this only happens occasionally so for the most part this is working, and it usually only happens on 1 of the side modules. The current solution for dealing with this (not really a solution more of a work around). Is to programmatically reset the module if this happens continually for 20 minutes..
I am sending a lot of data quite frequently.
I have 2 UART buffers statically sized at 300 bytes (utilizing the secondary buffer).. So with every UART transmission, 300 bytes of data is sent. the first 2 bytes of my messages dictate the size of the whole message to actually be used.
I am using 1000000 baud rate (I tried to slow down the baud rate and it didn't seem to fix the issue).
Any Help on this would be greatly appreciated
Regards,
David Hutchinson