www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CAN-Kommunikation: PC mit mehreren µC's


Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich bin gerade dabei, ein kleines System aufzubauen, bei dem meine 
Mikrokontroller mit dem PC kommunizieren können und umgekehrt. Hierzu 
verwende ich ein USB-CAN-Modul der Firma Systec, welches nur einen 
9-pol. SUB-D-Anschluss hat. Um aber mit allen µC's kommunizieren zu 
können, habe ich mir einen kleinen Verteiler gebaut, bei dem ich alle 
Receive- und Transmit-Leitungen auf einen SUB-D-Stecker zusammenziehe 
und von diesem ein Kabel zum Rechner gelegt habe. Leider habe ich bis 
jetzt noch keine Übertragung zustande gebracht, obwohl ich den Durchgang 
der Sende- und Empfangsleitungen schon überprüft habe und die 
Kommunikation zwischen PC-µC für einen µC (mit direkter Verbindung zum 
PC, ohne Verteiler) einwandfrei funktioniert.
Deshalb meine Frage: Muss ich neben der Sende- und Empfangsleitung noch 
irgendwelche andere Verbindungen herstellen? Oder könnten durch die 
Verbindungskabel im Verteiler (normale Flachbandkabel) die Signale der 
CAN-Übertragung negativ beeinflusst werden?

Ich bin für jede Hilfe sehr dankbar!

MfG Thomas

Autor: Obelix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du da etwa einen Stern-Verdahtung aufgebaut?

Autor: Obelix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>bei dem ich alle Receive- und Transmit-Leitungen
>auf einen SUB-D-Stecker zusammenziehe

Ne, Moment mal wie meinst du das?

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
welche

>Receive- und Transmit-Leitungen

denn ?

Otto

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Obelix:
äähm... Sternverdrahtung? ... Ich muss leider gestehen, dass ich nicht 
recht weiß, was das ist... aber ich habe bei meinem Verteiler einfach 
alle gleichen Leitungen (wenn ich mich recht erinnere 3er und 
7er-Leitung vom SUB-D-Stecker) auf eine Streifenrasterplatine gelötet 
und von dort eine Leitung auf den gleichen Anschluss eines anderen 
SUB-D-Stecker gelötet, an dem ich das Kabel zum PC angeschlossen habe.

Autor: Obelix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guggst du hier guggst du 
http://de.wikipedia.org/wiki/Controller_Area_Netwo...

Ein CAN-Bus hat keine Leitungen die Receive und Transmit heißen, sondern 
eher CAN-L und CAN-H.
Weist du was ein Abschlußwiderstand ist?

Autor: opacer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also du hast an dem USB-CAN Adapter am Sub-D einen CAN-H und einen CAN-L 
Pin. Die musst du mit allen CAN-H und CAN-L von den CAN-Transceiver 
verbinden. Die CAN-Tranceiver wiederum sind an dem zugehörigen µC über 
die CAN-RX und CAN-TX verbunden. Mit dem PC Verbindest du nur den USB 
von USB-CAN Adapter ... Dann noch GND Verbinden.

Ist Deine Schaltung so? Alles andere wäre falsch und kann nicht 
funktionieren.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, gut, mein Fehler g...
Ja, habe einen Widerstand von 120 Ohm am seriellen Kabel, das ich am 
USB-CAN-Modul angeschlossen habe. Aber ich habe auch schon mit einem 
normalen seriellen Kabel eine korrekte Übertragung erreicht. Es klappte 
bis jetzt jede Übertragung, solange ich nicht meinen Verteiler 
dazwischengehängt habe...

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ opacer:
ja, wenn ich jetzt nichts falsch verstanden habe, dann hätte ich 
eigentlich meine leitungen genauso angeschlossen. bist du dir 100%ig 
sicher, dass das alles ist? wenn ja, dann werd ich doch noch mal meinen 
verteiler in seine einzelteile zerlegen ;)

Autor: Obelix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Abschlußwiderstand gehört an BEIDE Enden des Buses. Am besten, du 
läßt den Verteiler komplett weg.

Autor: Obelix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PS. Das mit den 120 Ohm betrifft nur den High-Speed-CAN.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
CAN-verteiler funktioniert perfekt... bin dahintergekommen, dass die 
streifenrasterplatine das signal nicht durchlässt... auch den widerstand 
benötige ich nicht unbedingt... trotzdem danke...
mfg thomas

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jo, den Widerstand muss man immer im Zusammenhang mit Leitungslänge und 
Baudrate sehen.
Vor kurzem hatte ich hier ein Gerätchen zu bauen, 500kBit, Gegenstation 
bei mir in der Werkstatt nur ein USB-Dongle ohne Abschluss. Für den Test 
habe ich die Leitung (10m) nur einseitig mit 1k2 terminiert und eine 
ganze Nacht lang kräftig in beide Richtungen Daten geschickt: kein 
einziger error-frame.

Autor: Obelix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zum Testen ist es ja OK, aber ist ein Widerstand so teuer, das man ihr 
einsparen muss, und damit ein erhöhtes Risiko eingeht?

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ist mir schon klar, dass bei längeren leitungen ohne widerstand trotzdem 
fehler auftreten können. habe jetzt auch 120 ohm dazwischengelötet, da 
die daten möglichst fehlerfrei übertragen werden sollten und ich eine 
high-speed-can übertragung verwede. sorgen machte mir anfangs ja nur der 
umstand, dass ich nicht mal eine fehlerübertragung zustande brachte...

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann mir jemand verraten, wie CAN ganz ohne Widerstand überhaupt 
funktionieren kann? So wie ich das bisher kannte, sorgen die 
Treibertransistoren zwar für den dominanten Pegel, aber einzig der 
Abschlusswiderstand für  den rezessiven Pegel. Im Transceiver ist zwar 
noch ein differentieller Widerstand von zig KOhm drin, aber das dürfte 
kaum reichen.

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.