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.

[参考译文] TMS320F28388D:GSM 接口的 UART 接口

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1617703/tms320f28388d-uart-interface-to-the-gsm-interface

器件型号: TMS320F28388D

尊敬的团队:

我们目前正在使用 PN:F28388DPTPSR 进行开发。

我们已将调试引脚 GPIO42 (UARTA_TX) 和 GPIO43 (UARTB_RX) 连接到我们的 GSM 模块。 同时、我们使用多路复用器在 UART 和 USB 之间切换。

请找到随附的图像以供参考。  

image.png

我们有以下疑问:

  1. 我们是否可以在运行期间持续将 UARTA 上的数据发送到 GSM 模块?
  2. 使用 MUX 在 UART 和 USB 之间切换时是否会出现任何问题?

请澄清。 提前感谢

 

此致、

Praveen  

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

    尊敬的 Praveen:

    我对这种拓扑有点困惑。 拓扑中的任何位置是否有 UART 转 USB 桥接器? UART 输出如何转换为 USB 协议?

    此致、

    Delaney

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

    亲爱的德拉尼·伍德沃德。  

    感谢您的答复。  

    GPIO42 和 GPIO43 同时支持 USB 和 UART — 可由 MCU 中的内部多路复用器控制。  

    数据表:第 29 页:

    此致

    Praveen  

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

    尊敬的 Praveen:

    我看到、因此您想要在运行时在 UART 和 USB 外设之间切换器件引脚多路复用。 从外设的角度来看、您通常不希望在外设启用/运行时为特定外设配置 GPIO。 您需要在修改相关的引脚多路复用选项之前禁用这两个外设以切换到另一个外设、从而使 UART 和 USB 外设保持已知状态。

    特别是对于 UART、您还需要确保此引脚多路复用开关与 UART 操作同步/确保在 为 USB 配置了 GPIO 时 GSM 不会发送任何内容、因为数据将会丢失。 要在运行时向 GSM 发送连续数据、我建议将 DMA 模块与 UART 配合使用、这样 CPU 就不会每次 UART 写入都陷入困境。 只要 FIFO 在任何时候都不会留空、UART 模块上就应该可以实现连续的数据流。 为此、我建议使用 UART_TX DMA 触发、并一次传输超过 8 字节的数据、以便 DMA 始终填满 UART TX FIFO。  

    我将邀请 GPIO 专家从引脚多路复用的角度评论运行期间持续切换设置是否存在任何问题。  

    此致、

    Delaney

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

    尊敬的 Praveen:

    从引脚多路复用的角度来看、我不认为这种方法有任何问题。 就像 Delaney 提到的、最好在切换到其他通信外设之前完全禁用模块。 从硬件设计的角度来看、为了确保出色的 USB 性能、您需要确保从 MCU GPIO 到 USB 开关的信号采用差分路由且阻抗匹配。 经过 USB 开关后、只有 USB 信号需要进行差分/阻抗匹配、但您也可以进行 UART、因为这通常不会进一步增加电路板成本。

    此致、

    彼得

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

    尊敬的 Peter 和 Delaney:  

    感谢您的意见。

    我们可以将 GPIO84 和 GPIO85 用于 UART 接口吗? 所以可以避免使用多路复用器。  

    我担心的是、GPIO84 可用作器件的引导引脚。 如果我们将其配置为 UART、它是否会影响引导操作? 目前、我们使用 CAN 引导模式。

    请确认这两个引脚是否可以安全地用于 UART 接口、而不影响引导过程。

    提前感谢。

    此致、Praveen。  

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

    尊敬的 Praveen:

    GPIO84 是默认引导模式选择引脚之一。 在使用默认引脚的情况下、您需要在引导期间将 GPIO84 连接至低电平、以选择 CAN 引导模式。 该引脚基本上需要是在引导期间连接低电平的输入、然后在 UART 运行时重新配置为高电平空闲输出。  让我与同事核实是否存在与此相关的风险。

    另一个选项是、您可以通过修改 OTP 存储器来更改 BMSP 引脚。 请参阅 此处的指南 以了解如何执行此操作。 在 F2838x 上、您需要编写 BOOTPIN-CONFIG 和 BOOTDEF 寄存器。

    此致、

    Delaney

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

    尊敬的 Praveen:

    如果您想将 GPIO84 保持为引导引脚、只需添加一个弱下拉电阻器(如 10k Ω)、即可使该引脚在引导期间被拉低、并且器件以 CAN 引导模式启动。 然后、在主序列中、您可以通过引脚多路复用(输出)为 UART TX 操作重新配置 GPIO84、只需确保驱动强度小于 4mA(数据表中指定)。

    如果您不想添加外部组件、您可以按照我在上一次答复中的说明更改 BMSP PIN。 如果回答了您的问题、请支持此回答。 Slight smileμ s

    此致、

    Delaney

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

    尊敬的 Delaney:  

    请注意、感谢您的支持。