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.

[参考译文] AM2732:访问 RCSS SCI 和 UART 示例代码

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1264042/am2732-access-to-rcss-sci-a-uart-example-code

器件型号:AM2732

您好!

我尝试使用作为驱动程序一部分提供的 UART 端口示例访问 RCSS_SCI_A (UART)端口。  

我们正在尝试确保所有4个 UART 端口都可以从 MCU 的任一内核访问。 到目前为止、我已将 UART 示例修改为访问 MSS_SCIA、MSS_SCIB、DSS_SCIA、使用所述示示例进行编程时、这些示例全部使用得很好。 在下一个阶段、我要确保也可以使用 UART 示例访问 RCSS_SCI_A。 我修改了 UART 示例以配置 RCSS_SCI_A 端口。 测试时、代码的配置部分没有错误、并且按预期运行。 接下来、当我尝试在 RCSS_SC_A Tx 通道上发送一个字节时、它始终会残桩 TxReady 标志检查。 该标志始终返回 false。 还试图拉低 RTS 引脚、但结果 OS 仍然相同。

我的问题是:

  • 是否可以从 MSS 代码(或简单的 UART 驱动程序示例代码)访问 RCSS_SCI_A?
  • 是否有任何示例代码可用于验证 RCSS_SCI_A UART 的功能?
  • 如果可以从 UART 示例代码访问它、那么我需要进行哪些更改才能使它正常工作?

我正在使用开发套件 TMDS273GPEVM。

谢谢。

阿蒂克  

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

    您好!

    很抱歉耽误你的时间。 请分享 IO 多路复用器详细信息。 由于您创建的应用程序正在处理其他实例、因此我不怀疑它的一部分编程除了 IOMUX。  

    您能否详细说明与 PAD_DC 和 PAD_DD 的电路板连接、并读取以下提及的 IO 多路复用器寄存器的值并进行共享。

    1) PAD_DC :地址- 0x020C0140 [RCSS_SCIA_RX]

    2) PAD_DD :地址- 0x020C0144 [RCSS_SCIA_TX]

    此致

    勒凯什

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

    您好!

    我正在使用  TMDS273GPEVM 修订版 C 电路板进行测试。

    IO 多路复用器详细信息为:  

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    /* RCSS_UARTA_RX -> PAD_DT (B16) */
    {
    PIN_PAD_DT,
    ( PIN_MODE(2) | PIN_PULL_DISABLE )
    },
    /* RCSS_UARTA_TX -> PAD_DS (A17) */
    {
    PIN_PAD_DS,
    ( PIN_MODE(2) | PIN_PULL_DISABLE )
    },
    /* RCSS_UARTA_CTS -> PAD_DQ (A18) */
    {
    PIN_PAD_DQ,
    ( PIN_MODE(2) | PIN_PULL_DISABLE )
    },
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

     电路板连接:

    根据本文档 EVM 用户指南 第25页、对电路板进行了以下更改: AM273x EVM 的标准硬件配置中不提供 RCSS_UARTA。 不过、如果电阻 R160和 R164未填充电阻 R156和 R159、则可以访问该端口
    零欧姆电阻器。 这一改动将使 RCSS_UARTA_RX 和 RCSS_UARTA_TX 可通过 FTDI USB 端口(J8)作为 DSS_UART 接口的替代接口进行访问。

    就焊盘而言、根据 微控制器 第26页和第27页的数据表、RCSS TX 和 RX 位于 PAD_DS (TX) A17和 PAD_DT (RX) B16上。 EVM 的原理图部分也如下图所示:

    此详细信息可在 EVM 的设计资源下 以 zip 文件形式获得。

    因此、相对焊盘 s 将为:


    1) PAD_DS:地址- 0x020C0180  [RCSS_SCIA_TX]  值-> 0x00000102

    2) PAD_DT:地址- 0x020C0184  [RCSS_SCIA_RX]  值-> 0x00000102

    谢谢

    阿蒂克

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

    您好!

    可通过 DSS 代码访问 RCSS_SCI_A 、因为 DSS 和 RCSS 都 可通过 FT4232HL UART - USB 桥接器通过 FTDI USB 端口(J10)进行访问、而 MSS 可通过 XDS USB 端口进行访问。

    没有 针对 RCSS_SCI_A 的特定示例代码。 我们可以通过以下方式修改代码:RCSS_UART_TX 的代码为 PADD DD --> PIN MUX 模式(6);RCSS_UART_RX 的代码为 PADD DC--> PIN MUX 模式(5)。  这种组合不仅有许多为 RCSS 分配模式的焊盘、我们还可以使用它们中的任何一个。 正如您前面提到的、使用 PAD_DS 和 PAD_DT 也可以访问 RCSS。

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

    您好!

    我已经通过取消 填充电阻器 R160和 R164来修改电路板、同时 使用0欧姆电阻器填充 R156和 R159。 在电路板上、与 FTDI 端口相连的 RCSS UART 使用 PAD_DS 和 PAD_DT。 本可以更简单、我仅修改了 PAD_DD 和 PAD_DC 功能。

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

    您好!

    它现在是否在工作、还是仍然面临这些问题?

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

    您好

    仍然无法正常工作、面临同样的问题

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

    HII、

    很抱歉耽误你的时间。 我正在研究此问题、将于2015年9月23日更新

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

    您好!

    下面是需要遵循的步骤、它在我的设置中工作正常、能够发送和接收1个字节的数据。

        • 启用 IO、找到正确的 IO 焊盘 PAD_DS-->MUX 模式(2)和 PAD_DT-->MUX 模式(2)、并 通过将0x102值分别写入地址0x020C0180和0x020C184来启用它们。
        • 启用 UART (SCI_GCR0->1)、启用异步模式、使能 RX 和 TX 以及内部 SCLK (SCI_GCR1->0x3000022)
        • 在 SCI_TD 寄存器中保留一些初始数据
        • 将 SCI 时钟选择配置为200MHz 时钟(在 RCSS_SCIA_CLK_SRC_SEL (地址- 0x0500001C)中写入 x222、在 RCSS_SCIA_CLK_DIV_VAL 地址- 0x05000058中写入0x0)
        • 配置 SCI 波特率。 有2个 BR 寄存器,Integer (RCSS_SCI_A_UARTIBRD (地址- 0x050C0024))和 FRAME (RCSS_SCI_A_UARTFBRD (地址- 0x050C0024)。 我为115200修复了它
        • I=十六进制(时钟频率/(16*BR))
        • F=Hex (64*(时钟频率的十进制部分/(16*BR))
        • 启用 UART、TX 和 RX (RCSS_SCI_A_UARTCR ((地址- 0x050C0030->1)、启用 FIFO、并将字符数设置为7 (8位)(RCSS_SCI_A_UARTLCR_H (地址- 0x050C002C)->x70)
        • 设置 FIFO 水印电平(RCSS_SCI_A_UARTIFLS (地址- 0x050C0034)->0x8)
        • 启用所有中断(RCSS_SCI_A_UARTIMSSC (地址-0x050C0038)->0x7FF)
        • 启用 DMA TX/RX (RCSS_SCI_A_UARTDMACR (地址-0x050C0048)->0x2)
        • 配置波特率(SCI_SCIBAUD)、数据的字符长度(SCI_SCICHAR)(波特、字符)
        • 将 IO 配置为 TX 和 RX (IO 1、8) SCI_SCIPIO0、SCI_SCIPIO8

      您可以使用 Tera Term 来查看接收的数据。

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

      您好!  

      是否确定您在使用 AM273x 或开发套件  TMDS273GPEVM。 因为我无法在 AM273x 的 TRM 中找到上面列出的大部分寄存器。

      我拥有的 UART 寄存器列表是:(来自 TRM 2524页)

      Fullscreen
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      offset Name
      00h SCIGCR0
      04h SCIGCR1
      0Ch SCISETIN
      10h SCICLEARINT
      14h SCISETINTLVL
      18h SCICLEARINTLVL
      1Ch SCIFLR
      20h SCIINTVECT0
      24h SCIINTVECT1
      28h SCIFORMA
      2Ch BRS
      30h SCIED
      34h SCIRD
      38h SCITD
      3Ch SCIPIO0
      40h SCIPIO1
      44h SCIPIO2
      48h SCIPIO3
      4Ch SCIPIO4
      50h SCIPIO5
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

      调试时、我注意到 SCIGCR0始终为0 (UART 处于复位状态)、 SCIGCR1也为0。

      谢谢。

      阿蒂克

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

      Atique、您好!

      很抱歉耽误你的时间。 是的、我们使用的是 AM273x EVM、但它可能是不同的版本(但这应该不是问题。 我们将 在25天前检查并返回、因为这方面的专家目前已不在。 为不行为道歉。

      此致、Shiv  

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

      HII、

      这些寄存器可用于通过 RCSS 发送和接收数据。

      RCSS_SCI_A       0x050C0000 (基地址)

              寄存器                  偏移

      RCSS_SCI_A_UARTDR             0x00
      RCSS_SCI_A_UARTRSR_ECR       0x04
      RCSS_SCI_A_UARTFR             0x18
      RCSS_SCI_A_UARTILPR           0x20
      RCSS_SCI_A_UARTIBRD           0x24
      RCSS_SCI_A_UARTFBRD          0x28
      RCSS_SCI_A_UARTLCR_H         0x2C
      RCSS_SCI_A_UARTCR             0x30
      RCSS_SCI_A_UARTIFLS           0x34
      RCSS_SCI_A_UARTIMSC           0x38
      RCSS_SCI_A_UARTRIS            0x3C
      RCSS_SCI_A_UARTMIS            0x40
      RCSS_SCI_A_UARTICR            0x44
      RCSS_SCI_A_UARTDMACR        0x48

      我们将使用这些寄存器更新 TRM。 对于给您带来的不便、我们深表歉意。

      此致、
      N·普利