We have been working on a PCB project that has an atMega1281 AVR, MCP2515 CAN controller and MCP2551 Transceiver. We have the boards engineered and and the code is complete on the AVR. During testing, we had great success on some vehicles but others, the device causes the CAN to go crazy and cause fault codes. On one case, the device would not let the vehicle start. The board and controller work great with a 3rd party bench simulator. My question is why on some vehicles, the CAN just goes crazy? I tend to believe its software related because it works great in some vehicles and the simulator. Has anyone experienced this and can you tell me what to look for that could be the root cause of the issue?
The solution was a simple oversight on my part. I had the CAN controller hard coded to a specific baud rate. After I discovered this and understanding that vehicles with CAN interfaces can run at different baud rates depending on the vehicle Mfg, I created a new routine to auto detect the baud rate of the CAN. This resolved the issue.