|
[quote] If you look in tghe TRM and the Register TRM there is a register named DAC[0..3]_TR, but no info on the relationship of value to the amount it will change a DAC value.
On a broader point, using the sign bit of the IDAC as an extra bit has some serious limitations.
First and foremost, given the trim values themselves are 8 bit, guarenteeing the DAC stays
monotonic over a 512 step range is impossible. Generally speaking thats pretty important in
waveform generation.[/quote]
How is this specifically an issue for using the sign bit, but not for regular DAC operation?
The annoying thing about operating the DAC in only source or sink mode is that you need a reference voltage at one end of the range. If, like me, you're also using a virtual ground, you need two reference voltages in a 2:1 ratio, instead of just the one.
[quote]One way of doing this would be to feed 0 - 512 to the DAC in production test, and measure
with a precision DVM the voltage, and store a table of corrections. Alternatively do a power
equation curve fit to the data, and use coefficients calculated real time to correct value written
to Vdac for a given requested DAC output. This of course should be over temperature.[/quote]
I'd already planned to do offset and gain calibration at runtime. What's not clear to me is how that interacts with the DAC calibration register(s).
[quote]The IDAC can be DMAed just like the VDAC, no issue there. IDAC has an advantge, its
settling time ~ 1/10 the VDAC, so higher F generation possible. But once you buffer the
IDAC then settling time slows down. Unless using a fast external OA.[/quote]
That was the plan. I'm using one of the dedicated opamps as a transimpedance amplifier to do the buffering. DMAing the DAC is easy, but what I was asking about was DMAing the data register, the sign bit, and the calibration registers, which would be a lot more complicated.
|