Digital to Analog Conversion

Microchip PIC specific D2A

Ubicom SX specific D2A

Analog to Digital Conversion

See:

George from Romania says:

{Ed: Although they are more often used in A2D converters, Sigma-Delta or } Delta-Sigma is much better then PWM, in both the duty cycle accuracy and the number of instructions.
for (n = NO_CH - 1; n >= 0; --n) {	// For each Delta-Sigma modulator
	outBits <<= 1;			// Shift previously calculated bits
// Sigma delta modulation algorithm using "synthetic division"
	sum[n] += req[n];		// Update integrator value
	if (sum[n] < max[n])		// Until overflow
		outBits++;		//   LSB = 1
	else				// Default is LSB = 0
		sum[n] -= max[n];	//   Adjust integrator
		}
	}

https://hackaday.io/project/6356-delta-sigma-versus-pwm
https://github.com/RoGeorge/Delta-Sigma_versus_PWM/blob/master/main.c

Don Hyde says:

An R-2R ladder can be used to turn a group of [digital] output pins into a DAC for a few cents. Below is a 3-bit DAC. Using 3 [digital] output pins (beware of the odball open drain pins, they're no good for this), this circuit will provide 0 - Vcc*(7/8) volts out, with a 2R source impedence.

It can be extended to more bits by replicating the MSB R-2R end of the ladder.

Up to 4 bits can be achieved with 5% resistors.

Up to 6 bits can be achieved with 1% resistors.

...

In many applications, it would be advisable to buffer the output with an op-amp.

A circuit like this can achieve waaay higher output frequencies than PWM, and can be easier to filter, at the expense of using up a bunch of pins.

OUT o--+-/\/\/\/\----o MSB
       |    2R
       \
       /
       \ R
       /
       |
       +-/\/\/\/\----o Middle bit
       |    2R
       \
       / R
       \
       /
       +-/\/\/\/\----o LSB
       |    2R
       \
       /
       \ 2R
       /
       |
      ---
      ///

PICList Thread '[EE]: high res DA challenge'

Also:

See also:

Interested: