Hallo zusammen,
ich habe von Digitaltechnik leider noch nicht so viel Ahnung und meine
Suche (Forum und Google) war leider nicht erfolgreich.
Womit ich nicht weiterkomme: Wie verbindet man einen ADC und einen DAC
so, daß wenn man einen Taster betätigt, der ADC einliest, übergibt, der
DAC empfängt und Vout ändert?
Ich könnte mir vorstellen, daß man einen Tackt und ein schaltbares
Enable-Signal an beide und die Datenleitung vom ADC zum DAC benötigt,
aber brauche ich auch ein Flipflop, daß das Enable nur bei einer Flanke
des Takts sich ändert? Und reicht es, wenn der ADC und DAC SPI können?
Wozu brauche ich das denn? Ich möchte ab und zu mal einen analogen Wert
(Sollwert eines Stromtreibers) mit einem Computer (TTL Signal) oder
einem Poti ändern. Es wird eine effektive Auflösung von mind. 14 Bit
benötigt. Da der PC und der DAC (auch der Digitalteil) galvanisch
getrennt sein sollen, dachte ich daran, Optokoppler einzusetzen, was
sich auch gleich eignen würde die Signale zu addieren.
Vielen Dank vorab.
Martin schrieb:> Womit ich nicht weiterkomme: Wie verbindet man einen ADC und einen DAC> so, daß wenn man einen Taster betätigt, der ADC einliest, übergibt, der> DAC empfängt und Vout ändert?
Ein µC, den den Taster abfragt, dann bei Bedarf den ADC ausliest und den
Wert an den DAC ausgibt.
Wenn es nur kurzzeitig die Spannung übernehmen soll, kommt auch ein
simples Sample&Hold in Frage:
https://www.analog.com/en/parametricsearch/11071#/
Aus der Droop-rate erfährt man den Fehler, z.B. 2µV pro µs bedeutet 2V
Fehler nach einer Sekunde.
das wird nix schrieb:> Eine Auflöung von 14 bit ist bei diesen Kenntnissen illusorisch.> Peng.
Was soll das? Von analog hab ich Ahnung, nur nicht wie man einen ADC und
einen DAC ohne µC verbindet
Es hängt vom ADC/DAC ab, hier wäre eine parallele Schnittstelle
einfacher. Also ein 14Bit ADC, dann zwei 74HC573 als Zwischenspeicher
und ein 14bit DAC. Mit dem Übernahmeimpuls ändert sich die
Ausgangsspannung auf den momentanen Wert am Eingang. Alles ohne
Mikrocontroller.
>Was soll das? Von analog hab ich Ahnung, nur nicht wie man einen ADC und>einen DAC ohne µC verbindet
Dann wäre aber extrem wichtig, dass Du Dich mal informierst wie man 14
bit Genauigkeit erreicht. Eben nicht dadurch, dass 14 bit auf der
Verpackung steht.
>wenn man einen Taster betätigt>mit einem Computer (TTL Signal) oder einem Poti ändern.
Das sind ein analoges und ein digitales Signal (und der Übernahmepuls
ein digitales von einem Taster), welches hat Vorrang, können die auch
gleichzeitig auftreten? Wie sagt der Computer, ob ein Wert übernommen
werden soll?
Martin schrieb:> nur nicht wie man einen ADC und einen DAC ohne µC verbindet
Und warum unbedingt ohne µC?
Klar geht das auch irgendwie anders, aber den Aufwand willst du
wahrscheinlich auch nicht treiben.
Es sollen ja nur 14bit Auflösung sein, und nicht "Genauigkeit" ... Dann
ist es ja einfacher :-)
Im Ernst: Was soll der Blödsinn? Warum ohne Microcontroller (stand nicht
im ersten Beitrag, und ist die einzige sinnvolle Antwort)? Was für ein
Protokoll sprechen ADC und DAC (unwahrscheinlich dass die kompatibel
sind), ist es bei beiden SPI (taucht in einem späteren Beitrag auf),
einer Slave und einer Master? Und was für eine TTL Schnittstelle ist
denn das am PC? Warum nicht beide an den PC anschließen, sondern auch
noch direkt verbinden?
Entweder du bist ein Troll oder du hast nicht begriffen, dass wir weder
dein Problem kennen noch irgendwelche Randbedingungen.
In jedem Post kommen irgendwelche Infos nachgetröpfelt.
Versuche dein Problem mal möglichst komplett und mit Zahlen und den
Randbedingungen zu beschreiben und nenne konkrete Bauteile falls du
schon welche hast, ansonsten ist der Thread echt für den Arsch.
und beantworte die Frage: Warum soll kein µC zum Steuern deiner Systems
benutzt werden?
auf den µC möchte ich verzichten, es für manche Menschen (Chef)
unübersichtlicher wird, der Code ist in vielen Jahren nicht mehr
auffindbar... Ich persönlich komme mit Arduino gut klar.
Vergesst das mit dem PC und galvanisch getrennt, das ist für mich nicht
das Problem.
Anforderungen:
- ohne µC
- serielle Kommunikation
- keinen Speicher
- mind. 14 Bit Auflösung
- 1 Sample per Second ist ausreichend
- DAC 5V (Analog+Digital)
Vielleicht gibts noch was anderes, mir fällt aber nichts mehr ein.
Martin schrieb:> Anforderungen:> - ohne µC> - serielle Kommunikation
Schon das ist einfach nur Unsinn, und der Rest ist nicht besser. Und
grundsätzlich fehlt dir offensichtlich die nötige Fachkenntnis, egal ob
mit oder ohne Prozessor. Seriell erfordert einige Logik-ICs, von denen
du ja auch keine Ahnung hast.
Martin schrieb:> Von analog hab ich Ahnung
Totale Fehleinschätzung.
Georg
georg schrieb:> Schon das ist einfach nur Unsinn
Möglich, sah aber für mich (jemanden der von digitaler Kommunikation
fast überhaupt keine Ahnung hast) nicht nach der Quadratur eines Kreises
aus. Schade.
Martin schrieb:> - serielle Kommunikation
gut dass es nur eine einzige davon gibt
> - keinen Speicher
einen Latch pro bit Auflösung sollte wohl drin sein, oder?
> - mind. 14 Bit Auflösung
der Unterschied Auflösung/Genauigkeit wurde ja schon erwähnt.
> - 1 Sample per Second ist ausreichend> - DAC 5V (Analog+Digital)
Such dir ADC/DAC mit paralleler Schnitstelle:
- serielle Kommunikation passend an 1-2 Shift Register basteln ->
Parallele Daten vom PC
- 1-2 Multiplexer, Eingang ist ADC bzw. parallele Daten vom PC nach
Shift Register, Ausgang ist das Latch
- 1-2 Latches, Ausgang an den DAC, Eingang an den Multiplexer+
- Wenn ein neuer Wert übernommen werden soll, musst du das Latch
triggern. Wann und wie das passieren soll ist auch noch nicht geklärt?
Für ca. 1 mal pro Sekunde würde ein 555er reichen.
- Quelle der Daten stellst du über den Multiplexer ein, wo und wie das
Entschieden wird ist ja auch noch nicht klar? Einer muss Vorrang haben,
und das musst du z.b. durch einen Schalter vorgeben (oder einem µC die
Entscheidung überlassen).
Wenn sich die Daten (oder die Quelle) ändern während sie vom Latch
Übernommen werden, kann es zu Fehlern kommen. Ohne µC wirdst du das kaum
vernünftig gelöst bekommen, oder du musst halt die Serielle Verbindung
zum PC mit dem Latch synchronisieren.
Was soll das eigentlich für eine Anwendung werden? Vorne geht das Signal
rein und hinten soll es offensichtlich 1:1 wieder raus gehen? Warum dann
erst wandeln und quantisieren?
Die Lösung wäre doch einfach ein stink-normales Kabel. Schlägt deine 14
Bit Genauigkeit um Längen, brauchst keinen Speicher, brauchst keinen
Mikrocontroller, die "Serialität" ist per se durch die Laufzeit des
Signals durch das Kabel gegeben, halt FIFO.
Alle deine Anforderungen erfüllt.
Wenn man so gut in Analogtechnik ist, warum nimmt man das nicht zur
Problemlösung?
Ein Kondensator und ein oder zwei OpAmp reichen doch völlig dafür!? Aber
ich glaube bei dem Stichwort "Arduino" muss man schon vorsichtig sein:
das klingt nach ner Studenten-Lösung...
Poti (um prärise einstellen zu können, verwenden wir ein 10 Gang 10k
Poti und eins mit 50 Ohm fürs feine) und
Harald schrieb:> stink-normales Kabel
wird zur Zeit verwendet. Es soll aber auf digital gewechselt werden,
weil jemand gelesen hat daß es besser ist bez. Rauschen,
Temperaturstabilität und noch ein paar andere Dinge. Und zusätzlich per
Computer zu steuern keine weiteren Probleme verursacht.
In meiner Naivität nahm ich an, daß es einen ADC und einen DAC gibt,
welche mit nur Takt und Aktivierungsschalter zusammanarbeiten können.
Das scheint nicht möglich zu sein, was mir Argumente pro Arduino
liefert.
Danke allen!
Günther schrieb:> Arduino
oft ausreichend und man muß sich nicht mit µC-spezifischem Gedöhns
rumschlagen. Was auch hilft, wenn man den entsprechenden µC nicht mehr
kaufen kann, was bei uns leider schon vorkam.
Martin schrieb:> In meiner Naivität nahm ich an, daß es einen ADC und einen DAC gibt,> welche mit nur Takt und Aktivierungsschalter zusammanarbeiten können.
Grundsätzlich ist das erstmal nicht unmöglich. Nur die Preisfrage ist
doch: Woher kommt das Taktsignal und das Aktivierungssignal? Eben. (In
der Regel) vom Mikrocontroller oder einem anderweitigen Steuerwerk.
Wenn es um die galvanische Trennung einer (langsamen) Analogspannunh
geht, könnte eine Pulsdichten- oder Pulsweitwnmodulation auch infrage
kommen.
Auch wenn damit 14bit nicht trivial zu erreichen sind....
Woher kommt eigentlich die Forderung, dass es seriell sein muss? Es
wurde ja schon ein paar Mal erwähnt, dass es parallel wohl ganz einfach
zu bewerkstelligen ist. Ohne Murks/µC/Arduino.
> Poti (um prärise einstellen zu können, verwenden wir ein 10 Gang 10k
Poti und eins mit 50 Ohm fürs feine) und
Wie wäre es mit einem 4-Quadranten DAC. Damit erspart man sich den
A/D-Wandler und das Eingangsfilter. Der DAC arbeitet als digital
einstellbarer Abschwächer.
Analogsignal ---- Ref-Eingang DAC ---- Analogsignal
Google: 16bit four quadrant multiplying DAC
Google: 16bit four quadrant DAC
Beispiel:
https://www.analog.com/en/products/landing-pages/001/4-quadrant-multiplying-dacs.html
Nimm einen PSoC von Cypress!
DAC und ADC können beide DMA und Daten können auch ohne Zutun des
ARM-Cores zwischen beiden fließen, ja der ARM-Core kann sogar im
Tiefschlaf sein.
Der 16 Bit Delta-Sigma-ADC des PSoC5LP schafft echte 14 Bit Auflösung,
wenn die Referenzspannung dafür geeignet ist.
Man kann den DMA-Kanal aber auch weglassen und über einen I/O-Pin einen
Taster anschließen, diesen von einer Debounce-Komponente im FPGA
entprellen lassen und bei erkanntem Tastendruck dem DAC den neuen
Ausgabewert zuschieben.
So eine Aufgabenstellung erledigst Du mit dem Controller in 10 Minuten,
wenn Du fit bist.
Viele Grüße!
Sven
Moin,
Sven L. schrieb:> wenn Du fit bist.
Das wird wohl das huepfende Komma sein.
Ich hab' da eher den Eindruck, dass ein paar Blinde sich irgendwas
ausgedacht haben, von dem sie ueberzeugt sind, das das echt tolle Farben
sein muessen.
Gruss
WK
Martin schrieb:> auf den µC möchte ich verzichten, es für manche Menschen (Chef)> unübersichtlicher wird, der Code ist in vielen Jahren nicht mehr> auffindbar...
Wenn ein solch simpler Code nach Jahren nicht mehr auffindbar ist habt
ihr echt größere Probleme. Und du denkst irgendein Datenblatt vom Aufbau
ist eher auffindbar?
Seid ihr Startup oder Bildungseinrichtung?
Oder ist das diese heutige Generation die jeden Furz als fertigen
Arduino-shield Bausatz mit Library bekommt?
Anders kann ich mir diese Idiotie nicht erklären.
Macht es wie jeder andere Mensch auch.
Eine Sendeeinheit mit ADC+yC, eine Empfangseinheit mit DAC+yC
Das Protokoll über die diese beiden Kommunizieren selbst definieren dann
sind alle Komponenten austauschbar/erweiterbar wie man lustig ist.
Ende. Wenn ihr das nicht wollt/hin bekommt kann euch hier auch keiner
mehr helfen.
Also, es soll ein ADC mit seriellem Ausgang sein, dazu ein DAC,
ebenfalls seriell. Dann darf der ADC "free-running" ständig serielle
Daten produzieren, aber der DAC soll sie nur auf Tastendruck übernehmen.
Um den Anfang eines Datenwortes zu erkennen, und damit einen
Übernahmeimpuls zum richtigen Zeitpunkt zu liefern ist etwas TTL-Logik
nötig oder eben ein Mikrocontroller.
Wie schnell das ganze gehen soll haben wir noch nicht erfahren. Die
untere Grenzfrequenz ist jedenfalls Null Hertz, also kommen Wandler aus
der Soundkarten/Niederfrequenztechnik nicht infrage, die haben
integrierte Hochpassfilter am Eingang.
An die Taktfrequenz werden vermutlich keine Präzisionsanforderungen
gestellt, ein simpler RC-Generator kann ausreichen.
Martin schrieb:>> stink-normales Kabel>> wird zur Zeit verwendet. Es soll aber auf digital gewechselt werden,> weil jemand gelesen hat daß es besser ist bez. Rauschen,> Temperaturstabilität und noch ein paar andere Dinge.
Wenn Du eine mehrfache Umsetzung Deines analogen Signals vornimmst,
wird das Ergebnis immer "bez. Rauschen, Temperaturstabilität und
noch ein paar andere Dingen" schlechter sein, als eine einfache
Drahtverbindung.