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.

[参考译文] AM2432:PRU 自定义功能块引脚获取

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1337630/am2432-pru-custom-function-block-pin-maping

器件型号:AM2432
主题中讨论的其他器件:Profibus

您好、TI 专家!

  AM243X 有两个 PRU 子系统、其中一个有6个 RSIC 内核。 如果我需要对6个内核进行编程、以实现自定义功能、例如 UART。

如何设计  AM243X 芯片物理引 脚到自定义功能引脚的映射。

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

    您好

    表6-1说明了 AM243x 的引脚映射。 添加了默认引脚属性。

    https://www.ti.com/lit/ds/symlink/am2434.pdf

    此致

    卡兰

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

     Karan、您好!   

        正如我所知、一个 PRU-ICSSG 有2个 PRU/2PRU_PRU/2TX_PRU、而 AM243X 每个 PRU-ICSSG 有40个 PRGx_PRUx_GPOxx PIN (20个用于内核 PRU0/20用于内核 PRU1)。现在我想使用每个 RSIC 进行 UART 定制、总共6个 UART。

        对于硬件设计、我的问题是如何将 PRGx_PRUx_GPOxx 引脚与定制 UART 固件函数相匹配?

        PRGx_PRUx_GPOxx 引脚是否可由软件程序分配?

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

    您好

    我将在内部进行检查、会在该主题上向您回复。

    此致

    卡兰

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

    您好、Aiden:

    我支持 PRU、但不支持 AM243x。 我将从 PRU 方面提供一些看法。

    PRU_ICSSG 实例中包含什么内容?

    每个 PRU_ICSSG 实例包含6个内核(每个"切片" 3个内核)、但这些内核中的每个内核不一定具有对处理器引脚的访问权限。 通常客户将使用 PRU 内核来发送和接收进出处理器引脚的信号、并使用 RTU 内核(无法访问外部引脚)来回移动数据和执行计算等。 TX_PRU 内核可更灵活、具体取决于用例。 因此、您通常会有多个内核一起在同一个软件上运行。

    每个 PRU_ICSSG 实例还包含1个硬件 UART 实例。 有关哪些外设位于哪些 PRU 子系统中的更多信息、请参阅应用手册 https://www.ti.com/lit/sprac90

    理论上可以通过两种不同的方法来执行 PRU UART:

    1) 1)使用硬件 UART 实例。 它的行为与电路板上的任何其他 UART 外设类似、因此可以通过 PRU 内核或 R5F 等外部内核进行控制。

    我不确定我们是否为 AM243x/AM64x 编写了一个驱动程序、以便让 R5F 内核能够控制 PRU 实例、但我可以指向我们在较旧器件上执行此操作的 RTOS 和 Linux 代码。

    2) 2)使用 PRU 内核来模拟 UART (或多个 UART 实例)。 这称为"软 UART"。

    我想我们还没有为 AM243x/AM64x 编写"soft UART"代码、但您可以在本 AM335x 文档中找到有关该概念 的更多信息:https://software-dl.ti.com/processor-sdk-linux/esd/docs/06_03_00_106/AM335X/linux/。Foundational_Components_ U-ICSS_PRU_ICSSG.html#PRU-ICSS-SOFT-UART

    请根据这些信息澄清您是否在寻找特定内容。  

    此致、

    尼克

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

    您好、Nick。

      感谢您的支持。 我们需要使用 "软 UART"模式、因为我们知道 PRU0/1是可编程的。 我想 R30/31寄存器用于 分配 GPIO。

       6个内核来进行6个 "软 UART"、 AM243X PRU 端物理引脚映射到 "软 UART"固件 TX/RTS/RX 功能引脚是否 灵活?

      期待您的回复。

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

    您好、Aiden:

    我将提供有关如何在以前的器件上实现软 UART 的一般信息、然后我的团队成员会跟进 TI 当前提供的软件(如果有)  

    1个 PRU 内核和1个软件 UART 实例之间没有一一对应的映射。 由于 PRU 内核通过 R30/R31寄存器直接读取和写入 PRU GPI/PRU GPO 信号、因此"每个 PRU 内核的最大软件 UART 数量"的限制实际上归结为您可以执行多少个 PRU 汇编指令、同时仍满足 UART 协议的时序要求。

    在 AM335x (每个 PRU-ICSS 2个 PRU 内核、其中 PRU 内核以200MHz 运行)上、每个 PRU 内核最多可支持3个软件 UART 实例、或总共支持6个软件 UART 实例。

    有关 AM335x RTOS 和 Linux PRU 软件 UART 实现的文档、请参见:
    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/890322/beaglebk-soft-uart/3292657#3292657

    AM335x PRU 软件 UART 实现的 PRU 固件源代码如下所示:
    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1039445/processor-sdk-am335x-iso7816-on-pru-of-am335x/3859860#3859860

    从 SDK 9.1开始、我们尚未将 PRU 软 UART 实现移植到 AM62x (PRUSS)或 AM64x (PRU_ICSSG)、至少是从 Linux 端移植。  

    未来的读者、如果您想了解 AM62x 上 PRU 软 UART 的状态、请 在提问时参考 PROC_SOC-3700。 我不知道对于 Linux A53或 RTOS R5F、目前有将 PRU Soft UART 连接到 AM64x 的要求。

    此致、

    尼克

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

    您好、Aiden:

     我先解释一下 AM243x 器件上的各种 UART 选项。

    可以使用以下 UART:

    1. SDK 中包含驱动程序的设备上的标准 UART。 这仅限于10 MHz、没有电机应用所需的实时触发器。

    2. ICSS_G 硬件 UART,最初用于 ICSS_G IP 的低延迟12Mbit Profibus 通信

    3. PRU 软件 UART,使用 PRU GPIO 来模拟 UART。 这通常用于较旧的器件(AM335x)以获得额外的标准 UART。

    4. ICSS_G 3外设接口可用于实现串行接口、包括 UART、已知编码器协议(HDSL、ENDAT、Tamagawa、BiSS)或具有线路代码的定制串行接口。 它支持时间触发的启动和更高的数据速率、例如25Mbit。

    当您在请求6个 UART 时、我建议使用3个外设接口、每个 ICSS_G 实例切片都提供了该接口。 还有一个具有 Tamagawa 接口的 SDK 示例、该接口使用3个外设接口作为 UART。

    AM243x TRM 表6-422中介绍了引脚映射。 外设 I/F 的 PRU GPI/GPO 信号和配置。

    请注意、 表6-391中也显示了另一个引脚映射。 PRU_ICSSG I/O 信号、由 ICSSG_SA_MX_REG [7] G_MUX_EN 寄存器进行控制。 您不能将这两种设置的信号混用。  

    下面是使用 G_MUX_EN=0时的默认引脚映射在 ICSS_G0上为6个 UART 分配的示例引脚。

    -托马斯

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

    尊敬的  Thomas:

       感谢您的答复。 我的问题得到了解决。