mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega8 <> Tiny45 - Busprotokoll ausdenken


Autor: Rene K. (draconix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?!

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Rene K. (draconix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Lehrmann Michael (ubimbo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.