CAN Breakout 250K frequency incompatible with PEAK PCAN

Customer:

I attempted to use the CAN_250K_500K setting to receive a 250KBPS CAN bus signal. All other devices set at 250K received the data correctly, but the CAN Breakout did not receive anything. After testing with a PIC32MK1024MCM064, I found that only 18 BRP, 9 SEG1, 1 SEG2 and 2 SJW worked with the Soldered device. I attempted changing the firmware from 20MHz to 40MHz and it still did not work. Why is there a speed difference with this device? I can reproduce this using a PEAK PCAN-USB for comparison.

Originally submitted via email support on 10 April 2024. Migrated to the forum for community visibility.

Customer:

Has your company found an answer to why the Soldered CAN Breakout at 250Kbps will not communicate with the PEAK PCAN at the same frequency? Are there settings in the firmware include files that can be changed to tune the frequency to match other common CAN devices? I’ve found this CAN bit time calculation resource (can-wiki.info) with tuning parameters, and I’m also measuring bit width with an oscilloscope.

Attachment omitted in migration: ~WRD0000.jpg

Soldered Support:

This was tested and appears to work OK at 1Mb, 500K, and 250K using our library. The test was successful with standard frame and extended frame. Could you share any more data so we can replicate the issue? It works OK on our end and unfortunately we can’t replicate the issue.

Customer:

I am using the Soldered CAN Bus Breakout Arduino Library with CANFD_RECV_INT and CANFD_SEND. The only thing I changed was CAN125K_500K to CAN250K_500K. I tested it with the PEAK PCAN and Sparkfun CAN-BUS Shield—those two worked with each other but did not communicate with the Soldered CAN Breakout. When I changed the setting to 16MHz, it received some data from the device after waiting several minutes. I did get the device to communicate correctly with a PIC32MK1024MGM064 when I set it to bps=18 seg1=9 seg2=1 sgv=1 (250Kbps). However, that PIC32 setup does not work with any other devices.

Soldered Support:

We got it to work with interrupts and CAN breakout to CAN breakout communication. My colleague asked if you can provide any other details, mainly pictures or code snippets so we can see what’s going on, because we still can’t replicate the issue on our end. We don’t have a Sparkfun CAN-BUS shield—maybe there is some difference between that and our product causing compatibility issues. Please check the datasheets of those products to see if there are any details which make them different.

Attachment omitted in migration: e1be7e51-8157-40a5-9c1c-a550ca158652.jpg

Attachment omitted in migration: 5fdc1892-1bc6-4a91-b31d-533ea594cc85.jpg

Attachment omitted in migration: b2ee66b9-ca79-48ae-85cf-dc643c3c1e47.png

Customer:

I have also had it communicate with a PIC32. The problem is that it does not communicate with other devices such as the PEAK PCAN at 250 Kbps. Why is the Soldered CANFD 250 Kbps different than the PEAK PCAN?

Attachment omitted in migration: image002.jpg

Attachment omitted in migration: ~WRD0000.jpg

Attachment omitted in migration: image001.jpg

Attachment omitted in migration: image003.png

Soldered Support:

We’ve done further testing and have determined that we unfortunately can’t help any more with this issue. We don’t have the devices you’re testing with and we’ve determined our board and library to be functional. We understand this might be an unsatisfying resolution, but we can’t think of any other solution. Please check your implementation. We’re happy the breakout board worked in a certain context, but for the one you want to use it for, we can’t help anymore.