At the moment I am using two Arduino Due processors, one for all the control stuff and the other for managing the display functions. The two processors are connected via a byte-wide bi-directional parallel bus with a simple packet protocol that I devised to manage communications. This is OK but a number of architecture-specific issues arise:
- Fast though the byte wide comms channels are, they will probably struggle with the data rates needed to support pan adapter displays.
- I'm finding that there is rather a lot of additional code associated with splitting the work between two processors.
- The display processor is very underutilised and it is therefore something of a waste of good hardware. Arduino Dues are cheap enough but the reality is that everything can be done from a processing perspective with a single processor.
- It's proving difficult to get the parallel interface to work reliably. It's not clear why but it seems to be something to do with the way that power is managed on the Arduino Due processor boards.
Well things are changing. A new display interface board is soon coming to market that will permit proper "stacking" of all the boards. I have been working closely with the developer and it looks like this will solve the physical implementation issues. The problem with SPI resource management is still there and is a nuisance. However, I have access to all the code and it should be possible to find a fix. Not for the faint-hearted as it involves messing around in the drivers.
I would really like to get back to a single processor configuration if possible. My experience so far is that the dual processor solution creates more problems than it solves!
What with this and the PCB work in progress, it's unlikely that there will be much progress to discuss here for a couple of weeks.