I'm evaluating the LTC6903/6904 parts for a timing project and they are not responding as the datasheet claims they will. As a very simple example, I set OCT and DAC to 0 and activate CLK and ~CLK~ by setting CNF to 0b00. That is, I am writing 0 to all registers of the part. This should give me a frequency output of 1039 Hz, as claimed by the datasheet and verified by the equations on page 8.
However, the result is a 1064 Hz output. This is true with both the 6903 and 6904 parts. The errors are showing up no matter what frequency I request, there is always some error. For example, writing OCT=0 and DAC=48 (0b0000110000) should give me 1064 Hz. Instead, I get 1092 Hz. Requesting 1177 Hz gets me 1202 Hz. Requesting 2354 gets me 2407.
This seems to be a consistent factor of about 2.2%, which is well above the datasheet's claimed 1.1%.
I can provide oscilloscope and logic analyzer outputs if requested to verify I am writing the registers correctly.
If this part cannot accurately give me the requested frequencies at 1 Hz resolution in the 1-2 kHz range, can you recommend a part that will?
There can be several possible things at work here. For now, let's assume that all of the digital communication is correct.
One possibility is capacitive loading on the output. The output driver is reasonably strong, but if the output is driving some capacitive (or low resistive) loading this can result in ripple on the internal supply and give a larger than expected frequency error. When you look at the output are you using a Hi-Z scope probe or are you connecting the signal to the scope with wires or a piece of coaxial cable? Using long wires or a coax cable could be capacitively loading the output and giving an error.
Another possibility is supply ripple. Is the power supply relatively clean? Also, for reference what nominal supply voltage are you using?
Last, how are you measuring the frequency? Are you using a frequency counter? Oscilloscopes are often very inaccurate. Some scopes have internal counters while others rely on the digitized signal and are error prone.
Your application should be very achievable with these parts. Many customers have used them in this way. You need 1Hz resolution, which is just about the limit with these parts, but I assume that 1.1% accuracy is sufficient, true?
Another alternative would be to use a DDS chip or use the LTC6900 applications circuit on page 19 of the revD datasheet. This apps circuit is bulkier but will give even better resolution depending on the DAC chosen.
Thanks for the suggestions! I've tried capacitive and resistive loading and every time the frequency output is the same, and still incorrect. I have tested the output frequency using an oscilloscope and logic analyzer, and a combination thereof. When using a scope, I'm using Hi-Z probes (1M input impedance), and the logic analyzer is on the order of 1G input impedance. It's currently driving a 20k resistive load and the errors remain.
The supply is a clean 5.0V from a linear regulator with sufficient bypass caps.
I'm not opposed to a bulkier circuit, but I need precise control since this circuit is meant to drive a laser for spectroscopy purposes.