Skip to main content

Arduino Interface

State of the part

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

Arduino_Interface.svg

Layout

Arduino_Interface_Fritzing.svg

Addresses

0x0001 is used for communication in both directions

Software

See also Operating System.

Arduino code

Bootloader code