Forum: Mikrocontroller und Digitale Elektronik ADC und DAC digital verbinden


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Martin (Gast)


Lesenswert?

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.

von Dietrich L. (dietrichl)


Lesenswert?

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.

von das wird nix (Gast)


Lesenswert?

Eine Auflöung von 14 bit ist bei diesen Kenntnissen illusorisch.
Peng.

von Wolfgang (Gast)


Lesenswert?

Martin schrieb:
> Und reicht es, wenn der ADC und DAC SPI können?
Nein, es muss auch einen Diskussionsleiter geben.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

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.

von Irdischer (Gast)


Lesenswert?

da wird schon wieder sooo ein Mist produziert

also ob schon Freitag ist.

von Martin (Gast)


Lesenswert?

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

von Irdischer (Gast)


Lesenswert?

Martin schrieb:
> Von analog hab ich Ahnung

Wetten dass nicht!

von Martin (Gast)


Lesenswert?

Christoph db1uq K. schrieb:
> Sample&Hold

seit wann kann man das mit TTL steuern? Übrigens: die Haltezeit kann 
auch Monate sein

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

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.

von das wird nix (Gast)


Lesenswert?

>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.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

>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?

von Martin (Gast)


Lesenswert?

solange mir jemand eine Möglichkeit nennt, wie ein ADC seriell einem DAC 
den Wert mitteilt bin ich glücklich.

von Dietrich L. (dietrichl)


Lesenswert?

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.

von Martin (Gast)


Lesenswert?

Entweder der Computer sendet einen Wert oder der ADC. Beide gleichzeitig 
kommt nicht vor.

von Sebastian (Gast)


Lesenswert?

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?

von Udo S. (urschmitt)


Lesenswert?

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?

: Bearbeitet durch User
von Martin (Gast)


Lesenswert?

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.

von Martin (Gast)


Lesenswert?

Bauteile habe ich noch nicht ausgewählt, wenn ihr mir etwas empfehlen 
könnt, was zusammen funktioniert, bin ich happy

von Martin (Gast)


Lesenswert?

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.

von georg (Gast)


Lesenswert?

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

von Martin (Gast)


Lesenswert?

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.

von K. S. (the_yrr)


Lesenswert?

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.

: Bearbeitet durch User
von Harald (Gast)


Lesenswert?

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.

von karadur (Gast)


Lesenswert?

digitaler Sample/Hold

von Günther (Gast)


Lesenswert?

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...

von Martin (Gast)


Lesenswert?

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!

von Martin (Gast)


Lesenswert?

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.

von Günther (Gast)


Lesenswert?

... dann würde ich mir unbedingt mal LabView angucken!

von Stefan S. (chiefeinherjar)


Lesenswert?

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.

von GHz-Nerd (Gast)


Lesenswert?

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....

von Ausnahme (Gast)


Lesenswert?

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.

von A. S. (achs)


Lesenswert?

Irdischer schrieb:
> also ob schon Freitag ist.

Im Home-Office geht eine Abfrage schief:

=> Freitag when Arbeit (heute) AND Zuhause (morgen);

von Helmut S. (helmuts)


Lesenswert?

> 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

: Bearbeitet durch User
von Sven L. (svenl)


Lesenswert?

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

von Dergute W. (derguteweka)


Lesenswert?

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

von Rudi Rüssel (Gast)


Lesenswert?

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.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

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.

von Harald W. (wilhelms)


Lesenswert?

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.

von Dietrich L. (dietrichl)


Lesenswert?

Christoph db1uq K. schrieb:
> Wie schnell das ganze gehen soll haben wir noch nicht erfahren.

Martin schrieb:
> - 1 Sample per Second ist ausreichend

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.