www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CAN-Bus; Was brauche ich?


Autor: JkB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich will ein CAN-Bussystem aufbauen, um ein Paar Sachen zu probieren, 
aber ich weiß nicht, was für Bauteile ich Brauche. Im Internet finde ich 
alle möglichen Kontrollern, aber ich weiß eben nicht was ich zum 
anfangen brauche.
Danke!

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Idealer Weise je Einheit einen µC und einen CAN-Controller.

µC kannst Du nahezu beliebig wählen (am besten Atmel da hier der support 
in diesem Forum sehr gros ist), CAN-Controller würde ich Dir den SJA1000 
von Phillips empfehlen.

Mit diesen Stichworten müsstest Du im web einiges finden

Autor: flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bastel gerade ein bisschen mit CAN:
Als Hardware habe ich das ATmega128CAN Modul von http://www.embedit.de/
Zusätzlich brauchst du nur noch einen Treiberbaustein, beispielsweise 
den PCA82C250 und ein bisschen Draht für den Anfang.
Zum Testen hab ich noch einen USB Adapter von http://www.peak-system.com

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag:

1. Überlest bitte die beiden Rechtschreibfehler oben

2. Als µC würde ich Dir den ARM9 vorschlagen - der bietet Platz und Luft 
nach oben und der Preisunterschied zum ARM7 ist bei 2 Stück nicht 
spürbar!

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gast wrote:

> 2. Als µC würde ich Dir den ARM9 vorschlagen

Sauguter Tip ;-)

Wenn er dann endlich den ARM9 beherrscht, ist das bissel CAN nur noch 
ein Kinderspiel.


Peter

Autor: ARM-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo, ARM9 zum Einstieg ist wirklich ein bissl dolle ;-)

Ich würde auch nen µC mit integriertem CAN Controller empfehlen.

Wie bereits genannt den AT90CAN128 (AVR) oder wenn bereits andere
Vorlieben bestehen z.B. den AT89C51CC01 (8051). Beide haben
IMHO den selben CAN-Controller drin.

SJA1000 ist zwar schön und "quasi-standard". Benötigt aber einen
externen Daten- und Adressbus.

Ansonsten vielleicht ein Controller deiner Wahl ohne CAN und dann
über SPI noch den MCP2515 angeschlossen. Code dafür sollte auch
zu finden sein.

Hinter den CAN-Controller kommt dann noch ein CAN-Transceiver,
der für die passenden Pegel auf dem Bus sorgt (diff. Signal).

Davon dann mindestens zwei Module aufgebaut (oder gekauft) und schon
kanns losgehen :-)

Autor: Dietmar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naaaa jaaaaa,

aber vielleicht ein ARM7?

Da gibt es, hier im Shop des Forums, ein Olimex-Board mit LPC2129 von 
NXP (ehemals Philips).

Der LPC2129 hat 2 integrierte CAN-Controller, und die haben auch etwas 
ERRATA wie alle neueren Controller, aber es gibt von der Keil-Homepage 
betriebsfertigen Demo-Code in C-Source, wenn man schnell was erreichen 
will, und der die ERRATA berücksichtigt.

Das Olimex-Board hat 2 betriebsbereite CAN-Schnittstellen, wenn mich 
nicht alles täuscht.

Gruß

Dietmar

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder, Du nimmst einen der Fujitsu-Controller z. B. der 16-Bit Familie 
mit integriertem CAN. Günstige Eval-Boards gibt es bei www.glyn.de und 
gleich noch die kostenlose SW-Entwicklungsumgebung dazu. Je nach 
Anforderungen sind die Controller der Familien 360, 350 und 340 ganz 
nett.

Gruß
Wolfgang

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der MCP2515 hat einen ziemlich konkurrenzlosen Charme: Er lässt sich mit 
jedem Microcontroller kombinieren der noch 4 Pins frei hat. Beim SJA1000 
ist das aufgrund des pinraubenden parallelen Businterfaces nicht 
gegeben.

Gegenüber integrierten Versionen wie beispielsweise AT90CAN128 oder 
LPC2129 hat man den Vorteil, dass man bei Migration von AVR auf ARM oder 
sonstwohin nur ein paar Zeilen SPI-Code umbauen muss, der Rest vom 
CAN-Stack bleibt erhalten.

Mit beispielsweise ATmega8 + MCP2515 ergibt sich eine durchaus kompakte 
und ausgesprochen billige Lösung. Deutlich billiger beispielsweise als 
das integrierte Pendant von Microchip.

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
M32C/80 Group bietet bis zu 1Mbyte Flash / 48Kbyte RAM und bis zu 2 Can 
2.0B Schnittstellen dieser Mikrocontroller bietet alle Vorzuege eines 
ARM7. Ich würde Dir für den Start ein MCP2515 o. AT90CAN128 empfehlen.

Autor: Dietmar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
CAN-Bus; Was brauche ich sonst noch?

Außer dem Controller, braucht man meistens noch einen Transceiver, der 
die Logikpegel des Controllers in CAN-Bus-Pegel wandelt und umgekehrt.

Philips beabsichtigte vor längerer Zeit sogar mal, auch die Transceiver 
in den Mikrocontroller zu integrieren. Interessant wäre das schon. Nun, 
wie weit das gereift ist, habe ich bis jetzt nicht erfahren können.

Notfalls, wenn kein Transceiver zur Hand, kann man für kleine 
Experimente auch CAN-Controller über Wired-AND (Dioden und Widerstände) 
betreiben, aber das ist dann kein echter CAN-Bus mehr.

Dietmar

Autor: Werner B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> CAN-Bus; Was brauche ich sonst noch?

2 * 120 Ohm und zwei Drähte

;-)  Werner

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.