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.

[参考译文] MSP430FR5994:UART 模式下 eUSCI_A 的最大波特率

Guru**** 2606725 points
Other Parts Discussed in Thread: MSP-EXP430FR5994, MSP430FR4133

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/650696/msp430fr5994-maximum-baud-rate-on-eusci_a-in-uart-mode

器件型号:MSP430FR5994
主题中讨论的其他器件:MSP-EXP430FR5994MSP430FR4133

团队、

我与一位工业客户合作、该客户正在基于 MSP430FR59xx 的节点之间实施定制高速串行协议、以实现机器自动化和控制。 它们使用连接到 Launchpad 之间 eUSCI_A 的短跳线来测试两个 FR5994器件之间可实现的最大吞吐量。

通过查看 FR5xx UG (www.ti.com/.../slau367o.pdf) 第30.3.13节“典型波特率和错误”,我们可以在表30-5中看到,对于16MHz BRCLK,最大波特率应为460800,但是我们看到230400以上的任何内容都无法正常工作-无串行输出。 我们不使用此配置的低功耗模式、但我们使用的是默认未安装 HF XTAL 的 DCO。 使用 DCO 时,此问题是否由限制引起?

我们是否有正确配置 eUSCI_A 时钟设置并在 MSP-EXP430FR5994上演示最大波特率的代码片段? 在使用以下用例的情况下、FR5994上可实现的最大波特率是多少:

  1. 将内部 DCO 与未修改的 LP 板配合使用
  2. 高质量的 HF XTAL 来实现的

此致、

Garry

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我对2xx/5xx 闪存系列的 UART 进行了一些测试、它可以在没有问题的情况下超过1Mbps。

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

    我不认为最大波特率有任何代码片段、因为这是一个会根据各种因素而变化的代码片段。

    当您说没有看到串行输出时、您是否意味着探测线路时没有看到任何内容(例如使用逻辑分析仪)? 您应该会看到一些内容、但如果错误率太高、您将无法正确接收数据。 根据数据表、最大波特率为4 MBaud。 不过、实际可以达到的最大波特率取决于多个因素。

    用户指南中的表30-5未列出给定 BRCLK 的最大波特率。 它只是列出了常见 BRCLK 速率和波特率组合的建议设置。 如表中所示、BRCLK 为16MHz 时波特率为460800会产生较大的 TX 和 Rx 错误、并且使用 DCO 也会引入大量错误。 使用高质量的 HF XTAL 应该允许您达到一个更高的波特率、但是它将取决于晶振。 其他因素也会影响波特率、包括电路板布局、所用跳线的长度、温度等

    确定实际可达到的最大波特率的唯一方法是使用给定的电路板布局和其他条件进行测试。

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

    您好、Nathan、

    感谢您的回答。  我设法保留了几个 MSP430FR4133 LaunchPad 来测试这一点、因为它们具有相同的 eUSCI_A0块、并且已经看到可以在回路以及板之间实现4MBaud。  我想我们之前在电路板之间看到的问题是、中断响应没有及时得到处理、因为数据以异步方式到达太快。  我们需要确定此应用协议的最小组帧和时隙、但我们仍处于正确的路径。

    我修改了其中一个标准 FR4133 TI-REX UART 示例、以根据需要设置时钟、该时钟似乎适用于回送、下面提供了相关信息。

    e2e.ti.com/.../msp430fram_5F00_max_5F00_baud.c

    感谢你的帮助。

    此致、

    Garry

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

    我在这方面花费了大量的工作时间(寻找最快的算法、在汇编器中进行了优化)、最后我完成了这项工作。

    它是基于 MSP430F550x USB 硬件模块系列的24MHz 双路 CDC/UART 桥接器(来自 XT2) MCLK。 中断简单而快速(周期数较少)。 寄存器用于所有变量。

    当两个 UART 都处于活动状态(非全双工模式、仅通过 UART 接收、缓冲并通过 CDC 发送到 PC)时、它能够达到4Mbps。 以下是两个2xx 闪存器件的示例...

    MOV.w #WDTPW + WDTHOLD、&WDTCTL
    
    mov.b &CALBC1_16MHz、&BCSCTL1
    mov.b &CALDCO_16MHz、&DCOCTL
    
    BIS.b #UCSWRST、&UCA0CTL1
    
    BIS.b #(BIT4 + BIT4)、&P3SEL;P3.4/P3.5 = TXD/RXD
    BIS.b #UCSSEL_2、&UCA0CTL1;SMCLK
    
    ; 16000000 Hz 4000000 bps
    mov.b #004h、&UCA0BR0
    mov.b #000h、&UCA0BR1
    bs.b #(UCBRS_0 + UCBRF_0)、&UCA0MCTL
    
    BIC.b #UCSWRST、&UCA0127 CTL1
    
    mov.w #70、RCBR0 + UCBR15
    
    
    、UCA1.b
    
    
    
    
    
    
    
    
    
    环路、UCA15、UCA0b #mb #15、UCA1.mb #mb、UCA0rb #mb、UCA1.mb、UCA1.mb、UCA0b #15、UCArb #mb #mb、UCA1.muCA1.mb、UCA1.mb、UCA1.mb、UCA1.mb、UCA1.mb、UCA0r