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.

[参考译文] TMS320F28379D:适用于 TI Delfino Launchpad 的 uSD 串行辅助端口转 USB UART 端口

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1514496/tms320f28379d-usd-serial-auxiliary-port-to-usb-uart-port-for-ti-delfino-launchpad

部件号:TMS320F28379D

工具/软件:

您好社区:  

我全新的 TI Delfino F28379D Launchpad 有些问题。 我尝试使用该嵌入式控制器在 Simulink 中对我的控制算法进行 PIL 仿真、以进行实时闭环仿真。 当我使用"Build, Select and Start"构建代码时 、编译没有错误。 但是、当我使用 Monitor 和 Tune 按钮运行仿真时、会出现此错误:  

Error\:External Mode Open Protocol Connect command failed
Caused by:
Could not connect to target application: XCP internal error: timeout expired, in response to XCP CONNECT command

我在这里阅读了许多文章和主题来解决这个问题。 主要问题似乎是 USB 串行端口。 现在、我的控制器在 COM8上使用串行辅助端口在设备管理器和 Simulink 中配置。 但我认为、对于 Simulink 和 LaunchPad 之间的通信、需要连接 USB UART。  

正如我所说的,我尝试在这里的线程上给出的信息,但没有一个是有帮助的。 有这样的解决方案吗? 我是否可以直接与 LaunchPad 和随附的 USB 电缆连接 UART、或者需要更多设备?   

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

    这是解决这个问题的方法吗?  

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

    您好:Junaid、

    我不熟悉 PIL 仿真、因此我不确定是使用与 C2000的 UART/USB 连接还是使用 JTAG/USB 连接。  

    大多数 Launchpad 都有一个开关、用于将两个 UART 引脚路由到 Launchpad 上的接头或穿过电路板上的 USB、这就是您在此原理图中看到的内容。 但是、F2837xD Launchpad 特别没有此开关、引脚将自动路由。 不过、需要验证的一点是您使用 GPIO43和 GPIO42作为 SCIRX 和 SCITX、因为这些是连接到电路板上 XDS 的 GPIO。 您能验证一下吗?

    此致、

    Delaney

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

    尊敬的 Delaney:  

    非常感谢您对我的查询的答复。 我查看了 F28379D 用户指南、发现:

    GPIO43 (SCIRXDA)
    节点 C19 、标记为 SCIRX (-> MCU) 。 这意味着 GPIO43用作 接收 的一行 SCI-A UART 模块。
    GPIO42 (SCITXDA) 节点 D19 、标记为 SCITX (<- MCU) 。 这意味着 GPIO42用作 传输 的一行 SCI-A UART 模块。

    在设备管理器设置中、我看不到任何 UART 端口通信选项。  

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

    您好:Junaid、

    您能否发送 PC 上设备管理器中显示的 COM 端口的屏幕截图?  

    此外、您能否验证您的 工程是否实际正在配置这些 GPIO 和 SCI 模块?

    此致、

    Delaney

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

    您好 Delany、  

    这是设备管理器屏幕截图。 我已经用黄色突出显示了端口。  

    验证我的工程是否实际正在配置 SCI-A 模块以及 RX 和 TX 的正确 GPIO  

    我认为 Simulink MATLAB 中项目的设置是一致的。  尽管我不确定出现此 XCP 通信错误的原因。 我希望得到任何帮助来解决此问题。  

    运行 Simulink 模型时、会看到以下错误(以红色突出显示)。  

    使用 TI Code Composer Studio 在目标硬件上启动可执行加载序列。
    SLF4J:无法加载类"org.slf4j.impl.StaticLoggerBinder"。
    SLF4J:默认为无操作(NOP)记录器实现
    SLF4J: 详情请访问 www.slf4j.org/codes.html。

    ***用户输入:
    目标配置:C:\PROGRA~1\MATLAB\R2024b\toolbox\c2B\ctic2000/CCS_CO~1/F28379~1.CCX
    程序名称:C:\Users\aliju\Desktop\code_G~1\SMC\SMC_CL~1.out
    主板名称:*
    CPU 名称:C28xx_CPU1
    硬件名称:TI_Delfino _ F2837xD
    从闪存引导:1.

    ***启动调试会话...
    C28xx_CPU1:GEL 输出:
    存储器映射初始化完成

    C28xx_CPU1:如果在一个内核上完成擦除/编程(E/P)操作、则另一个内核不应从共享 RAM (SR)执行、因为它们用于 E/P 代码。 此外、还将暂停 CPU1以确定 CPU 的 SR 所有权、CPU 将运行闪存插件代码、之后将设置 CPU1以运行其应用程序。 对两个闪存存储体进行编程后、可以从 SR 开始执行用户代码。

    C28xx_CPU2:GEL 输出:
    存储器映射初始化完成

    C28xx_CPU2:如果在一个内核上完成擦除/编程(E/P)操作、则不应从共享 RAM (SR)执行另一个内核、因为它们用于 E/P 代码。 此外、还将暂停 CPU1以确定 CPU 的 SR 所有权、CPU 将运行闪存插件代码、之后将设置 CPU1以运行其应用程序。 对两个闪存存储体进行编程后、可以从 SR 开始执行用户代码。

    ***调试会话名称:Texas Instruments XDS100v2 USB Debug Probe_0/C28xx_CPU1
    ***电路板名称:Texas Instruments XDS100v2 USB Debug Probe_0
    *** CPU 名称:C28xx_CPU1

    ***正在连接到目标...

    ***将程序加载到目标...
    ***程序正在运行。

    ***与目标断开连接...
    警告:C28xx_CPU1:无法写入0x00008000@数据:目标未连接

    警告:C28xx_CPU1:无法写入0x00008000@数据:目标未连接


    ***正在终止调试会话...

    ***加载和运行完成。


    错误:外部模式打开协议连接命令失败
    原因:
    无法连接到目标应用程序:XCP 内部错误:超时已过期、响应 XCP 连接命令

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

    您好:Junaid、

    从设备管理器的屏幕截图中可以看出、COM8确实是正确的选择。 旧版 LaunchPAD (包括 F2827xD Launchpad)上的 USB 通常不会在器件管理器中显示"UART"、而是在您看到的只是"XDS100 Class USB Serial Port"。

    我看到您尝试使用5Mbps 的波特率。 尽管 SCI 模块在技术上的数据速率可高达12.5Mbps、但 XDS100存在更严格的限制。 使用 XDS 100时可能难以实现高速。 从我的个人测试来看、1Mbps 在这里是最大传输速度。 在1Mbps 下使用较慢的波特率是否可以解决您的问题?

    此致、

    Delaney

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

    尊敬的 Delaney:  

    我检查了波特率、将其更改为115200和9600、但这也没有什么帮助。 有人告诉我将振荡器频率从10Hz 更改为20Hz。 我也这样做,但不起作用。 我在 Simulink 中仍会出现相同的 XCP 错误。  

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

    您好:Junaid、

    您是否能够将正在编程的实际 SCI 配置代码发送到 F2837x 器件中? 我不确定 Simulink 是如何处理此操作的。 遗憾的是、了解这一点 后、我无法提供更多帮助。 我建议在 Simulink 论坛上提问、以下是有关此问题的更多信息:

    请通过下面的链接查看 MathWorks 常见问题解答:

    如果您有其他问题、获取 MathWorks 产品支持的理想方法是 联系 MathWorks  现场技术支持。

    您也可以在  MATLAB Answers C2000论坛上搜索答案或发布问题。 此外、 文档 和 示例中还提供了有关 MathWorks 支持 C2000的信息。

    此致、

    Delaney

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

    感谢 Delaney 抽出宝贵时间来参加本次课程。 我真的很感激。  

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

    您好:Junaid、

    很高兴我能提供一些指导。 我将关闭此主题、但如果您有任何其他问题、请随时发布另一个主题、并支持我对Slight smile有用的任何回答

    此致、

    Delaney