Hallo,
ich plane gerade ein 2-Kanal Digitaloszilloskop.
1MSPS 16bit ADC: LTC2383-16
ADC-Treiber: LT6350FPGA: Xilinx XC3S100E
Anbindung über RS232 an PC. Das FPGA befindet sich auf einem externen
Board.
Angehängt habe ich mal den ersten Plan für einen
Eingangsspannungsbereich von +/-10V (1 Kanal).
Ich wäre sehr dankbar wenn da mal jemand mit mehr Erfahrung drüber
schauen könnte. Wie sollte ich die beiden Tiefpassfilter am Eingang
auslegen?
sakul schrieb:> *push*
push ?
Du hast doch LTC2383 application note komplett kopiert, damit
bist du schon auf der sicheren seite.
Wegen den filtern, wenn du schon app note kopierst lese es mindestens
was drin steht.
Und übrigens, 1MSPS ADC und FPGA, und dann RS232? Die kombination
ist etwas seltsam.
> Wegen den filtern, wenn du schon app note kopierst lese es mindestens> was drin steht.
Das habe ich. 48kHz Tiefpass am Eingang. Da bleibt von einem
Rechtecksignal was man aufnehmen will nicht viel übrig oder sehe ich das
falsch?
sakul schrieb:> 48kHz Tiefpass am Eingang. Da bleibt von einem> Rechtecksignal was man aufnehmen will nicht viel übrig oder sehe ich das> falsch?
Kennst du LTspice?
Hallo sakul,
also bezüglich der PC Schnittstelle würde ich dir empfehlen das serielle
Interface mit einem USB Bridge Chip von FTDI zu machen. Nicht mehr viele
PCs, besonders Notebooks haben keine RS232 Schnittstelle mehr und du
bräuchtest einen separaten USB seriell Wandler. Mit z.B. einem FT240X
von FTDI hast du ein paralleles Interface und schaffst Datenraten bis zu
1MByte/s. Mit dem FPGA ist auch das Interface schnell implementiert.
Solltest du eine höhere Datenrate benötigen, kannst du einen FT232H
nehmen, mit dem gehts dann bis zu 40MByte/s, jedoch ist dort die externe
Beschaltung etwas komplexer. Zum Programmen gibt es die D2XX Lib mit der
du Daten senden und empfangen kannst.
Viel Erfolg bei deinem Projekt!
LG Max
Mazze schrieb:> Kennst du LTspice?
Bis gerade eben nicht. Habe die Treiberschaltung simuliert. Sie
funktioniert! Mit Tiefpass am Eingang gibts halt Probleme bei
Rechtecksignalen. Lässt man den dann komplett weg?
Max Mustermann schrieb:> Solltest du eine höhere Datenrate benötigen, kannst du einen FT232H> nehmen, mit dem gehts dann bis zu 40MByte/s, jedoch ist dort die externe> Beschaltung etwas komplexer. Zum Programmen gibt es die D2XX Lib mit der> du Daten senden und empfangen kannst.
Hier kommen wir der Sache schon näher. Da kann man dann auch hübsch die
Daten im PC RAM ablegen.
sakul schrieb:> Mazze schrieb:>> Kennst du LTspice?>> Bis gerade eben nicht.
Na das kann ja nur gut gehen...
Ein DSO ist eben nicht nur ein schneller ADC (im übrigen viel schneller
als 1MSPS, die haben ja 1GSPS und mehr), ein hübscher FPGA für die
Signalverarbeitung und nem ARM für FFT und co.
Da gehört viel Analoges an den Eingangsstufen dazu. Guck dir mal die
Schaltpläne von richtigen Oszis an.
EDIT: Achso, ja, soweit ich weiß werden für höhere Datenraten mehrere
ADCs Phasenverschoben benutzt. Natürlich trotzdem welche mit mehr Power
als 1 MSPS...
Danke Max, werde nun zusätzlich einen FT240X nutzen.
Tokyo Drift schrieb:> sakul schrieb:>> Mazze schrieb:>>> Kennst du LTspice?>> Bis gerade eben nicht.> Na das kann ja nur gut gehen...
Nicht falsch verstehen, PSpice ist mir durchaus bekannt. Ich kannte nur
LTspice nicht.
Dass ein DSO viel komplexer ist, ist mir durchaus bewusst. Ich würde die
Eingangsstufe nur gerne so einfach wie möglich aufbauen.
Ziel des Projekts ist mehr der Lerneffekt. Zu komplex sollte das ganze
nicht werden.
Hast du schon ein FPGA (Modul) im Auge?
Habe in letzter Zeit ein wenig mit Xilinx FPGAs gespielt und würde wohl
einen XC6SLX25 vorschlagen. 1mm Pitch BGA256, das ist mit ein wenig
Tricksen noch auf 2 Layern und mit normalen Fertigungstechnologien
machbar, Man müsste eben einen SPI Flash anschließen und käme dann wohl
so auf 60 IOs.
SI-Technisch sollte das schon gehen, das DDR RAM Interface wirst du
allerings entbehren müssen. Ein Bekannter von mir hat letzteres mit 8bit
DDR (1) Speicher auf 4 Lagen (günstig zu bekommen bei DorkbotPDX)
gemacht.
Was soll der FPGA denn so machen?
>> Solltest du eine höhere Datenrate benötigen, kannst du einen FT232H>> nehmen, mit dem gehts dann bis zu 40MByte/s, jedoch ist dort die externe>> Beschaltung etwas komplexer. Zum Programmen gibt es die D2XX Lib mit der>> du Daten senden und empfangen kannst.>Hier kommen wir der Sache schon näher. Da kann man dann auch hübsch die>Daten im PC RAM ablegen.
Schau mal hier
http://www.mikrocontroller.net/articles/Minila_Version_MockUp das ist
ein Logic Analyzer mit FPGA 100 MHz sample rate und 512k x 32 Kanäle
Speichertiefe, das könnte man mit eineAbguckenr Verstärker- und
ADC-Vorstufe schön zum DSO erweitern (und den FT2232 hat er auch). Ich
habe das Teil und finde es genial.
Und da Beitrag "Selbstbau Digital Storage Oszilloskop" gibt es auch ein
Selbstbau-DSO zum weiterentwickeln.
Hallo,
wenn du bei deinem XC3S100E bleibst, solltest du die Versorgung für
VCCint überdenken. Die ist bei dir ausgelegt für 1.25V. Sie soll aber
gemäß Datenblatt nominell 1.2V sein. Mit deinen 1.25V bist du schon sehr
nah am oberen Maximum von 1.26V.
Eine einfache Lösung wäre der Einsatz der "Adjustable"-Version des
Spannungsreglers, also ein "TPS73601", dann einfach den Ausgang "Out"
mit dem Feedback-Eingang "FB" verbinden und der Regler gibt (dem
Datenblatt nach) 1.2V raus. Das wäre ein sauberes Design.
Du kannst jedoch auch dem Vorschlag von tokyodrift folgen und auf den
Spartan 6 wechseln. Der braucht nur zwei statt drei verschiedene
Spannungen. Du würdest evtl. eine Reglerebene sparen. Die "kleineren"
Spartan 6-FPGA kommen auch im TQFP144-Gehäuse und du brauchst dich nicht
mit BGA-Gehäusen rumschlagen.
Wenn du allerdings schon ein Spartan 3-FPGA vorliegen hast, würde ich
nur den Spannungsregler anpassen.
Gruß,
Thomas
Tokyo Drift schrieb:> Achso, ja, soweit ich weiß werden für höhere Datenraten mehrere> ADCs Phasenverschoben benutzt.
Das kommt drauf an, was man unter "höher" versteht.
Bis 250 MSa/s schafft das locker einer alleine und da ist noch nicht das
Ende der Fahnenstange.
Vielen Danke für die Links, tt2t!
Thomas T. schrieb:> wenn du bei deinem XC3S100E bleibst, solltest du die Versorgung für> VCCint überdenken. Die ist bei dir ausgelegt für 1.25V. Sie soll aber> gemäß Datenblatt nominell 1.2V sein. Mit deinen 1.25V bist du schon sehr> nah am oberen Maximum von 1.26V.
Danke Thomas!
Das XC3S100E befindet sich auf einem externen Board auf dem sich u.a.
ein 1.2V Regler befindet. Die Spannung ist nur nicht auf die Stiftleiste
geführt.
Thomas T. schrieb:> Du kannst jedoch auch dem Vorschlag von tokyodrift folgen und auf den> Spartan 6 wechseln. Der braucht nur zwei statt drei verschiedene> Spannungen. Du würdest evtl. eine Reglerebene sparen. Die "kleineren"> Spartan 6-FPGA kommen auch im TQFP144-Gehäuse und du brauchst dich nicht> mit BGA-Gehäusen rumschlagen.
Du kannst sowohl Spartan6 alsauch Spartan3 FPGAs mit 2 Spannungen
versorgen.
Beide brauchen 1.2V Core Spannung (außer die Low Power S6, die machen
1.0 oder so), 2.5 oder 3.3V VCCAUX und die entsprechenden VCCOs. Wenn du
3.3V VCCAUX und VCCO nimmst kommst du mit 2 aus.
Ich habe das BGA Gehäuse vorgeschlagen, da es nur die kleinen im TQFP144
gibt. Bei den Spartan3AN habe ichs grad im Kopf, da ist nur der XC3S50AN
im TQFP144 verfügbar, XC3S200AN und XC3S400AN gibt es dann im BGA256,
das wie gesagt auf 2 Lagen auch machbar ist.
Ähnliches gilt für die anderen Spartan3 und 6 FPGAs.
Ich habe den Spartan6 vorgeschlagen, weil er größer und schneller ist,
nicht weil er weniger Aufwand macht.
Tokyo Drift schrieb:> Beide brauchen 1.2V Core Spannung (außer die Low Power S6, die machen> 1.0 oder so), 2.5 oder 3.3V VCCAUX und die entsprechenden VCCOs. Wenn du> 3.3V VCCAUX und VCCO nimmst kommst du mit 2 aus.
Nö.
Wenn ich 3.3V für VCCaux nehme, ist der Spartan 3E kaputt. Zumindest
nach dem Datenblatt, welches im Netz verfügbar ist.
Im Anhang ein Ausschnitt der Seite 119. Nominal Voltage ist 2.5V. Im
Datenblatt auf der Seite 117 ist als "Absolute Maximum Rating" für
VCCaux 3.00V angegeben.
Ich würde mich hüten, dort 3.3V anzulegen!
Du kannst natürlich VCCaux und VCCo mit 2.5V versorgen. Ist aber nicht
sehr sinnvoll, wenn externe Komponenten mit 3.3V arbeiten.
Bitte korrigiert mich, sollte ich falsch liegen.
Gruß,
Thomas
Thomas T. schrieb:> Wenn ich 3.3V für VCCaux nehme, ist der Spartan 3E kaputt. Zumindest> nach dem Datenblatt, welches im Netz verfügbar ist.
Ja, da hast du Recht. Ich hatte wie gesagt den Spartan3AN im Kopf. Der
macht 3.3V auf VCCAux, siehe Bild. Also, S3E braucht 3 Spannungen, S3AN
und S6 nur 2.