Daisy Chain SPI ADC

#7769407
Lesenswert?

Hi,

Ich möchte gerne mehrere MCP3208-CI_SL über 1 SPI Bus in Daisy-Chain auslesen, bin mir aber nicht sicher ob das geht. Plan B wäre ein Shift Register auf CS, aber mit Daisy Chain würde ich nochmals massiv Traces sparen bei großer Anzahl Chips.

Jemand eine Idee, ob Daisy Chain des SPI mit dem MCP3208-CI_SL klappt? Wie es ausschaut, geht nur DIN in ein Shift Register und dann nach DOUT, wenn ich aber die CLK an allen ICs gleichzeitig anlege, lesen die Müll ein bis DOUT des letzten ICs mit den richtigen Start Infos kommt.

Datenblatt: https://ww1.microchip.com/downloads/aemDocuments/documents/APID/ProductDocuments/DataSheets/21298e.pdf

Grüße, Bert

Angehängte Dateien:
#7769453
Lesenswert?

Gib jeden SPI slave seinen eigenen CS. Alle andere signalen von SPI bus koennen parallel. Wieviel ADCs brauchst du ? Dann hat man auch die moeglichkeit zB alle ADCs gleich zu starten und nachdem individuel aus zu lesen.

Daisy Chaining ist hier nicht fuer geeignet; das wird z.B benutzt fuer individuelle LEDs die mit eine (art von) SPI angesteuert werden.

Oft kann man DIN und DOUT noch parallel schalten. Es sieht so aus das diesen Chip das auch kann.

Patrick aus die Niederlande

#7769469
Lesenswert?

Lothar M. schrieb:

Wo meinst du das zu erkennen? Ich lese das Protokoll so, dass DIN nie nach DOUT geschoben wird. Also wird in einer Chain das eingetaktete Konfigurationswort nicht an den nachfolgenden ADC weitergegeben.

Danke, habe gerade gesehen, dass dem nicht so ist. Also bleibt nichts anderes als individuelle CS. Im Endeffekt brauche ich 20 x 8 ADCs, also 20 solcher Chips. Dann halt mit einem Shift Register.

#7769598
Lesenswert?

Bert S. schrieb:

Im Endeffekt brauche ich 20 x 8 ADCs, also 20 solcher Chips.

Dann wuerde ich mich nicht so sehr sorgen machen ueber extra control lines aber mehr ueber power distribution, groesse der Platine in kombination mit connector-inputs fuer die analoge signalen, geschwindigkeit/sample rate usw... Erzahl mal etwas ueber die gesammt applikation bitte

#7769735
Lesenswert?

Bert S. schrieb:

Im Endeffekt brauche ich 20 x 8 ADCs, also 20 solcher Chips.

Mit 20 von den Chips hast du genau 20 ADCs, weil jeder von denen nur genau einen ADC enthält (Datenblatt S.1). Jeder Chip kann dann wiederum zwischen 8 Analogeingängen per Multiplexer auswählen (falls du sie auf single endet konfigurierst, sonst nur 4). Daisy Chain geht mit denen definitiv nicht (Kap. 3.5/3.6 DS). Manche DACs können das, falls sie über den SPI nur die Daten für die Ausgabe erhalten. Da ist dann aber keine Multiplexersteuerung erforderlich.

#7770003
Lesenswert?

Ohne jetzt das Datenblatt verglichen zu haben:

Wir verwenden 20 Stück der AD7766BRUZ hintereinander in DaisyChain-Konfiguration. Das funktioniert zuverlässig und sehr solide. Benötigt allerdings einen µC der auch ein entsprechendes Peripheral zum Auslesen der vielen Bits hintereinander hat. In unserem Fall ein DSP der TMS320 Familie. Der hat ein Multichannel-Peripheral das sowas in Kombination mit dem DMA unterstützt. Andere µC haben heutzutage oftmals "CustomLogic"-Peripherals, eine Art µFPGA, mit dem sich sowas evtl. realisieren lässt.

#7770460
Lesenswert?

Du kannst das CS Signal und das Din Signal mit einem Schieberegister verzögern und zum nächsten MCP führen, das CMOS 4517 IC hat zum Beispiel 2 Schieberegister mit 64 Stufen integriert. Da es Abgriffe bei 16, 32, 48 und 64 Stufen gibt, kannst du mit einem 4517 gleich 2 ADCs "daisychainen".

Benötigt zwar ein zusätzliches (halbes) IC, aber spart viele Leitungen, wenn das ganze dezentral mit mehreren Modulen verwirklicht werden soll. Anbieten würden sich Module mit 2 MCPs auf einer Platine. (Siehe angehängtes Schema)

Die einzelnen ADCs lassen sich nacheinander nach jeweils 32 Clocks Verzögerung abfragen, und antworten alle auf der einen MISO Leitung. Du musst halt zuerst CH0 von allen ADCs abfragen, dann CH1 von allen usw.

Andi

Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren