Hallo, ich habe mir in den Kopf gesetzt, daß sich drei AVRs über einen 8-Bit-Bus mit einander unterhalten sollen. Jeder AVR soll an jeden anderen senden können. Die AVR sollen möglichst wenig Zeit mit der Arbitrierung verbringen, so nach dem Motto: Interrupt = Daten lesen, fertig. Also nix mit vorher großartig den Zugriff aushandeln müssen oder etwa dauernd eine Takt-Letung beobachten müssen. Google liefert Beschreibungen zu PCI, ATA, etc. Aber das wäre mit Kanonen auf Spatzen schiessen. ;-) Hat jemand ein Beispiel für einen Bus mit möglichst wenig Adress-/Befehlsleitungen, der die AVRs wenig belastet. Danke im voraus Jeremias P.S. Bitte keine Verweise auf SPI, TWI, UART oder sonstwas, was AVRs schon an Bord haben. Es soll halt was selbstgebasteltes sein.
>Es soll halt was selbstgebasteltes sein.
Ist das der einzige Grund? Welches Problem soll denn damit gelöst
werden?
ja und wo ist dsa Problem? Bsp. alle 8bit verbinden + 3 Adressleitungen. Wenn A mit B Sprechen will, schaltet er die B Leitung auf Masse, prüft ob keine andere Adressleitung low ist. und legt seine Daten für x usec an. Die Adressleitungen aber nie auf high stellen, sonst raucht es :)
Problem --- > was ist wenn C mit B Sprechen will.... das wird nicht erkannt!!! aber du willst es ja selbst machen :)
Schau dir mal die Arbeitsweise des alten parallelen 8bit SCSI Bus an. Das ganz alten asynchronen SCSI-1. Der mag als Inspirationsquelle ganz nützlich sein, insbesondere weil der Knackpunkt Busarbitrierung da vorkommt. Ein Verfahren mit dem sich die Teilnehmer darüber einigen, wer grad ran darf.
Hallo Andreas, Super Tipp! Sowas habe ich gesucht. http://www.stcarchiv.de/stc1999/07_scsi.php Danke Jeremias
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.