Forum: Mikrocontroller und Digitale Elektronik :: High- and Low- Speed CAN...


von Holger Baumann (Gast)


Lesenswert?

Hallo,
ich möchte eine Schaltung realisieren, die sowohl an einen
High-Speed-CAN als auch an einen Low-Speed-CAN angeschlossen werden
kann. Ich hatte angedacht dazu einen ATmega16 + MCP2515 + MCP2551
verwenden. Damit wäre die HIGH-Speed-CAN-Seite angedeckt. Was ich nun
noch nicht herausbekommen habe ist, ob die Kombination auch
Low-Speed-CAN-fähig (softwareseitig einstellbar) ist, oder ob ich dazu
einen extra Transceiver bzw. Controller benötige.

Bin für alle Hinweise dankbar...

Viele Grüße
Holger

von Stefan Kleinwort (Gast)


Lesenswert?

Hi Holger,

Du kannst den MCP2551 am Pin RS (Slope Control) für verschiedene
Geschwindigkeiten einstellen. Am Besten 2 Wunsch-Baudraten aussuchen,
die Widerstände für RS berechnen und einen davon vom AVR zuschalten
lassen.

Den MCP2515 kannst Du auf so ziemlich jede Baudrate einstellen.

Gruß, Stefan

von and_ref (Gast)


Lesenswert?

Die Begriffe High-Speed CAN und Low-Speed CAN sagen nicht (nur) etwas
über die verwendete Baudrate aus, sondern auch über die Terminierung
und die "*Fehlertoleranz*" des Busses (Stichwort Eindrahtbetrieb).
Deswegen kannst du nicht einfach einen HighSpeedTransceiver auf langsam
schalten und an einen LowSpeed-CAN-Bus hängen...

Beispiele für Highspeed CAN-Transceiver: TJA1050, TJA1041, 82C251;
LowSpeed Transceiver: TJA1054...

Ja, du brauchst einen extra Transceiver.

Der SlopeControlPin legt nur die Flankensteilheit des Signals fest -
mehr nicht. Er hat nichts mit den (zugegebenermaßen mißverständlichen)
Begriffen HighSpeed und LowSpeed zu tun.

von Stefan Kleinwort (Gast)


Lesenswert?

sorry ... muss ich Dir Recht geben.
Eine Einführung dazu habe ich mittlerweile hier gefunden:

http://www.kvaser.com/can/protocol/canphys.htm

Viele Grüße, Stefan

von Holger Baumann (Gast)


Lesenswert?

Vielen Dank schon mal für die Antworten...

Das würde also heissen, ich nehme meinen Mikrocontroller und den
MCP2515. Die Entscheidung ob ich dann einen Low-Speed- oder einen
High-Speed-CAN habe hängt dann von dem verwendeten Transceiver ab.
Gibt es einen Low-Speed und einen High-Speed-Transceiver, die
Pin-kompatibel sind, so dass ich den Transceiver sockeln kann?

Würde ich auf diese Weise (Austausch des Transceivers), auch einen
Single-Wire-CAN realisieren können?

Best,
Holger

von Tim (Gast)


Lesenswert?

Wo sind die Unterschiede in der Terminierung und Fehlertoleranz?

von and_ref (Gast)


Lesenswert?

> Gibt es einen Low-Speed und einen High-Speed-Transceiver, die
> Pin-kompatibel sind, so dass ich den Transceiver sockeln kann?
Da bin ich überfragt. Aber die "älteren" Highspeedtransceiver, die
ich kenne (82C251...) sind 8pol., der TJA1054 z.B. ist 14pol., d.h. da
ist nix mit Bestückungsoption auf gleichem Footprint. Im Zweifelsfalle
mach einfach einen zweiten Sockel daneben. Oder bastel/kauf dir einen
HighSpeed/LowSpeed-Konverter, den du zwischen dein Gerät und den Bus
hängst.

> Wo sind die Unterschiede in der Terminierung und Fehlertoleranz?
Terminierung:
HighSpeedCan: R zwischen CANH/CANL
LowSpeedCan:  R zwischen CANH/CANL, R zwischen CANH/Vcc und R zwischen
CANL/GND
"Fehlertoleranz"/"fault tolerant" beschreibt die
LowSpeedCAN-Eigenschaft, daß bei Ausfall einer CAN-Leitung der Bus
weiterhin (fehlerfrei) betrieben werden kann (es wird ja neben den
CANH/L-Leitungen auch noch Gnd "mitgezogen"). Bei HighSpeedCAN geht
das nicht.

Aber Stefan hat oben ja schon einen Link gepostet, der das nochmal
ausführlicher beleuchtet. Außerdem lassen sich die Datenblätter und
Appnotes zu den CanTransceiver auch über dieses Thema aus.

von Jörg (Gast)


Lesenswert?

@and_ref

was ist eigentlich mit dem TJA1041. In wie weit läßt sich dieser
mit LOW-Speed CAN betreiben?

von -Marco- (Gast)


Lesenswert?

Hallo

Sollte man eigentlich zwischen Lowspeed und Highspeed jumpern, oder kann 
man auch beide parallel an den AT90CAN anschliessen und dann 
verschiedene Ausgänge aus den Lowspeed bzw Highspeed Treibern nehmen?
Sprich: Kann man an die TXCAN und RXCAN des AT90CAN gleichzeitig 2 
Treiber anschliessen?

Danke

von subitus (Gast)


Lesenswert?

@Marco

> Kann man an die TXCAN und RXCAN des AT90CAN gleichzeitig 2
Treiber anschliessen?

Klare Antwort: Nein! Wenn LowSpeed- und HighSpeed-CAN gleichzeitig 
genutzt werden soll (also wenn ein Low-Speed-CAN-Bus und ein 
High-Speed-CAN-Bus zur Verfügung stehen), werden zwei CAN-Controller und 
zwei CAN-Tranceiver (z.B. HS: TJA1050 + LS: TJA1054) benötigt. Die 
meisten Evo-Boards enthalten eine entsprechende Beschaltung, bei der man 
mittels Jumper (oder über Porttreiber) den Transceiver selektieren kann. 
Dann kann man an EINEM CAN-Controller einen HS- ODER an einen LS-CAN-Bus 
betreiben.

Mfg - subitus



___________________

German Engineering...
http://www.baxe.org
___________________

von Martin (Gast)


Lesenswert?

Bitte keine Werbung!

www.baxe.org

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.