Forum: Mikrocontroller und Digitale Elektronik Projektidee.Oszilloskop die 12334543te


von Hans W. (Firma: Wilhelm.Consulting) (hans-)


Lesenswert?

Google hat mir zumindest nix vergleichbares geliefert...


Ich bin diese Woche wieder einmal mit den aktuellen STM32 Datenblättern 
konfrontiert worden...

Folgende Idee ist mir dabei gekommen.

Wir haben in der Fa. eine Projektarbeit (FH-bakk) betreut in der ein 
lustiges DSO nano zum Einsatz kam.

So wiederlich die Dinger auch sein mögen, cool ists halt schon sein 
scope spazieren tragen zu können ;)

Jetzt kann man die STM32 Datenblätter nach dem max. FSCM Takt 
durchsuchen und findet folgendes:

Family | RAM | max FSMC-Speed | max FSMC-Width
F103 96kByte 36MHz 16-Bit
F215 128kByte 60Mhz 16-bit

F417 196kByte 60MHz 16-Bit
F427 256kByte 84MHz 16-Bit
F439 256kByte 90MHz 32-Bit


Die DSO-Quad kann 72MSPS bei 8-bit.

Jetzt hätte ich mir gedacht, Tust du einen Flash-ADC an die 
Datenleitungen von einem F4Discovery und lässt den DMA gemütlich von 
lesen.

Etwas übertakten (210Mhz war bei mir am Tisch drinnen beim einem 
Oszillator-abnormal-test) kommt man also mit einem  F417er auf die 
samplingrate des DSO Quad.

die 4k Samplingbuffer ließen sich auch problemlos realisieren...

Die Projektidee wäre nun so etws ähnliches zu entwickeln - nur nicht 
standalone sondern quasi als usb-gadget. Sonst sind die chinesenpreise 
nicht erreichbar ;)

Ich würde in 2 Schritten vorgehen:
1. F4Discovery mit allen 3 ADCs interleaved bei max 7.2MSPS 
(singlechannel) bzw 2.4MSPS (triplechannel) laufenlassen um das 
DMA-Zeugs, Triggering, ... zu verifizieren. das Analogzeugs wäre quasi 
das Mainboard in dem das Discoveryboard sitzt.

2. Wenn das geht neues Mainboard mit ADC am FSMC

wenn das dann alles gehen sollte wäre ja noch ein 4fach-interleaved-adc 
entwickelbar der dann 90*4MSPS single-channel machen könnte ;)

Zumindest den Schritt 1 würde ich gerne wagen, da ich zwar im Büro ein 
nettes Agilent Scope stehen habe, aber daheim doch hin und wieder eins 
brauchen könnte.

Einen buffer für den DAC für Waveform replay bzw arbitrary Wavegen 
könnte auch ganz nützlich sein...

ob der DMA auch bei vollem FSMC-CLOCK die daten ins ram bringt habe ich 
beim noch nicht gecheckt.. ist ja nur so eine dumme idee...

Das Routing am Discovery ist auch nicht überprüft.. kann also gut sein, 
dass man da die Datenrate nicht vernünftig drüber bringt...

Anbindung an den PC per Ethernet oder USB (wär einfacher).
Als Gehäuse würde ich ein 3.5" USB-HDD Teil modifizieren.


ADC08200CIMT würde 200MSPS können und in TSSOP24 um  11e bei farnell 
verfügbar sein...

THS5641AIDWG4  wäre ein 100MSPS DAC mit ähnlichen Parametern...nur SOIC 
und 7,50 bei selbiger quelle.

Ich sehe den Aufwand realistisch für ein Hobby-Projekt, in etwa bei dem 
des China-Teils und auch einen gewissen Spassfaktor bei dieschem 
Projekt.

Vorteile sehe ich z.B. beim möglichen Pretrigger (dma spielt dauernd 
ringbuffer und wenn ein trigger kommt sampelt er halt nurmehr 
#Buffer-gewünschter Pretriggerbuffer weiter), Anschluss richtiger Probes 
und vllt auch an der Möglichkeit das teil für DRM nutzen zu können (z.b 
mit 10MSPS in richtung PC Streamen)

Gibt es hier für so ein Vorhaben mitstreiter?

73

PS.: kann sein, dass ich mich nicht sofort melde.. bin übers WE nicht im 
Land...

von W.S. (Gast)


Lesenswert?

Deine Zahlen sehen ja ganz schön kühn aus. Guck aber lieber noch einmal 
tief ins Datenblatt. Wenn ich mich recht erinnere, brauchen auch die 
STM32 mehrere Takte für einen Buszugriff, da rutschen deine Zahlen dann 
ziemlich in den Keller.

W.S.

von Hans W. (Firma: Wilhelm.Consulting) (hans-)


Lesenswert?

hab mir nur das datenblatt angeschaut...

werd mir nach dem WE mal das ref-manual vornehmen wie schnell der DMA da 
tatsächlich ist...

grundsätzlich sollte das aber schon gehen man müsste nur schaun, dass 
die datenbusse nicht belegt sind...

grundsätzlich sehe ich da auch kein problem da dank CCM und dem 
instruction-fetch-bus eigentlich die restlichen busse ruhig sein 
sollten...

ich postuliere also, dass der F417 tatsächlich die 120MByte/s bewegen 
kann...

ggf müsste man ein kleines fifo dazutun, damit nichts jittert... das 
wäre aber zu testen...

73

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Interessanter Thread.

Ich muss mir wohl auch was überlegen, siehe 
Beitrag "Fehlerbild HAMEG HM204-2 - Hat jemand 'ne Idee?". Zwei STM32F4DISCOVERY habe 
ich hier rum liegen. Würd' mich freuen, wenn ich mir damit einen Ersatz 
basteln könnte.

Gern auch als "Logic-Analyzer" oder um I²C oder 1wire besser debuggen zu 
können.

von Purzel H. (hacky)


Lesenswert?

Wasspricht denn gegen einen richtigen ADC mit etwas Schub anstelle einer 
interleaved loesung.?

von Hannes W. (hannes_w)


Lesenswert?

Interessant. Viel Interessanter: Was für Analog-Frontend hast du im 
Sinn?

Richtig cool wäre natürlich Opto-Isolated USB und Batteriebetrieb, damit 
man ganz entspannt isoliert messen kann. Bliebe die Frage nach dem 
Preis.

Ich kenne die STMs nicht, aber hat die DMA-Engine keine Prioritäten für 
Kanäle? Damit ließe sich ja der Bus frei halten (zumindest 
Größtenteils).

von Thomas R. (tinman) Benutzerseite


Lesenswert?

Hans Wilhelm schrieb:
>
> ADC08200CIMT würde 200MSPS können und in TSSOP24 um  11e bei farnell
> verfügbar sein...
>

wenn schon eins aus der ADC08200 familie dann ADC08B200 (gibts auch
als sample) es hat 1k capture buffer schon drin, den kannst du mit
dem STM32 in ruhe auslesen. Die eingebaute PLL ermöglicht entspannten
takt, powerdown (PD und PDADC, damit der buffer noch gelesen werden
kann) hat es auch was bei tragbaren teil sinn macht (650µA).

Für ein USB/PC versuch, allerdings mit viel mehr krach, nimm ADC08D500
und übertakte es auf 2x1GS/s oder 1x2GS/s (wie GW-Instek es in deren
neuesten DSOs macht) dazu ein FPGA (es gibt fertiges design von TI,
daten gehen per USB zum PC, eine PC app gitbs auch). Der kostet
allerdings auch keine 10EUR :\

Den ADC08D502 gibts auch als sample, auch FPGA design und PC app.
Übertakten ging aber nicht so weit wie bei dem ADC08D500, auch kein
mux, so braucht man 2 stk davon (und takt einmal 180° drehen) für
2 kanal jeder je 1GS/s (ohne übertakten und 1.5GS/s mit).

von Hans W. (Firma: Wilhelm.Consulting) (hans-)


Lesenswert?

@thorsten

ein einfacher logic analyzer würde quasi als nebenprodukt rausfallen... 
software gäbe es z.b. hier:

https://code.google.com/p/logicdiscovery/

ob das für was taugt müsste man sich anschaun...

@Siebzehn oder Fuenfzehn

adc kommt später.. zum frontend-software,usb anbindung,... testen tuts 
auch der interne :)

@Hannes W.

hab ich mir noch nicht genau überlegt... aber 20-30MHz Analogbandbreite 
sollten recht gemütlich noch handhabbar sein... irgendwelche 
current-feedback OPs+TVS+kleinkram damit das halbwegs linear wird sollte 
schaltungstechnisch glaubich reichen... da wirds eher interessant 
hochohmig und breitbandig am pcb zu werden...

trigger dürfte auch interessant sein.. aber es gibt im netz sicher zig 
appnotes die da input geben :)

optoisolated usb klingt nicht schlecht von der idee her :)

@Thomas R.
der ADC08B200 klingt interessant... muss mir das datenblatt mal 
durchschaun

FPGA-Design will ich keins machen.. 1. hab ich kein ausreichendes wissen 
drüber und 2. strebe ich einen 4layer print an... wenn ich mir überlege 
was da an pins zusammenkommt für sampling buffer, ADCs, interface zum uC 
sehe ich für 4 layer ziemlich schwarz... und für 1gsps dürfte alles was 
so an kleinen fpgas herumfliegt unbrauchbar.. also lvds anbindungen zu 
den adcs mehrere bänke mit 4ns sram,... nein danke.. lieber so, das man 
das auch tatsächlich fertigstellen kann :)


soo werd dann man etwas weiter forschein in richtung analog-frontend, 
bzw buffer für den DAC :)

falls jemand app-notes hat, her damit :)

hab auch schon ein paar ideen in richtung placement am pcb ... werd in 
den nächsten tagen mal etwas zeichnen ...

73

von GS (chromosoma)


Lesenswert?

Hi Hans:)

Schaue mal mein Projekt an;)
Beitrag "CPLD in Design intergrieren, Brauche kleine Beratung:)"

UND hier (aktueller zustand)

Beitrag "Erste Platine (und das erste Hobbyprojekt) meines Lebens."


Ich verwende auch die ADC08200.

Die Platinen sind schon  bestellt und kommen so am Ende des Monats. Die 
Firmware für CPLD ist schon fast fertig und nimmt  ca. 200 LE an, D.h. 
man hat noch 370 freie LE für weitere Features:)

Die ADC  haben 8 Bit Auflösung und individuell einstellbate  Vref von 0 
bis 3,3 V.

D.h wenn dein Signal nur 1 Vpp hat, kannst du Vref eben auf 1V 
einstellen und somit die Auflösung erhöhen.

Die CPLD Versorgt die ADC's mit CLK (frei wählbar zwischen 
250MHz,125MHz, 62.5 Mhz,31.25 Mhz.)
Mein Hobbyprojekt ist zwar nicht als  Oszi gedacht, ehe als 
eigenständiges  "Acquisition Modul" für beliebige Dev. Kits.
Aber ich bin sicher an kann es  auf ein Oszi erweitern;) (Display, 
Steuerung,  Menu's etc)

Der Preis für das Ganze ist relative hoch. Gut die ADC's , DAC's und Fox 
Oszillator mit 250 Mhz ( Preis ca. 60 Euro!!) habe ich als Samples 
bekommen.Aber CPLD,  diverse passive Elemente +4-Layer PCB  habe ich 
selbst  bezahlt. Alles in allem wird es so um 100-120 Euro kosten.


Na gut, falls  mein Prototyp  gute Resonanz bekommt, kann man  billigere 
ADC nehmen (100 Mhz reichen auch), dann noch billigeren OX (eben 100 
MHZ) , 2 Lagige Platine und nur  einen DAC für Vref. Dann sinkt der 
Preis auf 50 Euro oder so....:))





PS:

Die Firmware hat  SPI-ähnliche  Kommunikation nach außen, so dass  man 
im Betrieb  die Abtastraten/Vref's/PD's leicht ändern kann.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Hans Wilhelm schrieb:
> ... aber 20-30MHz Analogbandbreite
> sollten recht gemütlich noch handhabbar sein.

Dann sollte die Preis-Obergrenze aber aber auch um und bei 130€ sein, 
sonst lohnt sich das m.E. nicht. Vergleiche das PS 2204 mit 100 MS/s 
Sample-Rate:

http://www.reichelt.de/USB-Oszilloskope/PS-2204/3//index.html?ARTICLE=115719

Hans Wilhelm schrieb:
> ein einfacher logic analyzer würde quasi als nebenprodukt rausfallen...
> software gäbe es z.b. hier: ...

Klingt gut; ich bin weiterhin sehr begeistert von der Idee, das 
Discovery-Board als Basis für so ein Projekt zu nehmen.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Sorry, hab' noch nicht weiter drüber nachgedacht, nur so als 
"Brainstorming": Kann man irgendwie das Digital camera interface (DCMI) 
sinnvoll nutzen, um Analog-Samples schnell einzulesen?

von Hans (Gast)


Lesenswert?

Mit dem Preis sehe ich das auch so. ca. 100e+discovery gesamt sehe ich 
als schmerzgrenze wo sich das selbstbauen lohnt.

auf jedenfall gibts anscheinend interessierte... dann kann ja einmal 
brainstormen und ics/appnotes zusammentragen. wenns zu teuer werden 
sollte kann man ja immer noch abbrechen ;)

neuer adc vorschlag... passt besser zu den 60Mhz und ist auch günstiger 
(umd die 7e bei rs): ADS831E

input parameter schlage ich einen mix aus den picoscope 2204 und 
aktuellen specs von agilent vor... 1mV/div vom Agilent dafür nur 100Vrms 
vom Picosope für die input protection (alles über niederspannung sollte 
man sowieso mit was dementsprechend getesteten/verifizierten messen).

hab übrigends was interessantes gefunden:

http://code.google.com/p/opendso

da sind sicher design-hints dabei.. bei gelegenheit werde ich das mal 
sichten.

73

von Hans (Gast)


Lesenswert?

Torsten C. schrieb:
> Sorry, hab' noch nicht weiter drüber nachgedacht, nur so als
> "Brainstorming": Kann man irgendwie das Digital camera interface (DCMI)
> sinnvoll nutzen, um Analog-Samples schnell einzulesen?

Hab ich mir auch schon überlegt ;P

wenn 2 die selbe idee haben, dürfts nachforschentswert sein ;D

Andere idee wäre auch ein framegrabber-frontend sein... falls es sowas 
gibt in ic-form..

73

von Lothar S. (loeti)


Lesenswert?

> Mit dem Preis sehe ich das auch so. ca. 100e+discovery gesamt sehe ich
> als schmerzgrenze wo sich das selbstbauen lohnt.

Bei diesen Einstiegspreis für ein USB-DSO:
http://www.reichelt.de/USB-Oszilloskope/PCSU-200/3/index.html?;ACTION=3;LA=2;ARTICLE=131352;GROUPID=4055;artnr=PCSU+200
wird es sich nie lohnen, außer beim Erfahrung sammeln.

Grüße Löti

von tom (Gast)


Lesenswert?

Moins,

guggt doch mal hier:

http://www.youtube.com/watch?v=JQhHKdDDgM0


STM32F103xxx mit externem ADC dran.


gruss, tom.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?


von Hans (Gast)


Lesenswert?

jaja, im netz gibts alles schon besser, billiger,...

@Torsten C.

das camera interface hätte einen fifo, aber nur 1x 14bit max bei 54mhz 
so wie ich das auf die schnelle verstehe.

ich glaub am we werde ich mir das discovery mal vornehmen und schaun ob 
das so geht wie ich das glaube...

also r2r DAC am fsmc und per dma rausbursten.. wenn das signal 
jittert/verzerrt ist braucht man eigentlich in die richtung nicht mehr 
weiterschaun weil dann das einlesen auch nicht so funktionieren wird wie 
gewünscht...

73

von Hannes W. (hannes_w)


Lesenswert?

Hallo,

ich habe mir das Datenblatt zum ADC08B200 mal angeschaut. Leider hilft 
der Capture Buffer nicht sehr viel weiter:
"Note that the capture buffer on this chip must be entirely filled to 
its configured size before reading its contents can begin."
Bei einer Größe von 1k kann man gerade mal 5.12e-6s am Stück samplen 
bevor der Buffer voll ist - will man kontinuierlich einlesen, reicht 
auch der ADC08200.

Einen CPLD/FPGA (muss ja kein 1000-Pin-Monster sein) würde ich so 
schnell nicht verwerfen. Dieser könnte (falls nötig) glue logic 
beinhalten, den ADC per MMIO konfigurierbar machen (spart auch 
CPU-GPIOs, falls das Not tut) oder das Multiplexing der Datenströme 
übernehmen, wenn die ADCs interleaved laufen sollen.

Einen Arbitrary Waveform Generator/Waveform Replay würde ich nicht noch 
extra einbauen - das ist genug Arbeit für sich alleine.

Die CAT I Spec vom opendso finde ich gut.

Ich bin mir noch nicht so recht im Klaren, wie man den 
Trigger/Auswertung am Besten gestaltet. Ich würde die komplette 
Signalanalyse/Verarbeitung auf dem PC machen. Bei zwei 200MS/s Kanälen 
mit 8Bit Samplegröße macht das aber 400MByte/s - da braucht man schon 
wieder USB 3.0 Super Speed, GBit Ethernet, Thunderbolt, eSata …

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Hannes W. schrieb:
> Einen Arbitrary Waveform Generator/Waveform Replay würde ich nicht noch
> extra einbauen

Das sehe ich auch so.

Hannes W. schrieb:
> Ich bin mir noch nicht so recht im Klaren, wie man den
> Trigger/Auswertung am Besten gestaltet.

Ich habe immer noch mit meinem alten Analog-Oscar gearbeitet. Was haben 
denn moderne DSOs noch so für Trigger-Möglichkeitenm außer "Auto", 
"absolut" und "PreTrigger%"?

Die o.g. Funktionen stelle ich mir nicht so kompliziert vor.

Wie wär's mit einem Comparator-Eingang für den Trigger, also triggern 
ohne die ADC-Werte zu analysieren?

Hannes W. schrieb:
> Ich würde die komplette
> Signalanalyse/Verarbeitung auf dem PC machen.

Das sehe ich auch so.

Hannes W. schrieb:
> … da braucht man schon
> wieder USB 3.0 Super Speed, GBit Ethernet, Thunderbolt, eSata …

Bitte nicht!!

Erste Idee: Komprimieren. Also Sample-Differenzen mit ±15 übertragen, 
die Zahl "-15" bedeutet: "Jetzt kommt ein Absolutwert". Damit passen die 
Samples schon mal fast alle in ein Nibble.

Zweite Idee: Bei sich wiederholenden Signalen nur Deltas zu dem 
vorherigen Frame übertragen.

Weiß jemand, wie Kauf-DSOs (picoscope usw.) das machen?

Aber mal was anderes: Wie soll der µC die Daten verarbeiten? Für 
Echtzeit müßte die taktfrequenz des µC doch um ein vielfaches höher 
sein, als die Sample-Frequez. Also kann der µC doch eh nur "ab und zu 
mal" einen Frame auswerten. Also muss man doch auch nur "ab und zu mal" 
einen Frame per USB übertragen.

von Hans (Gast)


Lesenswert?

Ich würde einen analog comperator nehmen für die variable 
triggerschwelle (PWM /DAC?) und den ausgang an den EXTI pin legen.. 
damit geht rising, falling und both-edge triggering...

eine idee für pretriggering habe ich oben schon beschrieben...

ich glaube das sollte man sich mit dem interen ADC anschaun...

quasi ein DSO nano mit vernünftigerem sampling-rate/analog bw verhältnis 
:)

die frage ist ob ich schnellgenuge opamps herumliegen hab ...

73

von Hannes W. (hannes_w)


Lesenswert?

Torsten C. schrieb:
> Ich habe immer noch mit meinem alten Analog-Oscar gearbeitet. Was haben
> denn moderne DSOs noch so für Trigger-Möglichkeitenm außer "Auto",
> "absolut" und "PreTrigger%"?
Keine Ahnung. Kombinationen mehrerer Kanäle? Auf Mathefunktionen 
zwischen zwei Kanälen ( (ChA + ChB) fällt unter 0.3V, etc.)?
>
> Die o.g. Funktionen stelle ich mir nicht so kompliziert vor.
Rauschen?
>
> Wie wär's mit einem Comparator-Eingang für den Trigger, also triggern
> ohne die ADC-Werte zu analysieren?
Dann verbaut man sich Protokollanalyse in Software, denke ich. Für 
simples falling/rising edge triggern ist das aber sicher einfacher.

Torsten C. schrieb:
> Bitte nicht!!
Naja Thunderbolt/eSata waren nicht wirklich ernst gemeint. USB hat den 
Vorteil, das ein Treiber der mit libusb arbeitet auf Windows, Linux, OS 
X, BSD, ... lauffähig ist. Ethernet hat diesen Vorteil nicht, ist aber 
(denke ich) von der PC-Seite aus nicht so wild. Von der 
µC/DSP/FPGA-Seite mag das anders aussehen.
>
> Erste Idee: Komprimieren.
Hatte ich auch schon überlegt. Mir ist nur nix eingefallen. Die 
Komprimierung muss die Datenrate ja auch im Worst-Case-Fall zuverlässig 
unter die Bandbreite der gewählten Schnittstelle drücken können, und das 
verlustlos. Achja, und die Komprimierung muss schnell auszurechnen 
sein, denn sonst kann man ja die Analyse auch gleich auf dem Scope 
machen.
> Also Sample-Differenzen mit ±15 übertragen,
> die Zahl "-15" bedeutet: "Jetzt kommt ein Absolutwert". Damit passen die
> Samples schon mal fast alle in ein Nibble.
Und wenn jetzt n Samples kommen, die >15 LSB auseinander liegen hast du 
jedes Mal 12Bit anstatt nur 8. Ausser du begrenzt die Signalfrequenz 
durch einen LPF am Eingang.

Nehmen wir einen 20MHz Sinus, full-scale und die für deinen Vorschlag 
beste (d.h. flachste) Stelle. Bei 200MS/s ist delta-t 5e-9s, d.h. 5e-9s 
nach dem Scheitelwert ist der wert 0.809. Normiert auf 8 Bit entspricht 
das einem Wert von 206 (0xce), das Delta zum Scheitelwert ist somit 49 
LSB, und deine Komprimierung könnte den 20MHz Sinus nicht abbilden (bzw. 
nur in dem die Datenrate noch erhöht wird). Ich hoffe ich habe keinen 
Fehler gemacht ;)
>
> Zweite Idee: Bei sich wiederholenden Signalen nur Deltas zu dem
> vorherigen Frame übertragen.
Selbes Szenario (20MHz, full scale). Diesmal nehmen wir den 
Nulldurchgang an. Sei ein Sample 2.5e-9s vor und nach dem Nulldurchgang 
(±79, 0x4f). Das Delta beträgt 158 (0x9e), braucht 8 Bit und bringt 
somit keine Ersparnis.

Vektorisieren würde mir einfallen, aber das macht man nicht "einfach mal 
so", glaube ich.
>
> Weiß jemand, wie Kauf-DSOs (picoscope usw.) das machen?
Keine Ahnung.
- Verlustbehaftet komprimieren?
- Vorverarbeitung on-chip? D.h. Aufnehmen bis Trigger und dann nur alles 
"sichtbare" um den Triggerpunkt übertragen.
>
> Aber mal was anderes: Wie soll der µC die Daten verarbeiten?
Gar nicht. Ich würde das alles auf dem PC machen. Ansonsten baut man ja 
gleich wieder ein full-blown DSO.
> Für
> Echtzeit müßte die taktfrequenz des µC doch um ein vielfaches höher
> sein, als die Sample-Frequez.
Jaein. Auswertung durch eine Datenflussarchitektur, also im FPGA. Ich 
weiß nicht, wie das im Detail aussehen kann.
> Also kann der µC doch eh nur "ab und zu
> mal" einen Frame auswerten. Also muss man doch auch nur "ab und zu mal"
> einen Frame per USB übertragen.
Ja, aber wer will denn so etwas?

von Hannes W. (hannes_w)


Lesenswert?

Hans schrieb:
> eine idee für pretriggering habe ich oben schon beschrieben...

Wie Pre-Trigger funktionieren ist klar, nur ist der mögliche Buffer auf 
dem PC sehr viel größer als nur ein paar kiB (und damit ist auch eine 
längere Zeit zwischen dem Ereignis und dem Pre-Trigger möglich.

Ein 200MS/s Scope, was nur 20e-6s am Stück samplen kann … ich weiß 
nicht.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Hans Wilhelm schrieb:
> FPGA-Design will ich keins machen … und für 1gsps dürfte alles was
> so an kleinen fpgas herumfliegt unbrauchbar..
Hannes W. schrieb:
> Einen CPLD/FPGA … würde ich so schnell nicht verwerfen.
Hannes W. schrieb:
> Auswertung durch eine Datenflussarchitektur, also im FPGA.

OK, diese Langsame Entwicklung zum FPGA war bei mir noch nicht 
angekommen.

Hannes W. schrieb:
> D.h. Aufnehmen bis Trigger und dann nur alles
> "sichtbare" um den Triggerpunkt übertragen.

Davon ging ich bisher aus. Du willst also alle Daten (in Worten: 
"alle") zum PC übertragen, ist das Dein Ernst? Da bin ich aber auf die 
Lösung gespannt.

Hannes W. schrieb:
>> Aber mal was anderes: Wie soll der µC die Daten verarbeiten?
> Gar nicht. Ich würde das alles auf dem PC machen.

Dann frage ich mal anders: Was soll denn das STM32F4DISCOVERY tun?

Ein XC7Z010 ist zwar als BGA schwer zu verarbeiten (geht das auch in 
einer Pfanne mit Sand auf dem Küchenherd?) und kostet ca. 105€, aber ist 
vielleicht ein tolles Ein-Chip-DSO.

Ich frage natürlich nicht, um Dich zu ärgern, sondern um zu Dich besser 
zu verstehen, also im Sinne eines Sparringspartners.

von Hannes W. (hannes_w)


Lesenswert?

Torsten C. schrieb:
> Hannes W. schrieb:
>> Einen CPLD/FPGA … würde ich so schnell nicht verwerfen.
> Hannes W. schrieb:
>> Auswertung durch eine Datenflussarchitektur, also im FPGA.
>
> OK, diese Langsame Entwicklung zum FPGA war bei mir noch nicht
> angekommen.

Also letzteres Zitat ist dann doch etwas aus dem Zusammenhang gerissen. 
Das war nur als Beispiel gedacht um zu zeigen, dass die Taktfrequenz bei 
"Echtzeitverarbeitung" nicht unbedingt über der Samplefrequenz liegen 
muss.
Daraus ist nicht zu schließen, dass ich für ein FPGA-basiertes Design 
bin. Ich würde den FPGA, wie schon geschrieben, als glue logic, Muxer 
und ggf. I/O-Erweiterung benutzen. Und auch das nur, falls nötig (glue 
logic kann ja entfallen, wenn die Interfaces µC <-> ADC passen).

Torsten C. schrieb:
> Hannes W. schrieb:
>> D.h. Aufnehmen bis Trigger und dann nur alles
>> "sichtbare" um den Triggerpunkt übertragen.
>
> Davon ging ich bisher aus. Du willst also alle Daten (in Worten:
> "alle") zum PC übertragen, ist das Dein Ernst?
Ja ;)
Auf jeden Fall hätte ich gern ein "großes" (zeitliches) Fenster das ich 
mit voller Samplerate abtasten kann, also quasi einen großen 
Samplebuffer. Gängige DSOs (350€-Klasse) haben wohl so um die 1MPoints, 
bei 8Bit/Sample also 1MByte. Aber irgendwie muss man sich ja abheben ;)
> Da bin ich aber auf die Lösung gespannt.
Da darfst du gespannt bleiben, denn ich habe keine. Mit SuperSpeed USB 
oder GBit Ethernet müsste das aber gehen.

>>> Aber mal was anderes: Wie soll der µC die Daten verarbeiten?
>> Gar nicht. Ich würde das alles auf dem PC machen.
>
> Dann frage ich mal anders: Was soll denn das STM32F4DISCOVERY tun?
Interface spielen. Die Frage ist ja, ob es nebenbei überhaupt noch etwas 
anderes tun kann - der Flaschenhals USB 2.0 bliebe ja bestehen.
Aber ich habe mich im Moment nicht so sehr auf ein STM32 versteift, 
vielleicht kommt ja noch ein besserer Vorschlag.
Mich würde ein Gesamtkonzept freuen, bei dem die einzelnen Komponenten 
gut aufeinander abgestimmt sind, also ein 200MS/s-ADC nicht von einem µC 
ausgebremst wird, oder nur 1kiB (ADC08B200) bzw 4kiB Samplebuffer hat. 
Da weiß ich jetzt schon, dass mir so ein Gerät keine Freude machen wird. 
Zudem sehe ich da auch wenig Sinn für einen Selbstbau, das Teil sollte 
ja schon noch mit ein paar Besonderheiten aufwarten können.
>
> Ein XC7Z010 ist zwar als BGA schwer zu verarbeiten (geht das auch in
> einer Pfanne mit Sand auf dem Küchenherd?) und kostet ca. 105€, aber ist
> vielleicht ein tolles Ein-Chip-DSO.
Naja, das Placing wird schwer. So ganz ohne Placer mit Stereo-Mikroskop? 
Das Löten an sich wird dann schon gehen. Ich habe gestern auch "nur" 3 
Mal einen Chip mit Exposed PAD auf einem umgedrehten Bügeleisen ein- und 
ausgelötet. Nachdem ich den Fehler im Layout gefunden und korrigiert 
habe funktioniert das auch ;)
(Zu) Teuer ist das Mistding aber trotzdem.
>
> Ich frage natürlich nicht, um Dich zu ärgern, sondern um zu Dich besser
> zu verstehen, also im Sinne eines Sparringspartners.
Schon klar.

Ich versteh das Gerät in etwa als SDR, nur anstatt ein schmales Band 
nach der ersten oder zweiten ZF zu samplen, soll das Baseband in 20MHz 
Bandbreite mit 200MS/s gesampled werden. Dass das nicht ganz einfach 
ist/wird, ist klar. Auch das vielleicht andere im Thread andere Ziele 
haben. Aber man kann ja drüber reden. Vielleicht kann mich ein anderes 
Design ja doch überzeugen.

von Hannes W. (hannes_w)


Lesenswert?

Torsten C. schrieb:
> Dann frage ich mal anders: Was soll denn das STM32F4DISCOVERY tun?

Anders gefragt: was soll denn der PC machen? Nur Display-Ersatz?

von GS (chromosoma)


Lesenswert?

Mensch. Nimmt einfach mein Acquisition Modul.Verbindet es mit  ST 
discovery, und fertig ist die Sache:)

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Böser Kommunist schrieb:
> Nimmt einfach mein Acquisition Modul.
Bin aus den Threads nicht recht schlau geworden. Ich finde viele Fragen, 
einige Antworten, aber keine Beschreibung.

Böser Kommunist, wie wär's hiermit?

http://www.mikrocontroller.net/wikisoftware/index.php?title=Chromosomas_Acquisition_Modul&action=edit

Hannes W. schrieb:
>> Dann frage ich mal anders: Was soll denn das STM32F4DISCOVERY tun?
> Interface spielen. Die Frage ist ja, ob es nebenbei überhaupt noch etwas
> anderes tun kann - der Flaschenhals USB 2.0 bliebe ja bestehen.

Ich dachte, wir sind schon bei USB3 angekommen, sonst wird das nix.

Aber mit 168 MHz 640 MByte/s übertragen?

Auf dem STM32F4DISCOVERY ist nur ein 8MHz-Quarz.

Hannes W. schrieb:
> Anders gefragt: was soll denn der PC machen? Nur Display-Ersatz?

Ist schon OK, wenn der PC alles macht. Aber wie kommen die Daten so 
schnell in den PC?

von Hans W. (Firma: Wilhelm.Consulting) (hans-)


Lesenswert?

Ok dann fangen wir mal an kompromisse zu machen und splitten wir jetzt 
mal das ganze in 4 teile is im raum stehen:

1.) Alles fällt und stirbt mit der Software

2.) die 1/3 channel variante nur mit einem F4Discovery (bzw halt irgend 
einem dev-board) ist sicher für ziemlich viele elektronik einsteiger, 
studenten, schüler,... interessant da billig

3.) Discovery mit vergewaltigtem DMA-Sampling ist ein schritt in 
richtung "richtigem" DSO und könnte (solange usb2 reicht) auch SDR leute 
anlocken.

4.)CPLD/FPGA Design


1.) und 2.) würde ich parallel machen.

Einerseits weil man damit viele mitstreiter finden kann wenn man eine 
günstige experimentierplattform hat und und anderseits weil nicht 
allzuviel aufwand.

den Trigger könnte man ürigends mit dem Analog-Watchdog-Feature 
implementieren. Ein einfaches DSO wäre also wirklich mit einem 
Analogfrontend allein drinnen!

Wenn man das in der firmware vorsieht kann man ja auch locker I2C 
Address-Match Trigger einbaun,... die "hardware-decoder" wären ja im 
chip :)

3.) sehe ich als sinnvollen schritt, da man das board damit zum 
aquisition-system hernehmen kann... solangs usb hergibt, bekommt man die 
daten zum pc..

schon 10msps bei 16bit dürfte sogar vielen SDR-leuten gefallen...

müsste man halt im konzept bedenken, dass die anzahl der kanäle 
variieren kann...

4.) ehrlich gesagt kenn ich mich (leider) damit (zu meiner schande) 
zuwenig aus... würds aber cool finden über so ein projekt da 
reinzufinden.

auch hier würde ich einfach eine fertige hardware nehmen und max ein 
analog-frontend dazubaun... wenns so einmal geht kann man eh noch immer 
eine schönere hardware bauen.. aber 4layer+ kosten einfach zuviel als 
das es viele nachbauen würden.

man findet ja auch günstige pld-boards... z.b.
http://at.farnell.com/lattice-semiconductor/lcmxo2280c-b-evn/board-breakout-machxo-2280/dp/2253065 
nur cpld+programmer um <25e

http://at.farnell.com/terasic-technologies/p0082/entw-bord-de0-nano-fpga-cyclone/dp/2076463 
fpga-board um ca 75e

http://at.farnell.com/altera/dk-dev-5m570zn/entwicklungskit-max-v-cpld/dp/1862386 
hat noch mehr interessantes zeugs drauf

gäbe also da sicher auch nettes boards <100e die man misbrauchen könnte.

von Christian R. (supachris)


Lesenswert?

Schau dir mal den Cypress FX3 an, ist ein USB 3.0 SuperSpeed Controller 
mit ARM9 Kern, 512kByte RAM und schnellem parallelem Interface. Der kann 
quasi ohne externe Logik 400MB/s in die internen Speicher bewegen, da 
kannst du 4 A/D Wandler mit je 8 Bit parallel anschließen und mit 
100MS/s auslesen. Da guckt der STM bloß blöd aus der Wäsche. Kostenpunkt 
etwa 30€, allerdings BGA, müsste man dann ein Demoboard nehmen.

von Hans W. (Firma: Wilhelm.Consulting) (hans-)


Lesenswert?

dummerweise wollen die für das demoboard fast 250e :(

trotzdem danke für den tipp!

das discovery war ja nur wegen dem preis eine idee... immerhin muss es 
deutlich günstiger sein wie die entry-level dinger um überhaupt eine 
daseinsberechtigung zu haben... und oft würde ja auch 1-10MHz 
analogbandbreite reichen...

73

von GS (chromosoma)


Angehängte Dateien:

Lesenswert?

Na,  die WIKI webseite mache ich erst, wenn ich das Protoyp zusammenbaue 
und teste:)

 Also, für dich erkläre ich es noch einaml.


Ich benutze drei ADC08200 mit max. 200 MHZ. Jeder ADC besitzt  eigenen 
DAC5311. Mit diesen DAC kannst du  die Vref für ADC einstellen.

D.h. die Spannung von 0 bis  Vref wird in  8 Bit aufgelöst. Das ist sehr 
hilfreich, wenn du weiss, dass dein Signal  1 Vpp hat, kannst du auch 
diesen 1 Volt  mit 256 Stellen auflösen.

Die DAC's werden  durch die SPI-Schnittschtelle programmiert.

Sowohl die ADC'a als auch die DAC sind an CPLD (MAX II 570LE) 
angeschlossen. Die ganze Konfiguration (CLK-teilung für ADC, Vref- 
Einstellung, Triggerung etc) erfolgt von hier. Als Haupttakt dient FOX 
Electronics XO mit 250 MHz (+- 10ppm). Dieser takt wird je nach 
Einstellung  geteilt, und  an die ADC geleitet.Somit ist die Samplerate 
( und somit auch der Energieverbrauch) variabel.
 Das Modul Besitzt 3 BNC buchsen, JTAG für  CPLD Programmierung, 
insgesamt 47 GPIO(!!) und 7 LED'S.

 Alle Bauteile habe ich schon zuhause liegen, und die 4-Layer PCB ist 
schon bestellt.
Außerdem ist die Firmware (in VHDL) für das CPLD fast fertig. Die 
Firmware erlaubt externe Steuerung des Modules.
Das bedeutet du kannst von deinem ST Discovery an das Modul die  Befehle 
senden, und "live" die Abtastrate, Referenzspannung etc.  einstellen.

Anbei die finale Version des Moduls


Falls du Fragen hast=>Frag einfach;)

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Hans Wilhelm schrieb:
> 4.) ehrlich gesagt kenn ich mich (leider) damit (zu meiner schande)
> zuwenig aus... würds aber cool finden über so ein projekt da
> reinzufinden.

Ich habe vor 20 Jahren in meiner Diplomarbeit eine Xilinx FPGA 
eingesetzt. Damals war das noch was für Leute, die sich auskennen und 
Geld für die teure Software hatten.

Letztes Jahr habe ich ich mal wieder ein FPGA-Design gemacht, einen MIDI 
Patcher. Die Tools sind inzwischen kostenlos und sogar was für Oma Emma:

Einfach Schieberegister, Flipflops, Multiplexer usw. wie bei Eagle aus 
'ner Bibliothek zusammenklicken, Baustein auswählen, auf den Knopf 
drücken und schauen, ob's rein paßt oder der nächst größere Baustein her 
muss. Also:

**** Die Ausrede zählt nicht! ****

von GS (chromosoma)


Lesenswert?

Ich finde FPGA "programmierung" sogar einfacher als  µC:)
Du beschreibst einfach was du willst;)

von Hannes W. (hannes_w)


Lesenswert?

Böser Kommunist schrieb:
> Mensch. Nimmt einfach mein Acquisition Modul.Verbindet es mit  ST
> discovery, und fertig ist die Sache:)

Ich habe jetzt noch einmal deinen Schaltplan angesehen. Ich sehe 
irgendwie dein Analog-Frontend nicht im Schaltplan. Also AC/DC-Kopplung, 
frequenzkompensierter Spannungsteiler, PGA/VGA, etc. pp. Das ganze in 
CAT I. Ich fragte ja schon nach einem Analog-Frontend. Also ist nix mit 
verbinden und fertig, denn dann habe ich ja schonmal mindestens zwei 
Platinen, die ich fertigen lassen müsste.

Böser Kommunist schrieb:
> Ich benutze drei ADC08200 mit max. 200 MHZ. Jeder ADC besitzt  eigenen
> DAC5311. Mit diesen DAC kannst du  die Vref für ADC einstellen.
>
> D.h. die Spannung von 0 bis  Vref wird in  8 Bit aufgelöst. Das ist sehr
> hilfreich, wenn du weiss, dass dein Signal  1 Vpp hat, kannst du auch
> diesen 1 Volt  mit 256 Stellen auflösen.

Haha. Das ist ja nur die halbe Wahrheit. Vrb liegt bei dir auf GND, d.h. 
wenn ich ein Signal mit 1 Vpp und einem Offset von 1 V habe, wars das 
mit den 8 Bit.

Torsten C. schrieb:
> Ich dachte, wir sind schon bei USB3 angekommen, sonst wird das nix.

Ok. Ich war mir nicht sicher, ob du nun so Recht überzeugt warst, alles 
zu übertragen.
Ich habe übrigens keinen Computer mit USB3 ;)

Christian R. schrieb:
> Der kann
> quasi ohne externe Logik 400MB/s in die internen Speicher bewegen, da
> kannst du 4 A/D Wandler mit je 8 Bit parallel anschließen und mit
> 100MS/s auslesen.

4 Channel, 100MS/s ist sicher auch nicht verkehrt.

Hans Wilhelm schrieb:
> 1.) Alles fällt und stirbt mit der Software
Und der Hardware. Ich habe noch nie ein USB2.0 HighSpeed Hardware Design 
gemacht, geschweige denn USB3.0 SuperSpeed. Habt ihr da Erfahrungen?

> 2.) die 1/3 channel variante nur mit einem F4Discovery (bzw halt irgend
> einem dev-board) ist sicher für ziemlich viele elektronik einsteiger,
> studenten, schüler,... interessant da billig
Ich entwickele ja nicht für andere.
>
> 3.) Discovery mit vergewaltigtem DMA-Sampling ist ein schritt in
> richtung "richtigem" DSO und könnte (solange usb2 reicht) auch SDR leute
> anlocken.
Dito.
>
> 4.)CPLD/FPGA Design
Naja, Konzept/Blockschaltbild/konkrete Anforderungen wären schon mal 
nicht schlecht. Es fliegen ja recht viele Ideen durch den Raum.

Ich habe noch etwas über Triggerung nach gedacht und weiß nicht recht, 
wie das gemacht wird, wenn der Trigger im darstellbaren Bereich mehrfach 
auftritt. Zum Beispiel:
- Trigger: fallende Flanke bei 0.25 V
- Signal: Sinus 1 Vpp, zentriert um 0 V.
Wie triggert man jetzt, wenn man mehrere Perioden darstellt? Jede 
Periode einzeln? Also man verschiebt das Signal nur um n Samples?

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Hannes W. schrieb:
> Ok. Ich war mir nicht sicher, ob du nun so Recht überzeugt warst, alles
> zu übertragen.

Bin ich auch noch nicht. ;-) Entweder ich habe ein Oszilloskop mit sich 
wiederholenden Mustern oder ich nutze "Single-Shot" oder ich nutze einen 
LA.

In den beiden ersten Fällen reicht es m.E., wenn ich 10 oder 20 mal pro 
Sekunde ein neues Bild bekomme.

Hannes W. schrieb:
> Wie triggert man jetzt, wenn man mehrere Perioden darstellt? Jede
> Periode einzeln? Also man verschiebt das Signal nur um n Samples?

Wenn man das mit den 10 oder 20 Bildern pro Sekunde macht^^, dann 
triggert man immer nur auf das erste Eintreten des Triggers im Bild. 
Mein 20 Jahre altes Oscar hat noch eine variable "Hold-Off"-Zeit, falls 
man z.B. nur jeden vierten Trigger braucht, aber 5 Trigger-Bedingungen 
auf dem Bild sind. Damit kann man die nächsten 3 überspringen und 
bekommt in stehendes Bild.

Das PC-Programm könnte per Muster-Vergleich (Kreuzkorrelation) ja eine 
"Hold-Off-Automatik" bieten.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

PS: Anders sieht das im FFT-Modus aus.

Braucht man FFTs als "Filmchen" mit mehr als 10 Aktualisierungen pro 
Sekunde?

Falls nicht, sollte man m.E. auf dem PC 'ne Eigabemöglichkeit für einen 
Frequenzbereich haben. Daraus ergibt sich auch das notwendige 
Messfenster (Zeitraum), die notwendige Sample-Rate und damit die 
erforderliche Datenmenge. Diese Daten werden dann als "Einmal-Befehl" 
per USB an das STM32F4DISCOVERY geschickt.

Wenn die notwendige Sample-Rate unter der HW-Sample-Rate liegt, kann das 
STM32F4DISCOVERY per Interpolation downsamplen, damit die Datenmenge 
nicht unnötig groß ist. Die FFT kann dann im PC gerechnet werden.

von Hans (Gast)


Lesenswert?

naja verilog/vhdl sind eben wieder eine sprach mehr... um ein halbwegs 
gutes design rauszubekommen dauerts meiner erfahrung halt..

naja sei's wie's sei ;)

ich befürchte nur, dass mit einem fpga/pld design die kosten einfach 
explodieren werden....

200MSPS würden 2 10ns ram-bänke bedeuten... => 24*2 pins nur für den 
speicher von 1nem kanal...

also zumindest ein tqfp 144 pro kanal => min. 4 layer um vernünftige 
performance zu bekommen => teuer zum nachbauen... da stellt sich dann 
die frage der sinnhaftigkeit...

alternativ 4ns speicher sind auch verhältnismäßig teuer...

naja ich bleib dabei:

zuerst bediensoftware machen/anpassen mit günstiger hardware und die 
option für die anbindung beliebiger anderer hardware vorsehen. damit ist 
allen am meisten geholfen... hoffe ich :)

wenn ich mir die preise und die qualität der entry-level scopes 
anschaue, würde ich gefühlsmäßig bei der samplingrate niedriger bleiben 
und dafür mit dem dynamikbereich punkten... 16bit 50-150msps mit 64k 
samples speicher würden z.b schon einen brauchbaren spektrumanalyzer für 
viele anwendungen abgeben.

vielleicht ist das eh der weg zu einem open-hardware/software scope... 
man bietet eine plattform (visualisierungs software) die möglichst viele 
hardware-implementierungen unterstützt und bietet die möglichkeit jedem 
sein ideales frontend zu bauen.

modifizierte soundkarte, das stm32-board, einen arduino für diejenigen 
mit wenig/keinen anforderungen
sowas wie das gepostete cpld/fpga board wenns schneller sein soll oder 
625ksps@24bit für audio-freaks zum snr und thd messen... alles zu 
konträre anforderungen um sie zu vereinen

reden wir also einmal über das interface zum pc...

eth und usb sind ja eigentlich die einzigen optionen... gibts schon 
standard-protokolle?

VISA kenn ich ... gibts noch andere?

73

von Hannes W. (hannes_w)


Lesenswert?

Hmhm.

Ein "richtiges" DSO der Einsteigerklasse hat ja meist so 1GS/s bei 
1Mpoints Speicher, reicht also für ne Millisekunde bei voller 
Samplingrate. Bei 200MS/s wären das 200kPoints. Mit den 192kiB Speicher 
des F4, kommt das mit ach und krach hin, schöner wäre natürlich ein Chip 
mit 256kiB (oder mehr).

Nur liegt die FSMC-clock beim F4DISCOVERY bei 60MHz …
Gut, dafür könnte man ja wieder auf 4-Channel gehen, aber die Bandbreite 
(bei 60MS/s) leidet da schon sehr, da bin ich mir nicht sicher, ob sich 
das lohnt - ich würde bei meinem 5MHz Analog Scope bleiben.

von Hans (Gast)


Lesenswert?

der f407 könnte nur 2 kanalig samplen weil max 16bit datenbus... f437 
könnte mehr...

ja, ich geb zu es wäre ziemlich eingeschränkt. 1gsps bringst du aber um 
den rigol-preis nicht hin. ich bezweifle das sogar schon bei 200msps...

daher war ja die überlegung das maximum aus dem minimum herauszuholen. 
und das discovery würde so ein optimum darstellen glaube ich.

sonst bleiben noch immer die spezialanwendungen und der lerneffekt.

es spricht ja überhaupt nix dagegen z.b auf einen i2c address-match zu 
triggern und 3x 2.4msps analog zu samplen und 16bit logic... scopes die 
das können sind meineswissens nicht günstig und anwendung in der art 
kommen in der realität durchaus vor.

ich glaube daher am sinnvollsten (nach der diskussion hier im thread) 
dürfte ein gemeinsames visualisierungs-tool und übertragungsprotokoll 
sein mit dem alle diese frontends funktionieren.

das aquisition board oben ist sicher auch für einen bestimmten zweck 
optimiert. gäbe es eine software die mit einfachen mitteln dazu gebracht 
werden kann daten zu holen würde das ja einen mehrwert für jederman 
bedeuten.

wie gesagt, cplds würden mich auch reizen. nur wirds bei mir beim 
debuggen von einem 100msps scope schon langsam eng mit den messmittel 
(hab nur ein 4gsps scope zur hand)... gut ich könnte mir das große R&S 
oder lecroy scope herholen und einen RF generator, klein anfangen ist 
aber für mich irgendwie der sympathischere weg.

nichts desto trotz sehe ich zumindest beim visualisieren und 
postprocessen durchaus die möglichkeit zusammenzuarbeiten um was cooles 
auf die beine zu stellen.

73

von Hannes W. (hannes_w)


Lesenswert?

Hans schrieb:
> ja, ich geb zu es wäre ziemlich eingeschränkt. 1gsps bringst du aber um
> den rigol-preis nicht hin. ich bezweifle das sogar schon bei 200msps...
Will ich ja gar nicht. Kann ich auch gar nicht. Ein Gigasample-Scope 
kaufe ich und mit einem Lernprojekt kann man kein kommerzielles Produkt 
preislich unterbieten.
>
> es spricht ja überhaupt nix dagegen z.b auf einen i2c address-match zu
> triggern und 3x 2.4msps analog zu samplen und 16bit logic... scopes die
> das können sind meineswissens nicht günstig und anwendung in der art
> kommen in der realität durchaus vor.
Dafür würde ich nun wieder meinen 10€-China-"Logic Analyzer" nehmen.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Hannes W. schrieb:
> Dafür würde ich nun wieder meinen 10€-China-"Logic Analyzer" nehmen.

Oops, habe ich mit 90€ zuviel bezahlt? Ich habe gestern gerade das ebay 
121096923360 erhalten.

von Hans (Gast)


Lesenswert?

Was schlägst du also vor?

designen wir grundsätzliche building-blocks die ich am stm32 verwende 
und du am xxxMSPS cpld design?

wie gesagt sehe ich den aufwand im software backend damit man was 
verwendbares rausbekommt.

je schneller wir unsere minimalanforderungen umgesetzt haben, dest 
schneller wird irgendwer anders irgendwelche coolen sachen dazutun die 
er gerade braucht.

wie ich sehe lässt mit gnuradio auch ein scope basteln...für deine SDR 
anwendung doch perfekt oder?

ich nehme an, dass du mit sdr im hinterkopf sowieso andere anforderungen 
ans frontend haben wirst... 8bit sind halt nicht unbedingt viel dynamik 
bereich...

laut wikipedia gehen im isochronen übertragungsmodus 24mb/s. 
2bytes/sample würden 12msps bedeuten bzw bei I/Q sampling 6msps/s

wäre ja auch ein gangbarer weg.. 1/2 channel usb-samplingmodul... nicht 
ganz die 20MHz bandbreite die du dir vorstellst aber doch ein anfang 
oder???

für gigabit ethernet/usb3 werden die hw-anforderungen eben etwas 
steigen...

73

von Hans (Gast)


Lesenswert?

upps hab mich verschaut... 24MB/s pro isochronen endpunkt.. also 
I/Q-Sampling mit 2x12msps wären drinnen...

73

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Hans schrieb:
> wie gesagt sehe ich den aufwand im software backend damit man was
> verwendbares rausbekommt.

Also ich habe schon viele Applikationen mit Visual Studio und deren 
Vorläufern entwickelt. Ich finde, da bekommt man schnell "was 
verwendbares" hin. Allerdings habe ich nun auch schon ein paar Jahrzehne 
Erfahrung damit gesammelt. Als Neueinsteiger sieht das vielleicht anders 
aus.

von Hannes W. (hannes_w)


Lesenswert?

Torsten C. schrieb:
> Oops, habe ich mit 90€ zuviel bezahlt? Ich habe gestern gerade das ebay
> 121096923360 erhalten.
Ne. Ich hab so ein für-billig-Teil 8-Kanal, 24MS/s mit Cypress FX2.

Hans schrieb:
> designen wir grundsätzliche building-blocks die ich am stm32 verwende
> und du am xxxMSPS cpld design?
Ich designe erstmal gar nichts (alleine schon gar nicht - wird ja nie 
fertig). Mich interessierte halt deine Idee und da habe ich etwas mit 
diskutiert.

Hans schrieb:
> wie gesagt sehe ich den aufwand im software backend damit man was
> verwendbares rausbekommt.
Ja, da hast du wohl recht; gerade wenn es Multi-Plattform wird/werden 
soll.
Ich muss gestehen, mir schwirrt ja immer noch OpenGL im Kopf rum. Damit 
kann man dann bestimmt auch schickes digital phosphor zeichnen. Es gibt 
auch einige (rudimentäre) Implementierungen von Oszilloskopanwendungen 
in OpenGL. Wie das heutzutage mit der Portabilität aussieht, weiß ich 
nicht.
Ich würde wahrscheinlich in Richtung Skriptsprache mit OpenGL-Binding 
gehen. Python, zum Beispiel.

Hans schrieb:
> wie ich sehe lässt mit gnuradio auch ein scope basteln...für deine SDR
> anwendung doch perfekt oder?
Ich habe keine SDR-Anwendung. Das war nur als Hilfe gedacht, um zu 
erklären wie ich mir so ein System vorstellen könnte.

Hans schrieb:
> laut wikipedia gehen im isochronen übertragungsmodus 24mb/s.
> 2bytes/sample würden 12msps bedeuten bzw bei I/Q sampling 6msps/s
Und wenn die Datenrate für den isochronen Transfer nicht zur Verfügung 
steht? Die 48MiB/s sind ja nahe an der theoretischen Grenze. 
Bulk-Transfers als alternative und mit weniger Daten leben oder dem 
Nutzer sagen, dass er jetzt Bitte die Maus und Tastatur abziehen soll ;)

>
> für gigabit ethernet/usb3 werden die hw-anforderungen eben etwas
> steigen...
Ja, Software sicherlich auch.

von Hannes W. (hannes_w)


Lesenswert?

Torsten C. schrieb:
> Hans schrieb:
>> wie gesagt sehe ich den aufwand im software backend damit man was
>> verwendbares rausbekommt.
>
> Also ich habe schon viele Applikationen mit Visual Studio und deren
> Vorläufern entwickelt. Ich finde, da bekommt man schnell "was
> verwendbares" hin. Allerdings habe ich nun auch schon ein paar Jahrzehne
> Erfahrung damit gesammelt. Als Neueinsteiger sieht das vielleicht anders
> aus.

Meine Erfahrung ist, dass es problematisch wird, wenn man 
Low-Level-Graphikprimitive (Punkte) schnell zeichnen möchte. Kann aber 
auch daran liegen, dass ich es falsch gemacht habe. Ich wollte (musste) 
den OO-Ansatz gehen, anstatt die Bitmaps selbst zu manipulieren. Wenn 
man das macht, wird es aber m.E. nach weder einfach noch schnell.

von Hans (Gast)


Lesenswert?

hängt davon ab wie mans macht... für meine dissertation habe ich das 
problem, das ich 1M-punkte+ an daten bekomme und die dann schnell 
darstellen will... wenn man sich was überlegt, wie man das so dezimiert, 
dass man wirklich nur das anzeigt was überhaupt sichtbar ist, dann geht 
das sehr wohl sehr schnell... 1meg punkte einfach so in ein bitmap zu 
tun und dann irgendwie zeichnen zu wollen ist da nicht.. auch nicht wenn 
man hw-beschleunigt agiert...

die 480mbit/s beziehen sich beziehen sich normal auf einen 
port..normalerweise haben aktuelle pc/notebooks mehrere hosts...sollte 
also schon gehen wenn man das teil an die richtige buchse hängt.

naja werd jetzt einmal schaun wie ich zeit für das alles bekomme.. hätte 
ja noch ein paar andere sachen zu tun nebenbei.. auf jedenfall werd ich 
über das ganze mal weiter nachdenken... vllt. gibts ja eines tages 
wirklich was "fertiges" :)

73

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Hannes W. schrieb:
> Meine Erfahrung ist, dass es problematisch wird, wenn man
> Low-Level-Graphikprimitive (Punkte) schnell zeichnen möchte. Kann aber
> auch daran liegen, dass ich es falsch gemacht habe. Ich wollte (musste)
> den OO-Ansatz gehen, anstatt die Bitmaps selbst zu manipulieren

Also ich habe letztens für sowas 'ne Freeware-Bibliothek genutzt, die 
API ist OO und nutzt "im Hintergrund" unmanaged code. Das geht super 
fix.

Aber das nützt alles nix, falls hier Winzigweich nicht en vogue ist und 
falls alles Richtung "Multi-Plattform" und "Skriptsprache" geht.

Falls "Multi-Plattform", dann bitte Java! Aber dann kann ich nicht 
helfen.

von Hans W. (Firma: Wilhelm.Consulting) (hans-)


Lesenswert?

multiplattform heißt bei mir Qt und C++...

oo heißt nicht grundsätzlich "managed" code... das ist eine hirnrissige 
idee wie man leute davon abhält scheisse zu baun.... naja wurscht... 
werd mir mal anschaun was sich bei Osqoop getan hat... das war 
eigentlich schon halbwegs brauchbar und recht einfach zu adaptieren...

73

von W.S. (Gast)


Lesenswert?

Hannes W. schrieb:
> Meine Erfahrung ist, dass es problematisch wird, wenn man
> Low-Level-Graphikprimitive (Punkte) schnell zeichnen möchte.

Nö.
Das kommt alles auf den Ansatz an. Wenn du mit nem MemDC und TBitmaps 
arbeitest und dort mit MoveTo und DrawTo (oder war's LineTo?) oder bei 
WinCE mit PolyLine arbeitest und das Ganze dann per BitBlt ins 
eigentliche Fester hievst, dann geht das selbst auf nem Pentium1 
schneller als du gucken kannst.

W.S.

von Hannes W. (hannes_w)


Lesenswert?

W.S. schrieb:
>> Meine Erfahrung ist, dass es problematisch wird, wenn man
>> Low-Level-Graphikprimitive (Punkte) schnell zeichnen möchte.
>
> Nö.
> Das kommt alles auf den Ansatz an. Wenn du mit nem MemDC und TBitmaps
> arbeitest und dort mit MoveTo und DrawTo (oder war's LineTo?) oder bei
> WinCE mit PolyLine arbeitest und das Ganze dann per BitBlt ins
> eigentliche Fester hievst, dann geht das selbst auf nem Pentium1
> schneller als du gucken kannst.

Ich wollte "ohne Low-Level-Graphikprimitive" schreiben. Ich habe/musste 
es ja objektorientiert gemacht (war halt 'ne akademische Übungsaufgabe). 
Schnell genug war das auch, nur hatte ich dann unnötig hohe CPU-Last.

von igor (Gast)


Lesenswert?


von Hans (Gast)


Lesenswert?

Ich glaube die interface-frage erübrigt sich... laut usb-audio spec ist 
die höchste mögliche sampling frequenz 8388607Hz... also könnte man das 
Discoveryboard sich als ein 7.2MHz Mono Mic und 1MHz Stereo Speaker USB 
dongle ausgeben lassen... => 0 Programmierarbeit und die ganze soundcard 
osci-programme würde auch funktionieren :)

73

von GS (chromosoma)


Lesenswert?

So wie ich dachte. Viel Enthusiasmus, viel Gerede und Fantasie, and am 
Ende  wird es nicht mal angefangen:))

von Hans (Gast)


Lesenswert?

??? vgl. meinen letzten mit meinem 1. post...

73

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Hans schrieb:
> wenn 2 die selbe idee haben, dürfts nachforschentswert sein ;D

Hat denn mal jemand geforscht, oder sind alle im Urlaub?

Ich bin jetzt jedenfalls erstmal (fast) weg.

von Hans W. (Firma: Wilhelm.Consulting) (hans-)


Lesenswert?

könnte gehn, hat aber den pferdefuß mit max 14-bit und max 54mhz

dafür ließe sich ein analoger trigger an an h-sync oder v-sync 
dranhängen und damit das eigentlich sampling starten...

bin mir aber nicht ganz sicher was sie mit 54MB/s bei 54Mhz meinen.. 
sollte doch 14-bit*54MHz sein.. oder es geht bei 14-bit die halbe 
datenrate flöten damit sich das auf 2 bytes aufsplitten für den fifo...

genauer hab ich mir das aber noch nicht angeschaut... job&diss sind grad 
etwas stressig...

73

von W.S. (Gast)


Lesenswert?

Hannes W. schrieb:
> Ich wollte "ohne Low-Level-Graphikprimitive" schreiben. Ich habe/musste
> es ja objektorientiert gemacht (war halt 'ne akademische Übungsaufgabe).
> Schnell genug war das auch, nur hatte ich dann unnötig hohe CPU-Last.

Hä?

Ich kann deine Worte zwar lesen, aber keinen Sinn sehen. 
Objektorientiert heißt eben auch, daß du für grafische Aufgaben, die von 
den vorhandenen Objakten nicht erledigt werden, dir ein eigenes Objekt 
schreibst - und da kommst du eben nicht drum herum, dich um die Basis 
der Dinge zu kümmern. Von akademischen Übungsaufgaben, die von ihrer 7. 
Wolke nicht herunter kommen wollen oder können halte ich nix. Und wie du 
wohl gesehen hast, erzeugt die unsachgemäße Verwendung von ungeeigneten 
Objekten eben eine irre Prozessorlast. Versuche zu lernen, wie man es 
richtig macht und nicht, wie man es irgendwie hinkriegt. ich hatte vor 
geraumer Zeit hier mal nen Beitrag über Lndkarten auf dem uC gepostet, 
dort auch nen Viewer für den PC. Bei dem kann man die ganzen Karte 
lustig mit der Maus in alle Richtungen verschieben - und das mit viel 
mehr einzeln gesetzten Pixeln als bei deiner Anwendung. Es geht also - 
aber eben mit einem dem Problem angepaßten Objekt.

W.S.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

W.S. schrieb:
> Ich kann deine Worte zwar lesen, aber keinen Sinn sehen.

Das ist doch für dieses Projekt egal. Hannes hat doch nur erzählt, 
dass er sowas schon mal gemacht hat und dass man es für dieses Prokekt 
vllt. anders machen würde. Das wird derjenige, der es umsetzt auch 
sicher so machen, wie Du sagst.

Ich würd's in VisualStudio ja auch so machen, wie Du sagst, aber es war 
ja Plattformunabhängigkeit gefordert …

von Hans (Gast)


Lesenswert?

wars nicht... zumindest nicht von mir...

kleine update: das discovery hat leider keinen extra phy für usb... also 
nur langsames usb.

dafür läuft der virtuelle com-port und ein einzelner adc liefert 
3.8MSPS@8bit bei mir am tisch... nicht schlecht...


73

von Hans (Gast)


Angehängte Dateien:

Lesenswert?

sooo das mittagspausen ergebnis... die adcs rennen interleaved bei 
12msps@12bit.

das ergebnis ist angehängt...

plot(20*log10(abs(fft(foo(:,2)-mean(foo(:,2))))+1e-100))

plot((foo(:,2)-mean(foo(:,2))))

scheint sich ganz gut übertakten zu lassen der f4 (240Mhz clock).. hätte 
ich nicht gedacht. (6bit single channel wären dann 6,7msps)

das testsignal kommt von einem dsox3024a 100kHz 2,5Vpp mit 1.5V offset

73

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Hans schrieb:
> sooo das mittagspausen ergebnis... die adcs rennen interleaved bei
> 12msps@12bit.

cool.

Hans schrieb:
> 6bit single channel wären dann 6,7msps

Bei der Rechnung komme ich noch gedanklich nicht ganz mit.

Welche ADCs hast Du jetzt genommen und wie angeschlossen? Oder hast Du 
die integrierten ADCs aus dem µC genommen?

Ich würde mir auf Lochraster o.ä. auch gern ein Exemplar nachbauen, um 
es parallel weiter zu entwickeln.

Hans schrieb:
> also nur langsames usb.

12 Mbit/s sind aber immer noch mehr als 115 Kbit/s mit virtuellem 
com-port.

von Hans (Gast)


Lesenswert?

240MHz sysclk => /2 => APB2 block /2 => adc-convertion-clk

6bit brauchen 9 clkcs=> 60/9=6.67MSPS
8bit =>5.54
10bit=>4.6
12bit=>4msps

beim interleaving dauert es nach dem samplen 2 clks damit der ADC zum 
convertieren anfängt. daher 3clks sampling+2=5; lässt man das alle 3 
hintereinander tun dauert es 15 => es wird drei mal so schnell  => 
12msps

hoffe das ist so verständlich... sonst nachzulesen im ref-man kapitel 
11.7 und 11.9.3 ...

ADCs habe ich (vorerst) die internen genommen.

software ist nur das F4-eval board sample mit dem virtual-com-port 
vermischt mit dem interleaved adc-sample vom discovery-board.

aufpassen das die pll richtig initialisiert ist!

bei mir läufts mit dieser pll-config:
/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */
#define PLL_M      8
#define PLL_N      240

/* SYSCLK = PLL_VCO / PLL_P */
#define PLL_P      2

/* USB OTG FS, SDIO and RNG Clock =  PLL_VCO / PLLQ */
#define PLL_Q      10

73

von Hans (Gast)


Lesenswert?

Übrigends habe ich glaubich eine methode gefunden 8bit 100msps/channel 
zu bewerkstelligen...

der FSMC-Mode C dürfte in komibation mit zwei 60mhz AD9283 
funktionieren...

der eine bekommt NOE als encode trigger, der 2. NADV mit dem richtigen 
FSMC-timing sollten dann beide ihre 8bit getrennt an die datenleitungen 
legen und damit mit 60MHz FSMC-clock theoretisch 120 MSPS ergeben.. die 
busse müssten nur 30MB/s verschieben da das interface 32bit anfragen 
automatisch auf 2 16bit transaktionen aufteilt... grau ist alle 
theorie... ich glaube ich bestell mir demnächst ein paar schnelle ADCs

73

von Hannes W. (hannes_w)


Angehängte Dateien:

Lesenswert?

Hans schrieb:
> hängt davon ab wie mans macht... für meine dissertation habe ich das
> problem, das ich 1M-punkte+ an daten bekomme und die dann schnell
> darstellen will...
Was ist "schnell"? Und mit welchem Abstand musst du das wiederholen?
1 Mpoints "schnell" zu zeichnen ist an sich kein Problem.

Torsten C. schrieb:
> Aber das nützt alles nix, falls hier Winzigweich nicht en vogue ist und
Ist es zumindest bei mir nicht. Und ich kenne nicht Viele, die es 
nutzen.

> falls alles Richtung "Multi-Plattform" und "Skriptsprache" geht.
Du willst Windows, ich möchte OS X, der nächste Linux. Was ist wohl der 
lcd?

> Falls "Multi-Plattform", dann bitte Java! Aber dann kann ich nicht
> helfen.
Warum unbedingt Java? Warum kannst du bei Java nicht helfen?

Hans Wilhelm schrieb:
> multiplattform heißt bei mir Qt und C++...
Das wäre eine Möglichkeit. Es gibt einige Cross-Platform-Projekte die 
andere Sprachen und Bibliotheken benutzen, z.B. wxWidgets oder GTK.
Aber richtig "schön" (im Sinne von: schnell sinnvolle GUIs zu schreiben, 
die maintainable sind) finde ich keine der Lösungen.
Qt hat halt den Vorteil, dass eine Firma dahinter steht, die den Code 
pflegt.

> oo heißt nicht grundsätzlich "managed" code...
Hat das jemand behauptet?
> das ist eine hirnrissige
> idee wie man leute davon abhält scheisse zu baun....
"Managed code" ist erstmal ein Microsoft-Begriff, der nur besagt, dass 
der Code nicht ohne ein VM-artiges Gebilde ("CLR") läuft. Die Vorteile 
sind halt das höhere Abstraktionsniveau und besser Sicherheitsgarantien. 
Warum das hirnrissig sein soll, erschließt sich mir nicht.

Torsten C. schrieb:
>> Ich kann deine Worte zwar lesen, aber keinen Sinn sehen.
>
> Hannes hat doch nur erzählt,
> dass er sowas schon mal gemacht hat und dass man es für dieses Prokekt
> vllt. anders machen würde.
Richtig. Nur nicht "vielleicht" sondern definitiv anders.
> Das wird derjenige, der es umsetzt auch
> sicher so machen, wie Du sagst.
Ich habe mal etwas in OpenGL zusammen gehackt. Alles, was keine 
hardwarebeschleunigten Routinen verwendet, scheint mir ungeeignet zum 
zeichnen der Waveforms.

Auch sonst findet sich nicht viel an Projekten:
- xoscope: GTK, Soundkarte, schein seit 2009 nicht weiter entwickelt zu 
werden
- Osqoop: Qt, Software-Rendering, Soundkarten-Schiene, keine commits 
seit 2011
- glScope, SilleScope: OpenGL Rendering, Soundkarten-Schiene, eher Demos

Da ich wissen wollte, welche Performance ich von OpenGL-Rendering 
erwarten kann, habe ich da mal ein kleines Mockup gemacht. Bei 25 fps 
bekomme ich ca. 50k wfm/s, bei  1600 Samples/Waveform mit Ach und Krach 
auf meiner 4 Generationen (?) alten NVIDIA GeForce 320M hin (so_1600). 
Natürlich mit Alpha-Blending und Multisampling damit das Auge auch was 
davon hat. Die Signaldaten erzeuge ich immer neu und lasse die 
Prozessorlast mal für die Datenaufbereitung bei "echten" Daten stehen. 
Natürlich rechne ich einen kleinen normalverteilten Phasen-Jitter ein, 
damit das digital phosphor aus etwas zu tun hat.
Dann habe ich das Ganze mal auf 400 Samples/Waveform reduziert und das 
sieht noch verträglich aus (so_400, angepasste intensity). Da sind mir 
nun die Lücken zu groß, also muss interpoliert werden. Also mal eine 
kleine sinc-Routine (FFT, zero padding, iFFT) zusammengefummelt (fftw) 
geschrieben und getestet (so_200_sinc_2). Die "normalen" Daten sind rot 
und die Interpolierten blau - man sieht schön die interpolierten Werte 
in den Zwischenräumen der echten Samples. Zum Vergleich (so_200) ohne 
die Interpolierten Werte. 4-fach Oversampling sieht zwar auch schön aus, 
aber die Performance geht 5 fps in den Keller (so_200_sinc_4).

Ich habe keine Ahnung von Computern, daher nehme ich an, dass sich die 
sinc-Interpolation effizienter Implementieren lässt als ich das gemacht 
habe. Z.b. weiß ich jetzt, dass fftw gleichartige FFTs effizienter 
ausführen kann, wenn man ein bestimmtes memory layout berücksichtigt und 
fftw anweist mehere FFTs auf einmal zu machen.
Auch OpenGL kann von einem besseren memory layout profitieren; ggf. sind 
VBAs/VBOs schneller.
Im Moment zeichne ich nur Punkte, ggf. sehen die Kurven schöner aus, 
wenn ich OpenGL zwischen Samples Linien zeichnen lasse.

Hans schrieb:
> ich glaube daher am sinnvollsten (nach der diskussion hier im thread)
> dürfte ein gemeinsames visualisierungs-tool
Nach meinem kleinen Ausflug in die OpenGL-Welt halte ich Qt + GLUT für 
gar nicht so unbrauchbar.
> und übertragungsprotokoll
Da habe ich mir jetzt auch schon ein paar Gedanken gemacht:
- little endian network byte order
- query protocol wodurch sich Hard- und Software auf Samplingrate, 
Skalierung etc einigen, bzw. die Software erfährt, was denn die Hardware 
kann.
- Paket-Header bestehend aus Datenformat (float, uint16, uint12, uint8, 
…), Anzahl der Samples, Index des Triggers (bei Hardwaretrigger), ggf. 
Samplerate/Sampleinterval, …

So far

von Hans W. (Firma: Wilhelm.Consulting) (hans-)


Lesenswert?

schaut nett aus :)

du kannst übrigends direkt aus der Qt heraus mit opengl widgets zeichnen 
... QGLWidget scheint dafür da zu sein.. in kombination mit dem 
QtCreator hat man eine recht nette rapid-prototype-umgebung...


bastle grad an einem discovery shield für 1x 100msps oder 2x 50...

garnicht leicht 2 seitig zu routen wenn man 4+ gewohnt ist und +-5V + 
ground layer bräuchte ... naja platzmäßig schauts noch gut aus... wobei 
mir noch was zum triggern, -5V erzeugung, variable tiefpässe und ein 
usb2 phy fehlen... größe ist genau die des discoverys...

wird auf jedenfall doppelseitig bestückt sein wenns fertig ist...


opvs usw sind alles standard footprints.. also alles was so wie ein 741 
oder 324 ist, sollte verwendbar sein.. mit den einschrängungen des 
jeweiligen derivats natürlich... zusätzlich werde ich versuchen die 
internen ADCs auch dranzuhängen.. damit ist dann auch 12bit high-res 
möglich :)

73

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Hannes W. schrieb:
> Torsten C. schrieb:
>> Falls "Multi-Plattform", dann bitte Java! Aber dann kann ich nicht
>> helfen.
> Warum unbedingt Java? Warum kannst du bei Java nicht helfen?

Zugegeben: Die Begriffe Qt, GLUT usw. sagen mir nix. Was ich meine: 
Viele Leute (so auch ich) wollen möglichst wenige Programme bei sich 
installieren. Firefox, Flash-Player und Java nerven mich schon jetzt mit 
ihren ständigen Updates. Ich möchte nicht noch mehr installieren und 
wäre daher froh, wenn's damit gehen würde.

In Java bin ich nicht fit, da bräuche ich zum programmieren 10x so 
lange, wie in Visual Studio. Gut, wenn ich mir für so ein Projekt Zeit 
nehmen würde, wäre ich anschließend sicher auch in Java etwas fitter. 
;-)

Wenn wir uns auf ein Protokoll geeinigt haben (sicher keine  115 KBit/s 
mit virtuellem com-port), dann kann ja im Grunde auch jeder machen, wie 
er will. Falls ich was mache, würde ich das hier gern auf dem SVN-Server 
ablegen.

Wollen wir schon ein SVN-Verzeichnis beantragen?

Siehe Hilfe:SVN.

von Hannes W. (hannes_w)


Lesenswert?

Hans Wilhelm schrieb:
> schaut nett aus :)
Danke.
>
> du kannst übrigends direkt aus der Qt heraus mit opengl widgets zeichnen
> ... QGLWidget scheint dafür da zu sein..
Ja, so in etwa hatte ich mir das gedacht.
> in kombination mit dem
> QtCreator hat man eine recht nette rapid-prototype-umgebung...
Obwohl ich das eher als Multi-Plattform-Buildsystem missbrauchen würde. 
Ich habe mir über die GUI noch nicht viele Gedanken gemacht, aber ich 
würde von den "üblichen" Interface ([0], [1]) Abstand nehmen. Die 
Bedienkonzepte sind meiner Meinung nach nicht durchdacht und beschränken 
sich darauf ein stand alone-Gerät zu kopieren anstatt die Eingabe- und 
Bedienmöglichkeiten eines PC sinnvoll zu nutzen. Vertikale und 
horizontale Ablenkung würde ich z.B. mit dem Scrollrad der Maus (bzw. 
den entsprechenden Trackpad-Gesten beim Mac) einstellen. Cursor würde 
ich ähnlich der Einrückungen in WYSIWYG-Editoren realisieren, d.h. 
einfach auf eine Art Lineal (in DIVs oder s/V) am Bildschirmrand klicken 
und den Cursor per Drag & Drop bewegen. Ob das Ganze praktisch ist, weiß 
ich (noch) nicht, aber sicherlich Übersichtlicher als der Murks mit den 
Slider, Knobs und Comboboxen.
>
> bastle grad an einem discovery shield für 1x 100msps oder 2x 50...
Ok. 100MSa/s ist ja ganz brauchbar. Hast du einen (vorläufigen) 
Schaltplan den du zeigen möchtest?
>
> garnicht leicht 2 seitig zu routen wenn man 4+ gewohnt ist und +-5V +
> ground layer bräuchte ... naja platzmäßig schauts noch gut aus...
Ui. Willst du das wirklich auf 2 Layern machen? Wie groß wäre denn das 
Shield, damit man mal rechnen kann, was der Preisunterschied zwischen 2- 
und 4-Layern bei Einzelfertigung wäre.
> wobei
> mir noch was zum triggern, -5V erzeugung, variable tiefpässe und ein
Erfinde das Rad nicht neu - geh kopieren [2][3][4]. Alleine die 
entsprechende Evaluation der einzelnen Lösungen (falls überhaupt 
umgesetzt) dürfte lange genug dauern. Vielleicht bieten entsprechende 
Hersteller (TI?) auch schon Designvorschläge.
> usb2 phy fehlen... größe ist genau die des discoverys...
Ich denke der F407 hat die PHY on-chip? Oder meinst du für die 
opto-isolation?
>
> wird auf jedenfall doppelseitig bestückt sein wenns fertig ist...
Das ist ja egal - oder strebst du eine Serienfertigung an?

Torsten C. schrieb:
>> Torsten C. schrieb:
>>> Falls "Multi-Plattform", dann bitte Java! Aber dann kann ich nicht
>>> helfen.
>> Warum unbedingt Java? Warum kannst du bei Java nicht helfen?
>
> Zugegeben: Die Begriffe Qt, GLUT usw. sagen mir nix.
Man muss ja nicht alles kennen, aber: Google?
Warum möchtest du nicht mal über deinen VS-Horizont hinaus illern?
> Was ich meine:
> Viele Leute (so auch ich) wollen möglichst wenige Programme bei sich
> installieren. Firefox, Flash-Player und Java nerven mich schon jetzt mit
> ihren ständigen Updates.
Wie bitte? Wenn du mit deinem Computer ein Aufgabe erfüllen willst, dann 
musst du schon die entsprechende Software installieren.
Die UNIX-Philosophie ist diametral dazu: für jede Aufgabe gibt es ein 
Programm was genau diese eine Aufgabe löst und sonst nichts. Dafür löst 
das Programm diese Aufgabe (hoffentlich) besonders 
gut/effizient/fehlerfrei.
Du musst ja keinen Firefox oder Flash-Player installieren. Wenn dich 
Updates nerven, dann schalte automatische Updates aus, oder stelle sie 
so ein, dass sie ohne dein Zutun ablaufen.
> Ich möchte nicht noch mehr installieren und
> wäre daher froh, wenn's damit gehen würde.
Und du denkst, dass ein Software-Oszilloskop einfach geschrieben wird 
und dann fertig ist? Keine Updates, Fehlerbeseitigung, etc?
>
> In Java bin ich nicht fit, da bräuche ich zum programmieren 10x so
> lange, wie in Visual Studio.
Java ist eine Sprache, Visual Studio eine IDE. Ich bin mir nicht sicher, 
was du genau vergleichst. Möchtest du vielleicht Eclipse 
(Standard-Java-IDE) mit VS vergleichen?
>
> Wenn wir uns auf ein Protokoll geeinigt haben (sicher keine  115 KBit/s
> mit virtuellem com-port), dann kann ja im Grunde auch jeder machen, wie
> er will.
Protokoll != Schnittstelle. Ein Protokoll beschreibt i.A. den 
Verbindungsauf-/abbau, Datenflusskontrolle, Struktur der Nachrichten, 
Fehlerkorrektur, …
Über welche Schnittstelle (USB, Ethernet, UART) das Protokoll 
abgewickelt wird, kann ja dann egal(*) sein. Dann kann wirklich jeder 
machen, was er will.

(*): Natürlich nur, wenn das Interface auch die geforderte Datenrate 
bringt.

Ich stelle mir ein Plugin-System für Softwarestückchen vor, die ich 
jetzt mal "Treiber" nennen würde. Ein Treiber hat auf der einen Seite 
ein festes aber noch zu bestimmendes Interface, damit die GUI mit dem 
Treiber reden kann. Auf der anderen Seite hat der Treiber ein beliebiges 
Interface, was ihm ermöglicht mit beliebiger Hardware zu reden. So kann 
man die GUI auch für den Soundkarten-Kram nutzen, wenn jemand einen 
Treiber schreibt, oder auch komplett andere Hardware ([2], [4]) 
anschließen.

> Falls ich was mache, würde ich das hier gern auf dem SVN-Server
> ablegen.
Das kannst du gerne tun, ich würde eher Git benutzen.

[0] http://www.armkits.com/product/images/2300.gif
[1] http://www.zeitnitz.de/Christian/images/scope_140_small.gif
[2] http://www.opencircuits.com/Oscilloscope#Open_Source_Oscilloscopes
[3] https://code.google.com/p/opendso/
[4] DSOscope: http://ocrg.org/level2pages/project_corner.html

von Hans W. (Firma: Wilhelm.Consulting) (hans-)


Lesenswert?

sorry, aber ich habe svn hassen gelernt... mercurial hab ich am 
shared-webspace rennen würde... alternativ kommt in absehbarer zeit noch 
git auf meinen heimserver oder vps.. da bin ich noch unentschlossen...

der qtcreator ist zum debuggen und gui-designen ziemlich brauchbar.

das mit der gui sehe ich ähnlich... aber zuerst muss das sampling rennen 
:)

der "shield" hat genau die abmessungen des discoverys.. also 66x97mm

nachdem ich jetzt erstmal nur meine theorie ausprobieren will, sind mir 
4-layer derzeit zu häftig... außerdem will ich das dann nicht mehr mit 
eagle routen... und bei uns in der firma hat die IT wieder mal das 
mentor update vermurkst => warten bis ich wieder ein lauffähiges pads 
bekomm...

der controller hat einen fullspeed-phy on-chip. der hat aber einige 
einschränkungen und kann nur 12mbit/s. hab mir das mit dem externen 
angeschaut... das wird unter 4-layer nix...

ein erster layout/schematic vorschlag kommt später am abend... ein 
bisserl fehlt noch...

fertigen würd ichs bei vrint-pcb oder haka-lp lassen... 1ster wär 
wesentlich schneller, kosten wären bei 20e/Stk (wobei bei beiden 2 
mindestens kommen würden)... die chinesen sind mir schlicht zu 
langsam...

als trigger würde ich jetzt vorerst nur die internen ADCs verwenden...

aber mal schaun, vllt bekomm ich da noch irgendwie ein paar komperatoren 
drauf...

ich bin mir übrigends nicht so sicher ob ich die 10mhz analogbandbreite 
mit dem design so überhaupt hinbekomme... gedacht ists eher zum testen 
ob man direkt vom F4 die 100msps zusammenbekommt... für die interen ADCs 
sollts aber reichen...

die ganzen chips für einfache frontends kosten in stückzahl alle so um 
die 3-5e und einzelpreis 10-20e... das ist mir zu viel...für kleinserien 
ok, aber so komm ich bei 4 channels schon mit adcs und frontends in die 
gegend von nem rigol...

für das was mir vorschwebt sind 10msps eigentlich ok, 100 perfekt.. 
dafür würd ich gerne >4 kanäle haben... und das günstig... 100e für den 
prototypen sollten sich ausgehn, und wenn er tut bau ich mir um 400e ein 
8channel scope :)


73

von Hannes W. (hannes_w)


Lesenswert?

Hans Wilhelm schrieb:
> sorry, aber ich habe svn hassen gelernt... mercurial hab ich am
> shared-webspace rennen würde... alternativ kommt in absehbarer zeit noch
> git auf meinen heimserver oder vps.. da bin ich noch unentschlossen...
Hihi. Wenn du SVN hast, was denkst du dann von CVS? ;)

> der qtcreator ist zum debuggen und gui-designen ziemlich brauchbar.
Oh. Der Designer ist so lala aber zum Debuggen ist das Ding nicht zu 
gebrauchen.

> der "shield" hat genau die abmessungen des discoverys.. also 66x97mm
Da würde die 4-Layer-Platine ~35€ beim Jakob hier aus dem Forum kosten.

> nachdem ich jetzt erstmal nur meine theorie ausprobieren will, sind mir
> 4-layer derzeit zu häftig...
Ok. Verständlich. Hast du schon mal HighSpeed USB geroutet? Auch auf 
Duallayer? Funktioniert das mit der Impedanzanpassung?
> außerdem will ich das dann nicht mehr mit
> eagle routen... und bei uns in der firma hat die IT wieder mal das
> mentor update vermurkst => warten bis ich wieder ein lauffähiges pads
> bekomm...
>
> der controller hat einen fullspeed-phy on-chip.
Ja, ich hab's gerade gelesen. Warum die das gemacht haben, soll mir ein 
Rätsel bleiben. Kostet eine HS-PHY so viel mehr?
> hab mir das mit dem externen
> angeschaut... das wird unter 4-layer nix...
Der Vorteil einer externen PHY ist, dass man gleich die opto-isolation 
mit rein designen kann. Wer die nicht will, kann ja dann die Pads 
brücken, o.Ä.
>
> ein erster layout/schematic vorschlag kommt später am abend... ein
> bisserl fehlt noch...
Keinen Stress.
>
> fertigen würd ichs bei vrint-pcb oder haka-lp lassen... 1ster wär
> wesentlich schneller, kosten wären bei 20e/Stk (wobei bei beiden 2
> mindestens kommen würden)... die chinesen sind mir schlicht zu
> langsam...
Ok. Bei mir kann's ruhig dauern, wenn es ein paar Euro günstiger kommt. 
Ist immerhin nur Hobby.
>
> als trigger würde ich jetzt vorerst nur die internen ADCs verwenden...
Also per Software? Oder gibt es da eine Hardware-Vorrichtung, die die 
Samples analysiert und einen Interrupt o.Ä. generiert, wenn eine 
Schwelle über-/unterschritten wurde.
Wenn es das nicht gibt, macht man sich ja den Vorteil des DMA wieder 
kaputt, da die CPU jedes Sample anfassen muss.
>
> aber mal schaun, vllt bekomm ich da noch irgendwie ein paar komperatoren
> drauf...
Das wäre schön. Ich hoffe der STM32F407 hat mindestens einen DAC 
eingebaut.
>
> ich bin mir übrigends nicht so sicher ob ich die 10mhz analogbandbreite
> mit dem design so überhaupt hinbekomme...  gedacht ists eher zum testen
> ob man direkt vom F4 die 100msps zusammenbekommt... für die interen ADCs
> sollts aber reichen...
Wie meinst du das? Du musst doch nur das AA-Filter passend bemessen. 
Oder meinst du von der Leiterbahnführung her?

> die ganzen chips für einfache frontends kosten in stückzahl alle so um
> die 3-5e und einzelpreis 10-20e... das ist mir zu viel...für kleinserien
> ok, aber so komm ich bei 4 channels schon mit adcs und frontends in die
> gegend von nem rigol...
Was meinst du mit Frontend? VGA + ADC-Treiber? Guck dir doch mal den 
LMH6522 an. Der kostet 18€ und hat 4 Kanäle -> 4,50€ / Kanal. Das geht 
doch. Zwei von den Dingern und du hast dein 8-Kanal Scope.
Oder die VCA26xx-Serie von TI.
>
> für das was mir vorschwebt sind 10msps eigentlich ok, 100 perfekt..
> dafür würd ich gerne >4 kanäle haben... und das günstig... 100e für den
> prototypen sollten sich ausgehn, und wenn er tut bau ich mir um 400e ein
> 8channel scope :)
Was schwebt dir denn so vor? Was ist deine Anwendung von einem 10MSa/s, 
8-Kanal Scope?

PS: Darf ich fragen worum es in deiner Diss geht?

von Hans (Gast)


Lesenswert?

mit cvs hat mich gottseidank noch niemand "beglückt"... in der arbeit 
ist auf jeden fall svn angesagt... und es ist oft ziemlich 
umständlich...

der LMH6522 kann leider kein DC...-5dB bei 1Mhz.. laut den lustigen 
bildchen...

eher sowas:AD8330

ich hab analog muxes zum verstärkung und bandbreiten einstellen 
eindesignt...
die ganzen lustigen logik familien habe ich aber noch nicht 
durchgeschaut, aber 10mhz können sogar die neuern 4066er... ich hoffe 
also, bei den muxes ist das auch so...

das problem das ich nur 1st order habe :(

optoisolieren würde ich mit einem off-the-shelf usb isolator... die 
einzelnen channels an einen usb-hub und den hub mit einem isolator an 
den pc.

der ADC hat so ein lustiges feature, das man einen interrupt bei über 
und/oder unterschreitung einer schwelle bekommt.. zwar vergleichweise 
ein langsamer trigger, aber wär dabei.

ich hab jetzt mal beide DACs für die 2 Trigger dran gemacht.... man 
vllt. will man ja einmal komplett unabhängige channels haben...

bei der diss gehts um multiphysics simulation... und ich will meinen 
simulator gegen testschaltungen benchmarken...

wenn ich mir ein einfaches buck converter anschau, dann fallen mir schon 
ein paar interessante channels ein zum gleichzeitig samplen... für 
100kHz schaltfrequenz reichen 10Msps locker...

für die effizientberechnung:
strom/spannung am eingang
strom/spannung am ausgang

grundsätzlich interessant:
strom durch die diode
spanung über die diode
strom durch die drossel

zum multiphysics benchmarken:
3+ temp channels
2+ h-field probes

da wär ich schon bei 7+5 channels... kann man auch nach einander 
samplen, aber wenn das auf einmal ginge.... ;)

ich seh grad, das f3-discovery hätte 4x 5msps on-chip.... hab ich doch 
auch von irgend einem fae einmal in die hand gedrückt bekommen... sollt 
das bei zeiten auch mal auf max-speed testen...

73

von Hannes W. (hannes_w)


Lesenswert?

Hans schrieb:
> der LMH6522 kann leider kein DC...-5dB bei 1Mhz.. laut den lustigen
> bildchen...
Hups. So genau hatte ich das DB gar nicht gelesen. Ich hatte angenommen, 
der wäre ähnlich dem LMH6518.
>
> eher sowas:AD8330
Analog. Gut, aber auch teuer. Und dann gleich 'nen 150MHz Verstärker für 
eine 10MHz-Eingangsstufe. Da passt 'was nicht.
>
> ich hab analog muxes zum verstärkung und bandbreiten einstellen
> eindesignt...
> die ganzen lustigen logik familien habe ich aber noch nicht
> durchgeschaut, aber 10mhz können sogar die neuern 4066er... ich hoffe
> also, bei den muxes ist das auch so...
Dafür nimmt man Relais.
>
> das problem das ich nur 1st order habe :(
Ja, ist doch bei Oszis so, oder?
>
> optoisolieren würde ich mit einem off-the-shelf usb isolator... die
> einzelnen channels an einen usb-hub und den hub mit einem isolator an
> den pc.
Ach du willst für jeden Kanal ein STM32F4 haben, oder wie?
> wenn ich mir ein einfaches buck converter anschau, dann fallen mir schon
> ein paar interessante channels ein zum gleichzeitig samplen... für
> 100kHz schaltfrequenz reichen 10Msps locker...
Aber nur, wenn du nicht an den Transienten interessiert bist - sonst ist 
das Faktor 100 zu wenig.
>
> für die effizientberechnung:
> strom/spannung am eingang
> strom/spannung am ausgang
Ok, da würde ja ein Mittelwert reichen, für die Temperatursensoren auch.
>
> grundsätzlich interessant:
> strom durch die diode
> spanung über die diode
> strom durch die drossel
Hier bräuchtest du aber die Spitzenwerte, oder? Die wirst du mit 10MSa/s 
nur mit Glück sehen.

von Hans (Gast)


Lesenswert?

relais => teuer, groß... für ein richtiges scope ja und dann gleich 
vernünftige hf dinger, für 10MHz... naja dann lieber ein billiges rigol 
weil besser und ziemlich sicher billiger

bei den scope-designs die ich mir so durchgeschaut habe sinds 4-5 polige 
filter... aber die gingen mit der analog bw schon ziemlich knapp an fs/2 
dran...

ich will bei meiner diss möglichst einfache modelle finden um möglich 
effizient thermisches und "emv"-verhalten liefern können.

d.h. ich hab einen solver für das thermische und elektrische problem 
gebaut und rechne mir jetzt demnächst über einen einfachen biot savart 
solver einmal H über dem pcb aus (irgendwie komm ich in letzter zeit 
nicht dazu die layout daten in den simulator einfließen zu lassen).

klar, werde ich keine vernünftige aussage über abstrahlung bei 100MHz+ 
treffen können, aber grundsätzliche designfehler sollte man sofort 
erkennen.

da einfach und halbwegs gut dokumentiert habe ich mir einmal einen 34063 
modelliert ... die schaltungen im datenblatt sind für 25khz 
dimensioniert.. das liese sich mit 12Msps meiner meinung schon halb 
darstellen...128kb sampling buffer sind halt gerade mal 1ms sampling 
zeit bei 100msps...

naja vllt überdenke ich das eh noch komplett und bau ein hartes filter 
bei 10mhz ein... dann gibts nur eine sampling frequenz... würd das 
layout wesentlich schöner/übersichtlicher machen.

73

von Hans W. (Firma: Wilhelm.Consulting) (hans-)


Angehängte Dateien:

Lesenswert?

wie versprochen pcb und schematic... wobei beides noch fertig ist.. eher 
mal um zu schaun ob sich sowas vom platz überhaupt ausgeht...pinning am 
stecker ist auch noch nicht verifiziert.

kurze beschreibung was ich mir gedacht habe:

ac/dc kopplung -> 1:1/10:1 für Messbereich, 1Meg impedanz und buffer -> 
PGA diskret mit variablem tiefpass -> ADC

das ganze noch gespickt mit trigger für comparator.


73

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Hannes W. schrieb:
> Torsten C. schrieb:
>> … Was soll denn das STM32F4DISCOVERY tun?
> Interface spielen. Die Frage ist ja, ob es nebenbei überhaupt noch etwas
> anderes tun kann - der Flaschenhals USB 2.0 bliebe ja bestehen.

Hmmm, und das geht jetzt? Und ist das besser als ein 0815-FPGA, der die 
Sample-Daten nach USB umwandelt? Der könnte im BlockRAM ja auch ein paar 
Bytes puffern.

Torsten C. schrieb:
> Zwei STM32F4DISCOVERY habe ich hier rum liegen.

Ich habe lestzes Wochenende erstmals mit CooCox ein Programm geschrieben 
und in's STM32F4DISCOVERY geflasht und würde nun gern auch mal die 
"Projektidee Oszilloskop" in der Praxis erproben. Aber "Interface 
spielen" mit einem STM32F4DISCOVERY, macht das Sinn?

Hannes W. schrieb:
> Torsten C. schrieb:
>> Oops, habe ich mit 90€ zuviel bezahlt? Ich habe gestern gerade das ebay
>> 121096923360 erhalten.
> Ne. Ich hab so ein für-billig-Teil 8-Kanal, 24MS/s mit Cypress FX2.

Vielleicht wäre ein "Open Logic Sniffer" die bessere Wahl gewesen.

http://www.watterott.com/de/Open-Logic-Sniffer

von Hans W. (Firma: Wilhelm.Consulting) (hans-)


Lesenswert?

Soo einige Zeit ist das ganze jetzt abgelegen, jetzt gibts wieder was 
neues...

http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF259090

Wenn die säcke noch einen USB2 PHY draufgetan hätten... naja aber schon 
richtig neat :)

farnell meint etwas über 25e... schreit direkt nach einem osci-shield...

hin und wieder ists ganz gut etwas abliegen zu lassen :)

73

von Sascha E. (baracuss)


Lesenswert?

Hi,

ich wollte mal fragén wie es mit deinem Projekt aussieht.

Hast du was laufendes hinbekommen?

von Carsten R. (kaffeetante)


Lesenswert?

Böser Kommunist schrieb:
> Aber CPLD,  diverse passive Elemente +4-Layer PCB  habe ich
> selbst  bezahlt. Alles in allem wird es so um 100-120 Euro kosten.

Darf man fragen wo Du die Platinen bestellt hast? Gute Quellen für 
4-Layer Platinen die fein genug sind für CPLD und ezahlbat sind imer 
genr gesehen.

von GS (chromosoma)


Lesenswert?

Hallo:)

Bestellt habe ich bei oshpark.com

von Hans W. (Firma: Wilhelm.Consulting) (hans-)


Lesenswert?

Mit dem F4 discovery, ja... bildchen oben...

das neue muss ich mir erst bestellen...

war beruflich die letzten monate sehr viel im ausland... und so wie's 
aussieht wirds so bleiben bis ende des jahres :/

Eigentlich fehlt ja "nur" das frontend... das ist aber auch das 
eigentliche problem...

1mV/Div würde bei 1MHz Analogbandbreite schon 375MHz GBWP erfordern... 
das ist mir für so ein schnelles projekt zu aufwendig...

ICs wie z.B. ADRF6510 oder LTC6602 wären das Mittel der wahl... da bin 
ich noch auf der Suche nach was wirklich sinnvollen...

Eine andere Idee die mir herumschwebt wäre programmierbare probes zu 
machen... also einen "HF" tauglichen connector zu nehmen wo man z.b. I2C 
drüberbringt und sagen wir mal 10MHz.

Dann sollte man bis 30V mit einer 10:1 Probe und einem BNC->"anderen 
stecker" Adapter können und hätte die möglichkeit schlauere adapter mit 
amp reinzutun...

Das problem ist der preis.. ein DS1052 bekommst du schon unter 300e...

ideal wär sowas wie bei den "richtigen" scopes... bnc+ein paar pins... 
dann gibts mit nem zwischenadapter bw-limit, gain-stage,... und sonst 
halt max 3V (oder meinetwegen die typischen 5V)

73

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Hat sich die Projektidee erledigt?

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.