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
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
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.
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
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
> 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.
@and_ref was ist eigentlich mit dem TJA1041. In wie weit läßt sich dieser mit LOW-Speed CAN betreiben?
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
@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 ___________________
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.