Forum: Mikrocontroller und Digitale Elektronik RS485 Can Transciver Test


von Peter (Gast)


Lesenswert?

Hallo,
Ich hab ein Testaufbau von einem RS 485 (SN75176) und MCP2551 gemacht 
und wollte euch an die Ergnisse teilhaben.
Die ICs wurden auf einem Steckbrett aufgebaut und verbunden wurden sie 
mit CAT5 Kabel, 500m.

Einmal mit 1Paar (1km) und 2Paar(2km) verbunden.
Sender und Empfänger ist jeweils der PC an einer RS232 Schnittstelle mit 
MAX232.

Mich hat interessiert warum ich bei mein CAN Aufbau immer mal wieder 
Probleme hatte.

Beim Can hatte ich bei 1km max 40kbaud hinbekommen, wobei ich nur die 
Senderseite mit 120 Ohm terminieren durfte, da sonst der differenz Pegel 
beim Empfänger zu gering war.

Beim alten SN75176 kann ich bei 1km etwa 450kbaud ohne Fehler 
übertragen(nach 30min und etwa 60 000x teststring kein Fehler).
Bei 2km kann ich noch bis 170kBaud fehlerfrei Übertragen.
Um ein härteres Umfeld zu simulieren habe ich dann, bei den 2 freien 
Adernpaare (bei 1km)
, ein bis 0.1kHz-2MHz Signal(Rechteck) draufgegeben, etwa 2-10Vss, mit 
fest angeschlossender Abschirmung auf Masse und jeweils 120 Ohm 
Abschlusswiderstand sowie 390 Ohm zu VCC nach A und GND nach B, gab es 
keine Fehler.
Wurde ein Widerstand oder die Abschiermung unterbrochen, entstanden 
sofort Übertragungsfehler.

Vielleicht helfen diese Messungen einen ja.

Ich komme nun zu den Schluß das CAN nur sinnvoll ist bei kurzen Strecken 
und einem Multibussystem(<100meter). RS485 muss man sich das Protokol 
selber Schreiben aber bei meinem Testaufbau habe ich ein 
Interruptverfahren wo das Senden per IRQ an/abgeschaltet wird.Ist aber 
noch im Aufbau.

Hat einer ein ähnliche Verhalten festgestellt?

von Falk B. (falk)


Lesenswert?

@  Peter (Gast)

>Ich hab ein Testaufbau von einem RS 485 (SN75176) und MCP2551 gemacht
>und wollte euch an die Ergnisse teilhaben.

Kann es sein, dass du CAN und RS485 zusammenwürfelst? Das ist NICHT das 
Gleiche und auch nicht kompatibel. Mach es richtig und nimm einen 
CAN-Tranceiver.

>Wurde ein Widerstand oder die Abschiermung unterbrochen, entstanden
>sofort Übertragungsfehler.

Logisch, bei der Leitungslänge braucht man zwingend eine Terminierung, 
siehe Wellenwiderstand. Ausserdem ist dein Mischmasch aus RS485 und 
CAN Murks.

>Ich komme nun zu den Schluß das CAN nur sinnvoll ist bei kurzen Strecken
>und einem Multibussystem(<100meter).

CAN hat eine sehr enge Prüfung bei der Übertragung eines einzelnen Bits, 
da spielen Signallaufzeiten eine Rolle. Allso kommt man bei hohen 
Bitraten nicht sehr weit. Ein 0815 UART über RS485 kommt da deutlich 
weiter bei gleicher Bitrate, hat dann aber nicht die Sicherung der 
Übertragung auf Bitebene.

von Peter (Gast)


Lesenswert?

Vielen Dank für deine Antwort.

Mir gings nur allein um die Bitebente ohne irgendeiner Protokolierung 
und Schutzverhalten vom CAN.
Ich habe bei einem Testaufbau von einer Haupteinheit und 5 Nebengeräten 
gemerkt das ich bei 100m ziemliche Probleme habe bei Datensicherheiten.

Eine Nebenstelle hat bei der Haupteinheit etwas angefordert, diese 
anforderung kam aber nie an. Leider ist das sehr sporadisch und lässt 
sich nicht weiter Untersuchen.

Bei meinem Test ging es nur allein darum wie gut die Ausgangstreiber von 
den beiden ICs sind.

Mir ist klar das CAN und RS485 ein Unterschied ist, aber mir scheint CAN 
für wesentlich kürzere Strecken gedacht zu sein als RS485.

von Peter (Gast)


Lesenswert?

Da fällt mir noch ein, ich habe vergessen zu erwähnen.
Der Aufbau ist immer 2x MCP2551 oder 2x SN75176 geschehen.
Also der erste MCP bekam Daten die der 2. MCP empfangen hat und der UART 
an den Reciver gegeben hat.

Gleicher Aufbau nur mit SN75176 und dann ebent die Geschwindigkeit und 
die Kabellängen variiert um zu schauen wie schnell/lang die Geschichte 
sein darf um brauchbare Daten aus den Entstufen zu erhalten.

von Gregor B. (Gast)


Lesenswert?

Peter schrieb:
> Mir ist klar das CAN und RS485 ein Unterschied ist, aber mir scheint CAN
>
> für wesentlich kürzere Strecken gedacht zu sein als RS485.

CAN wurde von Bosch für den Einsatz im Automobil entwickelt, eingestzt 
erstmals in der Mercedes S-Klasse W140. Entsprechend brauchte man keine 
Kabellängen.

von PICfan (Gast)


Lesenswert?

CAN hat vielen Vorteilen gegenüber RS485, auch wenn es nicht immer 
ersichtlich ist.

Lese mal die App Note AN96116 von Phillips.  Darin wird die "Physical 
Layer" erklärt

hth
PICfan

von Thomas H. (hambone)


Lesenswert?

Hi,

aus meiner Erfahrung ist eine Datenübertragung über 1km mit 
Kupferleitung (Rs485, RS422) auch bei 9600 Baud absolut Störanfällig 
wenn nicht gar unmögklich. Bei höheren Übertragungsraten (z.B. Profibus 
mit Rs485 (standard) und 19,2MBit/s) ist auch schon nach ca 150m ein 
Repeater erforderlich. Wir setzen als Übertragungsmedium für 
Entfernungen bis 3km Glasfaser ein. Darüberhinaus werden Daten nur noch 
über Ethernet (WLan, Internet, Telefonstandleitung, etc) übertragen.

Die CAN-Physik bringt nur was in Verbindung mit dem CAN-Protokoll und da 
nur auf geringer Entfernung, da sie dafür entwickelt wurde. Ein 
wesentlicher Aspekt des CAN- Bus ist die Verteilung der Betriebsspannung 
gkeichzeitig mit den Busdaten. Nach 2km Kupfer bleibt von der 
Betriebsspanung nicht mehr viel übrig.

Hambone

von Peter (Gast)


Lesenswert?

Ich habe bei einem Projekt massive Probleme gehabt, der Kunde forderte 
250m Kabellänge.
Ich hatte bei der Entwicklung auch das Problem gehabt das Message beim 
Can einfach verloren gegannen sind, daher schau ich mir nun die RS485 
geschichte näher an.

Zuwas würdet ihr den Raten, wenn längen von 300m vorkommen für ein 
einfaches Bussystem mit max 10xBytes pro sek für 5 Module?

von Falk B. (falk)


Lesenswert?

@  Peter (Gast)

>Ich habe bei einem Projekt massive Probleme gehabt, der Kunde forderte
>250m Kabellänge.

Und?

>Ich hatte bei der Entwicklung auch das Problem gehabt das Message beim
>Can einfach verloren gegannen sind,

Glaub ich nicht. Dann ist massiv was faul. Oder die Implementierung der 
CAN-Treiber schlampig, denn die müssen so einen Fehler im Controller 
erkennen und melden. Und dass die Controller nicht normgerecht arbeiten 
ist praktisch ausgeschlossen.

> daher schau ich mir nun die RS485 geschichte näher an.

Ist nicht besser.

>Zuwas würdet ihr den Raten, wenn längen von 300m vorkommen für ein
>einfaches Bussystem mit max 10xBytes pro sek für 5 Module?

CAN. Man muss ja nicht mit 1MBit/s fahren, 125kbit/s reichen auch, ggf 
weniger. Einfacher uns sicherer bekommt man keine Daten über so ein 
Kabel.

http://de.wikipedia.org/wiki/Controller_Area_Network#.C3.9Cbertragungsrate_und_Leitungsl.C3.A4nge

von Falk B. (falk)


Lesenswert?


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.