Forum: Mikrocontroller und Digitale Elektronik Gateway zwischen zwei CAN-Netzen


von Stefan (Gast)


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

von ARM-Fan (Gast)


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.

von Berti (Gast)


Lesenswert?

Oder ein Motorola HCS12

von Berti (Gast)


Lesenswert?

Ach ja: dazu ein aktuelles Codebeispiel:
Beitrag "Freescale HCS12/S12X CAN Treiber"

von Martin (Gast)


Lesenswert?

Ein Renesas M16C/6NK hat auch 2 CAN-Controller.

von Mirko (Gast)


Lesenswert?

Vielen Dank für die zahlreichen und schnellen Antworten, ich werde mich 
da mal am Wochenende durchkämpfen.

Gruß Mirko

von Martin Thomas (Gast)


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.

von eProfi (Gast)


Lesenswert?

wenn's was fertiges sein darf:  IXXAT CANbridge
gibt's auch in galvanisch getrennter Ausführung.

von Matthias (Gast)


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)

von Andreas K. (a-k)


Lesenswert?

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

von t.b.d. (Gast)


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

von Mirko (Gast)


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

von topsoft (Gast)


Lesenswert?

Hi,

2 x MCP2515 per SPI an einem AVR und fertig.

Gruß Rene

von Rene S. (gigastulle)


Lesenswert?

topsoft wrote:
> Hi,
>
> 2 x MCP2515 per SPI an einem AVR und fertig.
>
> Gruß Rene

Du hast die beiden busendstufen vergessen :D aber an sonsten stimme ich 
dir 100% zu

von Rainer  . (rainer72)


Lesenswert?

> Hi,
>
> 2 x MCP2515 per SPI an einem AVR und fertig.
>
> Gruß Rene


Gibts dazu irgendwo einen passenden Schaltplan und lauffähige Demos ?

von Josef (Gast)


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?

von TManiac (Gast)


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.

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.