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
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! ;-)
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.
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
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.
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)
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.
markus schrieb: > Wieso hat der µC dann ein CAN Interface? Vergleichbare Frage: Wieso hat der µC einen UART, wenn man doch einen Treiber wie den max232 braucht, um RS232-Pegel zu bekommen?
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.