Hi All,
If DM6437 can work at different clock rates, does this necessitate change in clock cycle count in order to synchronize with external data stream?
As a concrete example, VPFE can accept BT.656 NTSC stream which gives 60 fields per second, so each field occupies 1/60 second. If the clock rate is 600M (nominal; the actual number is 594M), for every 100,000 cycles there is a new field coming in.
But if we change the clock rate to 700M, the if we still wait for 100,000 cycles, then this time will obviously be less then 1/60 second. If we keep this 100,000 unchanged and synchronize in this manner, then every minute we have:
700M / 100,000 = 70
Then we are expecting 70 fields, which is incorrect. In order to get the synchronization work correctly at 60 fields per second, we need to wait
700M / 60 = 116667 clock cycles (all calculation based on nominal value)
Therefore, any change in the clock rate must be accompanied by a concomitant clock cycle count change for various external devices. Is this correct? Does
- the programmer need to do it manually
- or an OS is required to do it
- or the hardware does it automatically? Put in more detail: once the chips detects any command (register setting: is it possible?) for changing the internal PLL multiplication factor, it will also automatically reset timers(clock cycle counters) related to VPFE / VPBE, audio peripheral and so on?
This is not restricted to the DSP realm. Game players does overclocking frequently, but what they usually do is only to adjust either the fundamental clock rate or the multiplier factor. However, after the adjustment they can still get a connected audio audio or video device (either input or output) working properly and there is no "speeding up" phenomenon. Because of this observation which means that the synchronization is still working properly, we can infer from this that either the hardware itself or the operating system (Windows, etc.) has already done the clock cycle count adjustment work automatically without requiring the user to do set manually (which is also impractical for ordinary users).
Is this correct?
Sincerely,
Zheng