Hallo allerseits, ich habe eine Frage zum Can Bus. Ist es möglich verschiedene CAN Protokolle auf einen Bus laufen zu lassen? Bzw macht es Sinn? Vielen Dank, Max
Ja. Ob es Sinn macht,hängt von deinen Notwendigkeiten ab. Und irgendwie muss doch bei jedem Bus Entscheidungen und Kompromisse machen. Da ist Deine Frage isoliert wohl sinnlos.
Ja. Aber was hast du vor? Ob da CANopen oder sonst was läuft ist unbeteiligten Knoten egal. Du kannst auch extended IDs und kurze mischen. Kein Problem. Sg
Max schrieb: > Ist es möglich verschiedene CAN Protokolle auf einen Bus laufen zu > lassen? Mir ist nur ein Protokoll bekannt und das heißt "CAN". Was verstehst du unter "verschiedene Protokolle"? Andere Baudraten? Das geht nicht. "CANopen" ist ein höherer Layer. Geht also auch, wenn es keinen Konflikt mit irgendwelchen Identifiern gibt. Deine Frage klingt so ähnlich, wie: "kann ich verschiedene serielle Protokolle über eine RS232-Schnittstelle laufen lassen?".
Klar, ist im Automotive Bereich gar nicht unüblich, LKW Steuergeräte unterstützen beispielsweise häufig neben J1939 auch UDS. Und auch bei normalen PKWs ist es nicht unüblich, dass das EOBD Protokoll und die „normale“ Diagnode unterschiedliche Protokolle verwenden. Nachdem das ganze aber nicht in Fahrzeugelektronik gepostet wurde, solltest du vielleicht ein paar Informationen zusätzlich bereitstellen.
Ja du kannst verschiedene Protokolle auf dem Bus laufen lassen. Es ist im Automobilbereich sogar die Regel. Die unterschiedlichen Protokolle werden anhand der CAN ID unterschieden. Es gibt Standards (SAE, ISO), du kannst aber auch ein eigenes Protokoll laufen lassen. Die üblichen Protokolle laufen im OSI Layer 3 bzw 4 eigentlich immer nach ähnlichem Schema: A an B: Ich habe 45 Bytes Daten für dich B an A: Ok, schicke bitte 16 Byte große Blöcke A an B: hier die ersten 8 A an B: hier die zweiten 8 B an A: Ok , schicke bitte 16 Byte große Blöcke usw... Dazu noch Sequenzzähler, Protokolltimeouts Wenn du nur Daten hast, die in einem einzelnen CAN Frame passen, brauchst du kein Protokoll sondern schickst einfach deine Daten. Üblich wäre: zyklisch oder bei Änderung oder auf Anfrage.
FDCAN und CAN 2.0B Telegramme kann man auf dem CAN Bus gemischt übertragen. Dazu ist es allerdings notwendig, dass sämtliche FDCAN Telegramme bei allen Busknoten, die nicht FDCAN Tauglich sind diese mit Hilfe der Acceptance Filter Mask ausblenden, ansonsten gehen diese in Error-State. Empfehlen kann ich diesen Mischbetrieb jedoch nicht, es sollten schon alle Teilnehmer FDCAN unterstützen können. Sollte der CAN Transceiver kein FDCAN unterstützen, so kann man den CAN Bus als FDCAN ohne Baudrateswitching betreiben. Ich bin mir allerdings auch nicht sicher ob diese Antwort dem Fragesteller weiter hilft, seine Frage müsste er doch noch etwas detaillierter ausführen.
Ich komme aus der Automobilindustrie. J1939 und CANopen sollte man jeweils nur exklusiv auf einen Bus nutzen, da es die CAN-IDs für das Protokoll nutzt. Transportprotokolle wie ISO-TO, XCP kann man mischen, da sie mit dedizierten CAN-IDs arbeiten. UDS setzt auf ISO-TP auf.
C.K. schrieb: > UDS setzt auf ISO-TP auf. Ja und nein, über ISO-TP kannst du alles mögliche zum Beispiel auch KWP2000 übertragen (nicht unüblich), du kannst aber auch UDS und KWP2000 mit anderen Transport-Protokollen übertragen, VW arbeitet gerne mit dem hauseigenen TP2.0. Einige Hersteller mit DoIP auch auf TCP/IP statt CAN.
Helmut -. schrieb: > Mir ist nur ein Protokoll bekannt und das heißt "CAN". Was verstehst du > unter "verschiedene Protokolle"? CAN ist die Hardware-Schicht. Darauf laufen SW-Protokolle, wie UDS, DeviceNET etc. Die können auch koexistieren. Genau wie auf Deinem Ethernet-Kabel neben "Internet" (dem Protokoll https) auch Mail (smpt/pop3), Datentransfer (sftp) und UDP-Streaming parallel laufen kann. > Deine Frage klingt so ähnlich, wie: "kann ich verschiedene serielle > Protokolle über eine RS232-Schnittstelle laufen lassen?". RS-232 ist ein schlechtes Beispiel, aber für Ethernet oder LTE würde man die Frage klar mit "ja" beantworten. Jedes Datenpaket hat eine Kennzeichnung, zu welchem Protokoll es gehört, und nicht relevante Pakete werden von den Teilnehmern ignoriert.
C.K. schrieb: > J1939 und CANopen sollte man jeweils nur exklusiv auf einen Bus nutzen, > da es die CAN-IDs für das Protokoll nutzt. Gerade J1939 und CanOpen sollte man doch auf dem gleichen Bus benutzen können. J1939 verwendet extended (29 bit) IDs und CanOpen standard (11 bit) IDs. Matthias
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.