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.

[参考译文] MSP432P401M:UART TX和RX错误

Guru**** 2589300 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/630045/msp432p401m-uart-tx-and-rx-error

部件号:MSP432P401M

亲爱的Champs:

作为数据表,我们知道UART max BRCLK @Vcore 1.4V = 24MHz。 但我们可以在 表22-5中看到TX和RX错误。  MSP432P4xx SimpleLinkTm微控制器技术参考手册(修订版 f) 。

您是否可以提供BRCLK =24MHz的TX和RX错误数据?  

如果您有任何疑虑,请随时告知我。

非常感谢。

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

    其他问题是如何计算UCBRSx? 如Table 22-4。 N分次部分的UCBRSx设置= fBRCLK/Baud Rate
    它似乎与 以前的方法(如processors.wiki.ti.com/.../USCI_UART_Baud_Rate_Gen_Mode_Selection)不相似
    您能否分享如何计算UCBRSx?
    非常感谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Janet,

    所有这些都取决于您所需的波特率。

    您所链接的TRM.10,22.3 22.3 11和22.3 12部分旨在指导您计算所需的一切。 除了了解您的24 MHz BRCLK之外,您还需要知道所需的波特率,以便能够计算所有数据。 您是否浏览过此内容?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的Evan:

    是的,我已经学习了所有内容。

    在研究并希望测试计算结果后,请以红色块作为示例。

    BRCLK = 3.2768万,波特率= 1200。 N = INT (3.2768万/1200)1200)= 27。

    因此,OS16 = 1, UCBRx = INT (27/16)= 1, UCBRFx = INT ([(27/16)–INT (27/16)]×16)= 11。 但我的问题是UCBRSx。

    对于UCBRSx,3.2768万/1200 =1200 = 27.306.6667万。

    作为0.306.6667万 ,我尝试使用 表22-4,但如何在中选择?  

    如果使用  USCI UART波特率生成模式选择, 请访问http://processors.wiki.ti.com/index.php/USCI_UART_Baud_Rate_Gen_Mode_Selection

    UCBRCSx =圆形(0.306.6667万 * 8)= 2。  

    为什么UCBRCSx是0x25hex (37dec)?

    用户是否只需要使用表22-4来获取UCBRCSx或存在任何UCBRCSx计算方法?  

    其次,客户的需求是BRCLK = 24MHz,波特率= 11.52万,您是否可以提供 TX错误(neg/pos)和RX错误(neg/pos)?  

    如果您有任何疑虑,请随时告知我。

    非常感谢。

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

    首先,对于您提供的链接,"USCI UART Buad Gen Mode"链接是为计算不同类别设备的设置而构建的。 USCI和eUSCI (这是MSP432上的内容)是两种不同的东西,计算结果不会相同,因此请不要使用该链接进行此工作。 请相信您从数据表中收到的UCBRSx值。

    在您的分数部分的实例中,我将四舍五入到UCBRSx的最近设置,正如您在第一个示例中看到的那样。

    我将研究24MHz的TX/RX错误计算并了解我可以找到的内容。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的Evan:

    感谢您的解释。
    因此,就像我的例子,|0x-0x|<|0x-0x| 0.306.6667万 0.3335 (0.306.6667万 - 0.3000)|,这样就选择了(0x25)。
    这意味着用户只需选择最接近的数字UCBRSx,对吗?

    对于24MHz BRCLK,请提供TX/RX错误率。

    我也会计算出来,并与您仔细核对。
    非常感谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Janet,

    感谢您的耐心等待。

    时钟:2400万
    波特率:11.52万
    UCOS16 = 1
    UCBRx = 13
    UCFx = 0
    UCSx = 0x25

    最大 TX位错误[%]:(0.15万 ,0.32万)
    最大 RX位错误[%]:(0.47万 ,0.48万)

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

    尊敬的Evan:

    感谢您的分享。

    使用此方法计算TX/RX错误之后。

    我发现一个关于以下情况的问题:  

    BRCLK = 24MHz,波特率罕见= 11.52万,因此240万/115200 =11.52万 = 400万/19200 =1.92万 = 208.33.3333万 ,但其UCBRSx = 0x84。  

    但 在表22-4中找不到0x84。

    因此,当N的分数部分为0.3333 时,UCBRSx是“0x84”还是“0x25”?  

    如果您有任何建议或想法,请随时告知我。

    非常感谢。

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

    在您的案例中,N的分数部分是.3333,使用表22-4,我将向上舍入到表中的部分,使用0.3335 ,对UCBRSx使用0x49,并了解这对您的客户的工作方式。 如果他们开始看到一个不可接受的错误,我鼓励他们使用0x25。

    UCBRSx组件对整体误差计算的影响很小,所以我不太关心这两个值。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的Evan:

    理解,我基于此计算方法在Excel中构建公式。

    但只需解决上面提到的一些小问题,例如400万/19200 =1.92万 = 208.33.3333万 ,但它的UCBRSx = 0x84,为什么不能解决0x25?

    请您帮助我检查一下这个小混乱吗? 如果是TRM错误,请更新吗?  

    非常感谢。

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

    我已经认识到您拥有的相同信息,我们正在进行调查。 它可能像打字一样简单,如果是,我们将进行更新。 同时,最好参考表22-4。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Janet,  

    该建议对客户的作用如何?