www.mikrocontroller.net

Forum: FPGA, VHDL & Co. All Digital ADC


Important 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.
Autor: Martin G. (martin_g)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hat schon mal jemand sowas da verwendet?:

http://www.stellamar.com/products.shtml#digitalADCProduct

Das scheint eine interessante Möglichkeit zu sein. Aber wie schauts mit
der Performance aus?
Hat sowas schon mal jemand open source gemacht?
So schwer kann das ja nicht sein, da es ja auch angeblich nur wenig
Resourcen verbraucht...

Ich stelle mir das so vor:

Die Rückgeführte Spannung (mit der verglichen wird) wird mit einem
Akkumulator-Überlauf- Sigma-Delta Konverter gemacht, und das
Überlauf-Bit ist der Ausgang.

Der LVDS Eingang wird einfach zur Entscheidung verwendet, ob man im
aktuellen Takt den Messwert hochzählen oder runterzählen muß...

Vielleicht gibts da auch andere Annäherungs-Algorithmen...

Eure Meinung?

mfg
Martin

Autor: J. S. (engineer) Benutzerseite
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Das zugrundeliegende Verfahren ist ein alter Hut - nennt sich 
Wägeverfahren. Dafür braucht man nun wirklich keinen Core sondern einen 
Studenten, der VHDL kann und die 5 ersten Vorlesungen der Messtechnik 
besucht hat :-)

Man braucht nicht einmal den differenziellen Eingang, sondern kann den 
Schmitt-TRigger des normalen Digitaleingangs nutzen - muss diesen 
allerdings kalibrieren.

Im Zuge einer Regelung kann man das Wägeverfahren optimieren und der 
analogen Spannung hinterherregeln. Somit stellt sich die Spannung 
wesentlich schneller ein.

Mit einem typischen FPGA schafft man dann 16 Bit mit 50kHz, Ich habe das 
auch bereits hier im Forum einmal gepostet.

Man kann auch noch weiter gehen und den Tiefpass optimieren, indem man 
ihn "einfacher" baut und damit schneller macht. Die Ungenauigkeit, also 
den Fehler durch den ripple muss man mit der Grundproblematik des 
Verfahrens, nämlich einem digitalen verrauschten Datenstrom rund um das 
ananloge Messsignal "verheiraten" und entsprechend auswerten.

Das ergibt dann schon eine etwas auswändigere FPGA-Schaltung. Ich sage 
mal 5. Semester Nachrichtentechnik und man weiss, was zu tun ist.

Der nächste Clou lässt sich mit etwas Nachdenken und dem 7. Semester + 
etwas Signalverarbeitung angehen, wenn man die Ansteuerung des Filters 
optmiert und zwar so, dass man sie anhand des eingehenden Datenstroms 
nachsteuert. Geht in Richtung Non Linear Pre Distorsion. Details möge 
man sich selber überlegen.


>Vielleicht gibts da auch andere Annäherungs-Algorithmen...
Yepp.

Ich habe diesbezüglich eine Applikation im Bereich Ultraschall am 
Laufen, die mehrkanalig mit einem FPGA arbeitet. Ich brauche keine 
DIFF-Eingänge und verarbeite um den Faktor 100 genauer, wenn man zum 
Vergleich das Produkt aus "100kHz" x "10Bit" nimmt, die in dem Artikel 
beschrieben sind. Dazu braucht es allerdings eine trickreiche(re) 
Signalverarbeitung.

Eine derartige Schaltung habe ich aber noch nicht beschrieben sehen, 
daher poste ich hier keine weiteren Details.

Man kann noch einen Schritt weiter gehen und eine bestimmte 
FPGA-Funktionalität nutzen, die die meisten Eingänge heute haben, um 
(ähnlich, wie es manche ADC-Chips machen), die Abtastung zu verfeinern 
und eine entsprechende noch höhere Qualität zu erzielen - aber 
irgendwann kommt man dahin, dass die Chipfläche im FPGA zu teuer wird 
und sich das nur noch wegen Platzproblemen und bei vor allem sehr vielen 
Signalen lohnt.

Für einfache Anwendungen mit wenigen Kanälen kommt meist sehr schnell 
der Punkt, wo man das RC-Gedöhns und die geschickte digitale Ausgabe 
durch ein R2R oder einen DAC ersetzt und dann auch bald der "break 
even", ab dem sich ein ADC lohnt.

Für einige Spezialanwendungen ist die manuelle AD-Wandung aber sehr 
effektiv - besonders, wenn man beim Messen des Wertes gleich noch andere 
Werte mitmisst und bei der Ansteuerung gleich Störsignalkompensation 
betreibt!

> Hat sowas schon mal jemand open source gemacht?
nur "closed source"

Die Schaltung in dem Beispiel ist - so, wie sie gezeichnet ist - 
nebenbei gesagt, sehr lustig! Denn wenn man nur zwei Drähte vertauscht 
und eine Bezeichnung ändert, kann man den DIFF-Eingang komplett anders 
nutzen, dann aber effektiv. Es handelt sich auch um einen 
Schaltungstrick aus meiner Kiste, den ich ebnfalls noch nirgends gesehen 
habe, obwohl er extrem simpel ist und mit dem man quasi geschlossene 
Augen bei nicht differentiellen Signalen sicher prozessieren kann.

Autor: Martin G. (martin_g)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Coole sachen, die man in der Uni lernen kann :D

Scherz bei Seite, patentiere deine Erfindungen, und dann kannste uns das 
mit der 100x Genauigkeit hier posten...

Den All Digital ADC wollte ich zum Messen von vielen Spannungen nehmen.
Gescheite ADCs kosten da schon mal was. Da ist bei der lahmen Abtastrate 
ein FPGA billiger.

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




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 erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net