I have trouble initializing the Auto-I/O-Update-Feature of the AD9910 on an eval board. My hardware can not control the external I/O-Update-Pin, which is left floating since it will be configured as an output in auto-i/o-update-mode. What i do is the following:
- issue a Master Reset and wait for 100ms
- load CFR3 with settings that results in SysClk=1GHz from ext. RefClk=10Mhz
- load I/O-Update-Register with a value that results in a 10µs update interval @ SysClk=1GHz
- load CFR2 with default settings + "Auto-I/O-Update Bit 23 =high"
- load all Profiles with different FTWs
How the device responds depends on the status of the Profile-Pins:
P0-P2 = 000b: Nothing happens.
No I/O-Update pulses on the I/O-update-pin, PLL_LOCK stays low and consequently no output signal is visible. Depending on the ext. Ref-Clk Amplitude either accurate 2.5MHz slopes are visible on SYNC_CLK or a signal apparently resulting from a lot of missed zero-crossings is visible (observed pulse widths are integer multiples of 1/2.5MHz).
P0-P2 != 000b: Everything works.
I/O-Update-pulses are visible with a 10µs interval, the PLL_LOCK is high and the output frequency of the selected profile is visible at the output. A 250Mhz-Signal is visible at SYNC_CLK and new values written to the Profile-Registers are immediately (10µs later) updated.
In the first case, the device can be made to work by changing the status of the profile pins to a value different from 000b or forcing I/O-Update high (touching with 3.3V-cable).