www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bussystem "extrem"


Autor: Sebezahn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

folgendes, schon mal ansatzweise diskutiertes Problem: Ich muss mehrere
ATMELs zum kommunizieren zusammen schalten. Allerdings sind einige
Protokolle dafür nicht geeignet, denn ich brauche folgende
Voraussetzungen:

- Bussystem, "einfach" mehrere Atmels hintereinander
- Automatische Terminierung
- Automatische Meldung am Mastergerät mit ebenso automatischer
Adresszuweisung, (fast) beliebig viele Slave-Geräte hintereinander.
- Bidirektionale Kommunikation
- evtl. Hot-Swap-fähig (nicht zwingend erforderlich)

Die Schnelligkeit der Kommunikation ist dabei nicht ganz so wichtig,
wenige Bytes pro Sekunde reichen aus. Ich habe eine theoretische
Lösung, bei der zwischen jedem Gerät drei Kabel verbunden werden
müssen, außerdem "reichen" da zwei normale Ports und ein
Interrupt-Port aus. Nun meine Frage: Gibt es vielleicht für diese
Anforderungen schon eine fertige Lösung, die vielleicht sogar mit zwei
Datenleitungen auskommt? I2C scheidet wegen der benötigten
automatischen Adressvergabe leider aus...

Gruß
Sebezahn

Autor: Bernd Walter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Deinen I2C Ausschluss kann ich nicht verstehen.
Solange du nur programmierte Geräte hast kannst du selbstverständlich
dynamisch Adressen vergeben.

Beispiel:
Slave wird eingeschaltet und melded sich an den Master, welcher eine
feste Adresse hat und bittet bei Nennung seiner Seriennummer um eine
Adresse.
Gibt natürlich auch viele andere Wege.

2. Beispiel:
SMbus - in der aktuellen Version ist eine automatische Adressvergabe
definiert.

Autor: Sebezahn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

oh ok, das geht bei I2C? Die Informationen, die ich gelesen habe,
sagten immer aus, man müsse die Adresse von vorne herein festlegen.
Dann werde ich noch mal in dieser Richtung weiter suchen...

SMBus sagt mir gar nix, aber google.de spuckt da ja gewaltig viel aus.
Vielen Dank für die Anregung!

Gruß
Sebezahn

Autor: Jörg Maaßen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Sebezahn
Falls Du eine Lösung findest dann poste sie bitte hier.

Ich bin an einer Lösung sehr interessiert.

Gruß Jörg

Autor: Sebezahn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

das versteht sich ja wohl von selbst ;-) Erst mal habe ich mir BASCOM
bestellt, ich werde das wohl damit realisieren, die entstandenen Libs
kann ich gerne hier posten.

Gruß
Sebezahn

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du schon mal in Richtung CAN-Bus geschaut? Allerdings brauchst Du
da nen Tranceiver...

Autor: Bernd Walter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Spezifikationen zum SMbus findest du unter www.smbus.org.
Der smbus ist soweit ähnlich zum I2C, daß man die allermeisten I2C
Komponenten verwenden kann.

Die Adresse, die die Atmels verwenden ist die, welche du ins
entsprechende Register geschrieben hast.
Also nicht zwangsweise ein hardcoded Wert.

Autor: Sebezahn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank, ich denke aber, ich werde mich da mal an einem eigenen
Protokoll versuchen. Schon alleine, um etwas dabei zu lernen. Immer
"nur" abkupfern bringt mich ja nicht wirklich weiter. Und die erste
Implementierungsstufe funktioniert auch schon...

Dennoch vielen Dank! Tolles Board, immer wieder!

Gruß
Sebezahn

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.