Apex AD10 PPS Usage#

PPS Usage#

The PPS interface means that the MiVin device converts its own system time into a high-precision PPS signal and outputs it externally. This interface cannot be programmed, and is mainly used to achieve synchronization of the entire sensor system without the GPS device.

Hardware Specification#

PPS DB9 Port Pin Definition:

Pin

Signal

1

GND

2

PPS_A_RX

3

PPS_A_TX

5

GND

6

PPS_A_SYNC

Pin

Specification

PPS_SYNC

3.3V

UART

RS232

Usage#

PPS OUT Function#

The device outputs a PPS signal (generating one pulse per second with a pulse width of 50ms) and transmits the NMEA GPRMC message through the Tx pin of the serial port (UART/RS232) indicating the time of the rising edge of the pulse. Here is an example of the message:

$GPRMC,060249.000,A,3949.63046,N,11616.48565,E,0.296,,291118,,,A*4dv

The timestamp “060249.000” represents the time in UTC when each pulse is generated per second. The format is in “hours:minutes:seconds.000”, with normal time being in whole seconds format. Sensors that support PPS synchronization mode will use the received PPS and GPRMC messages to calibrate their clock systems, keeping them in sync with the device’s system clock. The sampling time of the sensor will be taken as a timestamp and sent to the device together with the data. At this point, the system acquires the system time of the sensor’s sampling and completes synchronization.

PPS Synchronization Schematic Diagram

Verification method for synchronization function (taking RS-LiDAR-16 LiDAR as an example):

When the sensor is only connected to the device via the data input interface, without connecting to the PPS_A_SYNC port and PPS_A_TX of the device, the timestamp in the data uploaded by the sensor’s ROS node to the operating system is the hardware timestamp, which represents the time of the sensor’s internal clock counter (most sensors set a fixed initial time as the starting point for timing, starting counting after each power-up). At this point, printing the hardware timestamp in the Ubuntu operating system and comparing it with the device’s system time will reveal a significant deviation between the two.


When the sensor is connected to the PPS_A_SYNC and PPS_A_TX of the device, the hardware timestamp in the data uploaded by the sensor’s ROS node to the operating system is the time of the sensor’s internal clock after being synchronized by PPS, which is consistent with the device’s system time. At this point, printing the received hardware timestamp in the Ubuntu operating system and comparing it with the system time at the time of receiving the data (ros::time::now), if the difference between the two is less than 100ms, it indicates that the PPS function is effective.

Comparison between data timestamp and system time.