I'm using the MCP4922 as a dac with some different python programs. I am using this python package which has a setVoltage_buffered(channel, value) command. To quote the data sheet:

The input buffer amplifiers for the MCP4902/4912/4922 devices provide low offset voltage and low noise. A Configuration bit for each DAC allows the VREF input to bypass the VREF input buffer amplifiers, achieving a Buffered or Unbuffered mode. Buffered mode provides a very high input impedance, with only minor limitations on the input range and frequency response. Unbuffered ( = 0) is the default configuration. Unbuffered mode provides a wide input range (0V to VDD), with a typical input impedance of 165 \$k\Omega \$ with 7 pF.

I'm having trouble understanding what exactly the buffered mode does. Does it prevent noise from damaging the part by preventing voltage values that are inputted which are just under the range from exceeding the range due to noise? Also, the documentation for the python package is a bit unclear; what sort of value should I input? I assume it relates to how much of a buffer I want there to be, but I don't know what the range of values should be.

Thank you.

  • \$\begingroup\$ It raises the input impedance so no DC load current is applied to a high impedance sensor. So unbuffered impedance is rail to rail input while buffered voltage range is reduced and lower bandwidth. \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Jul 6 '18 at 2:00
  • \$\begingroup\$ @TonyEErocketscientist do you know what the value range here might be? The example the github module gives is dac.setVoltage_buffered(0, 2048) which is obviously much higher than 3.3 V which is the setup suggested by the same module. \$\endgroup\$ – heather Jul 6 '18 at 3:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.