I hope to find some answers or pointers to a boggling task of mine:
Having an Arduino DUE that I want to push to its serial limits, I came up with the idea of hooking it up to my rPi via serial at least at 921600 baud.
Technically both seem capable of that. A loopback test with the rPi was successful up to 921600 and I've managed to get a "good" quality transmission up to 576000 bps already (error-rate should be around 1,3%), but anything higher gets problematic.
DebugConsole, CuteCom and minicom don't have support for any speeds in-between, so either 921600 works or it doesn't
minicom supports 1.000.000 baud, but this would still mean a ~5% error-rate, which is according to my calculations and tests, but they are in question here as well ...
From the Atmel Doc I've got
BaudRate = MCK ⁄ CD × 16
From that I've derived that with the 84MHz Due a baudrate of 1.050.000 would be the actual rate I should aim for, as CD must(?) be an INT.
1050000 = 84000000 / 5 * 16
- Is my assumption of an optimal 1.050.000 baudrate right?
- Is it possible to use a different clock for the baudrate generator than the 84MHz?
A Clock of 14,7456MHz should be optimal as it is equal to 921600 * 16.
I am using TXD/RXD1 on the Due.
The Due is transmitting on 921600 but the data is scrambled due to the errors.
In case somebody is wondering, my hope is that it is easier to adjust the arduino to 921600 baud than it is to setup a tool and configure the rPi to support 1050000 baud - but I am working both ways, only that with the rPi I know what to do ..