飞思卡尔 UART 最高波特率的问题

在ST的手册中可以看到有UART最高波特率的说明,比如对于STM32F051,在其官方手册中可以看到以下说明:
STM32F051
其最高波特率为6 Mbit/s.
作为搞飞思卡尔的我也研究了一下它是如何计算出来的:
飞思卡尔 UART 最高波特率的问题_第1张图片

这里写图片描述

这里写图片描述

飞思卡尔 UART 最高波特率的问题_第2张图片

最高的波特率是(48M*2)/16=6M

再来看看飞思卡尔UART最高的波特率,可惜的是在飞思卡尔手册中并没有直接说明最高可以达到多少,需要自己去计算。
先看KE系列:
这里写图片描述
对于KE02 20M 最高是:*1.25*Mbps(总线时钟最高为20M)
KE02 40M 最高也是1.25Mbps(总线时钟最高也是20M),
KE04和KE06,最高波特率是*1.5*Mbps(总线时钟最高为24M)

再看KL系列中比如KL03,只有一个LPUART
飞思卡尔 UART 最高波特率的问题_第3张图片

飞思卡尔 UART 最高波特率的问题_第4张图片
所以最高为48/4=12M bps,

再看KL02,也是只有一个UART,它的clock最高也是48M,所以UART 的波特率最高也是12 Mbps.

再看一下KL26,它有3个UART,一个是UART0,另外两个是UART1和UART2,UART0最高48M,所以波特率最高12Mbps,UART1和UART2的时钟为总线时钟,其计算公式为:
这里写图片描述
所以最高波特率为24M/(16)=1.5M

再看一下K系列中K60 100M,总共有6个,UART0和UART1的clock来自core clock,UART2到UART5的clock来自bus clock,
这里写图片描述
计算公式都为
这里写图片描述

所以:
这里写图片描述

对于UART0和UART1,其最高波特率为:6.25M bps
对于UART2到UART5,其最高波特率为:3.125M bps

总结:
计算uart的最高波特率首先要知道UART 的clock最高为多少,飞思卡尔不同的uart其时钟来源不同,另外要知道采样率的范围,对于时钟为bus clock的uart其采样率为16,lpuart范围是4到32.

你可能感兴趣的:(飞思卡尔 UART 最高波特率的问题)