Forum: FPGA, VHDL & Co. FPGA Grundlagen ADC


von chris (Gast)


Lesenswert?

Ich bin auf der Suche nach einer Realisierung eines ADC mit einem FPGA 
ohne internen ADC.
Hat jemand damit Erfahrungen?

von Klakx (Gast)


Lesenswert?

darf es denn ein externer ADC sein :)?

ansonsten gab es mal von Xilinx einen Guide mit einem RC-Glied und einem 
Komparator (vielleicht wurde sogar ein differentielles IO genutzt).

Stichworte wären noch: Delta-Sigma, SAR

prinzipiell brauchst du noch ein paar Bauelemente dazu. Hast du dich 
schon auf eine bestimmte ADC-Architektur festgelegt?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

chris schrieb:
> Ich bin auf der Suche nach einer Realisierung eines ADC mit einem FPGA
> ohne internen ADC.
Wie schnell, wie genau, wofür?

Klakx schrieb:
> ansonsten gab es mal von Xilinx einen Guide mit einem RC-Glied und einem
> Komparator (vielleicht wurde sogar ein differentielles IO genutzt).
Richtig, ein LVDS-Eingang wars und noch ein Widerstand und ein 
Kondensator...

von chris (Gast)


Angehängte Dateien:

Lesenswert?

Vielen Dank für eure Antworten. Eigentlich will ich nur ein Poti 
abfragen und dafür nicht extra einen ADC anschließen.

In den Application-Notes braucht man immer zwei Pins.
Aber ich denke, es sollte auch mit einem Pin gehen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

chris schrieb:
> Poti ... es sollte auch mit einem Pin gehen
Geht auch. Problemlos:
1
           ___           ___
2
   3V3 o--|_/_|-----o---|___|--- IO-Pin
3
           Poti     |   100R
4
           100k    === 
5
                    |
6
                   ---
Und dazu eine kleine FSM mit 2 zuständen, die den Kondensator über den 
Ausgangstreiber entlädt, dann auf hochohmigen Eingang umschaltet und 
einen Zähler hochzählt, bis der Eingang wieder high ist.
Ist zwar nicht linear und nicht richtig temperaturstabil, aber zum Pong 
spielen reicht es allemal aus...

von Analog Opa (Gast)


Lesenswert?

Ich nehme an, dass der FPGA dann dazu verwendet wird, ersteinmal als 
Treiber den Kondensator zu entladen und ihn dann als Empfänger schnell 
auszulesen. Sollte das so sein, wäre das keine schlaue Idee, weil dann 
die Bauteilstreuung Einzug hielte, als da wären:

R = +/- 1%
C = +/- 7%
Rout (FPGA) +/- 10%
Cin (FPGA) +/- 20%

Sollte man dann wohl kalibieren, denke Ich zumal der C noch gar keine 
Kapazität zugewiesen bekommen zu haben scheint.

Wozu eigentlich die Verrenkungen? Ich höre immer wieder, dass es "teuer" 
sei, Logik im FPGA zu bemühen und es besser ist, benötigte Teile wie 
Multiplizierer und RAMs echt einzubauen, statt sie nachzubilden.

Wird es nicht Zeit, dass FPGAs eine ausreichende Zahl von ADCs eingebaut 
bekommen? Microcontroller haben das schon seit Urzeiten drin.

von chris (Gast)


Lesenswert?

Nicht überall braucht man Genauigkeit. Für die Abfrage des Potis würden 
10% sicher reichen.

>1.R = +/- 1%
>2.C = +/- 7%
>3.Rout (FPGA) +/- 10%
>4.Cin (FPGA) +/- 20%

3. und 4. spielt keine Rolle, wenn R&C groß gegenüber CIN&ROUT ist.
Gibt's nicht auch einigermaßen erschwingliche C's mit 5%?

>Und dazu eine kleine FSM mit 2 zuständen, die den Kondensator über den
>Ausgangstreiber entlädt, dann auf hochohmigen Eingang umschaltet und
>einen Zähler hochzählt, bis der Eingang wieder high ist.

Das wäre die einfachste Möglichkeit, die mir auch eingefallen ist. Aber 
ich glaube, man kann das Sigma/Delta Prinzip auch dort anwenden und dann 
ist es schneller.

von Duke Scarring (Gast)


Lesenswert?

Analog Opa schrieb:
> Wird es nicht Zeit, dass FPGAs eine ausreichende Zahl von ADCs eingebaut
> bekommen?
Das habe ich einen Xilinx-Fellow auch schonmal gefragt. Die Gegenfrage 
war: Wieviele Kanäle, welche Auflösung und welche Abtastraten?

Es gibt immer eine (große) Zielgruppe, deren Anforderungen nicht 
abgedeckt werden.

Duke

von Burkhard K. (buks)


Lesenswert?

Duke Scarring schrieb:
> Es gibt immer eine (große) Zielgruppe, deren Anforderungen nicht
> abgedeckt werden.

Die 7-Series von Xilinx z.B. hat einen 12bit 1MSP/s ADC mit +/-1 V 
Eingang an Board, z.B. für Temperaturmessungen auf dem Board. Für eigene 
Anwendungen, selbst Hobbybasteleien, passt der eher selten.

von Gustl B. (-gb-)


Lesenswert?


von chris (Gast)


Lesenswert?

>https://www.xilinx.com/products/silicon-devices/soc/rfsoc.html
8x 4GSPS 12-bit ADCs
8x 6.4GSPS 14-bit DACs

Steht da etwa Giga-Samples?

von Gustl B. (-gb-)


Lesenswert?

Ja? Was soll die Frage? Das heißt auch RFSoC.

von Edi M. (Gast)


Lesenswert?

Ob da de Chris, der sich in die Grundlagen einarbeiten möchte, gleich 
mit 4 GS befassen sollte?

RF ist bekanntlich nicht so sehr eine Herausforderung für die digitale 
Technik im FPGA denn mehr bezüglich des analogen Designs. Danke aber für 
den link. Das sieht nicht uninteressant aus.

von chris (Gast)


Lesenswert?

>Ob da de Chris, der sich in die Grundlagen einarbeiten möchte, gleich
>mit 4 GS befassen sollte?

Den Fehler machen Menschen oft: Vom Speziellen ins Allgemeine 
extrapolieren.

von Christian R. (supachris)


Lesenswert?

Das ist doch mal eine Ansage von Xilinx. Aber Xilinx typisch wird es 
jetzt nur noch 3 Jahre dauern bis erste Chips verfügbar sind...

von Frank (Gast)


Lesenswert?

Alters/Intel Max10?

von Ale (Gast)


Lesenswert?

hier:

https://www.youtube.com/watch?v=0oO1RFa-4Xk

man muss nur "rumclicken"

von C. A. Rotwang (Gast)


Lesenswert?

Burkhard K. schrieb:
> Duke Scarring schrieb:
>> Es gibt immer eine (große) Zielgruppe, deren Anforderungen nicht
>> abgedeckt werden.
>
> Die 7-Series von Xilinx z.B. hat einen 12bit 1MSP/s ADC mit +/-1 V
> Eingang an Board, z.B. für Temperaturmessungen auf dem Board. Für eigene
> Anwendungen, selbst Hobbybasteleien, passt der eher selten.

Dann muss halt der Hobbyist mit ner Anpassschaltung anpassen ...
Den XADC/Systemmonitor gibt es nicht erst seit Series7, der wird schon 
seit Virtex-5 verbaut.

https://www.xilinx.com/support/documentation/user_guides/ug192.pdf

Für extensiver slow speed sensoren kommt man aber mit einem exterenen 
Multi-Channel monitor chip besser zurecht, der per SPI an dem FPGA 
hängt. Beispielsweise der:
http://www.ti.com/lit/ds/symlink/amc7891.pdf

von Strubi (Gast)


Lesenswert?

Ein msp430 ist sonst ein intelligenter ADC...wie die mit ADC10/12 oder 
SD16 bestückten Typen. Die ganzen Freiheiten betr. Abtastung überlässt 
man am besten der SW-Konfiguration. Interface SPI oder I2C.

von J. S. (engineer) Benutzerseite


Lesenswert?

chris schrieb:
> Ich bin auf der Suche nach einer Realisierung eines ADC mit einem FPGA
> ohne internen ADC.
Analog-IO mit digitalen Bausteinen

von Mac G. (macgyver0815)


Lesenswert?

Edi. M. schrieb:
> Ob da de Chris, der sich in die Grundlagen einarbeiten möchte, gleich
> mit 4 GS befassen sollte?

Und ob er auch einige k€ für ein entsprechendes Demo Board zahlen 
möchte?
;-)

von chris (Gast)


Lesenswert?

>Und ob er auch einige k€ für ein entsprechendes Demo Board zahlen
>möchte?

Überlass das Denken und Vermuten lieber mal den Pferden, die haben einen 
größeren Kopf ;-)

von Mac G. (macgyver0815)


Lesenswert?

chris schrieb:
>>Und ob er auch einige k€ für ein entsprechendes Demo Board zahlen
>>möchte?
>
> Überlass das Denken und Vermuten lieber mal den Pferden, die haben einen
> größeren Kopf ;-)


Das täuscht, die haben eigentlich nur ein sehr langes Gesicht ;-P

von chris (Gast)


Angehängte Dateien:

Lesenswert?

>Das täuscht, die haben eigentlich nur ein sehr langes Gesicht ;-P

Nicht schlecht ;-)

von Weltbester FPGA-Pongo (Gast)


Lesenswert?

chris schrieb:
> Ich bin auf der Suche nach einer Realisierung eines ADC mit einem FPGA
> ohne internen ADC.

Wozu?

Du stellst hier eine Vielzahl an Fragen, real gebaut wird aber wenig bis 
nichts. Wann möchtest Du eigentlich mal beginnen, eines der Projekte in 
Realität umzusetzen bei all den Dingen, die Du gleichzeitig anfängst?

Oder ist das ein einziges gigantisches Projekt, wo gleich 50 unbekannte 
Aspekte gleichzeitig aufpoppen?

Die Realisierung eines AD-Wandlers in einem FPGA ist eine größere 
Aufgabe, die einen Angfänger einen Monat beschäftig, die aber nur wenig 
Anwendungsfelder hat. So etwas braucht eigentlich kein Mensch, wo es 
Tausende ADC frei verfügbar gibt mit allen SPECs, Preisregionen und was 
auch immer.

von Gustl B. (-gb-)


Lesenswert?

Naja, laut Eingangsfrage will er keinen ADC im FPGA verwenden. Also was 
könnte er wollen?

a) Einen externen ADC oder
b) Einen "normalen IO" als ADC zweckentfremden

a) ist sehr viel einfacher, es gibt massig ADCs die man einfach 
anschließen kann. Manche mit SPI Interface, manche die ihre Bits 
parallel ausgeben, manche dann mit LVDS, manche mit DDR, ...

Einfach und trotzdem halbwegs schnell ist z. B. der LTC2315 
http://www.farnell.com/datasheets/1780600.pdf

von Weltbester FPGA-Pongo (Gast)


Lesenswert?

Gustl B. schrieb:
> b) Einen "normalen IO" als ADC zweckentfremden

Darauf bezog sich meine Antwort.

von chris (Gast)


Lesenswert?

Lieber  Weltbester FPGA-Pongo,

>> Ich bin auf der Suche nach einer Realisierung eines ADC mit einem FPGA
>> ohne internen ADC.
der Welt
>Wozu?

Magst Du Dir diesen Beitrag einmal durchlesen? Er ist in "einfacher 
Sprache" formuliert, damit man ihn gut verstehen kann:
Beitrag "Re: FPGA Grundlagen ADC"

>Die Realisierung eines AD-Wandlers in einem FPGA
> ist eine größere Aufgabe, .... Anwendungsfelder hat.
> So etwas braucht eigentlich kein Mensch, wo es
> Tausende ADC frei verfügbar gibt mit allen SPECs,
> Preisregionen und was auch immer.

Du bekommst jetzt mal eine Übungsaufgabe, wie man sie normalerweise 
einem Studenten geben würde:

1. Ein Projekt benötigt eine Funktion, die sowohl in Hardware- als auch 
in Software realisiert werden könnte. Berechnen Sie die Kosten für eine 
Hardware- und die Softwarelösung
2. Entwerfen Sie zwei Szenarien, bei der a. die Hardwarelösung und b. 
die Softwarelösung günstiger ist.

von Gustl B. (-gb-)


Lesenswert?

Er spricht wirr! Auch ein zweckentfremdeter IO am FPGA ist natürlich 
Hardware und keine Software. Aus dem Eingangspost ist nicht ersichtlich 
ob es hier um die preislich günstigere Lösung geht oder ob Du etwas zu 
FPGA lernen möchtest.
Gerade weil der Thread aber hier im FPGA Forum erstellt wurde und ADCs 
eigentlich nichts mit FPGAs zu tun haben liegt die Vermutung nahe, dass 
es hier drum gehen soll selber einen ADC in einen FPGA zu implementieren 
der von Hause aus keinen eingebaut hat. Das wäre in der Tat eines 
Grundlagenthreads würdig.
Externe ADCs findet man sehr leicht bei den üblichen Herstellern, da 
fehlt im Ausgangspost was genau gewünscht ist in Bezug auf FPGA, daran 
lassen sich sehr viele oder vielleicht alle ADCs anschließen.

von Strubi (Gast)


Lesenswert?

chris schrieb:
> Du bekommst jetzt mal eine Übungsaufgabe, wie man sie normalerweise
> einem Studenten geben würde:
>
> 1. Ein Projekt benötigt eine Funktion, die sowohl in Hardware- als auch
> in Software realisiert werden könnte. Berechnen Sie die Kosten für eine
> Hardware- und die Softwarelösung
> 2. Entwerfen Sie zwei Szenarien, bei der a. die Hardwarelösung und b.
> die Softwarelösung günstiger ist.

Lass mich raten: Du hast ein paar Hausaufgaben vor dir liegen, oder 
schlimmer (arbeitest in einer grösseren Firma als frischer 
Projektleiter), sollst entsprechend ein Projekt schaukeln, dir fehlen 
aber die Grundlagen. Deswegen versuchst du dir hier Knowhow anzuzapfen. 
Kommt aber bei den alten Hasen nicht so gut, wenn du demonstrierst, dass 
du dir die Finger nicht schmutzig machen willst, sprich, dir andere die 
Arbeit abnehmen sollen.
Ziemlich freche Attitüde, mit Verlaub.

von chris (Gast)


Lesenswert?

Strubi,
möchtest Du nicht doch lieber Deinen eigenen Thread aufmachen?
Nach dem was ich bisher von Dir lese, wirst du zum Inhalt eher weniger 
beitragen können.

von Gustl B. (-gb-)


Lesenswert?

Ey man Chris liefere doch selber mal. Thread zu Grundlagen aufmachen und 
dann eine schwammige Frage stellen. Ich würde hier eine Faktensammlung 
oder Anleitung erwarten damit andere die diesen Grundlagen-Thread lesen 
auch was lernen können.

von Weltbester FPGA-Pongo (Gast)


Lesenswert?

Gustl B. schrieb:
> Ey man Chris liefere doch selber mal. Thread zu Grundlagen aufmachen und
> dann eine schwammige Frage stellen. Ich würde hier eine Faktensammlung
> oder Anleitung erwarten damit andere die diesen Grundlagen-Thread lesen
> auch was lernen können.

Das ist auch das, was Ich im Sinne hatte. Der Leser kommt und entdeckt 
die Grundlagenserie von Super Chris. Erinnert mich an die Nummer vom 
bösen Kommunisten und seiner YT-Serie zu FPGAs, wobei die ja noch einen 
Lehrinhalt hatten.

Hier ist nur Sülze und komische Schlussfolgerungen, wie diese hier:
Beitrag "Re: VHDL Grundlagen Tonerzeugung"

Alles andere als fundierte Erkenntnisse von denen andere profitieren 
könnten.
Schade um die Zeit derer, die sich die Mühe machen, darauf noch sachlich 
zu antworten.

Ich bin raus.

von chris (Gast)


Lesenswert?

>Ich bin raus.
Danke.

>Ey man Chris liefere doch selber mal. Thread zu Grundlagen aufmachen und
>dann eine schwammige Frage stellen.
Ich denke, die Frage ist sehr präzise formuliert.
Beitrag "Re: FPGA Grundlagen ADC"
Wie willst Du das noch genauer machen?

In den ersten paar Posts werden ja auch ein paar nützliche Ansätze von 
verschiedenen Leuten gezeigt und diskutiert.

Für mich hat sich die Frage des ADCs aber vorerst erledigt. Die 
einfachen Lösungen wurden von Lothar Miller aufgezeigt und die 
Genauigkeiten von Analog Opa diskutiert. Die Implementierung mache ich 
dann, wenn ich sie brauche.

Gustl Buheitel (-gb-)
> Ich würde hier eine Faktensammlung oder Anleitung erwarten
> damit andere die diesen Grundlagen-Thread lesen auch was lernen können.

Es ist relativ viel Aufwand, Bilder, Links und einigermaßen korrekten 
Code zu posten.
Ich nutzte die Grundlagen Threads für mich selbst zum lernen und als 
Nachschlagewerk. Sie können gerne auch so von anderen genutzt werden.

Im eigentlichen Grundlagenthread sind die ersten Schritte für 
VHDL-Anfänger zu den verschiedenen Aspekten eines simplen "Blink" 
Programms ausführlich und mit Code dokumentiert.
In den Grundlagen "Tonerzeugung" findet sich ebenfalls viel Code und 
auch ein Bilder über Erkenntnisse zur Auslastung eines FPGAs.
Es hat mich relativ viel Zeit gekostet, das Ganze so zu dokumentieren.

> Ich würde hier eine Faktensammlung oder Anleitung erwarten
Die Grundlagenthreads sind aber keine Artikel im Sinne des 
Mikrocontrollernetz.
Ich weiß, im Internet ist heutzutage so viel gute Information und Bücher 
frei verfügbar, dass die meisten Leute eine Erwartungshaltung 
entwickeln, dass das gefälligst überall so zu sein hat.

Aber wenn Du Dir die Grundlagen Threads durchliest, siehst Du, dass es 
nur ganz wenige Leute sind, die substantiell zum Thema beitragen.
Was Code anbelangt, trägt eigentlich nur Lothar Miller bei.
Viele andere liefern aber auch einige nützliche Links. C. Rotwang hat 
hier relativ viel gepostet.

Wenn Dir zu wenig Code und Bilder in den Threads sind, kannst Du gerne 
damit beitragen.

von Strubi (Gast)


Lesenswert?

Jetzt haut's mir doch den Schnuller raus.

chris schrieb:
> Es ist relativ viel Aufwand, Bilder, Links und einigermaßen korrekten
> Code zu posten.

Den sich andere gern für dich machen dürfen, oder wie?
Ich glaube es wird langsam mal Zeit, dich deutlich auf eine gewisse 
Netiquette hinzuweisen:

- Vor dem Posten erst mal Recherche machen, ob das Thema nicht schon mal 
behandelt wurde
- Nicht anderen Leuten unnötig Arbeit machen
- Nicht von anderen erwarten, dass sie dir kritiklos und unentgeltlich 
Knowhow liefern
- Bei Kritik an deiner 'Lern-Strategie' pampig werden

Ich frage mich, woran das liegt, dass nun langsam auch hierzulande eine 
gewisse Erwartungshaltung aufkommt, alles mundgerecht und im 
Wohlfühl-Modus gefüttert zu kriegen. Frei nach dem Motto: "Please Sir, 
help me to write an mp3-encoder NOW!"

von J. S. (engineer) Benutzerseite


Lesenswert?

Strubi schrieb:
> Ich frage mich, woran das liegt, dass nun langsam auch hierzulande eine
> gewisse Erwartungshaltung aufkommt, alles mundgerecht und im
> Wohlfühl-Modus gefüttert zu kriegen.
Möglicherweise hat es damit zu tun, dass heute die Einstiegssysteme so 
weit ausgebaut sind, dass Viele die basics überspringen und die Bindung 
zu den Grundlagen verloren geht? Es wird keine Elektronik mehr gebaut, 
um sich das alles selber beizubringen, sondern als existent 
vorausgesetzt?

Dank Internet ist scheinbar alles fertig und gemacht und muss nur 
runtergeladen werden, statt es von klein auf ohne fremde Hilfe selber zu 
bauen und die ganzen Fehler mal zu machen.

An den Hochschulen sehe Ich das, dass sehr komplizierte Systeme 
zusammengeklickt werden und es damit einfach erscheint, Computer zu 
bauen.

Da wird kein single slope Verfahren in Elektronik nachgebaut, oder 
wenigstens ein ADC aufgelötet und besaftet, sondern in LABVIEW ein 
gewaltiges Data Acquisition System konfiguriert, dass mal gleich Radar 
kann.

Dann scheitert aber der Bau eigener Systeme an den vielen Details, für 
die man nie einen Blick entwickelt hat.

> Frei nach dem Motto: "Please Sir,
> help me to write an mp3-encoder NOW!"
Dazu fällt mir der hier ein:
https://embdev.net/topic/202140#new

von chris (Gast)


Lesenswert?

Jetzt habe ich gerade die verschiedenen Threads von oben nach unten 
durchgelesen und war angenehm überrascht, dass sich das Ganze doch in 
relativ vernünftigen Bahnen und nützlichen Diskussion bewegt.
Eigentlich bin ich ja dafür, in diesen Threads im wesentlichen 
Fachinformation zu posten.

chris schrieb:
>> Es ist relativ viel Aufwand, Bilder, Links und einigermaßen korrekten
>> Code zu posten.
Strubi
>Den sich andere gern für dich machen dürfen, oder wie?


Ich nehme an mal an, dass Du den Beitrag zur Tonerzeugung nicht 
durchgelesen hast, weil dort sicherlich die meiste Information aus 
meiner Feder ähh.. Tastatur stammt.

Die zweite Möglichkeit wäre natürlich, dass Du etwas zu viel Trump 
gesehen hast und Du Dich jetzt mal im Trump'schen Stil üben möchtest.

Aber egal, ich bin schon den ganzen Tag von einer anderen Idee sehr 
fasziniert und als wär's ein Zufall muss ich heute Abend diesen Satz 
lesen, als wenn es Fügung wäre:

Strubi schrieb:
>Jetzt haut's mir doch den Schnuller raus.

Das passt exakt zu meiner Idee. Ich würde gerne einen neuen Thread 
aufmachen, der da heißen soll
1
VHDL Grundlagen mit dem weltbesten FPGA Pongo und Strubi

Nichts gegen euch, aber eure Nicknames sind einfach zu lustig, um nicht 
irgendwie verarbeitet zu werden.
Ich denke, das hat viel parodistisches Potential und wäre vielleicht für 
eine Artikelserie für Kinder in einer der Elektronikzeitschriften 
geeignet.

Könntet Ihr beide eventuell noch zwei Avatarbildchen posten? Vielleicht 
werde ich auch eine Anfängerschulung mit den Bildchen als Aufhänger 
entwerfen. Mal sehen.

Wir könnten den Thread mit dem Namen auch hier schon posten, dann könnte 
Ihr beide euch schon mal warm reden und ich kann noch etwas Material 
sammeln.

Ansonsten was das eigentliche Topic dieses Threads betrifft: Für mich 
hätte es ich eigentlich nach dem ca.10 Post erledigt und der Thread 
könnte geschlossen werden.

von Gustl B. (-gb-)


Lesenswert?

Was? Du willst einen Grundlagenthread einfach schließen? Über die 
eigentlichen ADC Grundlagen wurde doch bisher kaum geschrieben 
(verschiedene Interfaces, Referenzimplementierungen im FPGA, Beschaltung 
ausserhalb des FPGAs, ...).

chris schrieb:
> Ich nehme an mal an, dass Du den Beitrag zur Tonerzeugung nicht
> durchgelesen hast, weil dort sicherlich die meiste Information aus
> meiner Feder ähh.. Tastatur stammt.

Klar, Du schreibst ja auch so viel. Das ist jede Menge Information, nur 
eben nicht lehrreich. Früher™ hat man bei Fragen erstmal selber gesucht, 
in der FAQ gelesen und dann wenn man immer noch keine Antwort hatte 
einen Thread aufgemacht.

Sich über Leute persönlich lustig zu machen ist aber ganz unteres 
Niveau. Siehe auch: https://de.wikipedia.org/wiki/Argumentum_ad_hominem
Das geschieht meistens, wie hier, wenn man das Gegebüber nicht auf 
sachlicher Ebene angreifen kann.

von K. L. (Gast)


Lesenswert?

Gustl B. schrieb:
> as? Du willst einen Grundlagenthread einfach schließen? Über die
> eigentlichen ADC Grundlagen wurde doch bisher kaum geschrieben
> (verschiedene Interfaces, Referenzimplementierungen im FPGA, Beschaltung
> ausserhalb des FPGAs, ...).

- Interfaces: Stehen in der SPEC des ADCs und müssen unabhängig vom FPGA 
auch in jedem anderen Controller realisiert werden

- Beschaltung: Gehört nich in den FPGA sondern in die Analogsektion

- Referenzimplementierungen: Wie soll das bitte gehen?

Was mich an dieser Beitragsserie interessiert hätte, wäre einzig ein 
Beispiel das aufzeigt, worin der Sinn der Realisation eines ADC durch 
ein FPGA bestehen könnte und was der Vorteil wäre.

Das hat bisher noch keiner gebracht.

von Gustl B. (-gb-)


Lesenswert?

Jo, klar steht das im Datenblatt, aber gerade für Anfänger wäre es doch 
nett hier mal auch etwas Code mitnehmen zu können. Z. B. etwas leicht 
anpassbarer Code für die ADCs mit SPI Anschluss von AD.
Mit Referenzimplementierung meine ich eben ein vollständiges Beispiel 
das zeigt wie man mit den Clocks und so im FPGA sinnvollerweise umgeht 
wenn man einen ADC von einem bestimmten Typen betreiben möchte.

Natürlich gehört die Analogschaltung dazu. Gerade wenn man keinen 
externen ADC anschließt sondern normale IOs zweckentfremdet ist es 
vielleicht wichtig welche IOs man verwendet, wie man die Terminierung 
und Sonstiges im FPGA dazu einstellt und auch was man draussen an diese 
IOs ranhängt damit man ordentliche Ergebnisse erhält.

von K. L. (Gast)


Lesenswert?

Mich interessieren hier vorwiegend Microcontrollerthemen und dabei wäre 
es nur von Interesse, einen solchen FPGA davor zu setzen, wenn dieser 
etwas kann, was normale ADCs nicht können. Gibt es da etwas?

Ich meine jetzt nicht, schnell zu sein und zu filtern, wenn es ein 
kleiner Controller nicht packt, weil er zu langsam wäre oder sonst was, 
sondern etwas zu können, was nur ein FPGA kann? Was Ich von der Theorie 
der Bausteine weiß, ist dass sie analog nicht so großartige Werte haben 
sollen. Für mich steht damit infrage, was es da an ADC zu realieren 
geben könnte, was über einfache Schaltungen hinaus geht, die Ich für 2,- 
im SO8 kaufen kann.

Darüber hinaus fällt mir spontan nur ein, daß FPGAs als Schalter und 
Vermittler arbeiten, wenn sie mehrere ADCs gleichzeitig einlesen, 
filtern und als Registerwert abholbar machen, damit ein einfache 
Controller noch mitkommt. Aber auch dann vermute Ich, ist es eine 
Kostenfrage, ob sich das überhaupt lohnt.

von Gustl B. (-gb-)


Lesenswert?

Naja, FPGAs können halt schnell sein und mit Signalen umgehen die der 
normale uC nicht versteht wie DDR LVDS. Und FPGAs haben viele IOs, man 
kann also viele ADCs ranhängen. Sie haben schnellen Speicher, man kann 
also wie bei einem Oszilloskop mit voller Samplerate in den Speicher 
schreiben und dann schön langsam z. B. über UART die Werte an einen PC 
rausgeben. Ja und sie sind flexibel. Zwischen FPGA und ADC habe ich an 
einer Stelle einen ADuM wegen galvanischer Trennung. Da braucht man dann 
ein ganz anderes Timing um die Werte vom ADC zu lesen. Ich weiß nicht ob 
man das in einem uC einstellen kann.

von chris (Gast)


Lesenswert?

Autor: Klaus L. (klausi5000)
>Was mich an dieser Beitragsserie interessiert hätte, wäre einzig ein
>Beispiel das aufzeigt, worin der Sinn der Realisation eines ADC durch
>ein FPGA bestehen könnte und was der Vorteil wäre.

Zunächst einmal gibt es relativ viele und ziemlich detailierte Artikel 
zur Realisierung von Sigma Delta Wandlern mit FPGAs.
Vielleicht schon etwas länger gibt's das Verfahren an Mikrocontrollern, 
die keinen ADC haben. Dort gibt es eine recht ausführliche Untersuchung 
der Genauigkeiten dieses Prinzips am Parallax Propeller.

Das Szenario für den Einsatz solcher Anwendungen sind normalerweise 
extrem kostenoptimierte Schaltungen in großen Stückzahlen.
Ich persönlich wollte aber einfach nur aus Spaß an der Sache das 
Verfahren mal ausprobieren.
Und weil es das Ganze schon mit 3 Pins oder mit zwei Pins gibt, habe ich 
vorgeschlagen, es mal auf einen Pin zu reduzieren.
Mein Interesse liegt immer an den Grenzen des Machbaren, ob sich damit 
was Sinnvolles anstellen lässt, zeigt sich manchmal erste später.

>Sich über Leute persönlich lustig zu machen ist aber ganz unteres
>Niveau.
Lies mal den ganzen Thread durch. Die Ein- oder andere Wortwahl kann ich 
so nicht durchgehen lassen. Darauf weise ich üblicherweise etwas 
schärfer hin und wenn das dann immer noch nicht hilft, darf auch mal 
über jemanden gelacht werden.

von Weltbester FPGA-Strubi (Gast)


Lesenswert?

chris schrieb:
> Und weil es das Ganze schon mit 3 Pins oder mit zwei Pins gibt, habe ich
> vorgeschlagen, es mal auf einen Pin zu reduzieren.
Du hast das vorgeschlagen?

Du meinst jetzt nicht diese geniale Erfindung, per Ausgang einen 
Kondensator zu laden, umzuschalten und dessen Entladung mit dem Eingang 
zu messen, womit z.B. ein angeschlossenes Potentiometer- oder eine über 
einen Widerstand eingekoppelte Spannung ausgemessen wird?

Weil, das ist schon in den 80ern vorgeschlagen worden, als die FPGAs 
entdeckt wurden und man gesehen hat, dass dieses 
"1-Leitungs-Messverfahren" aus den 50ern mit FPGAs in der Tat mit einem 
Pin geht.

Was schlägst Du als Nächstes vor?

Schaltungen parallel zu bauen, falls das Tempo nicht reicht?

Schaltungen auf 2 Bausteine zu verteilen, falls die FPGA-Grösse nicht 
reicht?

von Weltbester FPGA-Strubi (Gast)


Lesenswert?

Wie Ich bei nochmaliger Durchsicht gerade lese, IST das hier sogar 
bereits behandelt worden:
Beitrag "Re: FPGA Grundlagen ADC"

von chris (Gast)


Lesenswert?

>Weltbester FPGA-Strubi

Loll, das Beste aus beiden Welten vereint ;-)
Aber es ist jetzt gut.
Strubi, Pongo: Entschuldigung.

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.