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:使用 PTP 与 CPSW 和 ICSS 实现同步

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1579596/am2434-synchronization-using-ptp-with-cpsw-and-icss

器件型号: AM2434

我们的客户想知道如何使用 PTP 与 CPSW 和 ICS 进行同步、从而在多个器件(一个 PTP 主器件和多个从器件)之间同步控制时序。

他们使用 MCU+ SDK 随附的以下链接中列出的 gPTP 示例。

https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/11_01_00_17/exports/docs/api_guide_am243x/EXAMPLES_ENET_CPSW_TSN_GPTP.html

1) 我想说明如何同步每个从器件上 CPSW 和 ICSS 的本地时钟。

对于 CPSW、CPSW 中的 CPTS 时间戳用作本地时钟。
对于 ICSS、ICSS 内的 IEP 计时器用作本地时钟。
在考虑路径延迟的情况下、根据从接收到的时间同步数据包获得的时间将本地时钟的计数器值进行调整并更新为软件计算的值。

我的理解是否正确?

对于 ICSS、可通过以下链接详细介绍时间同步。

https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/11_01_00_17/exports/docs/api_guide_am243x/ICSS_TIMESYNC.html

对于 CPSW、是否有关于时间同步的详细说明?

2) 为了同步控制时序,有必要根据本地时钟以多个不同的时序执行各种进程。 我想阐述如何与其他内部模块和外部模块同步。

对于 CPSW、可提供三种类型的同步信号。

 -时间戳比较 (CPTS_COMP) 输出
 -时间戳同步 (CPTS_SYNC) 输出
 -时间戳 GENFn (CPTS_GENFn ) 输出

CPTS_COMP 可通过比较事件路由器 (CMPEVT_INTR0) 用作内部模块的输出信号、而 CPTS_SYNC 和 CPTS_GENFn 可通过时间同步事件路由器 (TIMESYNC_INTRTR0) 用作内部模块的输出信号。 此外、CPTS_COMP 和 CPTS_SYNC 可用作从外部引脚发送到外部模块的输出信号。

CPTS_COMP 可用于 CPU 内核的中断生成、以及通过比较事件路由器 (CMPEVT_INTRTR0) 用作其他内部模块的触发事件。 CPTS_SYNC 和 CPTS_GENFn 可通过时间同步事件路由器 (TIMESYNC_INTRTR0) 用作其他内部模块的触发事件。

我的理解是否正确?

CPTS_GENFn 是否可用作从外部引脚发送到外部模块的输出信号?

对于 ICSS、基于本地时钟(IEP 计时器)的同步信号是什么? 是否有详细说明?

3) 为了以不同时序与更多的内部和外部模块进行同步、CPSW 和 ICSS 中可用的同步信号数量不足。 我想澄清一下、如何根据本地时钟生成更多样化的时序。

MCU 和 MAIN 域中的计时器模块可将 CPSW0_CPTS_GENFn 用于功能时钟。 因此、可以使用 16 个计时器模块生成不同的时序。

主域中的 CPTS 模块可以使用与 CPSW CPTS 相同的时钟 (CP_GEMAC_CPTS_RFT_CLK) 作为基准时钟。 时间戳计数器值的调整和更新方式与 CPSW CPTS 中的相同。 因此、可以生成更多变化的时序、包括计时器管理器中的 1024 个计时器。

我的理解是否正确?

对于 ICSS、如何根据本地时钟生成更不同的时序?

此致、

大辅

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引述 userid=“102452" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1579596/am2434-synchronization-using-ptp-with-cpsw-and-icss

    对于 CPSW、CPSW 中的 CPTS 时间戳用作本地时钟。
    对于 ICSS、ICSS 内的 IEP 计时器用作本地时钟。
    在考虑路径延迟的情况下、根据从接收到的时间同步数据包获得的时间将本地时钟的计数器值进行调整并更新为软件计算的值。

    我的理解是否正确?

    [/报价]

    没错。  

    对于 ICSS、下面的链接中介绍了时间同步的详细说明。

    请参阅此 API 指南 https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/latest/exports/docs/api_guide_am243x/group__ENET__MOD__TIMESYNC.html

    此参考代码将概述如何对 IEP 计数器、调整和读取 IEP。

    [引述 userid=“102452" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1579596/am2434-synchronization-using-ptp-with-cpsw-and-icss

    对于 ICSS、基于本地时钟(IEP 计时器)的同步信号是什么? 是否有详细说明?

    [/报价]

    如果要查找 1PPS(PTP 时间标度)、则可以探测 PRU_ICSSG0_PR1_EDC0_SYNC0_OUT_0 、也可以使用 TIMESYNC_EVENT_ROOUTER 将其路由到不同的引脚以探测同步信号。 例如:  

    TIMESYNC_INTRTR0_IN_25 (PRU_ICSSG0_PR1_EDC0_SYNC0_OUT_0)-> TIMESYNC_EVENT_INTROUTER0_OUTL_24 ->
    PINFUNCTION_SYNC0_OUTOUT_SYNC0_OUT_IN_0

    有关更多详细信息、请查看: 10.3.2.2.1 在 AM64/24x TRM 中集成 TIMESYNC_INTRTR0。

    [引述 userid=“102452" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1579596/am2434-synchronization-using-ptp-with-cpsw-and-icss

    对于 ICSS、如何根据本地时钟生成更不同的时序?

    [/报价]

    是否要在与 PTP 时钟对齐的不同时序中生成外部脉冲?

    BR、
    Jc.

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

    尊敬的 JC-San:

    感谢您的答复。

    是否要在与 PTP 时钟对齐的不同时序中生成外部脉冲?

    是的。 我们的客户尚未明确指定他们要同步的确切内容、但他们需要根据与 PTP 时钟对齐的多个不同时序进行控制。

    对于 ICSS、“6.4.3 PRU_ICSSG 集成“中描述了连接到时间同步路由器等其他模块的信号。

    正如我在原始帖子中所说的、MAIN 域的 CPTS 和各种计时器模块是否可以与 PTP 时钟同步?

    最好的注意、

    大辅

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

    尊敬的 JC-San:

    我还有一个问题。

    对于 ICSS、在“6.4.3 PRU_ICSSG 集成“中描述了连接到其他模块(例如时间同步路由器)的信号。

    除了 PRU_ICSSG0_PR1_EDC0_SYNC0_OUT_0、PTP 还可以使用哪些其他信号?

    最好的注意、

    大辅

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

    尊敬的 大辅山:

    CPTS 可以为时钟上升沿和下降沿等事件添加时间戳、我们可以使用这些数据将 CPTS 时钟与基准时钟同步、还可以进一步获取调整系统中可用的其他时钟源所需的校正数据。  

    除了 PRU_ICSSG0_PR1_EDC0_SYNC0_OUT_0、还有哪些其他信号可用于 PTP

    关于可用信号、您是否参考可供 PTP 应用使用的信号? 我们 也可以从 IEP 模块获得比较事件。 您能否提供一些有关您希望如何使用该信号的更多详细信息? 这将有助于我们为您的应用确定更合适的寄存器。

    此致、
    Teja。