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:SCI-TMS320F28379D

Guru**** 2582405 points
Other Parts Discussed in Thread: TMS320F28379D, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1130034/tms320f28379d-sci-tms320f28379d

器件型号:TMS320F28379D
主题中讨论的其他器件: C2000WARE

您好!

我在 launchpad 中尝试代码 sci_ex1_echoback CPU1和 CPU2的相应代码。 我需要获取 CPU2的 sci 访问权限。 由于我在 launchpad 中使用 scib、我用 scib 替换了 scia 部分。 但我卡在 IPC 标志集部分。

1.请提供加载和运行两个 CPU 的方法。  

2.我在代码中还有什么要做的来访问 scib 吗?

3.为 scib 设置 CPUSEL5有什么需要做的?

4.在 launchpad 中如何使用 scia 引脚?

请原谅我这么多疑虑、因为我对该处理器非常陌生。

此致、

Arya

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

    您好 Arya、

    [引用 userid="500422" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1130034/tms320f28379d-sci-tms320f28379d ]1. 请向我提供加载和运行两个 CPU 的方法。  [/报价]

    在本主题中、我将讨论加载和运行双 CPU 项目所需执行的步骤: https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/949756/ccs-tms320f28377d-timer-interrupt-in-cpu2 

    [引用 userid="500422" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1130034/tms320f28379d-sci-tms320f28379d ]2. 在代码中、我还需要做什么来访问 scib?

    哪个内核将配置 scib? 如果是 CPU2、则需要为 CPU2提供对 CPU2的访问权限。 除了替换代码部分、还请确保配置 SCI-B 引脚。

    [引用 userid="500422" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1130034/tms320f28379d-sci-tms320f28379d ]3. 为 scib 设置 CPUSEL5有什么需要做的事吗?[/引述]

    您可以在此问题上展开吗?

    [引用 userid="500422" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1130034/tms320f28379d-sci-tms320f28379d ]4. 如何使用 scia 引脚?[/quot]

    对于 scia、如果您使用 的是 sci_ex1_echoback CPU1、则应该只能将 Launchpad 连接到 PC 并打开终端。 您是否在尝试为 scia 执行不同的操作?

    此致、

    Marlyn

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

    您好!

    实际上、我的要求是使用 F28379D 从定制控制器卡的 SCIA/SCIB 传输数据。 我们已通过修改旧版本的代码 sci echoback CPU1从 SCIA 传输数据。 现在、我们决定使用 CPU2内核进行通信、因此需要通过来自 CPU2的 scia/sib 传输数据。 我曾尝试过该解决方案、但收到的问题是先前发布的  https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1121565/tms320f28379d-sci-tms320f28379d/4163835?tisearch=e2e-sitesearch&keymatch=%2520user%253A500422#4163835

    在测试定制板之前、我尝试了 f28379d launchpadxl 上的代码。 现在、我在 launchpad 中尝试了新版本的鳕鱼 sci ex1 echoback。

    fisrt I 连接了 CPU、然后加载 CPU1.out。

    然后连接 CPU 2并加载 cpu2.0ut。

    3.运行 CPU1,然后运行 CPU 2。

    CPU 1运行良好、但当我暂停 CPU2时、代码卡在 sci_isspace 可用部分、并随附该部分的屏幕截图。

    请提供建议。

    此致、

    Arya

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

    您好 Arya、

    [引用 userid="500422" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1130034/tms320f28379d-sci-tms320f28379d/4193472 #4193472]4. CPU 1运行良好、但当我暂停 CPU2时、代码停留在 sci_isspace 可用部分、并附上其屏幕截图。

    哪个内核使用哪个 SCI 模块、CPU1负责 SCIA、CPU2负责 SCIB?  

    如果您不暂停该程序、CPU2上会发生什么情况? 如果您可以描述您打算如何在两个内核之间进行通信、那将会有所帮助。  

    此致、

    Marlyn

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

    您好!

    我需要通过 CPU2的 SCIB 模块进行外部 UART 通信。 这是我的主要要求。 那么、简单地说、我还需要执行哪些进一步的步骤?

    此致、

    Arya

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

    您好 Arya、

    谢谢、了解您在 CPU2上所做的工作仍然非常有帮助。

    -如果您不暂停程序,CPU2上会发生什么情况?  

    -您是否在 SCIB TX 引脚上看到任何数据输出?  

    -什么是连接到 SCIB TX 和 RX 引脚?  

    您是否为 CPU2提供了 SCI-B 访问权限? 您是否为 SCI-B 配置了正确的引脚? 这是需要执行的两个主要步骤、使 CPU2能够访问 SCI-B、在 CPU2中执行 SCI-B 配置、然后为通信设置正确的引脚。

    此致、

    Marlyn

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

    您好!

    正如我之前提到的、我们已经使用 TMS320F28379D 制作了一个定制板。 我们需要通过外部 UART 监控从该板中的 ADC (外部 ADC)接收到的一些参数。 最初,我们修改了代码“sci_echoback for cpu01”(C2000Ware_3_04_00_00),并成功地监视了通过 SCIA 发送的一些虚拟值,我们在 SCIA 上连接了一根带有 SCIA 引脚的 FTDI 线缆,以便在超级终端上对其进行监视。

    现在、我们决定使用 cpu01进行计算、使用 cpu02进行通信。 因此、我们只需要在 cpu02中运行相同的代码。 也就是说、我们必须使用 cpu02中的 SCIA 来监控参数。 我知道 SCI 访问是针对 cpu01进行的、因此我们必须确保 CPU2通过访问 SCIA

    SYSCTL_selectCPUForPeripheral (SYSCTL_CPUSEL5_SCI、1、SYSCTL_CPUSEL_CPU2);

    和相应地配置 GPIO 引脚(定制板中的 GPIO64和 GPIO84)。

    因此、为了让大家知道、我们使用了 C2000 LaunchPad XL、并尝试了代码 sci_ex1_echoback_CPU1和 sci_ex1_echoback_CPU2。 我们将 FTDI 线缆连接到 SCIB (GPIO 18和19)以使用超级终端进行检查。 这里的代码是针对 SCIA 的,由于我们在 launchpad 中找不到任何 SCIA,因此我们编辑了代码,并在需要时将 SCIA 替换为 SCIB。 但在超级终端中没有收到任何输出。

     

    我真的很困惑。 我们的优先级是定制板、Launchpad 仅用于测试、因此、您可以建议一些逐点说明、这将非常有帮助。

    此致、

    Arya

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

    您好 Arya、

    [引用 userid="500422" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1130034/tms320f28379d-sci-tms320f28379d/4197683 #4197683"]我们的优先级是定制电路板,LaunchPad 仅用于测试

    然后、让我们重点关注您的定制板。

    [引用 userid="500422" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1130034/tms320f28379d-sci-tms320f28379d/4197683 #4197683"]

    因此、我们只需要在 cpu02中运行相同的代码。 也就是说、我们必须使用 cpu02中的 SCIA 来监控参数。 我知道 SCI 访问是针对 cpu01进行的、因此我们必须确保 CPU2通过访问 SCIA

    SYSCTL_selectCPUForPeripheral (SYSCTL_CPUSEL5_SCI、1、SYSCTL_CPUSEL_CPU2);

    和相应地配置 GPIO 引脚(定制板中的 GPIO64和 GPIO84)。

    [/报价]

    您所描述的是您必须实现的唯一差异。 您是否设置了 IPC 以确保 CPU1在 CPU2开始配置 SCI-A 之前完成初始化? 您在 CPU2上运行了哪些其他代码? 我认为、了解如何在 CPU2上安装设置代码会有所帮助。

    请注意、您无法获取  sci_ex1_echoback_CPU1的整个代码并将其放置在 CPU2上。 我只需获取与发送和接收 操作相关的 sci-A 配置和代码。  

    您是否看到了根据配置进行 SCI-A 更新的寄存器? 任何东西能够在您的定制板上传输吗?

    此致、

    Marlyn

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

    您好!

    如前所述,我们 修改了代码“sci_echoback for cpu01”(C2000Ware_3_04_00_00),并成功地通过 SCIA 从 CPU01进行监控。  

    我在 CPU02中尝试了相同的代码、在 初始化中添加了 SYSCTL_selectCPUForPeripheral (SYSCTL_CPUSEL5_SCI、1、SYSCTL_CPUSEL_CPU2)。

    您是否设置了 IPC 以确保 CPU1在 CPU2开始配置 SCI-A 之前完成初始化?  

    否 您能解释一下如何设置处理器间通信吗?

    此致、

    Arya

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

    e2e.ti.com/.../Code_5F00_arya.txt

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

    您好 Arya、

    请查看 CPU2项目中的 sci echoback 示例:

    C:\ti\c2000Ware_4_01_00_00\driverlib\f2837xd\examples\dual\sci

    将工程导入 CCS 时、实际上会为 CPU1和 CPU2导入工程。 这将向您展示如何跨模块设置 IPC 以及如何在 CPU2上设置 sci。

    此致、

    Marlyn

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

    您好!

    实际上、我将检查相同的代码一段时间。 如前所述、导入了 CPU1和 CPU2代码(两个单独的文件夹)。

    正如我在之前的帖子中提到的、我已经完成了以下步骤。

    fisrt 我连接了 CPU 1、然后加载 CPU1.out。

    然后连接 CPU 2并加载 cpu2.0ut。

    3.运行 CPU1,然后运行 CPU 2。

    CPU 1运行良好、但当我暂停 CPU2时、代码卡在 sci_isspace 可用部分、该部分的屏幕截图 已 附加在此线程中。

    请确认程序是否正常。

    此致、

    Arya

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

    您好 Arya、

    概述的步骤是正确的。 您是否可以测试 CPU1上的 sci 代码并查看其是否正常工作?  

    此致、

    Marlyn

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

    您好!

    我们已经 成功地在 CPU1 (之前版本 C2000Ware_3_04_00_00中提供的 sci 代码)上测试了 SCI 代码。

    此致、

    Arya

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

    Arya、

    当代码在 CPU2中运行时、您是否能够在 TX 引脚上看到任何输出?  

    此致、

    Marlyn