Anfängerfrage CAN

Gast #1827654
Lesenswert?

Hallo zusammen,

fange gerade damit an mich mit CAN zu beschäftigen.
Habe den Atmel AT90CAN128 als Controller. Nun steht hier in der 
Artikelsammlung, man soll auch gleich einen CAN Treiber mit bestellen.
Braucht man immer einen CAN Treiber um mit einem µC einen CAN Bus 
aufzubauen?
Wieso hat der µC dann ein CAN Interface?
Gibt es Controller die ohne CAN Treiber auskommen?

Verstehe gerade die Zusammenhänge nicht.
Kann mir das jemand erklären?
Vielen Dank!

Gruß
markus
#1827659
Lesenswert?

der µC hat den CAN-Controller der das Frame bildet, ausserhalb des µC 
benötigst Du noch einen Treiber weil der µC kein zig mA treiben kann!

...aus dem µC kommen im idealfall 5..10mA


Und ja, du benötigst IMMER einen ext. CAN-Treiber (z.B. den NXP 82C251)


Ausserdem macht der Treiber noch die Busarbitration, auch das kann der 
µC nicht!

Geschweige denn dass ein µC Kurzschlußfest oder verpolsicher wäre.
Ich gehe davon aus dass der Atmel an den Pins Rx und Tx liefert, CAN 
benützt aber differenzpegel, auch das muss vom CAN-Treiber umgesetzt 
werden!

Du siehst also, der CAN-Treiber hat mehr als genug zu tun! ;-)
#1827666
Lesenswert?

Jeffrey Lebowski schrieb:

> Und ja, du benötigst IMMER einen ext. CAN-Treiber (z.B. den NXP 82C251)

Für sehr kurze Strecken bei moderater Geschwindigkeit tut es auch eine 
Diode an Stelle des Treibers. Wenn alle Nodes das so halten.

> Ausserdem macht der Treiber noch die Busarbitration, auch das kann der
> µC nicht!

Der Treiber treibt. Er tut es so, dass der CAN-Controller arbitrieren 
kann, aber man kann nicht sagen, dass der Treiber arbitriert.
Persönliche Seite #1827672
Lesenswert?

Jeffrey Lebowski schrieb:
> Und ja, du benötigst IMMER einen ext. CAN-Treiber (z.B. den NXP 82C251)

Das würde ich nicht Unterschreiben.
Es gibt schon Controller, die einen CAN Treiber beinhalten.

Meist zwar für recht Spezielle Anwendungen, aber schon selbst gesehen.

An sonsten denke ich, dass der Grund ehr die Flexibilität ist und nicht 
dass es nicht machbar ist.

Jens
#1827679
Lesenswert?

Jens D. schrieb:

> An sonsten denke ich, dass der Grund ehr die Flexibilität ist und nicht
> dass es nicht machbar ist.

Es sind hässlich hohe Ströme und Spannungen, die auf dem CAN Bus 
auftreten können. Da wird u.U. erwartet, Spannungen von +/-42V verdauen 
und bei +/-12V noch Differenzen erkennen zu können. Kann durchaus sein, 
dass sich dies mit der in Controllern verwendeten Herstellungstechnik 
nicht allzu gut verträgt.

Ausserden ganz praktisch: Ein 8-Pin SO8- oder gar DIL-Transceiver ist 
leichter ausgewechselt als ein 100-Pin LQFP-Controller. Denn wenn's den 
Bus mal erwischt, dann ist zuerst der Transceiver dran.
Gast #1827682
Lesenswert?

Jens D. schrieb:
> An sonsten denke ich, dass der Grund ehr die Flexibilität ist und nicht
> dass es nicht machbar ist.

Wichtig ist dort vor allem die Kostenfrage. Der CAN-Phy muss ja in einem 
Hochvolt-Prozess gefertigt werden, damit er die elektrischen 
Spezifikationen nach ISO 11898 einhalten kann. Es macht jedoch 
gewöhnlich keinen Sinn den kompletten Mikrocontroller in einer 
Hochvolt-Technnologie herzustellen. (-> Kosten)
#1827709
Lesenswert?

Klare Abgrenzung:

- Der AT90CAN128 ist ein Micro-Controller.

- Er enhält einen CAN-Controller. Diese baut die CAN-Frames zusammen, 
kümmert sich um die Erzeugung der CRC, und dem BitStuffing, etc. Er 
besitzt (meist) ein digitalse Interface (Port-Pins).

- Der CAN-Treiber setzt die digitalen Signale vom CAN-Controller in 
analoge Signale des Busses um. Er sorgt für dir richtigen elektrischen 
Pegel beim Senden und erkennt die beiden Zustäne (dominant und rezesiv) 
beim Empfang. Des weiteren bietet er Schutz gegen Überspannung und 
unterdrückt Störungen.

Es giebt auch nicht den CAN-Bus. hier eine (unvollständige) 
Aufzählung:
High-Speed-Bus (meist verwendet), Fault-tolerant , Single Wire, LWL-Bus.

Ich hoffe diese Klassifizierung bringt etwas Licht ins Dunkle.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren