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.

[参考译文] TMS570使用 UART 与另一个器件通信

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/565137/tms570-using-uart-to-communicate-to-another-device

主题中讨论的其他器件:HALCOGENTMS570LS1224

我正在尝试执行一个简单的项目、在该项目中、我通过 UART 连接(Rx 至 Tx 和 Tx 至 Rx)将微控制器连接到另一个器件。 我想通过 UART 将数据从 USB 发送到微控制器、通过 USB 发送到另一个器件、然后再发送到计算机。

我不确定如何使用 UART 引脚发送数据/如何通过它们发送数据。 我似乎需要使用串行通信接口来实现此目的、但我不确定具体如何-是否需要在 HALCoGen 中执行一些操作来指示我要使用引脚与另一个器件进行通信?

到目前为止、我所做的是按照以下说明操作: training.ti.com/hercules-how-tutorial-using-sci-uart-communication

教程中的项目是使用 sciSend 和 sciReceive 通过 SCI 在计算机的终端(COM 端口)与微控制器之间进行通信。 但是、这似乎根本不使用 UART 引脚、因为它在 RX 到 Tx 之间没有跳线的情况下工作。

以下是引脚映射(如果有用): http://www.ti.com/lit/ml/spnu611/spnu611.pdf

我在 HALCoGen 中遵循了这些指令:'

在此视图中、我们将看到微控制器的方框图。 我们可以使用此方框图或屏幕顶部附近的选项卡浏览 HALCoGen。 下一步是转到"Driver Enable"选项卡并仅启用 SCI2驱动程序。 为此、我们选择未标记的"Mark All Drivers"、然后选择"Enable SCI2 Driver"。

下一步是转到 SCI2选项卡、并在 SCI 全局子选项卡中启用接收器中断。 在这个配置中、SCI 将在每次模块接收到数据时生成一个 CPU 中断。 接下来、我们单击"SCI 数据格式"选项卡、确保模块设置为9600波特率、8个数据位长度和2个停止位、并且无奇偶校验。

在 HALCoGen 中进行的最终配置是转到 VIMM 或矢量中断管理器模块、并启用通道13。 这将启用 VIM 模块中的 SCI 中断。 接下来、我们需要生成代码。 为此、我们转到"File"和"Generate Code"。 HALCoGen 现在可生成完成此练习所需的所有启动和外设驱动程序。

TLDR:
-启用驱动程序选项卡->仅启用 SCI2/LIN
- SCI2选项卡-> SCI 全局子选项卡->启用 Rx 中断
-启用 VIM 通道13 (LIN 高电平)

我应该如何修改它以使用 UART 与另一个器件进行通信? 我应该启用 SCI 驱动程序吗? 我应该从那里做什么? (或者我是否应该做其他事情)

我是否缺少对 SCI 和 UART 工作原理的基本理解?

如果您有任何建议、我会非常感谢您的建议-谢谢!

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

    我目前正在审核您的帖子、并将在收到其他信息后尽快与您联系。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    由于您引用 了 SPNU611、我假设您使用的是 TMS570LS12x Launchpad。 TMS570LS1224有两个 UART、一个是 LIN/SCI2组合、另一个只是普通 SCI。 在 表12 A1部分的 Launchpad 原理图中、您可以看到 LIN 引脚连接到 U7。 U7是创建 XDS110的芯片。 XDS110不仅是一个 JTAG 控制器、还可用作 PC 的 USB 转串行端口。 在教程 SCI2的示例代码中、SCI2是写入 PC 并从 PC 接收。 LIN 引脚已在 Launchpad 上使用。

    如果您想通过 UART 将两个 LaunchPad 连接在一起、我建议您使用普通 SCI 引脚 J2-3和 J2-4。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢你的帮助。 是的、这是我要使用的 Launchpad。

    对于如何配置 SCI 引脚以与其他器件(例如、在 HALCoGen 和 CCS 上)通信、您是否有任何建议? 我对此比较陌生、但仍在学习。

    我尝试在 HALCoGen 上执行此过程、但不确定是否正确:
    1.驱动程序使能->仅启用 SCI 驱动程序
    2.PINMUX 选项卡->在启用/禁用外设框中,选中“SCI”
    3.转至 SCI 选项卡
    4.不确定我是否需要在 SCI 全局选项卡中执行任何操作?
    5. SCI 数据格式-> 9600波特率、8位长度、2个停止位、无奇偶校验
    6.不确定我应该在 SCI 端口选项卡中执行什么操作(TX 引脚模式、RX 引脚模式、TX 引脚、RX 引脚)

    就 CCS 而言、我是否应该使用 sciSend 和 sciReceive 方法?

    你有其他建议吗?

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

    配置 HalCoGen 后、您需要让它生成代码。 生成后、您需要将代码导入到 CCS 项目中、并通过调用 HalCoGen 创建的驱动程序函数来构建您的应用程序。 您提到的与 PC 通信的示例项目应该用作构建应用程序的模板、但是 SCI 端口将是 Bob 提到的端口。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Meera、

    此培训视频对您 的"Hercules 教程:SCI/UART 通信"应该有所帮助

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

    感谢您的建议。 我知道如何使用 HalCoGen 生成代码并将其导入到 CCS 中、但不确定教程中的指令是否仍然适用。

    我将尝试遵循该流程、并告诉您它是否起作用。

    谢谢!

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

    您好!

    我也在尝试在 LaunchPadls12X 上进行练习。 我按照教程的说明操作(该教程专为 RM4... 遗憾的是、有关 tms570ls1224 MCU 的帮助极少、而且教程通常不适用于其他处理器/开发套件)

    我想知道是否有人知道如何让该仿真器与此 LaunchPad 配合使用? 将 Launchpad 插入 PC 时必须使用串行端口:XDS110 Class Application/User UART (COM6)
     和 XDS110类辅助数据端口(COM7)。 尝试在 CCS 中打开 temrinal 只会导致“No such port:'COM5/7'”,我不知道该怎么做...



    任何帮助都将不胜感激! 如果有适用于此 LaunchPad 的任何可用教程、这将非常棒!

    谢谢