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.

[参考译文] LAUNCHXL-F28377S:加电后无 SCI

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/666791/launchxl-f28377s-no-sci-after-power-up

器件型号:LAUNCHXL-F28377S

大家好、e2e 社区、

我有一个与 此帖子中描述的类似的问题:程序在加电后从闪存引导、但在按下复位按钮之前、没有插入电缆的 SCI (UART)连接。

我在故障排除方面做了一些进一步的工作、注意到即使 DSP 由外部+3.3V 电源供电(JP1已移除)、而不是从 USB 供电、问题仍然存在。 FTDI 芯片仍由 USB 供电。

该帖子包含基于电压监控和用于复位电路的附加电容的解决 方案、这些解决方案无法应用于我的情况、因为在拔下 USB 电缆时电路板仍保持通电状态。

感谢您的任何帮助

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

    在按下复位按钮之前、您是否看不到 PC 上的虚拟 COM 端口、或者您只是没有通过 SCI 获得任何 UART 通信?

    您是否首先尝试发送数据或接收数据?

    在器件 DIP 开关(S1)上设置引导模式引脚的方式是什么?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Devin、我应该在帖子中提供以下详细信息:
    我在 PC 上看到虚拟 COM 端口、并在键入终端时看到 D8 LED 指示灯。
    电路板处于启用调试的"从闪存引导"模式(S1全部处于开启位置)。

    您的第二个问题提醒我、在我的情况下、我尝试查看命令行提示符(在 DSP 中实现了一个微型命令行界面)以响应新的行或任何其他字符。 调试会话表示我没有它的原因是我卡在 SCI_readCharBlockingFIFO()函数中。 这是作为 LAUNCHXL 器件支持包的一部分提供的标准功能。 我看到在该函数的框架内有一个 SCI_getRxFIFOStatus()检查,该检查在 USB 电缆插回后不通过,并且字符从终端发送。 一旦 DSP 被复位、它的行为正常。
    我在设计示例中看不到这些函数、因此无法检查这是否是我实现命令接口的问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ruslan:

    如果器件在复位前一直处于停滞状态、最可能的原因是检测到消息错误。 您可以在"SCIRXST"寄存器定义中的 TRM (spruhm8)中看到错误条件列表。

    其中一些错误条件要求 SCI 模块被复位以清除错误条件(复位整个器件也可实现这一点):

    您可能需要修改 SCI 软件以监控这些错误条件、然后根据需要发出模块复位。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Devin、谢谢您、这解决了这个问题。
    结果、中断检测和组帧错误检测标志变为高电平、从而导致 RXERROR 也变为高电平。 SCIRXST 寄存器在0x02和0xB2之间切换
    我通过示波器检查了它、在拔下电缆时 RX 线会变为低电平数毫秒、然后在电缆重新连接时再次变为低电平。
    它解释了中断和组帧错误。 此时、我不打算深入探讨 FTDI 芯片实现它的原因。

    现在我将检查 SCI_RXSTATUS_break 并在其为高电平时执行 SCI_performSoftwareReset()。 在固件的当前实现中、在 ISR 中对计时器进行检查。 在部署板中、我计划将 USB 电缆连接状态变为 GPIO 引脚、为该 GPIO 组配置中断、并在电缆连接时生成软件复位。

    再次感谢您的帮助。