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.

AM620-Q1: Does AM620x support PPS?

Part Number: AM620-Q1
Other Parts Discussed in Thread: AM625-Q1,

Hi, Expert

I create this thread for Spec. double checking.

(1) Does PPS (Pulse-Per-Second) need a dedicated HW module in SoC to generated precise time synchronization (clock) output?

(2) I saw few discussion between gPTP and PPS, I feel a little bit confuse. Does it mean AM6202 got time synchronization from TSN (CPSW3G) gPTP protocol, and then generate PPS output. this PPS output could be an GPIO, is it corretc?

(3) Base on item2, Does gPTP is necessary item for PPS? Can PPS generated gpio output signal w/o gPTP?

(4) Does AM620x sdk support PPS source?

example like.

$ ls /sys/class/pps/
pps0/  pps1/  pps2/

 

(5) Can AM62x generate PPS by itself?

Thank You.

Gibbs

 

Ref. 

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1499114/sk-am62p-lp-how-to-enable-pps-in-out-using-ptp-on-am62p-via-cpts-sync

https://docs.kernel.org/driver-api/pps.html

https://github.com/redlab-i/pps-tools/blob/master/ppstest.c

https://blog.csdn.net/u010936265/article/details/135648077

  • Hello Gibbs,

    Pulse per second is usually used to synchronize time across a system. So you typically have a clock master / grandmaster, and then the rest of the system gets the reference time from them.

    If you decide that the AM62x is the clock master for your system, then yes, the AM62x can generate PPS by itself.

    A common way to distribute time throughout a system is to use the Ethernet PTP protocol to synchronize between a clock master and the AM62x. In this case, the CPTS counter inside of the CPSW Ethernet peripheral is both the timestamp tool used during PTP communication, and also the PPS signal generator if you want to share that synchronized time with the rest of the system through a PPS output.

    You do NOT want to use a standard GPIO peripheral to generate your PPS signal. Reads and writes to GPIO modules are non-deterministic, and the whole point of the PPS signal is that it is aligned with the clock master. So you usually want to use a counter that can output a precise signal, like the CPTS in the CPSW peripheral, or the IEP counter in the PRU subsystem (where the PRU subsystem's IEP counter is more commonly used for time synchronization on AM64x).

    For future readers, you can find more information about CPSW TSN and PTP here:
    https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/11_01_05_03/exports/docs/linux/Foundational_Components/Kernel/Kernel_Drivers/Network/CPSW-TSN.html#tsn-with-cpsw 

    Regards,

    Nick

  • Hi, Nick

    Thanks your replies.

    I think we "must" to use PRU GPIO to generate PPS signal even we do not need clock master from Ethernet PTP.

    I think customer also need to implement FW on FPU to control PPS GPIO, isn't?

    Few question,

    (1) Do we have PRU support on AM620x-Q1?

    (2) Base item 1, If we do not have PRU support on AM620x-Q1, Does AM625-Q1 pin to pin compatible w/ AM620-Q1 which also support PRU?

    Thank You.

    Gibbs

  • Hello Gibbs,

    No, that is not correct. You can also generate a PPS signal from the CPTS module, even if you are not using Ethernet PTP. (there is a CPTS instance in the MAIN domain, in addition to the CPTS instance in the CPSW peripheral). The GENF output signal is used for that purpose.

    I do not know what "FPU" is. If you meant to say PRU, then yes, you would need to write PRU code if you wanted the PRU to output a signal.

    We did not have an AM62x automotive part number with a PRU on it... until in the past month, I think. Please reach out to our marketing team for details. I cannot remember if the automotive-grade part with PRU is both AM620-Q1 & AM625-Q1, or only one of them.

    Refer to the AM62x datasheet, section "Device Naming Convention > field f, Features". You are looking for part numbers with a Feature field of C, those are the ones with a PRU subsystem.

    Regards,

    Nick

  • Hi Nick

    as picture show, 

    The question should be like this:Does the AM6202 have GPIO to receive and process the 1PPS signal from the GNSS module?

  • Hello gao-xiang,

    How are you intending the 1PPS signal to be processed? For example, which core or cores do you want to receive the PPS signal? How do you want those cores to use the PPS signal? etc.

    There is hardware to read in and timestamp input signals (like CPTS, ECAP, or timer). Different peripherals will have different options to enable them in software.

    Regards,

    Nick

  • Hi Nick

    PPS is a hardware timing pulse signal output by GNSS receivers, typically generating one pulse per second. The rising edge of the pulse (which can also be set to the falling edge) indicates the system's exact second. When the PPS signal is received, it marks the beginning of a new second. Currently, the time accuracy of PPS output from conventional GNSS receivers can reach 30ns to 50ns.

    We thought that the GPIO of the M4 core should be used for processing,Synchronize more accurate time using PPS(1pps pin)+TOD(uart) from the GNSS MODULE

    The PPS signal represents a specific moment but does not include detailed time information. Other devices receiving the PPS pulse still need to know the corresponding "year, month, day, hour, minute, second, millisecond" information. Therefore, a TOD signal is required to clearly indicate the exact moment corresponding to the PPS pulse.

    There is hardware to read in and timestamp input signals (like CPTS, ECAP, or timer). =>so timer function of M4 GPIO can be used for 1pps receive and process?

  • Hello,

    To clarify: which cores in particular are you trying to synchronize? The Linux A53 cores? The M4 core? What do you want to do with that synchronized time?

    For example, if you are just trying to synchronize the Linux system time to the external clock master, then it would not make sense to involve the M4F in that time sync path.

    Regards,

    Nick