Part Number: AM2434
Our customer wants to know how to synchronize using PTP with CPSW and ICS in order to synchronize control timing between multiple devices (one PTP master and multiple slaves).
They are using the gPTP examples listed in the following link included in MCU+ SDK.
1) I want to clarify how to synchronize the local clock for CPSW and ICSS on each of slave devices.
For CPSW, the CPTS timestamp inside CPSW is used as the local clock.
For ICSS, the IEP timer inside ICSS is used as the local clock.
The counter value of the local clock is adjusted and updated to value calculated by software based on the time obtained from the received time synchronization packet, taking into account path delay.
Is my understanding correct?
For ICSS, a detailed description of the time synchronization is described at the link below.
For CPSW, is there a detailed description of the time synchronization?
2) To synchronize control timing, it is necessary to perform various processes at multiple different timings based on the local clock. I want to clarify how to synchronize with other internal modules and external modules.
For CPSW, three types of synchronization signals are available.
- Time Stamp Compare (CPTS_COMP) output
- Timestamp Sync (CPTS_SYNC) Output
- Timestamp GENFn (CPTS_GENFn) Output
CPTS_COMP can be used as an output signal to internal modules via the compare event router (CMPEVT_INTRTR0), and CPTS_SYNC and CPTS_GENFn can be used as output signals to internal modules via the timesync event router (TIMESYNC_INTRTR0). Furthermore, CPTS_COMP and CPTS_SYNC can be used as output signals to external modules from an external pin.
CPTS_COMP can be used for interrupt generation to CPU cores and as trigger events for other internal modules via the compare event router (CMPEVT_INTRTR0). CPTS_SYNC and CPTS_GENFn can be used as trigger events for other internal modules via the timesync event router (TIMESYNC_INTRTR0).
Is my understanding correct?
Can CPTS_GENFn be used as an output signal to external modules from an external pin?
For ICSS, what are the synchronization signals based on the local clock (IEP timer)? Is there a detailed description?
3) To synchronize with more internal and external modules at different timings, the number of synchronization signals available in CPSW and ICSS is insufficient. I want to clarify that how to generate more varied timings based on the local clock.
Timer modules in MCU and MAIN domains can use CPSW0_CPTS_GENFn for functional clock. Therefore, it is possible to generate different timings using 16 timer modules.
The CPTS module in MAIN domain can use the same clock (CP_GEMAC_CPTS_RFT_CLK) as CPSW CPTS for the reference clock. The timestamp counter value can be adjusted and updated in the same way as in the CPSW CPTS. Therefore, it is possible to generate more varied timings, including the 1024 timers in the Timer Manager.
Is my understanding correct?
For ICSS, how can more varied timings be generated based on the local clock?
Best regards,
Daisuke