Currently i am working on Telematics ECUs for automotive market. Let me share recent lesson learnt about the same.
Auto baudrate:
Autobaud rate is a feature where based on Rx messages, baudrate will be identified and configured the ECU for that baudrate, among the supported baudrates. For example, if your SW is developed to support for 125kbps and 250kbps CAN baudrates, SW is expected to identify the baudrate based on Rx msgs which ECU receives after the network on and start communication with that baud rate.
When same SW is meant for different types of vehicles with only baudrate change between their types, this feature is helpful to adapt the baudrate changes without any SW change.
Recently when I was checking the autobaud rate with my device, it was not working and but after couple of days, i tested the auto-baud with other device, in other system, it was working ! This created a confusion as well as problem to conclude. We proceeded with the release based on the result from other system. But this issue was troubling me in my mind.
Another fine day, i decided to crack this issue and started testing the same with my device, same CAN configuration and still it was not working. Then later, by chance i added another CAN msg to the transmit window of my CAN configuration and enabled both the msgs as periodic Tx and iit worked then !
Finally i was able to analyze the difference between the msgs and the conclusion was that, the Tx msg which was using before is not meant for TCU. This is nothing but TCU is not recipient of that CAN msg and hence there was no interrupt to receive that CAN msg. Tx msg interrupt will be raised only for msgs for which ECU is recipient.
The day got over with proper conclusion and lesson learnt..
Thank you...