Hallo, ich möchte gerne einen ADG1438 nutzen. Dahinter sollte ein PGA via SPI angesteuert werden. blöderweise hat der ADG den "read" bei der fallenden Flanke: http://www.analog.com/static/imported-files/data_sheets/ADG1438_1439.pdf wenn ich mir jetzt die PGAs ansehe, wie den MCP6S91, lesen diese ja bei der steigenden Flanke: http://ww1.microchip.com/downloads/en/DeviceDoc/21908a.pdf somit kann ich diese zwei Bausteine wohl nicht kaskadieren, oder? Das einzige was ich mir überlegt habe ist, dass ich einfach ein "sinnloses" Bit raustakte, dann müsste ich dennoch trotzdem 16 Bit in den MCP6S91 kriegen, das eine Bit geht verloren. Geht das? Alternativ: Gibt es PGAs (1-2 Kanäle, rail2rail in/out, SPI, 5V Single supply, sonst nichts weltbewegend genaues o.ä.), welche genauso lesen wie der ADG? Diesen brauche ich leider zwingend, hier gibt es keine Alternativen (maximalspannung, etc) Bin gespannt! Viele Grüße
Ich dachte jetzt fast schon an einen Inverter im Clock Zwei nach den ADGs...?
PIC-Besitzer schrieb im Beitrag #3719525: > somit kann ich diese zwei Bausteine wohl nicht kaskadieren, oder? Wozu? Die können doch unabhängig voneinander angesprochen werden. Georg
mein Controller hat nur einen SPI Bus? ich kaskadiere die ADGs und an letzter Stelle kommt der PGA. Oder meinst du ich sollte mit zwei SYNC Leitungen arbeiten?
PIC-Besitzer schrieb im Beitrag #3722038: > Oder meinst du ich sollte mit zwei SYNC Leitungen arbeiten? Ja, d.h. sternförmig. Die Chips benutzen nicht das gleiche Protokoll, aber ohne aktives CS ist ihnen egal was passiert. Du musst wahrscheinlich jeweils deine SPI-Schnittstelle anpassen, wenn du das Interface nicht gleich zu Fuss betreibst. Georg
"Du musst wahrscheinlich jeweils deine SPI-Schnittstelle anpassen, wenn du das Interface nicht gleich zu Fuss betreibst." was meinst du damit? ich hätte jetzt zwei Pins für den Sync geopfert, DataIn/Clock jeweils beiden gleich gegeben. Fragt sich nur wo ich einen Pin herkriege :-) Mein Controller ist voll belegt... Ein kleiner Miniinverter im Clock-Zweig ala: http://www.mouser.com/ds/2/302/74LVC1G14-188382.pdf funktioniert nicht? Wohl schon, oder? Dann könnte ich mir den Pin sparen und 0,8 x 0,8 mm habe ich gerade noch so frei ;);) Grüße!
PIC-Besitzer schrieb im Beitrag #3722276: > wenn du das > Interface nicht gleich zu Fuss betreibst." > > was meinst du damit? Ich dachte, du verwendest eine fest eingebaute SPI-Schnittstelle. Wenn nicht, geht es auch so (eben zu Fuss): 1. Datenausgang umschalten 2. Tsetup warten (wenn nötig, sind nur ns) 3. SClk lo setzen 4. Tsclklo warten 4. SClk hi setzen usw. dann setzt du die Daten und erzeugst anschliessend einen Lo impuls auf SClk, der eine Chip übernimmt die Daten bei der fallenden, der andere bei der steigenden Flanke. Tdo musst du auch noch beachten, je nachdem welcher Chip zuerst kommt. Georg
okay, jetzt haben wir aneinander vorbeigeredet. Ich verwende die in meinem PIC18 verbaute SPI Schnittstelle! Aber der Weg ist ja ähnlich... einmal den einen Sync low ziehen und takten, dann den anderen... mal sehen. Der Inverter funktioniert nicht? Grüße!
Hallo, ich sehe da relativ dunkelgrau: im Daisy-Chain-Modus braucht der MCP an 2. Stelle 16 Nullen, die gibt der ADG aber nicht aus. Und wenn nicht genau 16 Clks auf einen Befehl kommen, verwirft der MCP den Befehl. Vielleicht gibt es ja eine trickreiche Möglichkeit, das mit einem gemeinsamen /CS hinzubekommen, aber ich sehe sie nicht. Das Chaining beim MCP funktioniert nur deshalb, weil er die ersten 16 Nullen als NOP betrachtet. Die ersten 8 Bit an SDO des ADG sind aber "undefined". Vermutlich funktioniert das Daisy Chaining nur von einem MCP zum nächsten. Georg
Wohl kaum. Die einfachste Lösung wäre für beide Chips getrennte CS Leitungen. Dann kannst du auch die Clockpolarität beliebig anpassen.
PIC-Besitzer schrieb im Beitrag #3722276: > Fragt sich nur wo ich einen Pin herkriege :-) Mein Controller ist voll > belegt... Dann muss man vielleicht einmal ganzheitlich über die Schaltung nachdenken.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.