Arduino Interface
This part is fully built, tested, integrated and in use. Participators: Ferdinand, Johannes K, Florian.
This board links an Arduino to the CPU. It consists of two 8 bit registers, one can be written by the CPU and read by the Arduino, the other written by the Arduino and read by the CPU.
Before reading or writing to the registers, the Arduino must check that busrequest
is not high to prevent simultaneous reading and writing. Note that the Arduino should not take longer than 4 instructions to check busreq
and finish reading or writing in order to support SaarCPU's highest clock frequency without missing interrupts.
A third register and some logic allows the Arduino to send an arbitray interrupt. Also to latches store if the cpu has written or read the registers. This prevents the Arduino form missing an access.
Schematics
Layout
Addresses
0x0001 is used for communication in both directions
Software
See also Operating System.