Salut,
am Freaky Friday ist mir eine Idee gekommen, die ich gerne diskutieren möchte:
Wäre es sinnvoll, einen Arduino zu konstruieren, welcher den Mega Footprint verwendet, aber statt eines ATMEGA2560 drei ATMEGA328 einsetzt?
Der erste ATMEGA328 würde wie ein normaler Helvetino angeschlossen, die beiden anderen würden die nachfolgenden Pins verwenden. Alle drei CPU wären via I2C verbunden, die Reset via Oder-Gatter zusammengelegt, so dass eine gemeinsamer Reset sowie ein Einzelreset ausgelöst werden kann. Alle CPU würden den gleichen Quartz verwenden, so dass sie synchron laufen. Die Programmierung sollte über einen FOCA Anschluss erfolgen, wobei die jeweilige CPU über einen Schalter gewählt wird.
Aufgrund des beengten Platzes müsste auf die SMD Version der CPU zurückgegriffen werden, was aber kein so großes Problem sein sollte. Ich habe versucht, das Board mit DIL zu bauen, aber dann wird es zu eng für das Routing.
Den direkten Vorteil, den ich sehe ist, dass ich drei Aufgaben eine Projektes leicht parallelisieren kann und dass ich drei unabhängige Interrupthandler habe. So könnte ich mir vorstellen, mit der ersten CPU die Grafikausgabe zu steuern, die zweite CPU mit der Steuerung von Steppern/Servos zu beschäftigen und mit der dritten CPU die Sensoren auszulesen. Und über I2C kann ich die Prozesse synchronisieren. Da am Ende noch einige Pins frei sind, könnte man damit auch die CS Signale von einem SPI Bus realisieren und so die CPU zusammenschalten.
Bevor ich mich nun an das Design setze, wollte ich erst einmal fragen, ob so etwas überhaupt sinnvoll ist.
Ciao, Mathias