电子森林EETree工具与电路 返回主站
在线工具 / 嵌入式接口

MSP430 UART 波特率

计算 MSP430 UART 波特率寄存器:x1xx/x4xx USART 的 UxBR0、UxBR1、UxMCTL(按 TI 手册逐位调制算法)及逐位发送误差;x2xx/x5xx USCI_A 的 UCBRx、UCBRSx、UCBRFx。

输入参数

计算结果

点按结果可复制数值;支持输入 4.7k、100n、2u2 等工程写法

计算公式

USART:N = ⌊BRCLK / 波特率⌋,UxBR0 = N & 0xFF,UxBR1 = N >> 8
第 i 位误差:Ei = [ (波特率/BRCLK)·((i+1)·N + Σj≤i mj) − (i+1) ] × 100%,逐位选 mi ∈ {0,1} 使 |Ei| 最小
UxMCTL = m7…m0(m0 用于起始位,第 8 位以后循环使用)
USCI_A 过采样:UCBRx = ⌊N/16⌋,UCBRFx = round((N/16 − ⌊N/16⌋)·16)
USCI_A 低频:UCBRx = ⌊N⌋,UCBRSx = round((N − ⌊N⌋)·8)

原理与说明

MSP430 的 UART 用一个整数分频器加"调制"产生波特率:分频比 BRCLK/波特率 往往不是整数,调制寄存器决定每一位额外多计 1 个 BRCLK,从而让累计位时间尽量接近理想值。

USART(MSP430x1xx / x4xx,SLAU049 第 13 章)

USCI_A(x2xx / x5xx)

原 eetree.cn 工具界面把波特率单位误标为 kHz,本工具已修正,并增加 USCI 模式与逐位误差表。

相关工具