www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CAN-Bus mit AVR?


Autor: franz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo CAN-Spezialisten,

habe zwar schon gegoogelt, aber nichts eindeutiges gefunden:

Ist es möglich, einen AVR als CAN-Controller einzusetzen?
Man findet zwar einige Schaltungen mit CAN für den AVR, dabei wird aber
immer ein Controllerchip verwendet.


Danke für Antworten!

Grüße,
Peter

Autor: Henning (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
gibt bei reichelt nen demoboard, aber auch mit controler chip denke ich
mal

Autor: AndreasH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sieh mal hier auf der Linkseite.
Da gibt es 2 Links.

Can@home ist superklasse.
Vor allen Dingen ist André Füßer super auskunftsfreudig.

Autor: franz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

danke für Eure Antworten!

@AndreasH: Bei den beiden Links werden auch CAN-Controller verwendet.

Aber es müsste doch möglich sein, den Controller, der die
CAN-Kommunikation durchführt, durch z.B. einen AT90S2313
(+Pegelanpasser)o.ä. zu ersetzen.

Gäbe es da irgendwo Anhaltspunkte?

Grüße,
Peter

Autor: AndreasH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt, ist mir hinterher auch eingefallen.

Ansonsten kenn ich nur einen mit integrierten Can-Controller der
kompatibel zum 8051 ist. Da kennt sich Peter Dannegger gut aus. Glaube
nennt sich T89C51CC01.

Versuch es mal auf der Atmel-HP. Wenn ich mich richtig erinnere, habe
ich da mal was gesehen. Bin mir aber nicht mehr ganz sicher.

Autor: Frank Linde (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peter,

grundsätzlich möglich ist das sicherlich, fragt sich nur, ob es den
Aufwand wert ist, wenn es fertige IC gibt. Und vielleicht kann man mit
dem AVR nicht die theoretische Maximal-Geschwindigkeit machen.

Gruß, Frank

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich denke auch, dass der AVR nicht schnell genug ist um gängige
Bitraten zu realisieren. 500kBit sollten denke ich nicht möglich sein.
Aufwändigere Berechnungen sind wohl das CRC, Synchronisation,
Fehlerbehandlung und evtl. Bitstuffing.  Theoretisch würde man es wohl
hinkriegen, dann hat der AVR aber keine Rechenleistung mehr übrig um
ein vielleicht vorhandenes übergeordnetes Protokoll oder irgentwelche
Messungen abzuarbeiten. D.h. man braucht dann trotzdem noch einen
weiteren Controller, weshalb man auch gleich einen CAN-Controller
nehmen kann. Atmel will gegen Ende des Jahres einen Mega 128 mit CAN
rausbringen. Vielleicht ist der ja was interessantes.

Gruß,

Ralf

Autor: Eddi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Franz

Ansonsten wäre da noch
http://caraca.sourceforge.net/

Die haben dem AT90S4433 CAN beigebracht.

Gruß
Eddi

Autor: Schmittchen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Eddi:
Treffender wäre: Carancan hat an den AT90S4433 einen CAN-Transceiver
angeschlossen und überträgt damit Daten.
Das funktioniert prima, bis ein richtiger CAN-Controller an diesen Bus
soll.

Man hat zwar auch schon USB und Ethernet per Software im AVR gesehen,
aber um die CAN-Specs vollständig einzuhalten wird der AVR nicht
schnell genug sein. (z.B. Bitsampling - Der Abtastzeitpunkt ist
innerhalb des Bits einstellbar, genauso wie die Anzahl der Samples pro
Bit). Du willst ja schliesslich bestimmt noch mehr machen...

Also wenn du nur irgendwie Daten übertragen willst, dann bau dein
eigenes Protokoll oder lehn dich an CAN an (z.B. so wie Caracan). Einen
vollwertigen CAN-Controller in AVR-Software: nein.

Schmittchen.

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich nehme die Moeglichkeit:

1 x Avr/Pic mit Spi
1 x MCP2510 Standalone Can Controller mit spi
1 x Sja1000 Transceiver IC

Mfg

Dirk

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soweit ich mich erinnere, schafft die Software CAN gerade mal 10kBit und
der AVR ist auch voll damit ausgelastet. Auch sind nicht alle
CAN-Funktionen implementiert.

Ansonsten wird gerne der SJA1000 genommen und auch der MSP2510.

Wenns aber auf kleinsten Platz ankommt, dann ist der T89C51CC02 am
besten (CAN+8051+Flash+Bootloader).


Peter

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.