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.

[参考译文] MSP430FR4133:驱动器 XT1 ->ACLK ->UART?

Guru**** 2535150 points
Other Parts Discussed in Thread: MSP430FR4133, MSP-EXP430FR4133, MSP-FET

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/918442/msp430fr4133-drive-xt1---aclk---uart

器件型号:MSP430FR4133
主题中讨论的其他器件: MSP-EXP430FR4133MSP-FET

您好!

我  在 Windows 中使用 CCS 10.1.0.00010与 MSP430FR4133 LaunchPadTm开发套件(MSP-EXP430FR4133)

我正在尝试通过从 XT1衍生的时钟来驱动 UART。

   CS_TurnOnXT1 (CS_XT1_DRIVE_1);

   cs_initClockSignal (
       CS_ACLK、
       CS_XT1CLK_SELECT、
       CS_CLOCK 分频器_1
       );

我有 XT1 -> ACLK -> TimerA、周期为32767、占空比为16383。
正如预期的那样、我看到 LED 每秒闪烁一次。

在同一程序中、当从 UCSSEL_SMCLK 驱动时、UART 会按预期工作。
我没有找到使用 ACLK 驱动 UART 的方法。  选项包括:

#define UCSSEL_0              (0x0000)      /* USCI 0时钟源:0 */
#define UCSSEL_1              (0x0040)      /* USCI 0时钟源:1 */
#define UCSSEL_2              (0x0080)      /* USCI 0时钟源:2 */
#define UCSSEL_3              (0x00C0)      /* USCI 0时钟源:3 */
#define UCSSEL__UCLK          (0x0000)      /* USCI 0时钟源:UCLK *
#define UCSSEL__MODCLK        (0x0040)      /* USCI 0时钟源:MODCLK *
#define UCSSEL_SMCLK         (0x0080)      /* USCI 0时钟源:SMCLK *

>>> 如何直接从 XT1 -> ACLK 驱动 UART?

根本的问题是在 CCS 调试模式下运行代码时 SMCLK/UART 数据是间歇性的。
我当时认为这确实是调试模式下 SMCLK 的一个问题、并认为 XT1将是一个更稳定的源。

>>> 在调试模式下、是否有其他方法来修复间歇性 SMCLK/UART 数据?

如果这有帮助、我在工作台上有一个示波器和电路板。

谢谢、
Dave

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

    您好、Dave、

    感谢您的详细博文。 在调试模式下、由于 JTAG 控制、速度变化很可能并不少见。

    CCS/MSP430G2553:调试时钟速度不同

    如果您想确认时钟频率、我建议配置相关引脚以输出所需的时钟信号(而不是使用示波器探针在晶体上测量时钟信号)、使用这些更改对器件进行编程并对器件进行电源循环。 然后、使用示波器测量这些引脚上的时钟频率。 请勿在执行该操作时使用调试模式。 如果您使用的是 MSP-FET、则无需处于调试模式即可为器件供电。

    从 MSP430G2553 16MHz 获取最大速度

    此致、

    James

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

    尊敬的 James:

    我将查看2553的 JTAG 回复。

    我的问题是针对4133。

    第4133个问题仍待解决。

    与或一起运行时出现 UART 问题

    无调试:

    >>> 如何直接从 XT1 -> ACLK 驱动 UART?

    谢谢、

    Dave

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

    根据数据表(SLAS856B)表6-6、您可能无法将 ACLK 用于 USCI_A/B 我不知道为什么他们删除了这个选项、因为在我看来、MODCLK 对于通信端口用处不大。

    你提到了"间歇性"--你是指"间歇性"还是随机丢失的字节? 对于前者:反向通道 UART 与调试器共享 USB、并且调试器获得优先级、因此 to-host 数据往往很频繁、延迟可能为1-2秒(在我看来、它类似于64字节缓冲)。 我认为唯一的解决方法是断开调试器(软件、而不是电线)。  

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

    您好、Dave、

    Bruce 在这里是正确的、ACLK 不能用作 eUSCI_A0或 eUSCI_B0模块的时钟源。 我之前的帖子重点介绍了如何确认您的时钟频率是否正确。

    要排除反向通道 UART 的影响、您可以使用针对波特率配置的 USB 转 TTL 串行适配器。 逻辑分析仪还可以帮助您捕获通信、并让您分析波特率以及字节之间的时间。

    此致、

    James