Forum: Mikrocontroller und Digitale Elektronik mit welchen MUX?


von Gast (Gast)


Lesenswert?

Hi,
prinzipel ist mit die Funktionweise von einem MUX klar.
In meinen Fall habe ich vier ADCs mit den ich jeweils eine Steuerleitung 
und 16Datenleitungen auf eine Mikrocontroller verbindet.
Nun meine Frage. Ich habe noch zwei Steuerleitungen vom Mikrocontroller, 
somit kann ich mit einem 2:1 mux die Steuerleitungen zu den vier ADCs 
mutliplexen. Aber wie mach ich das jetzt mit den Datenleitungen. 
Insgesamt habe ich also 64Datenleitungen.
Was gibt es da für Beisteine bzw. wie kann ich dies realisieren?

Danke schonmal für hilfreiche antworten

von STK500-Besitzer (Gast)


Lesenswert?

Um welche ADCs handelt es sich denn?
Ich vermute, sie haben eine Steuerbus (so 2-3 Steuerleitungen) und eine 
Datenbus (8 Bit breit).

Wenn die ADC für einen gemeinsamen Datenbus ausgelegt sind, geben sie 
die Daten nur aus, wenn sie adressiert wurden (Chip-Select-, 
Chip-Enable- oder vielleicht Output-Enable genannt). Sonst sind ihre 
Ausgänge hochohmig geschaltet und stören nicht weiter auf dem Bus.
Dann kann man sämtliche ADC mit ihrem Datenbus parallel schalten.

Wenn das nicht geht, müßte man jedem ADC eine BUS-Treiber verpassen, der 
diese Funktion zur Verfügung stellt.

von Gast (Gast)


Lesenswert?

Es handelt sich um den AD7663 von Analog. Richtig, der hat drei 
Steuerleitungen, aber einen 16bit breiten Datenbus. Einen Chip Select 
hat der ADC natürlich auch und laut Datenblatt sind sie hochohmig wenn 
das CS nicht gesetzt ist. Dann passt wohl dein Vorschlag die Datenbusse 
parallel zu schalten.
Wusste nicht das das "so einfach" ist, da ich sowas noch nie benötigt 
hatte und mit deshalb auch keine gedanken gemacht.
Somit habe ich aber andere Probleme. Der Mikrocontroller hat nur drei 
Steuerleitungen, wovon ich doch schon zwei für den MUX benötige. Und 
natürlich noch welche für die Konvertierung, Chip Select und Read. Somit 
würde ich doch fünf Steuerleitungen am Mikrocontroller benötigen oder 
geht das auch anders?

von STK500-Besitzer (Gast)


Lesenswert?

man sollte auch den Thread komplett lesen...(16Bit...)

Es gibt Adressdecoder-Bausteine. Sowas könnte vielleicht etwas werden, 
wobei ich imer noch nicht verstehe, wofür du den Multiplexer überhaupt 
brauchst.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Einen Multiplexer benötigst Du nicht. Alle Leitungen zwischen den ADCs 
und dem Controller können parallelgeschaltet werden - mit Ausnahme der 
/CS-Signale und der BUSY-Leitung (sofern Du die überhaupt auswertest).

Weniger Schaltungsaufwand hättest Du, würdest Du die vom ADC auch 
unterstützte SPI-Schnittstelle nutzen, die aber überträgt 16-Bit-Worte 
und ist daher nicht mit jedem Controller zu nutzen.

Aber auch beim Parallelinterface kannst Du auf die Hälfte der 
Datenleitungen verzichten, wenn Du die Byteswap-Leitung verwendest - 
dann musst Du nur einen 8-Bit-Datenbus anschließen und wählst mit 
Byteswap aus, welche Hälfte des ADC-Wertes an den Datenbus ausgegeben 
wird - im Datenblatt auf Seite 17 ist das Verfahren beschrieben. Auch 
diese Byteswap-Leitung kann mit allen ADCs gleichzeitig verbunden 
werden.

Du benötigst so also in Summe 4 /CS-Leitungen, eine Byteswap-Leitung, 
eine /RD--Leitung sowie 8 Datenleitungen, also insgesamt 14 Leitungen. 
Und vier Busy-Leitungen, aber nur, wenn Du dieses Signal auswertest. 
Wenn Du einen 74xx138 verwendest, kannst Du die Anzahl der 
angeschlossenen ADCs verdoppeln, ohne eine einzige weitere Signalleitung 
zu benötigen - statt der vier /CS-Leitungen gibt es dann nur noch eine 
und dafür drei Adressleitungen. Die werden an /G des '138 und dessen 
anderen Eingänge angeschlossen, die acht Ausgänge werden mit je einem 
/CS-Signal eines ADC verbunden.

Viel Erfolg.

von Gast (Gast)


Lesenswert?

Ganz kann ich deine Antwort leider nicht nachvollziehen.
Mein Controller hat drei Steuerleitungen und zwei RDY Leitungen.
Warum benötige ich angeblich nur eine RD Leitung? Auch parallel 
Schalten?? Das CS Signal muss ich doch trotzdem Multiplexen, weil ich 
nur noch zwei Steuerleitungen übrig habe.
Wie ich das BUSY Signal auswerten kann weis ich auch nicht, weil ich 
dafür ja nur zwei Leitungen frei habe und vier bräuchte.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

RD != RDY.

Wie wäre es, wenn Du einen Schaltplan postest, der Deine Vorstellungen 
wiedergibt? Welchen Controller verwendest Du überhaupt?

von Gast (Gast)


Lesenswert?

Ich verwende den den USB-Controller EZ-USB FX2LP von Cypress mit einen 
integrierten 8051.
RD ist eine Steuerleitung und RDY(Ready-Leitung).
Sowit ich das Datenblatt vom ADC richtig verstehe, wäre es möglich die 
CNVST und CS Leitung auf GND zu legen. Somit kann ich mit einem 4:1 MUX 
die RD Leitung zwischen den verschiedenen ADCs umschalten, was im 
Pinrzip reichen würde. Für die BUSY Leitungen würde ich einen 1:4 DEMUX 
verwenden. Kann das so funktionieren?
Schaltplan kann ich leider nicht posten, da dieser noch nicht erstellt 
ist ;-(

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
Noch kein Account? Hier anmelden.