Hiho, ich möchte einen Atmega8 und einen Tiny45 zusammenschließen und muß mir dafür ein Busprotokoll ausdenken über 2 Kabel - also eine Art TWI. Leider jedoch bin ich auf der Atmega8 Seite an zwei Pins fest gebunden (PD6/AIN0) und (PD7/AIN1). Um Daten vom Atmega8 an den Tiny zu senden, wird es weniger kompliziert: Takt über eine Leitung und diese via Interrupt am Tiny abgreifen und mit der zweiten Datenleitung vergleichen. Jetzt zu meinem eigentlichen Problem: Wie bekomme ich denn Daten vom Tiny zum Atmega?! Sollte ich dies über ein klassiches I2C laufen lassen?! Sprich: der Atmega sendet einen Befehl zum lesen und der Tiny antwortet übernimmt die Datenleitung und antwortet. Dies bringt mir aber schon wieder ein neueres Problem, an dem Tiny werden Tasten angeschlossen, mit der obigen Variante (dem klassichen i2c) müsste ich meinen Tiny in sehr "kurzen" Abständen abfragen um auch jeden Tastendruck mitzubekommen. 1.) Meine zweiter überlegung wäre auch die Clock Leitung an den Tiny zu übergeben. Nun hänge ich ja am Atmega am Analogcomparator, welcher mir einen Interrupt auslösen kann, also beim Senden von: Atmega zu Tiny > Comparator aus > Leitungen auf Ausgang > Daten senden > Comparator ein Tiny zu Atmega > Leitungen auf Ausgang > Daten senden > Int via AC > bei jedem Int die Datenleitung vergleichen. 2.) Oder, nach dem vom Atmega gesendet wurde die Datenleitung auf Comparator umstellen. Dort dann mit dem Tiny ein Puls geben, sobald etwas zu tun ist. Und der Atmega ließt dann gleich aus und funktioniert wieder als Master!? Wie stelle ich sowas am dümmsten an?!
Für 3 Tasten lohnt sich eigentlich kein extra MC. Ein Protokoll selber zu entwickeln ist nicht einfach. Hier mal ein fertiges Protokoll: Beitrag "mehrere MC seriell über Datenbus verbinden (1Draht)" Der ATmega8 sollte durch den ATmega88 ersetzt werden (Pin-Change-Interrupt). Peter
Peter Dannegger schrieb: > Für 3 Tasten lohnt sich eigentlich kein extra MC. Es sind ja nicht nur die Tasten, der Tiny übernimmt berechnungen die ich vom Atmega8 abwenden will / muß. Peter Dannegger schrieb: > Der ATmega8 sollte durch den ATmega88 ersetzt werden > (Pin-Change-Interrupt). Leider nicht möglich, die Schaltung steht bereits und die Atmegas liegen schon in größerer Stückzahl vor. Peter Dannegger schrieb: > Ein Protokoll selber zu entwickeln ist nicht einfach. > Hier mal ein fertiges Protokoll: > Beitrag "mehrere MC seriell über Datenbus verbinden (1Draht)" Vielen Dank für den Link, ich lese mich da mal ein.
Ich kann Peter da nur zustimmmen. 2 Controller sind in 99% aller Fälle zu viel. Es gibt einen einzigen Fall, den ich kenne, in welchem 2 Mikrocontroller gerechtfertigt sind. Das ist wenn ich schnell verdammt viel Daten verarbeiten muss. Das wäre z.B. bei einer Audiocodierung oder Ähnlichem der Fall. Wenn der Hauptcontroller mit 98% ausgelastet ist - dann kann man noch einen anderen µC dazu nehmen. Ansonsten ist das pure Verschwendung und ein sehr beliebter Anfängerfehler.
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.