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.

TDA4VM: Time Sync Router frequency practical limits

Part Number: TDA4VM


Hello Team,

When using TSR to convey clock information across cores (e.g. as is done for CPTS time in the PDK in main_tirtos.c, "CpswRemoteApp_initSyncTimer" ),
I understand that the frequency of the callbacks depends on the PWM settings of the clock used to trigger the HW push events (e.g. GTC in the example).

Is there a limit to how fast these callbacks can be processed, other than the limits of the PWM settings?  Could I for example receive callbacks at a frequency of 1ms?

The reason for my question is: I am trying to determine how quickly all cores can get access to PTP time (i.e. CPTS time of CPSW9G) in theory.

I did see in the TRM that HW push events are expected to be low-frequency, as the FIFO storing them is quite small.  But I think that should be ok for my use case.  I am thinking the fastest way for remote cores to get access to CPTS time would be:

  • on startup, setup TSR callback to be very fast (e.g. one every ms)
  • process callbacks (even though some might be dropped because of limited FIFO space)
  • once 2 of these have been processed (and I can calculate the rate ratio/offset to the remote clock), reduce the PWM setting to a more sensible value

Does this approach make sense, or is there a better way?

Thanks very much,
-JP

  • Hi,

    Is there a limit to how fast these callbacks can be processed, other than the limits of the PWM settings?  Could I for example receive callbacks at a frequency of 1ms?

    You should be able to receive callbacks at 1ms. I do not see any limitation as such, but the question is as you mentioned already, if the FIFO is small then the event queue will overflow.

    I did see in the TRM that HW push events are expected to be low-frequency, as the FIFO storing them is quite small.  But I think that should be ok for my use case.  I am thinking the fastest way for remote cores to get access to CPTS time would be:

    • on startup, setup TSR callback to be very fast (e.g. one every ms)
    • process callbacks (even though some might be dropped because of limited FIFO space)
    • once 2 of these have been processed (and I can calculate the rate ratio/offset to the remote clock), reduce the PWM setting to a more sensible value

    Does this approach make sense, or is there a better way?

    What is your use-case ? Typically for PTP, the first sync is a complete adjustment and then the servo logic converges on a stable value. There are no additional sync values in the beginning.

    Regards

    Vineet