We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi all,
I try to communicate with the can periphral, in 8 MHz MCK with CAN baudrate 250kbit/s, I have no problem but when I go to 1 MHz have problem.
In the data sheets wrote th calculation and it's explain why it's doesn't works, but my question is, there is any solution for this problem?
continue with CAN Baud rate 250 Kbit/s, bt go down to 1 MHZ Master Clock.
Thanks all.
Is there a reason why you didn't find it important to tell what processor you are using?
But CAN is not much different from a normal UART. The CAN controller samples each bit multiple times, which means that the CAN controller needs a clock frequency significantly higher than the configured baudrate. It isn't enough to only have a factor 4 - the CAN controller wants to know the number of clock cycles before and after the sampling and if the bit should be sampled multiple times.
AT91SAM7x
From what you said, there is no way to run in baudrate 250 with 1 Mhz master clock, am I right?
I just tried Keil RL-CAN which is a part of RL-ARM and it works at 1MHz without problems. So it is possible.
You have managed to run CAN with 1Mbps baudrate?
Or managed to run CAN at 250kbps with the core and everything else running at max 1MHz?
Or some other combinations of 1MHz and 250kHz?
CAN - 250 Kbit/s MASTER CLOCK - 1Mhz
Is that possible
Is there any reason why you did not read in Atmel chip manual:
The TIME QUANTUM (TQ) is a fixed unit of time derived from the MCK period. The total num- ber of TIME QUANTA in a bit time is programmable from 8 to 25.
That seems to indicate that MCLK can't be lower than 2MHz for 250kHz CAN baudrate, using 8 TQ/bit.
So what did you mean by your previous post about 1MHz working without problems?
I thought that problem was that 1Mbit was not working at all, it of course can not work with MCLK less than 8 times higher than CAN speed.
1Mbps is a standard CAN speed. So most CAN controllers can support it. But only when having a suitable clock frequency sent to the controller.