cancel
Showing results for 
Search instead for 
Did you mean: 

Has anyone successfully ran an STM32F4xx CANBUS at 500K baud ?

Gudgel.boB
Senior

We are using the STM32F446 at 180 MHz and one of my engineers says he can't quite get the CAN peripheral to run at 500K (reliably?) with the available clocking system.

Anybody know any tricks to make this work ?

This is partly what he said.....

"I don't think running the AHB bus @180 MHz will work for 500K baud CAN communications. It kinda sorta works but the prescalers and time quanta settings I have to work with won't let me get quite close enough to 500K baud for it to be reliable. Too many errors. It's still preliminary right now, but it doesn't look good. If I set the N parameter in the PLL to 200 (rather than 180) I can get AHB / AHP1 / AHP2 buss frequencies of 200 / 100 / 50, which violates the requirements in section 6.3.3 but I can get the CAN frequency right on 500K baud. This appears to work but technically I'm overclocking the part."

10 REPLIES 10

Looks like there are 3 (three) combinations of numbers that will work at 500K baud reliably with the processor running at 180 MHz.

Remember that the CAN bus peripheral runs at 45 MHz and not 90 MHz

Check Turboscrew's initialization above as well.

I will get the other numbers here that should work as soon as I talk to Jim, the guy working on this.