www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Empfehlung für CAN-Controller?


Autor: Tobias Plüss (hubertus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
mein Board, welches ich immer noch am Entwickeln bin, soll natürlich 
auch mit CAN ausgerüstet werden.
Nun stellte sich mir die Frage, welchen Controller man dazu am besten 
verwendet. Ich habe bis jetzt zwei verschiedene Typen 
herauskristallisiert, und zwar den SJA1000 und den Intel I82527. Ein 
wichtiges Kriterium für mich ist, dass der Controller CAN 2.0B 
unterstützt und ein paralleles Bus-Interface hat. Dazu soll er noch in 
einem möglichst kleinen QFP-Gehäuse erhältlich sein.
Könnt ihr mir vielleicht einen Tipp geben? Gibt es noch bessere 
CAN-Controller als den 82527 und den SJA1000? Was habt ihr für 
Erfahrungen gemacht mit denen? Bisher habe ich noch nicht mit CAN 
gearbeitet, aber einmal ist bekanntlich immer das erste mal. Deshalb 
hier die Fragerei.
Grüsse
   Tobias

Autor: Chris D. (myfairtux) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MCP2515 von Microchip - ist ein nettes Dingen.

Kann 2.0B, hat allerdings kein paralleles Interface - ich wüsste aber 
auch nicht, was das bringen sollte. SPI ist doch viel praktischer.

Außerdem passt "paralleles Interface" und "Gehäuse möglichst klein" 
irgendwie nicht zusammen ;-)

Beste Grüße, Christoph

Autor: Tobias Plüss (hubertus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christoph,
danke erstmal, werde ich mir anschauen.
Nun, das parallele Interface ist nicht zwingend erforderlich, aber da 
ich eh schon einen parallelen Bus realisiert habe (für RAM  Flash  den 
Ethernetcontroller und die Verbindung zum FPGA, welcher auch noch auf 
dem Board wohnt) macht es nix, wenn noch ein weiterer Chip mit parallel 
Anschluss hinzukommt. Ausserdem finde ich es praktisch, wenn Geräte am 
A-/D-Bus des Microcontrollers sind. Man braucht dann nur noch simple 
Move-Befehle, um Daten zu transportieren. Bei SPI oder einer anderen 
Schnittstelle muss man erst initialisieren, und dann in der Software 
gleich zwei Protokolle beachten: erstens muss man die SPI-Schnittstelle 
des Controllers mit passenden Daten füttern, und die Daten müssen dann 
auch noch zum CAN-Controller passen. SPI ist zwar praktisch wegen der 
geringen Leitungszahl, finde es aber irgendwie ein bisschen unelegant...
trotzdem danke, werde mir diesen MCP mal anschauen (vielleicht kann der 
ja meine Meinung revidieren ;)).

Autor: Tobias Plüss (hubertus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Noch ein wichtiges Kriterium fällt mir ein: Der CAN-Controller sollte 
mit 3.3V laufen. Gibts sowas überhaupt? Der I82527 und der SJA1000 
sollten laut Datenblatt erst ab 4.5V funktionieren. Kann man die auch 
mit 3.3V speisen? Bei Logik-ICs funktioniert das ja auch, obwohl der 
Hersteller meist mindestens 4V voraussetzt. Was meint ihr?

Grüsse
      Tobias

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der MCP2515 ist auch mit 3,3V glücklich. Transceiver für 3,3V gibt es 
von TI.

Autor: ARM-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Der I82527 und der SJA1000 sollten laut Datenblatt erst ab 4.5V
>funktionieren.

Wenn das so da steht, dann wird das auch so stimmen.
Alles andere ist undefiniert.

Was hast du denn überhaupt für einen Mikrocontroller?
Gibt es in der von dir ausgewählten Architektur keinen,
der CAN onboard hat?

Ansonsten würde halt der MCP für 3,3V taugen.

Autor: Tobias Plüss (hubertus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Arm-Fan,
nein den von mir verwendeten Microcontroller gibts nicht mit CAN. 
Ausserdem - extra neue kaufen, das will ich nicht. Ich hab die mal in 
der Firma geschenkt bekommen.
Welcher von den CAN-Transceivern, die es von TI gibt, ist 
funktionskompatibel zum PCA82C251? irgendwie blick' ich da im Moment 
nicht durch.
Ich habe nochmals gegoogelt, und irgendwie scheint es keine 
CAN-Controller zu geben, die ein paralleles Bus-Interface haben und die 
mit 3.3V laufen?! Irgendwie erstaunlich. Für wie klug haltet ihr es, den 
CAN-Controller im FPGA zu implementieren und am FPGA dann nur noch die 
Optokoppler und den CAN-Transceiver zu installieren?

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tobias Plüss wrote:

> Welcher von den CAN-Transceivern, die es von TI gibt, ist
> funktionskompatibel zum PCA82C251?

SN65HVD23x (x=0..2)

> mit 3.3V laufen?! Irgendwie erstaunlich.

Eigentlich nicht erstaunlich. Nicht alle kriegen ihren Controller 
geschenkt. Die meisten können ihn bei Bedarf auswählen und nehmen dann 
einen mit internem CAN.

> Für wie klug haltet ihr es, den
> CAN-Controller im FPGA zu implementieren und am FPGA dann nur noch die
> Optokoppler und den CAN-Transceiver zu installieren?

Wenn ich mir die Errata-Sheets der diversen CAN Implementierungen von 
NXP und Micochip ansehe, dann schliesse ich daraus, dass du für eine 
saubere Implementierung sehr viel Zeit und Interesse aufbringen musst, 
vom Testequipment ganz abgesehen.

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.