-
-
Erfahrener Benutzer
Robotik Einstein
Da es hier nur um zwei Stück ging, wäre die einfachste Lösung für die kleinen (<ATmega64) wohl die serielle Schnittstelle, also wie der OP schon im Hinterkopf hatte, nur macht es natürlich wenig Sinn, die seriellen Daten auf ein und derselben Platine oder zumindest in unmittelbarer Nähe erst mit einem MAX auf V24-Pegel zu wandeln und dann gleich wieder auf TTL zurück, da verbindet man dann RxD des einen Atmel mit TxD des anderen, also über Kreuz. Dann braucht man nur noch für beide UARTs die gleiche Baudrate und sonstigen Parameter einzustellen und kann fröhlich hin und her senden. Schneller geht's mit SPI, nur ist der meist mit dem ISP-Stecker belegt, es bedarf also zusätzlicher Logik, um zwischen Kommunikation und Programmierung umzuschalten. Ab dem ATmega64 kehren sich die Verhältnisse um; da wird RxD und TxD des ersten UARTs zum Programmieren benutzt, leider aber auch der SPI-Clock, so dass man während des Programmierens beide AVRs lahm legen muss, da sonst SCK des SPI-Masters und der Clock des Programmeres kollidieren würden. Im einfachsten Fall trickst man das mit einem Widerstand hin, ansonsten nimmt man ein bisschen HCTTL-Logik, die bei aktivem Programmer-Reset den Bus entsprechend umschaltet. Ich habe für einen ATmega eine Umschaltung des 1. UARTs zwischen RS485 und ISP-Programmierung gestrickt, besteht aus einem ganzen 74HC00. Bei Interesse stelle ich den Schaltungsausschnitt auf meine Homepage, ist aber wirklich nicht spektakulär.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen