CAN oder rs485/422

Gast #362117
Lesenswert?

War es nicht so, dass der CAN-Bus eine Art Weiterentwicklung der RS485
ist? Somit ist ein Vergleich meiner Ansicht nach ziemlich hinfällig,
wenn man sich nicht um Fehlerbehandlung und so kümmern will.
Gast #362118
Lesenswert?

RS485 definiert nur die Signale auf der Leitung. Was für Bits du
überträgst ist deine Sache. Für CRC/ECC/Retry bist also ausschliesslich
du selbst verantwortlich.

Bei CAN wird CRC/Retry-Handhabung bereits vom Controller erledigt.
Dafür ist der Controller etwas umständlicher anzusprechen.
Gast #362120
Lesenswert?

die CAN-Leitungstreiber selbst haben das auch nicht...
Aber sie haben einen grossen Vorteil gegenüber RS485-Treibern: es gibt
nicht den üblichen H- und L-Pegel auf der Leitung, sondern einen
dominanten und einen rezessiven Pegel, damit sind Hardwarekollisionen
schon mal ausgeschlossen.
Ansonsten kommt es darauf, welche Art von Netzwerk du aufbauen willst.
Der übliche RS485-Bus ist erstmal wesentlich leichter zu
implementieren, da du einfach mit einem x-beliebigen MC rangehen
kannst. Und wenn du dann eine Single-Master-Architektur fahren kannst,
ist das ganz easy. Master fragt -> nur der angesprochene slave
antwortet.
Kompliziert wirds nur, wenn du ein Multimaster-Bus aufbauen
willst/musst. Dafür ist CAN wesentlich besser geeignet, auch wenn man
dafür spez. CAN-Controller braucht. Kosten aber nicht die Welt, ich
setz am liebsten den MCP2515 ein.
Gast #362121
Lesenswert?

hallo zusammen

ich habe mal eine Frage zu diesem Thema, ich benötige einen Umsetzer
von seriel auf rs 485. Gibt es da einfache Schaltungen und kennt jemand
einen guten Link mit Erklärungen.

danke für eure Hilfe.
Gast #362124
Lesenswert?

Ausgeschlossen ist sie nicht, aber das dominante Bit setzt sich durch,
und wenn man den Zustand auf dem Bus überwacht, sprich das Signal
zurückliest, das man gerade auf die Leitung gestellt hat, es aber nicht
liesst, weil jemand anders ein dominantes auf dei Leitung gelegt hat,
dann nimmt man "die Beine" vom Bus und wartet bis der Bus wieder
freigegeben ist.
Das übernimmt dann der CAN-Controller.
Im Gegensatz zu RS485-Transceivern sind die CAN-Transceiver auch extra
so aufgebaut, dass man das auch detektieren kann. RS485-Transceiver
sind da niederohmiger.

(Hoffentlich habe ich nicht zuviel wirres Zeug geschrieben...)
Gast #362125
Lesenswert?

genauso isses. Der CAN-Controller liest mit, was auf der Leitung
passiert und zieht sich beim Senden sofort vom Bus zurück, wenn
gelesener Pegel (dominant) nicht mit dem gesendeten (rezessiv)
übereinstimmt. Und genau diese Struktur macht den CAN so einfach
multimasterfähig, d.h. jeder kann jederzeit versuchen, auf den Bus
zuzugreifen, ohne sich vorher mit den anderen abzusprechen oder eine
Zeitscheibe zugeteilt zu bekommen (klappt zwar nicht immer sofort, aber
wenn der Bus nicht überlastet ist, irgendwann schon)
Hardwareseitig sind die Treiber so ausgelegt, dass sich 2
"gegeneinander" sendende Ausgangsstufen weder überlasten oder
undefinierte Pegel erzeugen können.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren