TI E2E™ 设计支持论坛将于 5 月 30 日至 6 月 1 日进行维护。如果您在此期间需要技术支持,请联系 TI 的客户支持中心寻求帮助。

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.

[参考译文] MSP-FET:MSP-FET 反向通道 UART -软件流控制

Guru**** 2046070 points
Other Parts Discussed in Thread: MSP-FET
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/680989/msp-fet-msp-fet-backchannel-uart---software-flow-control

器件型号:MSP-FET

您好、Everrybody、

我将使用 MSP-FET 与 CCSv7.4对 MSP432器件进行调试和编程(当前为 MSP432P401R LaunchPad,后来为我们自己的 MSP432P401M 设计)。 它工作正常。

我还想使用反向通道 UART 进行调试。 目标 MCLK 为16MHz、28800波特在没有流控的情况下工作正常。 根据文档(SLAU647K)、更高的速度只能用于流量控制或握手。

流控制是指硬件流控制信号(RTS 和 CTS)? 还是软件流控制也可用于 XONN/XOFF?

是否有 eUSCI 支持 CTS 和 RTS 信号?

也许有人可以帮助我!

谢谢、

Zoltan

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

    流控是指 FET 上的 CTS 和 RTS 信号。  eUSCI 不支持这些信号、您需要在软件中执行此操作并使用 GPIO。  

    Chris

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

    Zoltan、

     此处的流控制表示 RTS/CTS、由于 eUSCI 外设中没有对这些信号的硬件支持、因此将在 MCU 侧的软件中实施。  正如您提到的、SLAU647中的流控制建议、但我认为如果您使用的是>8MHz 的 MCLK、则无需流控即可获得更高的速度(这可能是 MSP-FET 的一个限制)。  我使用 MSP432P401 LaunchPad 以115200波特试用了一个小型 PC-echo 示例、没有遇到串行端口程序(TeraTerm)可能看到的困难或丢失的字符。  下面是根据 SimpleLink SDK 中的 UART_PC_ECHO_12MHz_brclk 示例进行调整的代码片段。   

    希望这对您有所帮助。

    -Bob L.

    //通过配置为115200的 PC 串行端口回显字符  

    // 8b/no Parity / 1停止/无流量控制

    const eUSCI_UART_Config uartConfig =

    EUSCI_A_UART_CLOCKSOURCE_SMCLK、// SMCLK 时钟源
    6、// BRDIV = 6
    8、// UCxBRF = 2
    0、// UCxBRS = 0
    EUSCI_A_UART_NO_奇 偶校验、//无奇偶校验
    EUSCI_A_UART_LSB_FIRST、// LSB 优先
    EUSCI_A_UART_One_stop_bit、//一个停止位
    EUSCI_A_UART_MODE、// UART 模式
    EUSCI_A_UART_oversampling_BAUDRATE_generation //过采样
    };

    int main (空)

     MAP_WDT_A_HOLDTimer ();  //停止 WDT *

     /*在 UART 模式下选择 P1.2和 P1.3 */
     MAP_GPIO_setPeripheralModuleFunctionInputPin (GPIO_PORT_P1、
     GPIO_PIN2 | GPIO_PIN3、GPIO_PRIMARY_MODULE_FUNCTION);

     /*将 DCO 设置为12MHz */
     CS_setDCOCenteredFrequency (CS_DCO_FREQUENCY 12);

     /*配置 UART 模块*/
     MAP_UART_initModule (EUSCI_A0_BASE、uartConfig);

     /*启用 UART 模块*/
     MAP_UART_enableModule (EUSCI_A0_BASE);

     /*启用中断*/
     MAP_UART_enableInterrupt (EUSCI_A0_BASE、EUSCI_A_UART_receive_interrupt);
     MAP_Interrupt_enableInterrupt (INT_EUSCIA0);
     MAP_Interrupt_enableSlepOnIsrExit();
     MAP_Interrupt_enableMaster();  

     while (1)
      MAP_PCM_gotoLPM0 ();
     }

    /* EUSCI A0 UART ISR -将数据回传到 PC 主机*/
    空 EUSCIA0_IRQHandler (空)

     uint32_t status = MAP_UART_getEnabledInterruptStatus (EUSCI_A0_BASE);

     MAP_UART_clearInterruptFlag (EUSCI_A0_BASE、STATUS);
     if (status & EUSCI_A_UART_receive_interrupt_flag) 
      MAP_UART_transmitData (EUSCI_A0_BASE、MAP_UART_receiveData (EUSCI_A0_BASE));
     }

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

    你好,Chris!

    遗憾的是、我没有用于 CTS 和 RTS 的免费 GPIO。 不用担心、我将使用不具有流控制和最大值的 MSP-FET 反向通道 UART 28800波特

    谢谢、

    Zoltan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Bob:
    如果我使用 MSP432P401 LaunchPad 和 XDS110调试器的内置 UART、则我可以达到115200波特、而不会出现任何问题(不带流控制)。
    如果我想调试我们自己的硬件、那么使用 MSP-FET 是必要的。 我无法使用流控制、因为我们的硬件没有用于 CTS/RTS 的任何可用 GPIO。 我已经尝试过高于28800波特的速度、但我看到字符立即丢失。
    我希望 MSP-FET 支持软流控制也会发送 XON/XOFF 字符!

    感谢您的帮助!
    Zoltan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可能会遇到正确布线方式的问题、但您是否考虑将 LaunchPad 中的 XDS110用作 FET? 如果您自己的硬件具有等效连接器(或可根据其进行调整的连接器)、则 LaunchPad 上具有一个10引脚 ARM 微型连接器。
    -Bob L.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Zoltan、

    您正在使用 UART 在自由运行模式下使用目标进行调试、还是使用活动断点调试? 如果我们谈论的是自由运行目标、那么高达1Mbps 不应成为问题。 例如、我的闪存器可以通过2个活动的 UART/CDC 桥接器以1Mbps 的速率传输、而不会丢失字符。 对我来说、115200也太慢了。

    BTW、邮箱系统不需要任何设置、额外的电线或/和流量控制、并且不会丢失字符。 它是日志通道的完美接口。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Zoltan、
    根据这些回答中提供的信息、您是否能够解决您的问题? 我一段时间内没有看到您的任何回复。
    -Bob L.