User Manual Part 2

IS-900 User Guide Page 139 of 159
15. Appendix F GENLOCK Synchronization
15.1. Why Use GENLOCK?
GENLOCK synchronization is used to guarantee constant latency between the sampling of the
motion tracking sensor and the current image on the display device. Any change in the amount
of latency between these two events appears as jitter in orientation when the head is rotating.
For typical head rotation rates of 300 degrees/sec, a timing difference of 6.7 milliseconds will
result in orientation jitter of 2 degrees, which can be highly disturbing to the user.
On an IS-900 series product operating with no synchronization, the tracker will update at about
180 Hz, corresponding to a 5.6 ms period. Since the 180 Hz update rate of the tracker is
asynchronous with the update rate of the computer graphics rendering and display cycle, the
latency will vary by up to 5.6 ms from cycle to cycle, and thus GENLOCK synchronization is
essential if smooth response is desired during periods of moderately fast head rotation.
time(ms) 0 16.7 33.3 50.0
183.3
Display scan out
Rendering
Tracking
first
processing
stage
second
processing
stage
sample
InertiaCube
latency
1 2 3 4 5 6
Figure 42 Timing Diagram: IS-900 Interfaced to PC with 60 Hz Display Refresh
Figure 42 illustrates the timing relationship of the tracking loop to the rendering loop with
GENLOCK in effect. The vertical lines at multiples of 16.7 milliseconds represent the vertical
sync pulses stripped from the 60 Hz VGA monitor cable. The tracker automatically determines
the frequency of the GENLOCK synchronization signal and then decides upon a tracking loop
update rate which is the highest multiple of this frequency that it can consistently maintain. In the
example in the diagram, the tracker has decided to do 3 internal updates per display refresh
cycle.
However, ONLY ONCE per display refresh cycle is data output across the serial or Ethernet port
to the host. This point, by default, is at the end of the last update cycle in the field, labeled 6 in
Figure 42. Using this point (or point 5) provides the lowest possible end-to-end latency, only 1
1/3 video fields in this example. So, if the total time to transmit the data across the
communication port plus the time to process and render the display is not guaranteed less than
16.7 ms on every single cycle, there will be cycles when the rendering does not complete for the
next scan out, resulting in a disturbing glitch in the image.