2013-05-05 01:24 AM
Hi, I am currently working on a project that require to monitor the CAN bus for specific data and once it received the data it will process and store on to flash memory. The data come in high volume bursts.
One of the key requirement is that it has to be low power, I was thinking of throttling the PLL frequency once it finished writing data to flash memory to save some juice, however, this will inadvertently alter the baud rate of the CAN Bus. Has anyone have experience changing the PLL on fly and still able to receive data from the CAN Bus without missing any data on the network? Any help is much appreciate.Ben
#stm32f105-can-bus2013-05-05 04:27 AM
Where is the flash memory, and how is it's write speed materially effected by the CPU speed? Have you benchmarked this?
Changing the clocks on the fly, will likely provide windows of unavailability. If you can leave the PLL alone, and change the AHB divisors whilst leaving APB(CAN) alone, or idle with WFI, that might also save some power. Consider also a higher HSE, and not using the PLL.2013-05-06 02:51 AM
Hi Clive,
The problem lies in the processing of the data, it’s taking a large amount of time and I can’t do post-processing because another node on the network is waiting on the result. But I will take your advice on changing the divisor. Thanks. Ben