hello,
i am using MK60 processor UART interface with a 24 Mhz OSC clock. Our desired baud rate is 3.125 Mbps on RX and we also would like to reduce our power consumption by lowering the bus clock for uart. However, looking carefully, the uart only allow a 16x oversampling. The baud rate = UART clock / (16 * (SBR + BRFD).
My current UART clock is 60 Mhz, SBR = 1, and BRFA = 6 which convert this baud rate to 3.1578 Mbps which is ok.
however, if we want to lower the clock down to say below 50 Mhz like 30 or 40 Mhz to get a meaningful gain in power, it is impossible to set the baud rate to 3.1578 Mbps because the ratio of (SBR + BRDF) = 0.6. I can not set SBR = 0 because the manual said that it would disable baud rate generator. The closest option is 50 MHz which give me a combination of SRB+BRFD = 1.
Other processor that we used in the past like Atmel Sam3x has the option to configure 8x or 16x oversampling when UART clock is slower.
Does MK60 Kinetis have any option to oversample uart at lower rate like 8? I searched the manual but can not find anything.
If MK60 does not have option to reduce the sampling rate, is there any possibility that i can configure 3.125 Mbps baud rate for UART clock less than 50 Mhz?
Thanks,
Henry
Henry
The K60's UART 0 and UART1 are clocked by the system clock and the others by the bus clock. The lowest bus clock frequency to allows 3.125MBaud on UARTs >=2 is 50MHz. This is valid for all Ethernet capable parts which have this UART type with fixed x16 oversampling.
Since the K60 is an Ethernet processor you are probably using Ethernet, in which case the bus clock must be >= 50Mhz to be able to use 100Mb/s Ethernet. This would mean that you couldn't normally reduce the bus clock speed anyway.
In case you don't use Ethernet it may be best to look at a more suitable processor - the ones with LPUART (eg. KL82) have programmable oversampling between x4 and x32 and more options for choosing the UART clock source which allows fine tuning speed and power requirements.
Regards
Mark
Hi Mark
thank you so much for the explanation. It makes sense. We used mk60 because of the nand controller for our application and used uart at 3.125 Mbps for our data transfer throughout requirement.
We will stay with the clock rate that we have for now.
Thanks
henry