Hallo, ich plane gerade ein 2-Kanal Digitaloszilloskop. 1MSPS 16bit ADC: LTC2383-16 ADC-Treiber: LT6350 FPGA: 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...
So, dann pushe ich auch mal: http://www.mikrocontroller.net/articles/Projekt_Universeller_Analogeingang_f%C3%BCr_FPGA-basiertes_Oszilloskop
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.