Forum: Mikrocontroller und Digitale Elektronik Eigene CAN-Nachrichten empfangen?


von Hans der Erste (Gast)


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

von Kopfschuettel (Gast)


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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Hans der Erste schrieb:
> (es gibt eine Loopback-Funktion aber dann landet das Signal gar nicht
> mehr auf dem Kabel)?
Und warum sollte es auf dem Kabel landen? Du willst es doch intern 
umleiten...

von Hans der Erste (Gast)


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?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Hartzer schrieb im Beitrag #4263867:
> Das Blockdiagramm des MPC5567 sagt auf den ersten Blick, das Ding habe
> 5xCAN. Wo ist jetzt das Problem? Der eine CAN sendet, der andere
> empfängt.
Diese Aussage reicht aus. Das Thema "Flüchtlinge" gehört nicht hierher.

von Hans der Erste (Gast)


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.

von Christopher B. (chrimbo) Benutzerseite


Lesenswert?

Hans der Erste schrieb:
> weil ich ja auch
> noch von außen überprüfen will, was auf den Bus geschrieben wird.
kann die Gegenstelle nicht einfach ein Echo senden? Oder ist das 
zeitliche Verhalten so kritisch?

Gruss
Christopher

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.