Forum: Mikrocontroller und Digitale Elektronik Can Bus Filter/Blocker


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 Nils (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Ich habe einen MCP2515 CAN-Transceiver TJA1050 für mein Auto und kann 
die Signale vom Can Bus nun Auswerten. Nun möchte ich, dass ein 
Steuergerät im Auto bestimmte Can Massages nicht bekommt. Das heißt ich 
muss alle Nachrichten über meinen Arduino laufen lassen und nur die 
nicht weiter schicken die ich blocken will.
Nur wie geht das Hardware technisch? Brauche ich 2 Can Bus Shields?

von dasrotemopped (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Steuergerät vom Auto trennen, Arduino mit 2 CAN Bus Interfaces 
dazwischenschalten und CAN Nachrichten ausfiltern.
Anschliessend auf der abgesperrten Rennstrecke testen und diese nicht 
verlassen. Oder du arbeitest bei einem deutschen Autobauer, dann darf 
man das Auto auch mit Manipulationen am Steurgerät im Straßenverkehr 
nutzen.

Gruß,
dasrotemopped.

von Nils (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Es geht dabei nur um das Radio und die Tasten um Lenkrad aber danke für 
den Hinweis.
Nur wie bekomme ich an einen Arduino 2 Can Shields angeschlossen? Pins 
wie zb. Mosi Miso sind doch nur 1x vorhanden?

von Lothar M. (lkmiller) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Nils schrieb:
> Pins wie zb. Mosi Miso sind doch nur 1x vorhanden?
Das reicht auch. Nur den SlaveSelect brauchst du 2x.

Sieh dir einfach mal die Sturktur eines SPI-Busses an:
http://www.lothar-miller.de/s9y/archives/15-SPI.html

von Frank K. (fchk)


Bewertung
0 lesenswert
nicht lesenswert
Oder nimm einfach einen Arduino Due:

https://store.arduino.cc/arduino-due

Der hat bereits zwei CAN-Controller (also das, was Du sonst in zwei 
MCP2515 hat) eingebaut.

CANTX0: PA0
CANRX0: PA1
CANTX1: PB14
CANRX1: PB15

Du brauchst nur noch an die entsprechenden Pins die CAN-Transceiver 
anzuklemmen. Da der Prozessor auf dem Due nur mit 3.3V arbeitet, 
brauchst Du einen Transceiver mit zwei Spannungseingängen, zB:
- TJA1042T/3 (das /3 ist wichtig!)
- TJA1051T/3
- MAX13054
- MCP2562
- NCV7349D13R2G

Diese Lösung ist einfacher zu realisieren und zudem sehr viel 
performanter.

Falls Du etwas fertiges willst:

http://copperhilltech.com/dual-can-bus-interface-for-arduino-due-with-extended-power-range/
http://togglebit.net/product/arduino-due-can-shield/
http://store.evtv.me/proddetail.php?prod=DueCANBUS

Und hier gibts eine Lib dafür:
https://github.com/collin80/due_can

fchk

von Nils (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wie schaffe ich das von der library beide shields angesprochen werden 
können?

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]
  • [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.