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.

[参考译文] AM2434:有关利用 PRU 和 EGPI 实施 ECAP 的问题

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1402896/am2434-question-on-ecap-implementation-with-pru-and-egpi

器件型号:AM2434

工具与软件:

只是想检查一下我的理解程度。
AM243x PRG0 PRU1 -如果设置为 EGPI 28位移入、则 PRG0_PRU1_GPI0焊盘用于日期域。
在 TRM 上、其余的 GPI1~GPI19焊盘呈灰色显示(表6-412。 PRU GPI 信号和配置)

该模式是否强制其余 GPI1~GPI19焊盘进入 EGPI 模式、因此它们不能用于其他功能?
或者是否可以设置用于 ECAP 操作的 GPI15或 GPI19焊盘?

根据数据表、 PRG0_ECAP0_IN_APWM_OUT 映射到 F3或 M4、这些也是 GPI15/GPI19焊盘。

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

    选择 EGPI 28位移入模式时、无法使用 PRU 中的剩余 PRU_GPI1~GPI19。 这是 ICSS 内部的一个限制。 如果您在 padconfig 上选择不同的多路复用器模式(例如 模式10)、我们可以通过寄存器接口而不是直接 PRU_GPIO 使 PRU 与 ECAP 外设一起工作。

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

    我想我已经明白了...如果我感到困惑、我会检查并重新发布。
    谢谢!

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

    您好、Thomas:

    我在 PRU ECAP0实现方面遇到问题。 (无 egpi 用法、仅针对 ECAP 进行设置)

    我有以下代码进行汇编:

    main:
    
    init:
    
        zero &r0, 128
        qba ecap_setup
        
    ecap_setup:
    
        ldi32   r2, 0x001E01EE
        sbco    &r2, c3, 0x28, 4
        
        qba     ecap_loop
        
    ecap_loop:
        wbs     r31.b3, 7
        halt

    然后、在 CCS 中运行时、我使用带有 PRU1内核 Device_Memory 的存储器浏览器检查0x00030000处的 PRU_PRU

    我看到计数器在偏移00h 处连续运行。
    我看到偏移5Ch 处的 PID 值44D22100h。
    我还看到了我在偏移量0x28处写入 ECAP_ECCTL2_ECCTL1的值。

    我相信我设置了捕获、连续、启用计数器和重置/重新装备 Mod4的操作、并启用了将捕获事件加载到 CAP 寄存器的操作。 我对其进行了设置、使得 cap1~cap4上升、下降、上升、下降->然后由于连续恢复到上升、下降、上升、下降……并且我使用了 CTRSTn = 1、因此在每个事件/时间戳后、计数器应该复位、这样我可以获得边沿之间的时间。

    我希望捕捉值出现在每个边沿的偏移8h、Ch、10h 和14h 处、但寄存器和持续空白= 0x00000000。

    我使用的 LP-AM243x 中的 J6.59 (J6.2)施加6MHz 方波、如 LaunchPad 原理图中所示。

    我缺少什么...?

    PS:我还配置了 syscfg、因此在 PRU (ICSS)设置中、我启用 PRU (ICSS) ECAP、并将 IN_APWM 引脚设置为 M4

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

    没关系。 在将 M4设置 为 PRU1 ECAP0输入时、我愚蠢地忘记了需要 Rx 在 syscfg 中勾选"PRU1"框。

    问题迎刃而解!