Forum: Mikrocontroller und Digitale Elektronik COM Kabel zu CAN?


von Christian Q. (osx)


Lesenswert?

Hallo ich betreibe 2 Keil MCB 1700 die ich erst einmal mit der von Keil 
uVision CAN-Demo geflasht habe. Es werden über den CAN Zeichen geschickt 
(Tx) die über den ADC geändert werden können. Außerdem werden Zeichen 
vom CAN-Bus empfangen (Rx).
Tx und Rx werden auf dem Display dargestellt.
Leider habe ich kein CAN-Kabel zur Hand und dachte mir ich nehme 2 
COM-Kabel und löte sie so, dass ich 2 männliche Stecker habe (D-Sub 9). 
Die Leitungen würde ich 1:1 übernehmen.
Ist das so möglich oder einfach totaler Schwachsinn 2 Spezifikationen so 
miteinander zu vermischen?
Ich hoffe jemand mit CAN-Erfahrung liest hier.

von Ballermann (Gast)


Lesenswert?

Christian Q. schrieb:
> totaler Schwachsinn

von TestX .. (xaos)


Lesenswert?

can hat kein TX/RX sondern CANH (pin7) und CANL (pin2) + GND (pin5)

die 1:1 miteinander verbinden wenn das board über can transceiver 
verfügt. wenn nicht müssen da noch transceiver zwischen.

von Ballermann (Gast)


Lesenswert?

Ballermann schrieb:
> Christian Q. schrieb:
>> totaler Schwachsinn

Sorry, hab mich verlesen.
Klar, Kabel selber bauen geht.
Hab ich auch schon gemacht.
Abschlusswiderstände nicht vergessen.

von Christian Q. (osx)


Angehängte Dateien:

Lesenswert?

Die Boards verfügen über einen solchen Tranceiver.
"IC3 is a TJA1040 NXP CAN transceiver which performs the conversion 
between the single-ended CAN controller TD1 and RD1 signals to and from 
the bi- directional differential pair of the CAN bus CANH and CANL (High 
and Low)."

Die Abschlusswiderstände sind auf dem Board verbaut, denke ich.


Also benötige ich nur 3 Pins? Und ich muss sie nicht kreuzen?

von Ballermann (Gast)


Lesenswert?

Christian Q. schrieb:
> Die Abschlusswiderstände sind auf dem Board verbaut, denke ich.

In dem Schaltplan sehe ich keine.
Solange es keine langen Strecken sind funktioniert es normalerweise auch 
so, verlassen kann man sich aber nicht darauf...deshalb sollten sie 
rein.

Christian Q. schrieb:
> Also benötige ich nur 3 Pins? Und ich muss sie nicht kreuzen?

Jou, die 3 Pins reichen.
Kreuzen musst Du sie auch nicht...ist ja ein Bus.
Siehe z.B. auch hier:
http://www.me-systeme.de/canbus.html
http://de.wikipedia.org/wiki/Controller_Area_Network#Topologie


Achso, normalerweise sollten die Adern verdrillt sein.
(Glaube wegen der Gleichtaktunterdrückung).

Grüße

von cskulkw (Gast)


Lesenswert?

Masse ist nicht zwingend notwendig. Das ist ein überbleibsel aus der 
LOW-Speed - CAN - BUs zeit.

CAN H und CAN L reichen vollkommen aus.

von Ballermann (Gast)


Lesenswert?

Ballermann schrieb:
> In dem Schaltplan sehe ich keine.

Ich bin heute scheinbar blind :-D
2x60 Ohm...doch müsste passen.

von Ballermann (Gast)


Lesenswert?

cskulkw schrieb:
> Masse ist nicht zwingend notwendig. Das ist ein überbleibsel aus der
> LOW-Speed - CAN - BUs zeit.

War der Rückfall auf 1 Drahtbetrieb nur bei Low-Speed?
Bin mir da gerade nicht mehr sicher.
Ansonsten bräuchte man für diesen Fall ja trotzdem GND, oder?

Grüße

von Christian Q. (osx)


Lesenswert?

Habs mir zurechtelötet, kann aber leider nichts Empfangen.
Also
an 2 CAN_Lo
an 7 CAN_Hi
Und Masse habe ich an 5 und der Nasen der Stecker.

Ich schau mal ob noch Jumper zu setzen sind..

Die Kommunikation von CAN0 zu CAN1 (auf dem Board sind 2 CAN-Ports) 
innerhalb eines Boards funktioniert auch nicht.

von TestX .. (xaos)


Lesenswert?

Christian Q. schrieb:
> Also benötige ich nur 3 Pins? Und ich muss sie nicht kreuzen?
jap, CAN ist ein bus

> Habs mir zurechtelötet, kann aber leider nichts Empfangen.
> Ich schau mal ob noch Jumper zu setzen sind..
>
> Die Kommunikation von CAN0 zu CAN1 (auf dem Board sind 2 CAN-Ports)
> innerhalb eines Boards funktioniert auch nicht.

schau mal mit dem oszi nach was CANRX/CANTX sagen

p.s. masse MUSS verbunden werden, außer du hast das selbe netzteil an 
beiden boards. für die signalübertragung ist das bezugspotential zwar 
egal aber nicht für die transceiver..die mögen keine potentiale die 
mehrere hundert volt von ihrem bezugspotential weg sind !

von Christian Q. (osx)


Lesenswert?

P4.28/RX_MCLK/MAT2.0/TXD3 und P4.29/TX_MCLK/MAT2.1/RXD3 ( Ich weiß nciht 
ob es die richtigen sind) kann ich auf dem Board abgreifen, da hab ich 
ca. 3,1V, kann aber kein ein/aus mit dem Oszi feststellen, sondern eher 
konstant ein.
Messe ich am Kabel CAN_Hi stelle ich das selbe fest.

von Christian Q. (osx)


Lesenswert?

Korrektur:

Pin P0.0 used as RD1 (CAN1) 4.2 V
Pin P0.1 used as TD1 (CAN1) 3.2 V

Pin P2.7 used as RD2 (CAN2) 4.2 V
Pin P2.8 used as TD2 (CAN2) 3.2 V

Messe ich am Kabel CAN_Hi stelle ich 2.2 V fest.

von TestX .. (xaos)


Lesenswert?

die pegel stimmen auch nicht..
sicher, dass du softwaretechnisch alles richtig machst ?
Vdiff sollten 2V oder 0V sein..

von Christian Q. (osx)


Lesenswert?

Ich vertraue den Jungs von Keil!
Eher sind meine Messungen falsch :D

von Christian Q. (osx)


Lesenswert?

Meine Verkabelung war falsch! Bei diesem COM-Kabel waren wohl Leitungen 
gekreuzt. Hab es jetzt nun wirklich 1:1 durchgesschliffen und es läuft!

Also:
Man Nehme ein beliebiges D-Sub-9 Kabel und löte es so zurecht, dass
an 2 CAN_Low
an 7 CAN_High
Masse an 5 und der Nasen der Stecker liegt.
Die Kabel zwischen den "Buchsen" müssen verdreht werden.
Fertig!

Falls keine Abschlusswiderstände vorhanden sind müssen 2 120 Ohm 
Abschlusswiderstände angebracht werden.

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.