Content originally posted in LPCWare by IanB on Sun Mar 27 09:04:51 MST 2016 In those few moments whilst the microprocessor is configuring its outputs, it the program has crashed, whilst programming and debugging, the DAC output isn't a DAC output, it's just a standard I/O; and that means it has a pull-up resistor.
There's a bit of a snag with this arrangement, that the analogue circuitry attached to the DAC output doesn't know this, and it thinks the DAC is set to full output.
Anyone know a good workaround? All I can think of doing is using 0V to mean "full output" and 3.3V to mean "off", but that's not so convenient for the analogue circuitry.
Content originally posted in LPCWare by IanB on Tue Mar 29 04:14:47 MST 2016 Thanks.
The DAC output specs are a bit confusing (perhaps the NXP folks could clarify?)
The output impedance is specified as 300Ω, which means that any load <1.2MΩ would cause an error greater than 1 LSB; but the load resistance is specified at 10kΩ, which, in theory, would introduce a 3% error.
The worst-case pull-up current is 85µA, so even into the specified 10kΩ load, would still leave an output voltage of 0.85V; or if more I wanted less error when the DAC is running.
Analogue circuitry with an enable input (especially just transistors and op-amps) isn't that easy to arrange, but looks like the only option. Of course, it would have to be a negative enable, otherwise the same problem with the pull-up appears!