09-09-2020 12:21 PM
Hello everybody,
I am working on an automotive component that communicate through CAN FD protocol.
In these period I am facing some problems in calculate the CRC value through Automatic Frame Processing functionality that is included in Veristand. What I've observed is that I am not able to include any byte higher than the seventh and this is probably due to the fact the AFP is compatible just on the classic CAN that is characterized by 8 bytes frames (if I am not wrong).
There is any solution to overcome this problem in Veristand?
Thank you in advance for your support.
Lorenzo.
09-09-2020 11:11 PM
Hello Lorenzo,
I think this might help: https://github.com/NIVeriStandAdd-Ons/CAN-Frame-Protection-Custom-Device
It's a Custom Device, so it won't be as performant as Automatic Frame Processing, but for our ECUs it works OK (for now at least 🙂 )
09-29-2020 06:23 PM
Hello Piotr,
Thank you for your answer. I've already tried with the Custom Device "CAN Frame Protection" but it was not successful since I don't understand where I can put the polynomial and the XOR in order to execute the calculation of the CRC.
The polynomial is the CRC calculation key that allows to the devices involved in the communication to check the integrity of a message. This is possibile only making calculation on the same polynomial otherwise the CRC sent with the message and the CRC calculated by the device that receive the message will never match.
Lorenzo M.
Test Engineer @Eldor Corporation S.p.A.
09-30-2020 01:52 AM
Hello Lorenzo,
In case of this Custom Device, you have to modify the source code to include CRC options other than defined. From my notes you have to modify 3 files in "Frame Protection Support" component:
Also there is an enum *.ctl (control) defining all possible protection schemes, so it's also to be modified to include an additional option.