01-20-2023 01:10 AM
I have an ECU with CAN-FD, I have to send it a cyclic frame with the ID 0x50A. I don't have a .dbc, so I create a database in memory. This methos was working with CAN, but not with CAN-FD.
In the attached VI the frame will be sent and acknowledged by the ECU, if I use a Frame Out Stream session (the enabled case in the VI)
Actually I need the content of the disabled case of the VI, But if I run it, I see only error frames in the bus monitor.
Why is a difference between sending a single frame with the Frame Out Stream session and sending the frame cyclically? Do I do anything wrong at creating the frame in the database?
01-20-2023 12:55 PM
I believe that the error frame when using CAN FD is due to the sample point mismatch. Incorrect/Unexpected Behaviour or Slow CAN Frames When Using NI-XNET in CAN FD & BRS
NI-XNET uses 87.5% by default for the most common 500k+2M whereas Vector uses 75%. Try setting a custom baud rate. How Can I Set Custom Baud Rates on NI-XNET Devices?
Creating a cyclic frame vs writing a frame via stream session has nothing to do with the error frame, but rather the timing of the cyclic frame. The former is hardware-timed by the firmware onboard of the XNET device whereas the latter is software-timed by the while loop. See Hardware Time Based Control of CAN Frame Transmit Time with NI-XNET.