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:EtherCAT sync0、sync1 和 PDI_ISR 时间戳

Guru**** 2826855 points

Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1604734/am2434-ethercat-sync0-sync1-and-pdi_isr-timestamp

器件型号: AM2434
主题: SysConfig 中讨论的其他器件

尊敬的 TI 专家:

 

目前、我们使用 sync0isr 和 PDI_ISR 中断来执行 EtherCAT 功能。 我们希望将这些功能与其他模块合并、并消除这些中断。

问题是我们希望在发生 sync0/PDI 时使用准确的时间戳、但我们不希望中断延迟其他模块。

下面的问题是、我想知道是否有可以读取 sync0/sync1/pdi_isr 时间戳的接口?

如果没有、那么我们需要将这些信号引导至 ECAP 模块、对吗? 我已检查 SysConfig、EDC_SYNC_OUT0 应为 sync0、EDC_SYNC_OUT1 应为 sync1。 哪个信号是 PDI_ISR?

 

谢谢

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

    您好、建宇:

    问题是、我想知道是否有可以读取 sync0/sync1/pdi_isr 时间戳的接口?

    有一个特定于供应商的寄存器、它具有 PDI ISR 时间戳:  

    您可以将  PDI ISR 输出映射到外部 SOC 引脚(通过 4 个 PRU-ICSS 数字输出之一):

    1. 对 0x0E0A 供应商特定寄存器进行编程、以便在 4 个引脚之一之间进行选择。 例如、如果要将 PDI ISR 输出映射到 PRG1_IEP0_EDIO_DATA_IN_OUT31、请在寄存器中写入 0x80。 0x40、0x20 或 0x10(如果您希望分别映射到 PRG1_IEP0_EDIO_DATA_IN_OUT30、PRG1_IEP0_EDIO_DATA_IN_OUT29 和 PRG1_IEP0_EDIO_DATA_IN_OUT28)   。
    2. 将相应的 EDIO 引脚映射到 SYSCFG 中可用的外部 GPIO 引脚:

    此致、
    Aaron

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

    谢谢、您能分享完整寄存器映射的下载链接吗? 我还需要 sync0 的时间戳

    有一个特定于供应商的寄存器、具有 PDI ISR 时间戳: 
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    另一个问题是、时间戳是否基于 IEP0? 是否可以通过用于同步所有时钟的 ARMW 命令修改该时钟?

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

    您好、建宇:

    谢谢您能分享完整寄存器映射的下载链接吗?

    您可以在此处找到 TI ESC 寄存器映射: TI EtherCAT 子器件控制器寄存器列表。 TI 供应商特定寄存器可在“TI ESC 供应商特定寄存器“部分下找到。

    我还需要 sync0
    的时间戳

    Sync0 时间戳不会输出到 ESC 寄存器。 一个选项是您可以监控 IEP_CMP1_REG0 寄存器(偏移 0x80-0x87)、这将有时间触发下一个 Sync0 信号:  

    当 IEP 计数器达到上述寄存器中编程的值时、将触发同步信号。 信号触发后、将在下一次(基于周期时间)触发信号时对上述寄存器重新编程。

    另一个问题是时间戳是基于 IEP0 吗? 是否可以通过用于同步所有时钟的 ARMW 命令修改该时钟?

    是的、正确。

    此致、
    Aaron