liqingfeng123 发表于 2022-4-10 11:55

Uart波特率能达到多高?

本帖最后由 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/
            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.






guijial511 发表于 2022-4-11 07:57

UART实际上也不会跑到很高的频率

linfelix 发表于 2022-4-27 20:17

才500k吗   

phoenixwhite 发表于 2022-4-27 20:26

可以到1.5Mhz的

abotomson 发表于 2022-4-27 20:41

115200

myiclife 发表于 2022-4-27 21:02

这个波特率还是不高

fengm 发表于 2022-4-27 21:31

还是使用总线吧   

dzfansman 发表于 2022-4-27 21:59

手册中并没有直接说明最高可以达到多少
页: [1]
查看完整版本: Uart波特率能达到多高?