Forum: Mikrocontroller und Digitale Elektronik CAN - Mischbetrieb mit verschiedenen Protokollen


von Matthias (Gast)


Lesenswert?

Hallo,

ist es möglich, einen CAN-Bus parallel mit verschiedenen höheren 
Protokollen zu betreiben, bspw. SAEJ1939 und SafetyBUS p? Oder ist nur 
eine "artreine" Realisierung möglich, d.h. entweder Protokoll A oder 
Protokoll B...

Hat jemand eine Referenz, wo dies nachzulesen ist (z.B. Standard/Norm)?

Gruß
Matthias

von Volker (Gast)


Lesenswert?

Dies ist keine gute Idea.
- Bandbreite wird geteilt und muß aufwendig verteilt werden.
- Prioritäten der Nachrichten stören sich und müssen über die Protokolle 
bedacht und geändert (wenn es überhaupt geht) werden.
- Gleicher Frame andere Bedeutung im den anderen Protokol.

Zumindestens der letzte Punkt trift auf J1939 und CANopen nicht zu:
* CANopen benutzt den 11bit identifiere
* J1939 benutzt den 29bit identifiere

von Steffen R. (steffen_rose)


Lesenswert?

Volker schrieb:
> * CANopen benutzt den 11bit identifiere

11bit sind mandatory, 29bit optional
Letzteres müßte man dann unterlassen, außer man will J1939 Telegramme 
per CANopen PDO empfangen.

von Matthias (Gast)


Lesenswert?

Wenn ich es richtig verstehe, besteht prinzipiell die Möglichkeit 
Protokolle parallel zu betreiben, sofern:
- jeder Objekt-Identifier genau 1 Protokoll zugeordnet ist
- das Gesamtsystem sich bzgl. Prioritäten verträgt
- der Kapazitätsbedarf die zur Verfügung stehende Bandbreite nicht 
übersteigt

Kennt jemand ein Beispiel, wo so etwas gemacht wird? (Automotive, Bahn, 
Luftfahrt, Schifffahrt, Anlagenbau)

von Soul E. (Gast)


Lesenswert?

Matthias schrieb:

> Wenn ich es richtig verstehe, besteht prinzipiell die Möglichkeit
> Protokolle parallel zu betreiben, sofern:
> - jeder Objekt-Identifier genau 1 Protokoll zugeordnet ist
> - das Gesamtsystem sich bzgl. Prioritäten verträgt
> - der Kapazitätsbedarf die zur Verfügung stehende Bandbreite nicht
> übersteigt

Richtig. Über eine 10base-T Netzwerkverbindung können auch http, ftp und 
Mail gleichzeitig laufen, sofern sie unterschiedliche Ports benutzen. 
Das gleiche gilt sinngemäß auch für CAN


> Kennt jemand ein Beispiel, wo so etwas gemacht wird? (Automotive, Bahn,
> Luftfahrt, Schifffahrt, Anlagenbau)

Oft laufen da neben den anwendungsspezifischen zyklischen Botschaften 
parallel noch standardisierte Diagnoseprotokolle (OBD-II, UDS, XCP,...).

von Volker (Gast)


Lesenswert?

Matthias schrieb:
> Wenn ich es richtig verstehe, besteht prinzipiell die Möglichkeit
> Protokolle parallel zu betreiben, sofern:
> - jeder Objekt-Identifier genau 1 Protokoll zugeordnet ist
> - das Gesamtsystem sich bzgl. Prioritäten verträgt
> - der Kapazitätsbedarf die zur Verfügung stehende Bandbreite nicht
> übersteigt
Ja. Theoretisch besteht die Möglichkeit.

> Kennt jemand ein Beispiel, wo so etwas gemacht wird? (Automotive, Bahn,
> Luftfahrt, Schifffahrt, Anlagenbau)

Nein. Praktische Anwendungen kenne ich keine.
Die Hersteller der Geräte werden "gebeten" doch das jeweilig bevorzugte 
Protokoll zu implementieren.

Volker

von Matthias (Gast)


Lesenswert?

soul e. schrieb:
> Oft laufen da neben den anwendungsspezifischen zyklischen Botschaften
> parallel noch standardisierte Diagnoseprotokolle (OBD-II, UDS, XCP,...).

d.h. es laufen bisweilen auch proprietäre Protokolle gemischt mit 
standardisierten?

von Volker (Gast)


Lesenswert?

Matthias schrieb:
> soul e. schrieb:
>> Oft laufen da neben den anwendungsspezifischen zyklischen Botschaften
>> parallel noch standardisierte Diagnoseprotokolle (OBD-II, UDS, XCP,...).

> d.h. es laufen bisweilen auch proprietäre Protokolle gemischt mit
> standardisierten?

Nein.
soul e. hat sich hier missverständlich Ausgedrückt.
Mit "parallel" meit er mehrere Busse und nicht mehrere Protokolle auf 
einem Bus.

>> (OBD-II, UDS, XCP) sind Genormd.

Volker

von Soul E. (Gast)


Lesenswert?

Matthias schrieb:

> d.h. es laufen bisweilen auch proprietäre Protokolle gemischt mit
> standardisierten?

Exakt. Für ihre eigenen Daten verwenden Automobilhersteller keine 
Standardprotokolle, da hat jeder seine Hausnorm. (Werkstatt-)Diagnose 
ist aber oft genormt. Die läuft über den gleichen Bus, aber natürlich 
mit eigenen Identifiern.

von Matthias (Gast)


Lesenswert?

soul e. schrieb:
> Die läuft über den gleichen Bus, aber natürlich
> mit eigenen Identifiern.

@soul e: kennst Du dazu irgendwelche öffentlich zugänglichen Infos, die 
das bestätigen? Das wäre sehr hilfreich...

von Erik (Gast)


Lesenswert?

soul e. schrieb:
> Über eine 10base-T Netzwerkverbindung können auch http, ftp und
> Mail gleichzeitig laufen, sofern sie unterschiedliche Ports benutzen.
> Das gleiche gilt sinngemäß auch für CAN

Der Vergleich hinkt. Die ganzen Protokolle werden dort in die Payload 
eingebettet. Unterste Ebene ist halt das Ethernet Frame, dass von 
MAC->MAC geht.

Bei CAN sind es Nachrichten mit einer Message ID. Diverse höhere 
Protokolle vermanschen mehrere Informationen zur Message ID. Diese dann 
mit einem anderen parallel benutzten Protokoll eindeutig zu halten kann 
schwer bis unmöglich sein.

von Soul E. (Gast)


Lesenswert?

Matthias schrieb:

> @soul e: kennst Du dazu irgendwelche öffentlich zugänglichen Infos, die
> das bestätigen? Das wäre sehr hilfreich...

Leider unterliegen sämtliche Lastenhefte einer 
Geheimhaltungsvereinbarung, da ist nichts öffentlich zugänglich. Auch 
die K-Matritzen (also die Dateien in denen definiert wird welcher 
Identifier welche Information direkt trägt oder welchem Layer4-Protokoll 
er zugehörig ist) sind geheim.

Mittlerweile fängt man sogar an den Datenverkehr auf den Bussen zu 
verschlüsseln.

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
Noch kein Account? Hier anmelden.