Hallo Leute, ich würde gerne Muxer einsetzten, da ich deutlich mehr DC-Spannungen messen muss als mein Mikrocontroller ADC Eingänge hat, und ein Muxer deutlich günstiger wäre als ein externer ADC - und deutlich einfacher in der Ansteuerung. Allerdings habe ich noch ein paar generelle Fragen, die ich durch das lesen von Datenblättern mir nicht komplett erklären konnte. Ein paar Infos vorab: Die DC-Signale, die ich auf den Muxer legen will liegen im Bereich von 0 bis etwa 2,5V. Der Muxer soll mit 3,3V versorgt werden (da ich auf der angedachten Schaltung keine negative Versorgung habe und diese den Aufwand deutlich verkomplitizieren würde). Ich dachte darum an einen 8:1 74LV4051 (NXP), da seine Input Voltage von 0V bis zu Vcc reicht (also bei mir 3,3V) und das genau mein Arbeitsbereich ist. Dahinter sitzt ein 12Bit ADC meines Mikrocontrollers, der gegen die VCC mit 3,3V referenziert. Ich weiß, Vcc als Referenz ist nicht schön, aber die Tendenz der Spannung (steigt/fällt) ist wichtiger als der absolute Wert. Der komplette Muxer sollte ungefähr in 10ms durchgefahren werden, also für jeden Kanal stünden etwa 1,25ms zur Verfügung. Hierzu steht im DaBla des Chips, das er max 63ns zum "Enablen", "nE zu Yn" 66ns und "Sn zu Yn" 54ns benötigt - ich würde ihm größzügige 100ns je Schritt einräumen wollen ;). 1. Frage: Ist meine Zeitvorgabe ungefähr richtig? Wenn ich im Zeitfenster gut 300ns für Enable/Disbale plus An.- und Abwahl gewähre, habe ich noch gute 1,2497ms zum ADC-Sampeln. 2. Frage: Sollte ich ggf. die ersten Sampels des ADC verwerfen? Und wie viele Sampels würdet ihr da anstreben? Ich kann ja anschließend noch einen Diff über x Sampels machen. 3. Wann wählt man Kanäle? Im Datenblatt finde ich leider kein richtiges Timing Diagram für die Digitalen Signale, nur den Hinweis auf "Typical ‘break before make’ built in". Muss ich die Kanalwahl im Disable Modus machen, also so: Chip Disablen -> neuen Kanal wählen -> Chip Enablen? (Und jedem Schritt mindestens 100ns Zeit einräumen - hab das noch gar nicht überflogen, ob der Mikrokontroller überhaupt schneller kann als 100ns Zykluszeit und ich mir hier vielleicht zu viele sorgen mach), oder ist das dem Chip durch die Break-before-make wirklich egal? 4. Frage: Um die Signale etwas zu befiltern würde ich gerne RC-Filter benutzen. Sollte jeder Muxer-Eingang einen Filter haben, oder würde es reichen einen Filter am Ausgang des Muxers vorzusehen? 5. Frage: Wie niederimpedant müssen die Quellen (also meine Spannungsmessungen) vor dem Muxer sein? Aktuell benutze ich Spannungsteiler (Gesamtwiderstand um die 100k), um von Spannungen (24V/12V/5V/...) auf max 2,5V runterzuteile und diese auf den Muxer gebe, oder sollte ich diese noch durch einen Impedanzwandler jagen (der ADC hat überigens max. 50kOhm Impedanz laut DaBla)? Alternativ kann ich die Spannungsteiler auch niederohmiger machen. 6. Ich habe ganz viel negatives hier im Forum über Crosstalk gelesen, wenn gleich es hauptsächlich um die Urväter CD/HEF4051 ging und diese auch mit deutlich höherer Spannungen (10-15V) bzw. sogar bipolarer Versorgung (+/-5 bis 12V) gespeist wurden. Kann ich dem im Vorfeld irgendwie konstruktiv entgegenwirken? Entschuldigt meine vielleicht unbeholfenen Fragen, aber ich habe bislang noch nicht mit Muxern gearbeitet - würde dies aber gerne :)
Newby schrieb: > Sollte ich ggf. die ersten Sampels des ADC verwerfen? Wozu dann den ADC überhaupt laufen lassen? Du kannst genauso gut die Pause vorher verlängern. > Wann wählt man Kanäle? "Break before make" heißt, dass "disable" garantiert schneller als "enable" ist, dass du also einfach die neue Adresse auf die Sx-Pins legen kannst. > Ist meine Zeitvorgabe ungefähr richtig? Der Mux selbst braucht nur 63 ns. Du solltest ausrechnen, wie lange dein RC-Filter benötigt, bis er die neue Spannung erreicht hat. Länger warten brauchst du nicht. > Wie niederimpedant müssen die Quellen (also meine Spannungsmessungen) vor > dem Muxer sein? Möglichst niedrig; siehe ADC-Datenblatt. Aber du kannst auch direkt am ADC-Eingang einen Kondensator platzieren. > Sollte jeder Muxer-Eingang einen Filter haben, oder würde es reichen > einen Filter am Ausgang des Muxers vorzusehen? Der Mux selbst hat ca. 80 Ω, und mit einem C am ADC-Eingang hast du eh' schon einen Filter. Dir ist anscheinend Geschwindigkeit wichtiger als absolute Genauigkeit. > Crosstalk Ist bei DC-Signalen kein Problem.
Newby schrieb: > ich würde gerne Muxer einsetzten, da ich deutlich mehr DC-Spannungen > messen muss als mein Mikrocontroller ADC Eingänge hat Nur für's Protokoll: Du hast wahrscheinlich nur einen ADC, dessen Eingang überhaupt nicht auf einen Pin heraus geführt ist. Im Mikrocontroller sitzt meist schon ein "Muxer" vor den du dann einen weiteren "Muxer" hängst. Wie das bei deinem ist, kannst nur du wissen. Beim Umschalten müssen dort Kapazitäten umgeladen werden, was bei zu hoher Ausgangsimpedanz deines "Muxers" und zu kurzer Umschaltzeit zu Kanalübersprechen führt. Simuliere deinen ganzen Signalweg, damit du siehst, wo es eng ist.
Newby schrieb: > ich würde gerne Muxer einsetzten, da ich deutlich mehr DC-Spannungen > messen muss als mein Mikrocontroller ADC Eingänge hat, und ein Muxer > deutlich günstiger wäre als ein externer ADC - und deutlich einfacher in > der Ansteuerung. Kommt drauf an. Es gibt auch externe ADC mit vielen Eingängen, die per I2C oder SPI angesteuert werden, was auch nicht wirklich schwierig ist. > referenziert. Ich weiß, Vcc als Referenz ist nicht schön, aber die Ist nicht soo wild, es gibt auch relativ genaue und stabile 3,3V Regler. > Tendenz der Spannung (steigt/fällt) ist wichtiger als der absolute Wert. > Der komplette Muxer sollte ungefähr in 10ms durchgefahren werden, also > für jeden Kanal stünden etwa 1,25ms zur Verfügung. Eine Ewigkeit. > 1. Frage: Ist meine Zeitvorgabe ungefähr richtig? Ja. > Wenn ich im > Zeitfenster gut 300ns für Enable/Disbale plus An.- und Abwahl gewähre, > habe ich noch gute 1,2497ms zum ADC-Sampeln. Die brauchst du im Leben nicht, eher Faktor 100 weniger. > 2. Frage: Sollte ich ggf. die ersten Sampels des ADC verwerfen? Nein. Warum auch? > Und wie > viele Sampels würdet ihr da anstreben? Im Normalfall reicht 1, wenn man keine extrem verrauschten Signale hat. > Ich kann ja anschließend noch > einen Diff über x Sampels machen. > 3. Wann wählt man Kanäle? Im Datenblatt finde ich leider kein richtiges > Timing Diagram für die Digitalen Signale, nur den Hinweis auf "Typical > ‘break before make’ built in". Muss ich die Kanalwahl im Disable Modus > machen, also so: Chip Disablen -> neuen Kanal wählen -> Chip Enablen? Nein, das macht der IC allein. Einfach die Kanalnummer anlegen und gut. > (Und jedem Schritt mindestens 100ns Zeit einräumen - hab das noch gar > nicht überflogen, ob der Mikrokontroller überhaupt schneller kann als > 100ns Zykluszeit und ich mir hier vielleicht zu viele sorgen mach), Das tust du. > oder > ist das dem Chip durch die Break-before-make wirklich egal? JA! > 4. Frage: Um die Signale etwas zu befiltern würde ich gerne RC-Filter > benutzen. Sollte jeder Muxer-Eingang einen Filter haben, Ja. oder würde es > reichen einen Filter am Ausgang des Muxers vorzusehen? Geht auch, aber dann muss dein Filter nach jedem Umschalten den neuen Wert annehmen (Sprungantwort). Wenn deine Filter eher wenig Bandbreite haben, kann das (zu) lange dauern. > 5. Frage: Wie niederimpedant müssen die Quellen (also meine > Spannungsmessungen) vor dem Muxer sein? Aktuell benutze ich > Spannungsteiler (Gesamtwiderstand um die 100k), um von Spannungen > (24V/12V/5V/...) auf max 2,5V runterzuteile D.h. du hast ca. 24/2,5 10:1 Teilerverhältnis, d.h. dein unterer Widerstand ist ca. 10k. Der statische Ausgangswiderstand eines Spannungsteilers ist die PARALLELschaltung der Widerstände, hier ~10k. > und diese auf den Muxer > gebe, oder sollte ich diese noch durch einen Impedanzwandler jagen Muss man nicht. Es reicht ein kleiner Kondensator von 10-100nF, der speichert genügend Ladung für die Messung durch den ADC. Deine Abtastrate ist gering, dafür reicht es. > 6. Ich habe ganz viel negatives hier im Forum über Crosstalk gelesen, > wenn gleich es hauptsächlich um die Urväter CD/HEF4051 ging und diese > auch mit deutlich höherer Spannungen (10-15V) bzw. sogar bipolarer > Versorgung (+/-5 bis 12V) gespeist wurden. Kann ich dem im Vorfeld > irgendwie konstruktiv entgegenwirken? Nicht zu wilden Steckbrettaufbau nutzen sondern besser Lochraster oder noch besser gleich eine geätzte Platine mit gescheiter Signalführung. Im Idealfall mit Massefläche, wenn gleich man das auch ohne hinbekommt. Entkoppelkondendsatoren nicht vergessen.
Newby schrieb: > Entschuldigt meine vielleicht unbeholfenen Fragen, aber ich habe bislang > noch nicht mit Muxern gearbeitet - würde dies aber gerne :) Du solltest Dich mal im GANZEN im Bereicht TTL, bzw cmos-Logic beschäfftigen. Dann wird klar, wann ich welchen Baustein einsetze. Es stellt sichschon mal die Frage, wie genau das hinten sein muss, was am 'Muxer' hinten rauskommt.
Firlefanz schrieb: > Du solltest Dich mal im GANZEN im Bereicht TTL, bzw cmos-Logic > beschäfftigen. Dann wird klar, wann ich welchen Baustein einsetze. Was für ein erbärmliches GESCHWÄTZ!
Falk B. schrieb: > Was für ein erbärmliches GESCHWÄTZ! Ja, von Dir. Erzähl mal, wie er sonst in Logic anfangen soll.
Mir stößt die Sprache unangenehm auf. Das Bauteil ist ein Analog-Multiplexer. Umgangssprachlich geht vielleicht auch noch MUX, aber das bezeichnet dann eher einen Mutiplexer für Digitalsignale. Den gab es nämlich schon etliche Jahre eher als seinen analogen Kollegen. Aber Muxer geht gar nicht.
Firlefanz schrieb: > Es stellt sich schon mal die Frage, wie genau das hinten sein muss, was > am 'Muxer' hinten rauskommt. Das hab ich auch so interpretiert. Nur kommt es darauf an, was hinten erwünscht ist, und dann kann man das mit 40er Analog-Muxer tun, oder man greift nach LTC...., wenn das Analgo noch zu verwenden sein soll. Und dann spielt bei den 40er noch eine Rolle, ob mit 12V oder mit 5V. Mit 5 Volt wirds dann wieder hackelig.
Axel S. schrieb: > Aber Muxer geht gar nicht. Warum nicht? Wenn er kaputt geht, gibt er keinen MUX mehr von sich ;-)
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.