Skip to content

TDC data processing

iliasam edited this page Aug 22, 2024 · 11 revisions

Simple diagram showing TDC lines:
Drawing1
STOP2 is configured for detecting rise and fall edges, so TDC will fix two events at STOP2.
TDC is calculating (STOP2[0]-STOP1) value inside it, ant is is "Time of Flight" value.
TDC is need to be reconfigured for calculating (STOP2[1]-STOP2[0]) value, which is a width of received pulse.

Simple diagram showing how TDC data is processed in lidar firmware.

See source code and source code for scanning mode.

"START, BIN" is measured by TDC (time-of-flight value).
"WIDTH, BIN" is measured by TDC.

"Reference zero distance, BIN" is calculated during scanning using measured distance to a "reference plate" and given real distance to the "reference plate".
"Amplitude changing compensation" is used to compensate time "Walk error".

"BIN length constant" value is stored in Flash, this value must be measured and programmed to the MCU during BIN length calibration.
See "BIN Length" value in "LidarTestingUtility".
Default value ("DEFAULT_DIST_BIN_LENGTH" constant in "config.h") is near 14.5 mm/BIN.
This value is calculated like (90ps * 3e8m/s / 2) = 13.5 mm/BIN, where 90ps is resolution of TDC-GP21.

Clone this wiki locally