Forum: Mikrocontroller und Digitale Elektronik Eigenbau CAN Bus Gateway


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von JanNM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich beschäftige mich gerade etwas mit CAN BUS.
Vorhanden ist ein System aus zwei Komponenten, die mittels CAN BUS 
kommunizieren.

Angefangen mit einem Arduino Nano und einem MCP2515 konnte ich zumindest 
die für mich interessanten IDs und Datensätze des CAN BUS 
identifizieren.

Ich möchte gerne die Kommunikation zwischen den den beiden Komponenten 
beeinflussen bzw. wenn bspw. ich einen Eingang des Arduino auf High 
setze sollen bestimmte Signale (in diesem Fall das Drücken eines 
Tasters) blockiert werden (Dient hier einer Sicherheitsfunktion, dass 
die Tasten keine Funktion mehr haben) Hardwareseitig kann man die Tasten 
leider nicht wegschalten.

Ich habe bereits versucht die Datensätze beim auftauchen der ID direkt 
zu überschreiben, das funktioniert aber leider nicht richtig und ist 
meiner Meinung auch nicht sinnvoll.

Man hat mich hier darauf aufmerksam gemacht, dass wohl ein Gateway 
sinnvoll wäre, welches man eben zwischenschaltet (anstatt den MCP2515 
nur an den Bus zu hängen) und selbst bestimmt, was durchkommen soll und 
was nicht.

Wie lässt sich sowas umsetzen? Kann man hierfür zwei MCP2515 an einem 
Nano verwenden oder reicht dessen Rechenleistung dafür nicht aus?
Bevor ich jetzt wieder anfange mir wild neues Zeug zuzulegen, was ich 
gerne mache, wollte ich dazu gerne nochmal andere Meinungen einholen.
Das Ganze möchte ich bei ausreichender Funktion auf eine eigene Platine 
bringen.

Im Standardfall sollen die ganzen Signale nur getunnelt werden, ohne 
dass ich darauf irgendeinen Einfluss habe.

In dem Bus tauchen etwa 10-15 Ids auf. Das ganze läuft mit 500kbps.

Gruß
Jan

von fchk (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ein MCP2515 ist bei 500kbps schon grenzwertig. Bei hoher Buslast kannst 
Du Pakete verlieren.

Die bessere Lösung wäre ein Microcontroller, der bereits intern zwei 
CAN-Bus Controller besitzt. Damit ist der SPI-Flaschenhals beseitigt.

Schau Dir mal das hier an:
http://www.microchip.com/wwwproducts/en/PIC32MZ0512EFK064

Der hat garantiert genug Datendurchsatz und Rechenleistung.

fchk

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.