Gateway zwischen zwei CAN-Netzen

Gast #803082
Lesenswert?

Hallo,
ich benötige ein Gateway zwischen zwei CAN-Netzen. Das eine verwendet 
als Übertragungsformat einen 11-Bit-Identifier das andere einen Extented 
Identifier. Es dürfen auch nur bestimmte Botschaften in das jeweils 
andere Netz übermittelt werden. Mit der CAN-geschichte bin ich ein 
ziemlicher Anfänger.

Ich plane den Aufbau mittels Mega162 und zwei SJA1000.
Ist das soweit richtig oder kennt jemand eine elegantere Möglichkeit?

Gruß Mirko
Gast #803098
Lesenswert?

ARM7 von NXP LPC23xx, hat zwei CAN Controller integriert.
Mit der passenden Toolchain (z.B. Keil MDK-ARM und Realtime Library)
sind die passenden CAN-Treiber gleich dabei, so dass die eigentliche
Entwicklung nur noch ein Klacks ist.

Ist halt die Frage ob es kostengünstig oder schnell gehen soll.
Gast #803438
Lesenswert?

ATmega162 mit 2*SJA1000 scheint mir auch etwas unelegant. Habe mal etwas 
sehr ähnliches mit einem LPC2129 gemacht (CAN-CAN Bridge mit 
Filtermöglichkeit). LPC2129 ist etwas "handlicher" als ein LPC23xx aber 
bietet natürlich auch weniger Möglichkeiten, düfte dennoch ausreichen. 
CAN Treiber Beispielcode gibt es gut vorgekaut bei nxp.com. Man muss 
kein CAN-Experte sein, um damit loslegen zu können. Weiterhin lohnt sich 
mglw. noch ein Blick auf die Produkte und Beispielcodes von st.com (STR7 
und STM32) sowie auf den AT91SAM7X.
Gast #803586
Lesenswert?

Ich würde ein Controller von Luminary Micro oder ST-Micro "STM32xx"
empfehlen. Die Teile von Luminary sind mit der Keil Toolchain relativ
handlich zu programmieren.

Bei den ARM7 (speziell denen von NXP) wäre ich vorsichtig. Die haben 
einen weniger guten Ruf....

Außerdem dürfte das Interrupt-Handling der Cortex-M3 Controller etwas 
besser sein! DMA bei den STM32xx ist u.U. auch eine feine Sache....

Die Keil Toolchain ist übrigends die gleiche für ARM7 und Cortex-M3.
(Auch gleicher Compiler)
Gast #803610
Lesenswert?

>Kann es sein, dass ihr hier mit (ARM-) Kanonen auf Spatzen schiesst?

schon, aber auch nur, weil man es sich so einfach wie möglich machen 
möchte. abgesehen davon sind 2 sja1000 fast so teuer wie ein lpc2119
Gast #803850
Lesenswert?

Hallo das Ding ist ich habe ein STK500 da und möchte mir speziell für 
dieses Projekt möglichst keine neue Handware (Keil Evaluation Board) 
zukaufen.

Wie gesagt, ich werde am Wochenende einmal eure ganzen Hinweise 
durchgehen.

Am liebsten wäre mir natürlich die Eierlegendewollmilchsau mit wenig 
Aufwand und preiswert ;) Leider gibts das ja nie....

Vielen Dank noch einmal für eure zahlreichen Antworten

Gruß Mirko
Gast #1194795
Lesenswert?

könnte der atmega162 nicht etwas zu langsam sein um 2 can netzwerke mit 
eventuell 1 mbaud zu verarbeiten?

ich würde glaube ich auch ein arm7 nehmen. oder nen arm9 :D da haste ne 
eierlegendewollmilchsau und kannst noch soviel anderes damit machen.


oder wie waers mit 2 at90can die über spi kommunizieren? willst du auch 
daten zwischen speichern oder on-the-fly weiter senden? und was ist wenn 
ein cannetzwerk abstürzt? werden die daten gepuffert? wie wird die 
filterung eingestellt?
Gast #1196980
Lesenswert?

Also für ein Gateway zwischen zwei CAN-Netzwerken, würden mir als erstes 
ein paar Derivate aus Infineons XC8xx Reihe einfallen. Die können die 
Gatewayfunktion komplett in Hardware abarbeiten. Da bleibt die ganze 
Rechenleistung (ok ist nur ein 8bitter) für alle anderen Spielerein, wie 
zum Beispiel für n:1 Übersetzungen, Checksummen oder Botschaftszähler.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren