This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/MSP430F5438A:UART

Guru**** 2589280 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/658930/ccs-msp430f5438a-uart

部件号:MSP430F5438A

工具/软件:Code Composer Studio

您好,我在计算USCI UART波特率寄存器值时遇到问题。  

我的时钟速度是 2500.1984万 Hz,我想要的波特率是23.04万。  

根据用户指南,寄存器值的计算应是:

n=fBRCLK/Baudrate=2500.1985万/230400=<xmt-block0>23.04万 108.52

UCBR0=INT (N/16)=6

UCBRF0=ROUND ([(N/16)-INT (N/16)]*16)=ROUND [(6.7822.2222万 -6)*16]=ROUND (0.782.2222万 -16)=ROUND (12.515.5556万)=13

但当我在您的网站   processors.wiki.ti.com/index.php/USCI_UART_Baud_Rate_Gen_Mode_Selection上计算它们时

结果为:Divider= 6.7822.2222万2222222</xmt-block>222.2222万 ;BRDIV= 6       S-Modulation UCBRSx= 2.      调制UCBRFx= 11.

那么为什么UCBRFx的值与我计算的值不同?   哪一个是正确的? 11还是13?

如何自己计算UCBRS0?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    从用户手册的“36.3 .10.2 ”一节中,可以使用UCBRSx获得更高的精度。

    因此,要回答您的问题:
    它们是不同的,因为网站包含UCBRSx设置。
    UCBRSx (我认为,TI可以纠正此问题)是通过对位错误的强力分析计算的。

    您的计算是正确的,您可以使用它们,但网站中提供的数字可能有更少的位错误。 如果两者都能正常工作,我建议使用网站的编号,因为它们可能会减少您的位错误。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢Mike。如果我使用低频波特率生成而不是过采样波特率生成,该怎么办? 在我的情况下,它的工作效果是否比生成超额采样更好? 因为根据他们在网站上提供的结果:

    对于低频波特率生成:最大 Tx位错误:- 0.6184.4692万00526053</xmt-block>52.6053万 (- 0.6184.4692万00526053</xmt-block>52.6053万 ,0)
    最大 RX位错误(同步:- 0.5 BRCLK):- 0.8416.612万57668589</xmt-block>5766.8589万 (- 0.8416.612万57668589</xmt-block>5766.8589万 ,0)

    但对于过采样波特率生成:最大值。 TX位错误:2.7359.1087万8112736</xmt-block>811.2736万 (1.5113.0406万29094638</xmt-block>2909.4638万 ,2.7359.1087万8112736</xmt-block>811.2736万)
    最大 RX位错误(同步:- 0.5 BRCLK):3.4342.2346万00262054</xmt-block>26.2054万 (- 0.8129.9148万09960719</xmt-block>996.0719万 ,3.4342.2346万00262054</xmt-block>26.2054万)

    这是否意味着低频波特率生成方法在数据传输中导致的错误更少? 我是否理解正确?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    从您提供的数字来看,低频似乎是更好的选择。 我真的很惊讶(因为过采样的人占多数)!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢,非常感谢您的帮助!
    祝你一切顺利!