Forum: FPGA, VHDL & Co. Differential I/O pins als Komparator?


von LilaLauneBart (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!

Ich besitze ein Zedboad und habe im "SelectIO Resources"-Datasheet 
gesehen, dass die Differential I/O pins zu einem Komparator fuehren.

Da ich ein Sinus-Signal in ein Rechteck-Signal konvertieren moechte, 
habe ich mir gedacht, ich koennte diesen Komparator moeglicherweise als 
Zero-Crossing-Detektor nutzen.

Meine Vorgehensweise waere "einfach" an den einen Pin eine 
Referenzspannung, an den anderen Pin das Sinus-Signal.
Natuerlich muss ich hierbei beachten, dass die Eingangspannung von 3,3 V 
nicht uebrschreite.

Sind meine Ueberlegungen so richtig und ist das so moeglich?

Wollte lieber nochmal fragen, bevor ich das realsiere und dann 
moeglicherweise das Board zerschiesse.

Vielen Dank fuer eure Antworten im voraus.

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


Lesenswert?

LilaLauneBart schrieb:
> dass die Differential I/O pins zu einem Komparator fuehren.
Das was dort im Screenshot zu sehen ist, muss nicht unbedingt ein 
elektrisches Bauteil . Es ist erst einmal ein simpler differentieller 
Puffer. Mit ein wenig Glück hat der dann noch eine kleine Hysterese und 
einen weiten Gleichtaktbereich...

> Meine Vorgehensweise waere "einfach" an den einen Pin eine
> Referenzspannung, an den anderen Pin das Sinus-Signal.
> Natuerlich muss ich hierbei beachten, dass die Eingangspannung von 3,3 V
> nicht uebrschreite.
Ich vermute sehr, dass dieser Eingangsbuffer einen wesentlich 
eingeschränkteren Eingangsbereich hat, in dem er funktioniert. Das 
dürfte aber in den Zahlen bei den DC- und AC-Charakteristiken im 
Datenblatt zu finden sein.

> Sind meine Ueberlegungen so richtig und ist das so moeglich?
Es ist wie mit allen Tricks: ausprobieren, üben, verbessern und lernen.
Also kurz: probiers einfach aus.

von LilaLauneBart (Gast)


Lesenswert?

Lothar Miller schrieb:
>> Sind meine Ueberlegungen so richtig und ist das so moeglich?
> Es ist wie mit allen Tricks: ausprobieren, üben, verbessern und lernen.
> Also kurz: probiers einfach aus.

Alles klar, danke.

Das Resultat poste ich dann :)

von Detlef _. (detlef_a)


Lesenswert?

been there, done that:

Ich hab das mal probiert, geht wunderbar.

So läßt sich nen wunderbarer ADC basteln: ein Pin auf eine 
Referenzspannung in der Mitte des verfügbaren Bereichs. An den anderen 
Pin ein C gegen GND, das über ein R vom Eingangssignal geladen wird und 
über einen zweiten Widerstand an einem Ausgangspin des FPGA hängt. Funzt 
tadellos für Audiosignale.

Cheers
Detlef

von NewHere84 (Gast)


Lesenswert?

Detlef _a schrieb:
> been there, done that:
>
> Ich hab das mal probiert, geht wunderbar.
>
> So läßt sich nen wunderbarer ADC basteln: ein Pin auf eine
> Referenzspannung in der Mitte des verfügbaren Bereichs. An den anderen
> Pin ein C gegen GND, das über ein R vom Eingangssignal geladen wird und
> über einen zweiten Widerstand an einem Ausgangspin des FPGA hängt. Funzt
> tadellos für Audiosignale.
>
> Cheers
> Detlef

Dankeschön!!! Bin noch nicht das zugekommen...

Wird das auch voraussichtlich mit 30 MHz Singalen funktionieren?


SIGNAL---| R |----X--------O FPGA_INPUT_PIN
                  |
                  |
                C =
                  |
                  |
                  o GND

Wie muss ich die Bauteile dimensionieren?

Wie meinst du das "und über einen zweiten Widerstand an einem 
Ausgangspin des FPGA hängt."?
--> Wie schaut das aus? - Kann mir gerade nichts darunter vorstellen..
--> Was hat das fuer einen Zweck?

Danke im voraus?

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


Lesenswert?

NewHere84 schrieb:
> Was hat das fuer einen Zweck?
Der gibt eine Vergleichs-PWM aus. Oder er entlädt den Kondensator.

Auf jeden Fall noch ausreichend für Audio, aber garantiert zu langsam, 
wenn's 3 Zehnerpotenzen schneller gehen soll ...

von Fpgakuechle K. (Gast)


Lesenswert?

LilaLauneBart schrieb:
> Da ich ein Sinus-Signal in ein Rechteck-Signal konvertieren moechte,
> habe ich mir gedacht, ich koennte diesen Komparator moeglicherweise als
> Zero-Crossing-Detektor nutzen.

Detlef _a schrieb:
> been there, done that:
>
> Ich hab das mal probiert, geht wunderbar.
>
> So läßt sich nen wunderbarer ADC basteln:


IMHO meint ihr nicht dasselbe. Das da oben ist ein Sigma delta wandler 
(langsam, billig), den würde ich nicht über 200 kHz einsetzen und der 
erwähnt Audio-bereich endet so bei 24/48 kHz. Solche Wandler finden sich 
auch in den billigen Multimetern.

Die beschreibung aus dem Erst-post dagegen klingt eher nach einem 
Schmitt trigger.

Paar Links dazu:
http://www.elektronikpraxis.vogel.de/hardwareentwicklung/pld-und-asic/articles/387206/
http://www.beis.de/Elektronik/DeltaSigma/DeltaSigma_D.html
http://www.latticesemi.com/~/media/LatticeSemi/Documents/WhitePapers/AG/CreatingAnADCUsingFPGAResources.PDF?document_id=36525
http://www.hanser-automotive.de/uploads/media/31569.pdf
MfG,

von asd (Gast)


Lesenswert?

Wobei der SigmaDelta-Wandler die LVDS-Schnittstelle aber als 
Schmitt-Trigger nutzt... Wo liegt also das Problem?

von Fpgakuechle K. (Gast)


Lesenswert?

asd schrieb:
> Wobei der SigmaDelta-Wandler die LVDS-Schnittstelle aber als
> Schmitt-Trigger nutzt... Wo liegt also das Problem?

Ich verstehe die Beschreibung:

LilaLauneBart schrieb:
> Da ich ein Sinus-Signal in ein Rechteck-Signal konvertieren moechte,
> habe ich mir gedacht, ich koennte diesen Komparator moeglicherweise als
> Zero-Crossing-Detektor nutzen


das der Sinus in ein Rechteck gleicher Frequenz umgewandelt werden soll 
und nicht in eine PWM. Und das die Komperatorschwelle konstant ist und 
nicht wie bei Sigma delta geregelt wird. Diese Vermutung sehe ich auch 
durch:

LilaLauneBart schrieb:
> Meine Vorgehensweise waere "einfach" an den einen Pin eine
> Referenzspannung,

gestützt. Aber vielleicht bin ich mit der Gleichsetzung des 
geschilderten Verfahren mit einer sigma Delta wandlung zu voreilig 
gewesen.

MfG,

von asd (Gast)


Lesenswert?

Ich seh das eigentlich gleich wie du. Du hast das ziemlich sicher nicht 
falsch verstanden.

Aber die Sigma-Delta-Anwendung war ja nur ein Beispiel, dass sowas 
möglich ist. Bedeutet dann ja nicht, dass man die LVDS-Schnittstelle 
nicht nur als simplen Komparator mit entsprechenden Einschränkungen 
nutzen kann.

von Klaus F. (kfalser)


Lesenswert?

LilaLauneBart schrieb:
> Natuerlich muss ich hierbei beachten, dass die Eingangspannung von 3,3 V
> nicht uebrschreite.
3.3 V gelten nur für positive Spannungen.
Ein Sinus mit -3.3 V ist sicher nicht zulässig, bzw. wird über die Clamp 
Diode geklippt (-0.5 V laut ds182_Kintex_7_Data_Sheet.pdf)

> Wollte lieber nochmal fragen, bevor ich das realsiere und dann
> moeglicherweise das Board zerschiesse.

Gib  zumindest eine Widerstand in Serie ( > 1K). Bei 3.3 V fließt dann 
max 3.3 mA. Dann bleibst Du unter den 10 mA (I.in aus dem Datenblatt)

von Detlef _. (detlef_a)


Angehängte Dateien:

Lesenswert?

Ich hatte die Frage des TO nicht richtig gelesen, er will was anderes. 
Die Schaltung für einen Audio ADC mit einem LVDS Eingang und einem 
Ausgang hab ich mal angehängt. Braucht aber hohe 'Oversampling rates', 
Audio geht aber 30MHz nicht. Den schnellen Bitstrom muss man noch 
entsprechend dezimieren, i.e. 'hohe Abtastrate@1Bit' zu 'niedrige 
Abtastrate@mehr Bit' umlügen.

Cheers
Detlef

: Bearbeitet durch User
von J. S. (engineer) Benutzerseite


Lesenswert?

Man kann in der Tat mit einem LVDS-Paar beim FPGA 
Audio-Analog-Digital-Wandlung betreiben, allerdings muss man da ein 
wenig mehr Aufwand treiben.

Die Schaltung sähe auch eher so aus, dass man das Analysesignal auf den 
n-Eingang des Komparators legen müsste, um die Geschichte zu 
symmetrieren und auf die Schaltschwelle anzupassen und zudem auch einen 
besseren Filter für den Eingang vorsehen muss, um die Aliasfrequenzen zu 
beseitigen, sofern das Signal nicht schon bandbegrenzt ist.

Ich habe in einer Ultraschall-Applikation damit bis zu 50kHz mit rund 
10bit Auflösung hinbekommen. Je geringer die Frquenz, desto besser die 
Auflösung. Ist dann auch eine Frage des Filters und des Analysesignals. 
Da kann man einfaches Rauschen einsetzen und stumpf dezimieren.

Geht aber auch noch schlauer mit geeigneten Modulatiosverfahren. :D

von Oleg A. (oga)


Lesenswert?

Mal eine Frage: es gibt jede menge Analogkomparatoren, die mit Vcc=3.3V 
funktionieren. Was spricht dagegen einen solchen vorzuschalten?

von Lattice User (Gast)


Angehängte Dateien:

Lesenswert?

Mein Senf zur ursprünglichem Frage.

von Soundprofi (Gast)


Lesenswert?

Die neg-Beschaltung ist klar: Stabilisierte halbe Betriebsspannung, aber 
wozu benötigt man hier den R1? Da wird doch common mode mit reingegeben. 
Wäre nicht eine direkte Ankopl´pllung an den posEingang ausreichend und 
zudem noch schneller?

von Andi (Gast)


Lesenswert?


von J. S. (engineer) Benutzerseite


Lesenswert?

Das ist aber nicht die oben erwähnte Schaltung, oder? Die arbeitet mit 
dem Querwiderstand ein bischen mit BIAS-Korrektur. Wenn das die Absicht 
ist, liesse sich das am anderen Eingang mit einem Tiefpass machen. Damit 
bekommt man auch gut niederfrequente Störungen aus seriellen Signalen 
raus.

von asd (Gast)


Lesenswert?

Eine Frage noch zu folgendem Link:

Fpga Kuechle schrieb:
http://www.latticesemi.com/~/media/LatticeSemi/Documents/WhitePapers/AG/CreatingAnADCUsingFPGAResources.PDF?document_id=36525

Ist dort die Position des Integrators korrekt? Der Integrator müsste ja 
entweder nach der Summen/Differenzenbildung stehen oder aufgrund der 
Linearität halt sowohl im Eingangssignal und dem Feedback-Signal 
(https://upload.wikimedia.org/wikipedia/commons/thumb/5/54/FromDtoDS_raster.png/500px-FromDtoDS_raster.png)

Dies ist im ersten Lattice WhitePaper ja eigentlich nicht wirklich der 
Fall?

Im zweiten Lattice Dokument wird dies allerdings so gemacht...

Andi schrieb:
> Von Lattice gibts sogar ein offizielles Dokument dazu (für ICE40):
http://www.latticesemi.com/~/media/LatticeSemi/Documents/ProductBrochures/AM/CommonAnalogFunctionsUsinganiCE40FPGA.PDF?document_id=45822
> Andi

Könnt ihr mir da mal auf die Sprünge helfen?

von Fpgakuechle K. (Gast)


Lesenswert?

asd schrieb:
> Eine Frage noch zu folgendem Link:
>
> Fpga Kuechle schrieb:
> 
http://www.latticesemi.com/~/media/LatticeSemi/Documents/WhitePapers/AG/CreatingAnADCUsingFPGAResources.PDF?document_id=36525
>
> Ist dort die Position des Integrators korrekt?

Auf welches Bild beziehst Du Dich? Welchen Block darin bezeichnest du 
als Integrator? Auch ein C kann als Integrator benutzt werden.

MfG,

von asd (Gast)


Lesenswert?

Fpga Kuechle schrieb:
> Auf welches Bild beziehst Du Dich? Welchen Block darin bezeichnest du
> als Integrator?
>
> MfG,

Sowohl auf Figur 1 oder 4 bezogen. Ich hätte das RC-Glied als Integrator 
angesehen.

Aber ich seh gerade, dass der CIC-Filter ja noch integriert. Somit ist 
das Prinzip des Sigma-Delta-Wandler wieder erfüllt (nach (1) in 
https://upload.wikimedia.org/wikipedia/commons/thumb/5/54/FromDtoDS_raster.png/500px-FromDtoDS_raster.png)

von asd (Gast)


Lesenswert?

asd schrieb:
> Aber ich seh gerade, dass der CIC-Filter ja noch integriert. Somit ist
> das Prinzip des Sigma-Delta-Wandler wieder erfüllt (nach (1) in
> 
https://upload.wikimedia.org/wikipedia/commons/thumb/5/54/FromDtoDS_raster.png/500px-FromDtoDS_raster.png)

Wobei im zweiten Link von Lattice (ohne LVDS, sondern direkt am Eingang) 
ja auch ein CIC-Filter verwendet wird. Von dem her sind meiner Meinung 
die beiden Prinzipien nach

http://www.latticesemi.com/~/media/LatticeSemi/Documents/ProductBrochures/AM/CommonAnalogFunctionsUsinganiCE40FPGA.PDF?document_id=45822 
(figure 5)
und
http://www.latticesemi.com/~/media/LatticeSemi/Documents/WhitePapers/AG/CreatingAnADCUsingFPGAResources.PDF?document_id=36525 
(figure 1)

nicht wirklich identisch?

Fpga Kuechle schrieb:
Auch ein C kann als Integrator benutzt werden.

Das ist schon klar, aber dort ist der Integrator ja nur im Feedback. 
Aber das Eingangssignal müsste dann ja auch integriert werden...

von Georg A. (georga)


Lesenswert?

Irgendwie erinnert mich das an eine alte App-Note von Xilinx:

http://www.xilinx.com/support/documentation/ip_documentation/xps_deltasigma_adc.pdf

Allerdings haben sie sich da noch nicht getraut, den externen Komparator 
zu integrieren ;)

: Bearbeitet durch User
von J. S. (engineer) Benutzerseite


Lesenswert?

Naja, die Schaltung ist ohnehin zur als Prinzip zu sehen. Das mit dem 
DAC-OUT funktioniert nur mit einem schnellen DAC und dann bitte mit 
besserem Filter oder wenn schon RC dann auch gleich digital angesteuert 
und entsprechend intern wieder wegprozessiert, indem das Spektrum in die 
Dezimation einbezogen wird.

Dass sie den Komparator nicht verwenden (können), hat wieder die 
erwähnten Symmetriegründe. Das ist und bleibt letztlich immer 
Billigschaltung, mit der nur ungenau gemessen werden kann. Für Audio 
z.B. um billig eine Lautstärkemessung (RMS) für viele Kanäle 
gleichzeitig durchzuführen. Für einen guten Spektrumanalyser wird es 
aber schon etwas eng.

Gut geht das für Spannungsüberwachungen. Wirtschaftlich ist es aber nur, 
wenn die FPGA-Pins auch wirklich übrig sind. Wenn man es ein bischen 
schlau anstellt, kann das FPGA sogar seine eigene Spannungsversorgung 
überwachen und im Falle seines Zusammenbruchs noch schnell seinen 
bevorstehenden Abgang oder einen brown out durchfunken :D

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.