Hi,
On the two port CAN card, the timestamps between the two frames should be close. The card uses a single timer to set the timestamp. Even if the ports are reading the same frame, there is a small latency in the on-board processor which will cause the frames to have a slightly different timestamp.
With the third port, the first problem is setting the absolute timer. The function does not cache the value, but there is going to be a time difference since the software calls cannot be executed at the same time. You could measure the delay and compensate. You could also send a frame, read the timestamps and calculate the difference.
But, the main problem is the drift of the oscillators on the cards. The cards use a quartz oscillator. With the drift you
wouldn't be able to reliably use the application for more than 60 seconds.
DiegoF
National Instruments