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.
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.
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.
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?
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
Masse ist nicht zwingend notwendig. Das ist ein überbleibsel aus der LOW-Speed - CAN - BUs zeit. CAN H und CAN L reichen vollkommen aus.
Ballermann schrieb: > In dem Schaltplan sehe ich keine. Ich bin heute scheinbar blind :-D 2x60 Ohm...doch müsste passen.
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
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.
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 !
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.
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.
die pegel stimmen auch nicht.. sicher, dass du softwaretechnisch alles richtig machst ? Vdiff sollten 2V oder 0V sein..
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.