CAN Interfacing Timing or Signal Issue

I would like to check your diagram with internal team first so I need to clarify the diagram and your problem.
Doesn’t the problem only happen in sending non constant frames from a specific IMU to Xavier? Where is the IMU in the diagram?


Sorry here is the updated diagram with IMU.

CONFIG_CAN_CALC_BITTIMING is enabled in current kernel config.
According to the documentation you shared, disabling CONFIG_CAN_CALC_BITTIMING allows user-space tools to set the bit-timing parameters.
Could you just check with below command if current bit timing is as your expectation?
$ ip -d link show can1

@VickNV , thank you for the reply. Last i checked, existing timings were too big. i think one of them was even out of allowed range mentioned in the link i shared in my last post. I will check again.
Also, if its handy can you please share how to change this flag? I can check in one of the documentation on developer site if i get to it first.

Looking forward to hear from you about what your internal team thinks about my current setup.
Thanks in advance.


Before changing kernel config, you can search linux communities about the problem or check the related driver (~/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/drive-oss-src/kernel/drivers/net/can/dev.c on host system) to figure out why it fails to set the bit-timing parameters.

For kernel compilation, please check Compiling the Kernel (NVIDIA DRIVE Linux). Thanks.

Thanks for this information. Just checking to see if you got a chance to get the diagram reviewed by the team?


Below is the response from the internal team after reviewing your diagram. FYI.

The diagram looks like it should be ok, but if it were me, I would terminator on the CANlyst 2 instead of the IMU, making it the last device on the chain.

The reason is that this tool is more likely to send/receive many different messages rather than the IMU which will be sending specific messages.

Under normal circumstances, this shouldn’t make a huge difference, but it can’t hurt to give it a shot.

The other thing that might help is to run a shared ground between all devices on the bus.