mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CAN die Vierte


Autor: flyingwolf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nach weiteren Studien in der gängigen Fachlitteratur habe folgende
Frage.
Die Nachrichtenobjekte werden mit einem Identifier versehen, welcher
auch die Priorität der Nachricht festlegt. Es gibt max 1024 Idetifier
aber keine Adressen. Wenn Nachrichten kollodieren, gewinnt die mit dem
niedrigeren Identifier.
Was passiert, wenn zwei Nachrichten mit dem gleichen Identifier
kollodieren, z.b. 5 Teilnehmer wollen den Stromausfall des Systems
melden?

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was willst Du mit der Botschaft "Stromausfall" anfangen, wenn Du nicht
weißt von wem die Botschaft ist?

Die Lösung ist an der Stelle, daß halt jedes Gerät seine eigene
Stromausfallmeldung mit unterschiedlicher ID hat. Und dann gibts auch
keine Probleme bei Kollisionen.

Autor: flyingwolf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist natürlich eine Lösung aber ich habe nur 1024 unterschiedliche
Identifier aber viel mehr Geräte (2000 - 4000 oder auch mehr)
Also hatte ich mir gedacht die Info, wer sich da meldet, in der
Nachricht selbst unterzubringen. Somit können alle Teilnehmer auch die
gleiche Software erhalten und die individuelle Adresse wird einfach als
Variable eingegeben. Allgemeine Informationen, die jeder Teilnehmer
brauchen kann werden in einer Box zur Verfügung gestellt und bei Bedarf
abgefragt und diejenigen, die einen aktiven Eingriff von aussen
erfordern, werden an einen Obermacker verschickt, der dann weiß was er
damit anzufangen hat. Fällt jetzt aber auf einem ganzen Strang der
Strom aus, und nicht nur auf einem Modul ...

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit CAN2.0B kannst Du doch 500.000.000 Identifier benutzen.

Aber mal im Ernst, ich kenne keinen CAN-Treiber-IC, der 4000 Geräte
abkann.

Es ist überhaupt nicht sinnvoll soviele Geräte an einen Strang zu legen
(1 kaputtes Gerät -> Totalausfall)


Gleiche Identifier kann der CAN nicht ab, da in den Daten keine
Arbitrierung erfolgt.
Es versuchen also beide Sender ständig den gleichen Identifier zu
senden, bis ihr Errorcounter überläuft und sie sich abschalten. Eine
Ausnahme wäre, wenn auch die Daten gleich sind.


Peter

Autor: flyingwolf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Peter
Das mit den 4000 Treibern an einem Stang habe ich inzwischen auch
rausgefunden und mich bereits tierisch darüber geärgert, weil es leider
nicht in allen Datenblättern drin steht, wievile Teilnehmer nun im
Eizelnen dran hängen können, ist aber technisch doch eigentlich kein
großes Problem, weil dann einfach nach jeweils 32 Teilnehmern eine
"Relaisstation" kommt. Wenn ich mich auf diese Teilnehmerzahl begebe
muss ich mir sowieso Gedanken machen, und da kommt Deine galvanische
Trennung dann  ins Spiel.
Das mit den 500.000.000 Identifiern würde ja dann wohl reichen.
Wenn Du sagst dass es keinen Sinn macht, so viele Teilnehmer auf einen
Bus zu legen, (und ich stimmer Dir zu) hast Du dann aber auch eine
alternative Idee? Immerhin muss jeder mit jedem die Daten austauschen
können, weil jeder Teilaufgaben eines ausgefallenen Teilnehmers
übernehmen soll.

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, man teilt in mehrere Stränge auf und verbindet die mit einer Art
Hub untereinander, z.B. der LPC2294 hat 4 CANs.



Peter

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn jeder mit jedem reden können soll, dann klingt das für mich eher
nach Ethernet. Das hat Dank Router und Switches auch keine Probleme mit
4000 Teilnehmern.

Autor: ---- (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mich würde interessieren welche Anwendung die 4000 CanTeilnehmer
realisieren?
Ist das nur ein riesiger Versuch oder steckt dahinter eine technische
Notwendigkeit?

----, (QuadDash).

Autor: flyingwolf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@----
Die technische Notwenigkeit ist mehrfach gegeben. Die Teilnehmer teilen
sich eine Stromversorgung, von der sie je nach Bedarf ganz wenig oder
ganz viel nehmen. Das ist kein Problem, weil genug Zeit zur Verfügung
steht. Durch dieses Konzept will man Kabel sparen.
Dann brauchen alle die aktuelle Zeit und Datumsinformationen. Wenn
einer oder 2 die zur Verfügung stellen, brauchen die Anderen keine
eigenen Funkuhrempfänger.
Dann soll es eine zentrale Ansteuerug geben, so dass einer alle (bis
dahin) eigenständig arbeitenden Einheiten aufweckt und zur
Zusammenarbeit zwingt oder wieder in den Individualismus entläßt. All
solch Zeugs halt. Darum soll jeder mit jedem können.
@Peter
LPC 2294 werd ich mir mal anschauen, sobal ich die EINE Can
Schnittstelle an meinem can128 dazu gebracht habe überhaupt etwas zu
tun.

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.