查看: 3987|回复: 1

[原创] 飞思卡尔 UART最高波特率的计算方法

[复制链接]

该用户从未签到

10

主题

273

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1485
最后登录
2020-2-18
发表于 2015-5-14 09:09:20 | 显示全部楼层 |阅读模式
本帖最后由 z00 于 2015-5-14 09:12 编辑

在ST的手册中可以看到有UART最高波特率的说明,比如对于STM32F051,在其官方手册中可以看到以下说明:

20150314192330149.jpg

其最高波特率为6 Mbit/s.


作为搞飞思卡尔的我也研究了一下它是如何计算出来的:

20150314202606916.jpg

20150314202601342.jpg

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


再来看看飞思卡尔UART最高的波特率,可惜的是在飞思卡尔手册中并没有直接说明最高可以达到多少,需要自己去计算。

先看KE系列:

20150314204819595.jpg

对于KE02 20M 最高是:*1.25*Mbps(总线时钟最高为20M)

KE02 40M 最高也是1.25Mbps(总线时钟最高也是20M),

KE04KE06,最高波特率是*1.5*Mbps(总线时钟最高为24M)


再看KL系列中比如KL03,只有一个LPUART

20150314211322803.jpg

20150314212543707.jpg

所以最高为48/4=12M bps,


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


再看一下KL26,它有3个UART,一个是UART0,另外两个是UART1和UART2,UART0最高48M,所以波特率最高12Mbps,UART1和UART2的时钟为总线时钟,其计算公式为:

20150314214720973.jpg

所以最高波特率为24M/(16)=1.5M


再看一下K系列中K60 100M,总共有6个,UART0和UART1的clock来自core clock,UART2到UART5的clock来自bus clock,

20150314214701569 .jpg

计算公式都为

20150314214619168.jpg

所以:

20150314214727528.jpg

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

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


总结:

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


PDF版本: 飞思卡尔 UART 最高波特率的问题.pdf (443.93 KB, 下载次数: 13)

回复

使用道具 举报

  • TA的每日心情
    慵懒
    2016-11-24 10:19
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    50

    主题

    1028

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2870
    最后登录
    1970-1-1
    发表于 2015-5-14 09:54:28 | 显示全部楼层
    KL03 12M,不知道有人试过没有
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-24 08:13 , Processed in 0.084208 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表