Is it possible to get a PPS output?

Please provide the following info (tick the boxes after creating this topic):
Software Version
DRIVE OS 6.0.5
DRIVE OS 6.0.4 (rev. 1)
DRIVE OS 6.0.4 SDK
other

Target Operating System
Linux
QNX
other

Hardware Platform
DRIVE AGX Orin Developer Kit (940-63710-0010-D00)
DRIVE AGX Orin Developer Kit (940-63710-0010-C00)
DRIVE AGX Orin Developer Kit (not sure its number)
other

SDK Manager Version
1.9.1.10844
other

Host Machine Version
native Ubuntu Linux 20.04 Host installed with SDK Manager
native Ubuntu Linux 20.04 Host installed with DRIVE OS Docker Containers
native Ubuntu Linux 18.04 Host installed with DRIVE OS Docker Containers
other

Hello, is it possible to get the internal PPS output routed to a GPIO? I saw mention of setting a GPIO to do a PPS input, but I believe there should be an output from the embedded switch and possibly from something in the Orin itself, correct? We are synchronizing via gPTP GM connected to port 4 of the embedded switch to the Orin as a gPTP slave in QNX. We would like to verify how precise the synchronization is by comparing the PPS on the GM to the PPS from the Orin.

A few options I’ve thought about, but won’t be very precise depending on how they’re implemented:

  1. monitor packets from the external GM writing system time to a packet that the Orin receives and compare how close the times are
  2. Manually drive a GPIO from the Orin every second (is there a HW IRQ from the PPS possibly?)

Thanks

1 Like

Dear @rob.pettigrew,
We will check internally and update you on this.

Thanks Siva. I look forward to hearing your response.

I also found this document from Avnu:

I believe I read/heard that the embedded switch in the Orin is using the Avnu gPTP implementation.

This document appears to describe exactly what we’re trying to do. We want a way to measure the quality of synchronization across all the nodes in our system. At the moment, I was just trying to do it using a PPS and scope, but long term, we’d like a way to do it during runtime in order to know whether we can trust data from our sensors. The document discusses how it’s done using a PPS output, but primarily discusses a mechanism to validate the quality of clock synchronization using the protocol itself by having the clients send out SYNC/FollowUp packets with its measured time, which can then be used to determine the quality of synchronization.

I think that would be fine, if it worked, but it does not appear that Avnu has added this functionality into their gPTP implementation from what I can tell on git hub. I would assume that is also true for the implementation on the switch in the Orin. We are not currently aware of any way we can get the quality of synchronization during runtime with the embedded switch. If you guys have any ideas, that’d be great.

Is there maybe a way for us to write firmware for the switches? I found the NVIDIA marvell switch management page discussing how to flash it with prebuilt binaries. If we could modify the gPTP implementation that may be a possibility as well.

Thanks,
Rob