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
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.
Vielen Dank für die zahlreichen und schnellen Antworten, ich werde mich da mal am Wochenende durchkämpfen. Gruß Mirko
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.
wenn's was fertiges sein darf: IXXAT CANbridge gibt's auch in galvanisch getrennter Ausführung.
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)
Kann es sein, dass ihr hier mit (ARM-) Kanonen auf Spatzen schiesst?
>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
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
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
> Hi, > > 2 x MCP2515 per SPI an einem AVR und fertig. > > Gruß Rene Gibts dazu irgendwo einen passenden Schaltplan und lauffähige Demos ?
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.