Problem with multiple SPI devices

Hi all,

I have a problem with the SPI interface of an Arduino Pro Mini clone (ATMega 328):
I have two chains of TLV5630 DACs (8 DACs daisy-chained in one line, 7 in the other) that I try to program over the SPI interface.
I am using different slave select pins (9 and 10) and have connected SCK and MOSI with both chains, MISO is not connected, the devices are not sending data back.

When I only connect one of the chains, communication works without problems, so the connections must be ok. But whenever I connect both chains at the same time, the DACs are not programmed correctly but more or less randomly.

Does anyone have an explanation for this? Is it possible that the two chains are drawing too much current?

Any help is appreciated... thanks in advance,
Daniel

This one?

Inputs are spec'ed at 1uA, so 16 connected in parallel is only 16uA, and 128pF of capacitance. Easily driven by '328 outputs.

I would suspect some miswiring somewhere.
How are the parts powered? 16 parts would need 336mA under no-load conditions. If you're powered from USB, you may be hitting the 500mA limit USB will supply when you add in the rest of your system.

Another thing - do you have 0.1uF cap on pins 11 & 20 to ground on every device? That will help to keep switching noise out of the picture also.

Caps are also recommended from Aref pin to gnd for stability also.
"The internal reference can source up to 1 mA, therefore. it can be used as an external system reference.
A decoupling capacitor must be connected to the REF pin if internal reference is selected to ensure output stability.
A 1 mF to 10 mF capacitor in parallel to a 100 pF capacitor should be sufficient, see Figure 13."

...MISO is not connected, the devices are not sending data back

Forgive me if I'm jumping to a conclusion too soon...if you want the Arduino to receive data, shouldn't you connect the arduino's MISO to another board?

"jumping to a conclusion too soon"
The arduino in this case is only sending data out to Digitlal to Analog Converters, not receiving any back.

Perhaps I should have included the entire context of his phrasing...

I am using different slave select pins (9 and 10) and have connected SCK and MOSI with both chains, MISO is not connected, the devices are not sending data back.

How can the devices "send data back" without the slave-to-master connection?

the devices are not sending data back.


Rob

Oh..so the devices 'not sending data back' is intended.

Execuse me for my english.
try to use MISO cause sometimes databack from device is usefull to sinchro data
use 1 line at connection
SPI can only have 1 SS low at time, only when u have up first SS can send low the second SS not simultaneous else u have conflict to MISO

In this case zuzzuz the chip in question (TLV5630) doesn't produce any data to read, so MISO is not required.


Rob

Can I see your code for your application? I'm trying to understand how the daisy-chaining is supposed to work.
From the data-sheet:

A falling edge of FS starts shifting the data on DIN starting with the MSB to the internal register on the falling
edges of SCLK. After 16 bits have been transferred, the content of the shift register is moved to one of the DAC
holding registers, depending on the address bits within the data word. A logic 0 on the LDAC pin is required to
transfer the content of the DAC holding register to the DAC latch and to update the DAC outputs. LDAC is an
asynchronous input. It can be held low if a simultaneous update of all eight channels is not needed.
For daisy-chaining, DOUT provides the data sampled on DIN with a delay of 16 clock cycles.

I'm not sure how having one chain of 8 modules and one of 9 modules can be programmed identically (but I suppose the last module in the chain of 8 can output to 'nothing').

Your 2 chains are 'working' in parallel correct?

Perhaps you can simplify your setup: Only put 2 DACs in parallel on the spi bus, see if it works.