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


von Tobias P. (hubertus)


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

von Chris D. (myfairtux) (Moderator) Benutzerseite


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

von Tobias P. (hubertus)


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 ;)).

von Tobias P. (hubertus)


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

von Andreas K. (a-k)


Lesenswert?

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

von ARM-Fan (Gast)


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.

von Tobias P. (hubertus)


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?

von Andreas K. (a-k)


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.

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
Noch kein Account? Hier anmelden.