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
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
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 ;)).
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
>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.
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.