Eigene CAN-Nachrichten empfangen?

Gast #4263840
Lesenswert?
• ▲
▼
Hallo,

ist irgendwo definiert, ob ein CAN-Controller ausgehende Nachrichten 
auch empfangen kann? Wenn nein, wie kann man am einfachsten das Signal 
von Rx auf Tx umleiten (es gibt eine Loopback-Funktion aber dann landet 
das Signal gar nicht mehr auf dem Kabel)?

Ich würde gerne eine Signal über CAN von einer Softwarekomponente an 
eine andere schicken, die sich beide auf dem gleichen Steuergerät (mit 
MPC5567) befinden. Später wird eine der Komponenten auf ein anderes 
Gerät gezogen, aber mit einem Gerät lässt sich das ganze einfacher 
debuggen.

Leider empfängt der derzeitige Aufbau aber die eigenen Nachrichten 
nicht, daher vermute ich, dass das ohne Anpassung gar nicht möglich ist.

Danke
Gast #4263852
Lesenswert?
• ▲
▼
Zu faul zum lesen?

"MPC5567 Microcontroller Reference Manual"

23.1.4.4 Loop-Back Mode
The module enters this mode when the LPB bit in the CANx_CR is asserted. 
In this mode, FlexCAN
performs an internal loop back that can be used for self test operation. 
The bit stream output of the
transmitter is internally fed back to the receiver input. The CAN 
receive input pin (CNRXx) is ignored and
the transmit output (CNTXx) goes to the recessive state (logic 1). 
FlexCAN behaves as it normally does
when transmitting, and treats its own transmitted message as a message 
received from a remote node. In
this mode, FlexCAN ignores the bit sent during the ACK slot in the CAN 
frame acknowledge field to
ensure proper reception of its own message. Both transmit and receive 
interrupts are generated.
Gast #4263859
Lesenswert?
• ▲
▼
Danke,

in den Loop-Back-Abschnitt habe ich gar nicht geschaut, weil ich ja auch 
noch von außen überprüfen will, was auf den Bus geschrieben wird. Daher 
kommt die Loop-Back-Funktionalität auch nicht in Frage, weil es eher ein 
Isolationsmode ist.

Dass da im zweiten Teil auch noch erklärt wird, dass Tx im normalen 
Betrieb auch auf Rx geleitet wird, ist eher Glück.

Dann muss ich wohl suchen wo die eigenen Nachrichten ungewollt in der 
Software rausgefiltert werden. Weißt Du vielleicht auch noch, ob der 
AUTOSAR-Standard da etwas vorschreibt?
Gast #4263877
Lesenswert?
• ▲
▼
Das mit den mehreren CANs wäre eine Option, leider gibt das die Platine 
aber nicht her, da dort nur ein CAN nach außen geleitet wird. Daher auch 
die Frage, wie das Verhalten innerhalb eines CAN-Controllers geregelt 
ist.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.