Beispiel für Routen und Manipulation von CAN-FD

Universal Programmable Converter for CAN FD and CAN
Post Reply
Reetxen
Posts: 2
Joined: Tue 10. May 2016, 11:27

Beispiel für Routen und Manipulation von CAN-FD

Post by Reetxen » Tue 10. May 2016, 11:35

Hallo zusammen,

ich möchte den PCAN-Router FD verwenden um Nachrichten zwischen einem CAN und einem CAN-FD Bus zu versenden und manche auch zu manipulieren.

Leider hatte ich angenommen das ich den PCAN-Router FD wie den PCAN-Router Pro über eine Oberfläche
konfigurieren kann. Kann mir jemand ein einfaches Beispiel für das Routen und Manipulieren von Nachrichten
erstellen?

MFG

Reetxen

User avatar
M.Gerber
Design & Documentation
Design & Documentation
Posts: 68
Joined: Mon 13. Sep 2010, 16:34

Re: Beispiel für Routen und Manipulation von CAN-FD

Post by M.Gerber » Tue 10. May 2016, 11:48

Hallo Reetxen,

auf der mitgelieferten Produkt-DVD* sind im Verzeichniszweig

Code: Select all

/Develop/Microcontroller hardware/PCAN-Router FD/Examples/
diverse Programmierbeispiele als gute Grundlage für eigenen Code vorhanden. Das Beispiel A_CAN_FD hilft da sicherlich weiter. Es lässt sich mit der ebenfalls vorhandenen GNU ARM Toolchain compilieren und dann per PCAN-Flash auf den Router FD übertragen.

Freundliche Grüße
Mark Gerber

* Auch online verfügbar: http://www.peak-system.com/produktcd/

Reetxen
Posts: 2
Joined: Tue 10. May 2016, 11:27

Re: Beispiel für Routen und Manipulation von CAN-FD

Post by Reetxen » Tue 17. May 2016, 16:27

Hallo Herr Gerber,

vielen Dank für die Antwort damit habe ich mich schon etwas herumprobiert....

Empfangen von Nachrichten auf CAN1 und weiterleiten zu CAN2 funktioniert soweit, allerdings habe ich
Probleme eine CAN Nachricht in eine CAN-FD Nachricht umzuwandeln.

Code: Select all

if ( RxMsg.id == 0x123  &&  RxMsg.msgtype == CAN_MSGTYPE_STANDARD)
			{
				// overwrite msgtype
				RxMsg.msgtype = CAN_MSGTYPE_FDF | CAN_MSGTYPE_BRS;

				// set dlc to 12 data bytes
				RxMsg.dlc = CAN_LEN12_DLC;

				// add some other data
				RxMsg.data8[8] = 0x11;
				RxMsg.data8[9] = 0x22;
				RxMsg.data8[10] = 0x33;
				RxMsg.data8[11] = 0x44;

				CAN_Write ( CAN_BUS2, &RxMsg);
			}
Diesen Code habe ich aus den von Ihnen angesprochenen Beispielen übernommen.

Mein Problem ist jetzt das ich mittels CANoe eine CAN-Nachricht mit Datenlänge 8 Byte,
und der ID 0x123 erstelle und auf den Bus sende. Wenn ich diese Nachricht nur von CAN1
auf CAN2 route ist alles gut und ich sehe die korrekte Nachricht. Wenn ich allerdings die
CAN-Nachricht in eine CAN-FD Nachricht umwandeln möchte und dazu den oben gezeigten
Quellcode verwende dann sehe ich im PCAN Viewer "Stuff Fehler". Einen Screenshot habe
ich als Datei angehängt.

Ich vermute mal das ich den Datentype der CAN Message falsh überschrieben habe.

Grüße Reetxen
Attachments
Screenshot Fehler in PCAN View
Screenshot Fehler in PCAN View
Unbenannt.jpg (128.92 KiB) Viewed 10112 times

User avatar
P.Steil
Hardware Development
Hardware Development
Posts: 32
Joined: Fri 14. Jan 2011, 10:27

Re: Beispiel für Routen und Manipulation von CAN-FD

Post by P.Steil » Wed 18. May 2016, 08:21

Hallo,

sollte das Routen nicht funktionieren prüfen Sie bitte folgendes:

- Baudraten
Die Baudraten für den Router sowie das CAN interface müssen genau zusammen passen.
Dies betrifft vor allem den Samplepoint der Arbitrierungsbaudrate sowie für das Datenfeld.
- ISO Mode
Prüfen Sie ob der ISO Mode passt (ISO / nonISO)
- Terminierung am Kabel
- Senden ohne BRS
Lassen Sie testweise mal das BRS weg um zu prüfen das CAN-FD Nachrichten überhaupt
durchkommen.

Grüße
Philipp Steil
--------------------------------------------
PEAK-System HW development Team
support@peak-system.com
phone: +49-6151-8173-20
fax: +49-6151-8173-29
--------------------------------------------

Post Reply