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.

[参考译文] TMS570LS3137:串行通信问题

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1520428/tms570ls3137-serial-communication-issue

器件型号:TMS570LS3137

工具/软件:

我尝试使用 CCS10.1 串行终端、但即使传输到 SCITX 缓冲器后也无法看到任何数据。

请帮助我解决这个问题。

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

    尊敬的 Premsai:

    是否可以快速附加工程进行调试? 我可以在我结束时进行调试、并就此提供指导。

    --
    此致、
    Jagadish。

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

    尊敬的 Premsai:

    此外、我建议您参考以下经过测试的示例一次:

    (23)【常见问题解答】TMS570LC4357:适用于 Hercules 控制器的示例和演示(例如 TMS570x、RM57x 和 RM46x 等)-基于 Arm 的微控制器论坛 — 基于 Arm 的微控制器 — TI E2E 支持论坛

    --
    此致、
    Jagadish。

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

    很抱歉,我不能这样做,因为它是办公室项目,但我试图通过 DMA 将数据随机数据传输到 scitx 并期望在终端中看到数据

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

    请参阅现有示例一次、这些示例将有助于找出问题的根本原因。

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

    Jagadish 可以使用软件触发器一次从 DMA 传输 16 字节到 LINTD0 和 LINTD1、如果是、应该使用块传输或帧传输

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Jagadish 我可以使用软件触发器一次从 DMA 传输 16 字节到 LINTD0 和 LINTD1、如果是、应该使用块传输或帧传输

    是的、您可以!

    使用块传输、将帧数配置为 16、将元素数配置为 1。

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

    SS_DMA_HW_HW_TRIGGER_DISABLE、/* HWTriggerEnable */
    SS_DMA_CH_HIGH_PRIORITY、/* ChannelPriority */
    DMA_RQST_NONE、/* DMA_RequestSource */
    (Uint32)&APP_FPGA_TX_RawBuffer[0]、/* InitialSourceAddress */
    (Uint32) 0xFFF7E574U、/* InitialDestinationAddress*/
    16U、/* InitialFrameCount */
    1U、/* InitialElementCount */
    NO_DMA_CHANNEL_SELECTED、/*ChannelChaining */
    Element_size_32_bit、/*ReadElementSize */
    Element_size_32_bit、/* WriteElementSize */
    dma_one_block_transfer、/* TransferType */
    dma_indexed_addressing_mode、/*ReadAddressingMode */
    DMA_INDEXed_ADDRESS_MODE、/*WriteAddressingMode */
    TRUE、/*自动初始化模式*/
    4u、/* ElementDestinationIndex */
    4u、/* ElementSourceIndex */
    0U、/*FrameDestinationIndex */
    8u /*FrameSourceIndex */

    如果正确、请检查此项

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

    对我来说、这看起来很好!

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

    大家好、Jagadish、我使用了这个模块“0815.SCI_Multibuffer_DMA_LS3137",“,我、我可以使用 CCS 终端来查看串行通信数据、也可以使用 PuTTY 或其他东西。

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

    尊敬的 Premsai:

    您也可以在 CCS 中执行此操作、

    在 CCS 和调试模式下、有一个名为 Terminal 的窗口:

    如果在调试中输入后找不到此窗口、请使用此搜索选项:

    打开此处的“Terminal"窗口“窗口后、可根据电路板配置串行波特率以及其他设置、如 COM 端口。

    配置完成后、它就可以在此窗口中打印您的串行数据了

    即使您可以通过从键盘输入此终端向控制器提供输入;

    例如、可以看到缓冲区是空的

    现在、我要在终端窗口的键盘中输入 8 个键(从 1 到 8):

    因此、您可以看到我的数据通过 DMA 移动到控制器缓冲区。

    通过这种方式、您可以使用此终端打印或发送数据。

    请记住、我将示例 baudrate 更改为 115200:

    --
    此致、
    Jagadish。

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

    嗨、jagadish、  

    void sciSetupAndTransfer (void)

    //初始化 SCI 模块
    sciInit();
    //定义要发送的数据
    uint8 data[]=“Hello、SCI!“;
    Uint32 dataLength = sizeof (data)- 1;//排除空终止符

    //等待 SCI 准备好发送
    while(!sciIsTxReady (scilinREG))

    //等待发送缓冲区准备就绪
    }

    //发送数据
    sciSend (scilinREG、dataLength、data);
    }

    我使用同一模块准备了这个代码、这个代码应该直接在 CCS 终端上打印数据?

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

    尊敬的 Premsai:

    是、应该打印。

    首先、我建议您尝试一次此示例代码:

    e2e.ti.com/.../SCI_5F00_AND_5F00_LED_5F00_Blink_5F00_TEST_5F00_LS3137-_2800_2_2900_.zip

    在此代码中、我每秒钟切换一次 LED、同样在相同的超时时间内、我将在终端“Hercules “上打印数据、如下所示。

    这在我的 TMS570LS3137 板上没有任何问题:

    并确保终端设置如下所示:

    --
    此致、
    Jagadish。

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

    嗨 jagadish 我试过这仍然我不能看到任何数据,LINTX 是打开在我们的示意图是问题? 如果这是应该连接它的问题。

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

    尊敬的 Premsai:

    是的、使用 LINTX 非常重要。 因为数据只会在 LINTX 上传输。

    我们使用 LIN 和 SCI 的组合 SCI2 驱动程序、因此数据将仅移动到 LINTX (B7)。

    在我们的原理图中、我们将这些 LIN 或 SCI 引脚连接到 FT2232HL、如下所示

    FT2232HL 能够与两个独立的接口连接、每个接口都可以是 UART/FIFO/JTAG/SPI/I2C。

    在我们的设计中、我们选择了这两个接口作为 UART 和 JTAG。 这意味着 FT2232HL 的功能将如所示

    1. USB 转 JTAG

    2. USB 转 UART

    这里、USB 转 JTAG 用于器件编程和调试。 而 USB 转 UART 用作与 PC 连接的控制台。

    有关更多详细信息、请参阅以下主题:

    (7) TMDS570LS12HDK:关于评估板 LINTX/LINRX 引脚使用问题 — 基于 Arm 的微控制器论坛 — 基于 Arm 的微控制器 — TI E2E 支持论坛

    因此、当我们将此 UART 连接到 USB 到 PC 时、PC 中的这个 USB 驱动程序允许我打开串行终端。 每当我从此控制器 UART 发送数据时、都会转换为 USB 电平、然后显示在串行终端中。 同样、可将数据从终端传输到控制器 UART。

    如果您的电路板没有板载 USB 转 UART 转换器、至少应该使用外部 UART 转 USB 转换器采用器来查看串行终端中的数据。

    --
    此致、
    Jagadish。

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

    你好 Jagadish 我尝试在开发板它是工作的,感谢你的时间和帮助解决问题.