Hi Shijie Lin,
your approach seems correct, sending the PPS signal into the SYNC_IN port on the SIGNAL pin and using external trigger detection should work.
Documentation on that feature is available here:
You need both GND and VDD to always be present on the SYNC_IN port!
If you then need to read GPS time on each trigger event, you will have to modify DV code, yes. The camera modules in dv-runtime/modules/cameras/ do add a time-offset to the timestamp from the device, to get an absolute time, I suppose that would
be the right place to update this time-offset with GPS time somehow.
Every time you receive a trigger event you could read the GPS time and update the correspondence between device-timestamp and GPS time and then use that somehow to generate a final timestamp for all data.
Hope this helps, have a nice day!