打印
[APM32F0]

Uart波特率能达到多高?

[复制链接]
870|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 liqingfeng123 于 2022-4-10 12:00 编辑

      很多工程师们在选型的时候不清楚如何查看和配置uart的波特率,这对uart有特殊应用的产品选型造成一定困难,特此描述:             我们以M0+产品为例:如何粗略算出MCU最高波特率?            1.型号:APM32F030C8T6;
      2.查看系统框图,找到uart的时钟源:
               
         从框图中可以清晰找到Uart1/2是挂在APB桥接上。
      3.查看并分析时钟树:
           
         从uart1上可以看出,主要时钟是从PCLK1上来的。
        4.综上查找道APB最高主频为48Mhz,不管是外部时钟还是内部时钟,PCLK1则为APB分频得出,这里取1分频,相当于PCLK1为48Mh,
          作为uart1的时钟源。
        5.公式计算:M0+的时钟源计算方式:
           波特率分频系数(USARTDIV)是一个 16 位的数字,包含 12 位整数部分和 4 位
          小数部分。它与系统时钟的关系:
              波特率=PCLK1/[16×(USARTDIV)]
              USART1的系统时钟为 PCLK1;(操作注意事项:必须在时钟控制单元使能系统时钟之后再使能 USART)         5.USARTDIV解释:也有说法是 波特率寄存器(USART_BR) ,实际上是USART_BR包含了USARTDIV,具体解释如下:
           USART_BR(32bit)= 高16bit(保留自用)+USARTDIV(低16bit);
           USARTDIV(低16bit)= IBR(15:4bit) +FBR(3:0bit);
           IBR(15:4bit) = 整数,取最大值就是2进制12位:0b 1111 1111 1111 ,转10进制:1;
           FBR(3:0bit) = 小数,取最大值就是2进制4位:0b 1111,转10进制:16;USARTDIV最小为:1;

          当然这个是理论值,实际操作值建议在:(与配置和误码率相关)
           Baud Rate  在 123 Bits/s and 500 KBits/s.






7f0af7aa8a26c405e108cbc8f37ad38.png (31.89 KB )

7f0af7aa8a26c405e108cbc8f37ad38.png

使用特权

评论回复
沙发
guijial511| | 2022-4-11 07:57 | 只看该作者
UART实际上也不会跑到很高的频率

使用特权

评论回复
板凳
linfelix| | 2022-4-27 20:17 | 只看该作者
才500k吗   

使用特权

评论回复
地板
phoenixwhite| | 2022-4-27 20:26 | 只看该作者
可以到1.5Mhz的  

使用特权

评论回复
5
abotomson| | 2022-4-27 20:41 | 只看该作者
115200  

使用特权

评论回复
6
myiclife| | 2022-4-27 21:02 | 只看该作者
这个波特率还是不高  

使用特权

评论回复
7
fengm| | 2022-4-27 21:31 | 只看该作者
还是使用总线吧   

使用特权

评论回复
8
dzfansman| | 2022-4-27 21:59 | 只看该作者
手册中并没有直接说明最高可以达到多少

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:极海半导体
简介:珠海极海半导体有限公司是一家致力于开发工业级/车规级微控制器、模拟与混合信号IC及系统级芯片的集成电路设计型企业。极海团队拥有20年集成电路设计经验和嵌入式系统开发能力,可为客户提供核心可靠的芯片产品及方案,实现准确感应、安全传输和实时控制,助力客户在智慧家居、高端消费电子、工业控制、汽车电子、智慧能源以及通信设施等领域的拓展创新。

10

主题

56

帖子

1

粉丝