AM2434: EtherCAT sync0, sync1, and pdi_isr timestamp

Part Number: AM2434
Other Parts Discussed in Thread: SYSCONFIG

Hi TI Experts,

 

Currently we are using sync0isr and pdi_isr interrupts for EtherCAT function. We would like to merge the functionalities with other modules and remove these interrupts.

The issue is that we want accurate timestamp when sync0/pdi happened and yet we don't want the interrupt to delay other module.

Here is the question, I wonder if there are interfaces that we can read sync0/sync1/pdi_isr timestamps?

If not, then we need to direct these signals to ECAP module, correct? I checked the sysconfig, EDC_SYNC_OUT0 should be sync0, EDC_SYNC_OUT1 should be sync1. Which signal is pdi_isr?

 

Thanks

  • Hi Jianyu,

    Here is the question, I wonder if there are interfaces that we can read sync0/sync1/pdi_isr timestamps?

    There is a vendor specific register which has the PDI ISR Timestamp: 

    You can map PDI ISR output to external SOC pin (via one of the 4 PRU-ICSS digio outputs):

    1. Program 0x0E0A Vendor Specific Register to choose between one of the 4 pins. For example, if you want to map the PDI ISR output to PRG1_IEP0_EDIO_DATA_IN_OUT31, then write 0x80 in the register. 0x40, 0x20 or 0x10 if you want to map to PRG1_IEP0_EDIO_DATA_IN_OUT30, PRG1_IEP0_EDIO_DATA_IN_OUT29 and PRG1_IEP0_EDIO_DATA_IN_OUT28 respectively.
    2. Map the corresponding EDIO pin to an available external GPIO pin in Syscfg:

    Regards,
    Aaron

  • Thanks, can you share a download link for the complete register map? I also need time stamp for sync0

    There is a vendor specific register which has the PDI ISR Timestamp: 
  • Another question, is the time stamp based on IEP0? Is this clock be modified by ARMW command used to synchronize all clocks?

  • Hi Jianyu,

    Thanks, can you share a download link for the complete register map?

    You can find the TI ESC Register Map here: TI EtherCAT SubDevice Controller Register List. TI Vendor specific registers can be found under "TI ESC Vendor Specific Registers" section.

    I also need time stamp for sync0

    The Sync0 timestamp is not brought out to the ESC Register. One option is that you can monitor IEP_CMP1_REG0 Register (offset 0x80-0x87) which will have time when the next Sync0 signal will be triggered: 

    The Sync signal is triggered when the IEP counter hits the value programmed in the above register. Once the signal is triggered, the above register is re-programmed with the the next time (based on the cycle time) when the signal is to be triggered.

    Another question, is the time stamp based on IEP0? Is this clock be modified by ARMW command used to synchronize all clocks?

    Yes, correct.

    Regards,
    Aaron