beginner question about dac's

I've bought a serial controlled dac to use with arduino. I'm a little confused on what I'm supposed to be sending to the serial clock pin and the CS/LD pin. I read the data sheet, but I'm not sure what these pins require or how they function exactly.

Actually, from what I can tell the CS/LD switches between the clock and the digital in depending on whether it's high or low.

I can't post the link to the chip but its the LTC 1446

My goal with the dac is to generate an analog signal that will be between 0v and 5v depending on the input from a potentiometer. At first I thought I would be sending a simple high or low digital signal to the dac, but it's more that that apparently. If anyone could point me towards a link to learn about this or offer a quick explanation, it would be appreciated. Mainly I'm trying to figure out how the clock, CS/LD and digital in pins are working together. Thank you.

From the serial interface section in the datasheet its clear that when CS/LD is low you can clock data into the chip - just like a shift register - in fact you can daisy-chain several this way. You pulse LD high to copy the shift register into the DACs themselves - looks fairly straightforward.

Set CS/LD low, clock in 24 bits to the shift register, pulse CS/LD high and the DAC outputs should respond. There's also a timing diagram to show clock polarity etc.

I'm still confused. Maybe I should specify what I'm using it for. I'm building a sequencer to drive analog synthesizers with voltages.

The term "clocking data into the chip" is something that I'm having trouble understanding. Would it work like this?:

  1. Clock source is high, CS/LD is low and digital in is low

  2. Digital in goes HIGH, Clock goes low, CS/LD goes goes high to send out an analog signal

  3. everything goes back to step #1

yeah? :slight_smile:


No it's more like the shift out tutorial:-

That DAC looks very similiar to the TI TLV5618 that I use on
my NB2A board. I have a library and application example
hint at Loading...
Look for the DAC example.

(* jcl *)


You can use also the "Simple 10 bit DAC for the Arduino" see here:

Albert :slight_smile:

Basically its an SPI (also known as 3-wire) interface, should be able to drive it using the ATmega's builtin SPI hardware (I think there's a library for this).