Error Frames When Using CAN-FD
The ECU is sending CAN-FD frames, which leads to error frames visualized inside of the CANoe Trace view. The observed behavior on the bus is regardless of the bitrate and occurs also in the arbitration phase. Communication works fine using CAN with the same data rate.
Please verify the following configuration and environment issues:
- Which CANoe version is used?
The version should be at least 8.5 SP6 to support CAN-FD. In general, when selecting the CANoe version and service pack the motto should be: “the newer the better”. - CAN-FD Format of your hardware is non-ISO or ISO CAN-FD (important to know)?
Please verify which CAN-FD format is supported by your hardware. Also assure that your configuration (BSW and CANoe) is non-ISO or ISO according to the supported format. - Correct CANoe configuration and config matches to BSW config?
The configured CAN-FD mode of BSW in DaVinci Configurator 5 and in CANoe should be identical (CAN-FD ISO/non-ISO). Please also verify that the data rates (arbitration and data) are the same in both configurations. Finally, check that the sampling point of your ECU and of CANoe are fitting to your setup.
Figure 1 Screenshot of CANoe Hardware Configuration (Channel Settings, CANSetup)
On the left side in the screenshot above you see, how to select the mode CAN-FD and how to configure the baudrate. Please use the regular CAN baudrate from your ECU project at Baud rate and the specific CAN-FD baudrate from DaVinci Developer as Data rate.
The screenshot on the right side shows the configuration of the sampling point inside of CANoe. The selected one, 80% in the example above, means it is a quite late point to determine the bus state. This makes it more robust, which is necessary for CAN-FD or long CAN buses in general. Both values, the one of MICROSAR and CANoe, are allowed to be the same. The setting inside of the DaVinci Configurator is depicted in the screenshot below.
Figure 2 CAN Configuration - Including Sampling Point - for CAN-FD in the DaVinci Configurator Pro - Which windows driver version is used for the VN16xxx (CAN interface)?
Up to windows driver version 9.x of VN CAN-Interfaces, there is a different driver for ISO and Non-ISO CAN-FD. Please make sure to use the correct driver. Alternatively, you can use driver version10.x supporting both ISO and Non-ISO CAN-FD (see [1] for download). In general, when selecting the driver version, you should remember the motto: “the newer the better”. - Is the clocking (MCU) of your CAN controller correct and is there a valid signal generated?
Please use an oscilloscope to analyze the signal processing on the CAN transceiver. In case the signal is ok, your oscilloscope trace should look like the below screenshot
Figure 3 Oscilloscope Trace of a CAN-FD Communication, Showing the Sequent Phases of Transferring a Frame[3]
Additionally, please install driver version 10.x or higher for your VN CAN-interface. Earlier versions cannot switch between ISO and non-ISO usage, which might lead to connection issues, that are hardly identifiable.
[2]: http://download.vector.com/servicepacks/canoe_canalyzer/CANoeCANalyzer_9.0_SP6_64Bit.zip (for CANoe 9 SP6 64bit) - select different version in download center for other versions of CANoe
[3]: https://assets.vector.com/cms/content/know-how/can/Slides/CAN_FD_Introduction_EN.pdf
"CAN FD-An Introduction", Vector presentation from 2018