Forum: Mikrocontroller und Digitale Elektronik PiPico zu langsame Flanken SPI-CLK


von Rudi (rudils)


Angehängte Dateien:

Lesenswert?

Die SPI-Verbindungen vom Pico zum MCP4922 sind nur 8mm lang. Und 
trotzdem brauchen alle Signalflanken >500ns. Der Pico sollte doch min. 
7ns schaffen. Am SPICLK-pin habe versucht mehr Ausgangsstrom und 
SlewRate zu steigern. Das hatte jedoch keine Wirkung.

Mein Picoscope läuft mit 2ns Abtastrate.
Die Daten werden jedoch korrekt übertragen.
So könnte es mir ja reichen.
Aber ich wüßte gerne eine Erklärung warum das so ist.
von Wastl (hartundweichware)


Lesenswert?

Rudi schrieb:
> Aber ich wüßte gerne eine Erklärung warum das so ist.

Die Darstellung des Signals an deinem Messgerät entspricht in
keiner Weise der physikalischen Realität. Die Bandbreite ist
an irgendeiner Stelle viel zu gering um die Flankensteilheit
korrekt darzustellen.
von Wastl (hartundweichware)


Lesenswert?

Rudi schrieb:
> Mein Picoscope läuft mit 2ns Abtastrate.

Es gibt ja nur ein Picoscope und eine Konfiguration dazu, also
brauchst du keine weiteren Angaben machen bzw. Details angeben.
Es erklärt sich alles von selbst.
von Norbert (der_norbert)


Lesenswert?

Rudi schrieb:
> Die SPI-Verbindungen vom Pico zum MCP4922 sind nur 8mm lang. Und
> trotzdem brauchen alle Signalflanken >500ns. Der Pico sollte doch min.
> 7ns schaffen. Am SPICLK-pin habe versucht mehr Ausgangsstrom und
> SlewRate zu steigern. Das hatte jedoch keine Wirkung.

Das ist schon seltsam. Ich habe schon des Öfteren mit gut zwanzig 
Zentimeter freischwebender Verdrahtung ein Display mit > 25MHz 
angesteuert. Pure Magie!
von Wastl (hartundweichware)


Lesenswert?

Norbert schrieb:
> Das ist schon seltsam.

Da ist gar nichts seltsam wenn man sich nicht auskennt und
nicht weiss was man tut.
von Norbert (der_norbert)


Lesenswert?

Wastl schrieb:
> Da ist gar nichts seltsam wenn man sich nicht auskennt und
> nicht weiss was man tut.

Da kann ich dir nicht widersprechen. ;-)
Es scheint, dass Datenblätter mittlerweile eine ähnlich Wirkung 
entfachen wie Knoblauch auf Vampire.

Ad1: Die Flanke sind ja wie mit dem Lineal gezogen.
Wenn sie wenigstens ein Segment einer einsminusehochminustdurchtau 
Funktion darstellten, wäre der Ratschlag dass die dicken Puffer-ElKos an 
die Versorgungsspannung und nicht an die GPIO Pins gehören.
: Bearbeitet durch User
von Vanye R. (vanye_rijan)


Lesenswert?

Ach...oft scheitert es schon am 1:1 Tastkopf. .-)

Vanye
von N. M. (mani)


Lesenswert?

Man kann ja sowohl Drive Strengh(2-12mA) als auch Slew rate für jeden 
Pin einstellen.
Wird das eigentlich automatisch bei der Aktivierung der SPI hoch 
gedreht? Vermutlich nicht. Will man ja vermutlich selbst in der Hand 
haben wegen EMV.
Ansonsten vllt mal da etwas hochstellen?

Norbert schrieb:
> Die Flanke sind ja wie mit dem Lineal gezogen.

Wenn der Pin an der eingestellten Stromgrenze hängt, also den Strom auf 
einen konstanten Wert begrenzt und der Kondensator groß genug ist, 
müsste dann nicht eine Gerade normal sein?
: Bearbeitet durch User
von Wastl (hartundweichware)


Lesenswert?

Norbert schrieb:
> Die Flanke sind ja wie mit dem Lineal gezogen.

Was bleibt der Software anderes übrig als zwei Stützpunkte
eines Datensatzes zu verbinden? Soll sie eine geschlängelte
Kurve hinzufügen?
von Norbert (der_norbert)


Lesenswert?

Wastl schrieb:
> Was bleibt der Software anderes übrig als zwei Stützpunkte
> eines Datensatzes zu verbinden? Soll sie eine geschlängelte
> Kurve hinzufügen?

Laut Aussage des TE liegen da mehr als 250 Punkte (2ns vs. >500ns)

Ich habe gerade mal 75MHz aus einem GPIO Pin gejagt, durch eine 
vierzig Zentimeter Messschnur, durch den 2mA Strommessbereich eines 
alten DMM, noch einmal durch eine vierzig Zentimeter Messschnur wieder 
zurück zu einem zweiten GPIO.

Keine Problem, auch ohne drive strength zu erhöhen (weshalb sollte es 
auch).

100MHz geht auch problemlos, bei 125MHz wird's mit der wilden 
Verdrahtung etwas wackelig.
: Bearbeitet durch User
von Wastl (hartundweichware)


Lesenswert?

Norbert schrieb:
> Laut Aussage des TE liegen da mehr als 250 Punkte (2ns vs. >500ns)

Das sind Werte die sein Picoscope kann , aber nicht die Werte
die tatsächlich eingestellt sind. Merke: mit verringerter
Abtastrate hat man mehr Speichertiefe.

Wastl schrieb:
> also
> brauchst du keine weiteren Angaben machen bzw. Details angeben.
> Es erklärt sich alles von selbst.
von Norbert (der_norbert)


Lesenswert?

Wastl schrieb:
> Das sind Werte die sein Picoscope kann , aber nicht die Werte
> die tatsächlich eingestellt sind.

Wieder einmal bestätigt sich:
Es reicht nicht einen Lötkolben zu besitzen, man muss auch wissen auf 
welcher Seite er heiß wird! ;-)
von Nick (b620ys)


Lesenswert?

Wastl schrieb:
> Was bleibt der Software anderes übrig als zwei Stützpunkte
> eines Datensatzes zu verbinden? Soll sie eine geschlängelte
> Kurve hinzufügen?

Das übliche Verfahren wäre sin(x)/x.
Nur Quadratschädel greifen zum Lineal.
von Vanye R. (vanye_rijan)


Lesenswert?

> Das übliche Verfahren wäre sin(x)/x.
> Nur Quadratschädel greifen zum Lineal.

Man kann das sogar einstellen. Auch wenn es vermutlich nie einer macht.

Vanye
von Rudi (rudils)


Lesenswert?

Norbert schrieb:
> Wieder einmal bestätigt sich:
> Es reicht nicht einen Lötkolben zu besitzen, man muss auch wissen auf
> welcher Seite er heiß wird! ;-

Diese ganzen SO witzigen Bemerkungen könnt ihr euch sparen. Ich hab auch 
nur gefragt, weil ich die Fehler, die hier mir unterstellt werden, nicht 
gemacht habe. Die SPI-Leitung kommen geradelinig aus dem Pico heraus. 
Sonst ist nichts dran. Und bisher hatte ich auch keine Probleme mit dem 
Picoscope.
Aber vielleicht hab ich die Drähte mit der Spitze des Bügeleisens 
angelötet?
von Nick (b620ys)


Lesenswert?

Rudi schrieb:
> Aber vielleicht hab ich die Drähte mit der Spitze des Bügeleisens
> angelötet?

Daran wirds wohl kaum liegen.
Die gezeigte Kurvenform ist jedenfalls äusserst suspekt. Miss mal mit 
der gleichen Einstellung die Sekundärspannung eines Trafos.
von HP C. (hpx)


Lesenswert?

Da scheint eine Mittelwertbildung oder ähnliches eingestellt zu sein, 
denn der Triggermarker liegt nicht auf der Kurve.
Bitte prüfe, ob Du eine Auflösungserhöhrung von 8 Bit auf 9 oder mehr 
Bit eingestelt hast.
Ein komplettes Bildschirmfoto der PicoScope-Software wäre hilfreich.
Viele Erfolg.
von Norbert (der_norbert)


Lesenswert?

Rudi schrieb:
> Diese ganzen SO witzigen Bemerkungen könnt ihr euch sparen. Ich hab auch
> nur gefragt, weil ich die Fehler, die hier mir unterstellt werden, nicht
> gemacht habe. Die SPI-Leitung kommen geradelinig aus dem Pico heraus.
> Sonst ist nichts dran.

Bis zu einer Taktrate von 330MHz kann man Rechteck Signale aus einem Pin 
jagen und mit einem zweiten Pin korrekt lesen. Und zwar mit lediglich 
2mA drive strength. Mit 12mA gehen sogar 340MHz (Grenzwert).

Und du willst uns nun erzählen, dass ~1MHz (also 2*500ns) Probleme 
macht?
Hmmm, wo mag da der Fehler liegen …
: Bearbeitet durch User
von Wastl (hartundweichware)


Lesenswert?

Rudi schrieb:
> Ich hab auch
> nur gefragt, weil ich die Fehler, die hier mir unterstellt werden, nicht
> gemacht habe.

Mit dieser Antwort (und den immer noch fehlenden, ausführlichen
Angaben) zeigst du (wieder mal) dass du nichts verstanden hast
bzw. nicht weisst was du wirklich machst.

Wo soll man da bei dir anfangen dir zu helfen?
von Wastl (hartundweichware)


Lesenswert?

Rudi schrieb:
> weil ich die Fehler, die hier mir unterstellt werden, nicht
> gemacht habe.

Du hast also alles richtig gemacht, und die Darstellung deines
Signals ist also so richtig?

Das nenne ich doch mal Beratungsresistenz. Ist aber - wenn man
richtig überlegt - nicht anders zu erwarten, wenn man deinen
vorangegangenen Thread anschaut.
von HP C. (hpx)


Lesenswert?

Ein komplettes Bildschirmfoto der PicoScope-Software wäre hilfreich.
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Rudi schrieb:
> Aber ich wüßte gerne eine Erklärung warum das so ist.
Messfehler.

HP C. schrieb:
> Ein komplettes Bildschirmfoto der PicoScope-Software wäre hilfreich.
Und dazu eines, das den Anschluss der Tastköpfe zeigt.
von Rudi (rudils)


Angehängte Dateien:

Lesenswert?

Nick schrieb:
> Miss mal mit
> der gleichen Einstellung die Sekundärspannung eines Trafos.
Guter Sinus.

Ich habe jetzt einen anderen SlaveIC MCP4922 eingesetzt und auch einen 
anderen Pico. An den ICs liegt es wohl nicht. Alles wie gehabt.

PS: Pico-VSys rippelt um die 200mV
: Bearbeitet durch User
von Nick (b620ys)


Lesenswert?

"Progressiver Modus 100 ms".
Was könnte das bedeuten?
von Nemopuk (nemopuk)


Lesenswert?

Das Bild sieht sehr nach einer kapazitiven Last aus, die mit einem 
konstanten zu schwachen Strom umgeladen wird.

Rudi schrieb:
> Am SPICLK-pin habe versucht mehr Ausgangsstrom und SlewRate zu steigern.
> Das hatte jedoch keine Wirkung.

Ich würde nachforschen, warum das nicht gebracht hat. Du könntest den 
Pin zum Gegentest mal als einfachen Ausgang konfigurieren und per 
Software toggeln. Wenn das klappt, hängt das Problem mit dem SPI 
spezifischen Code zusammen.

Belaste die CLK Leitung mit einen zusätzlichen Kondensator im Bereich um 
1nF. Zeige uns dann nochmal den Spannungsverlauf deraillierter, egal wie 
gering die Spannung ist.
: Bearbeitet durch User
von Wastl (hartundweichware)


Lesenswert?

Rudi schrieb:
> An den ICs liegt es wohl nicht. Alles wie gehabt.

Ich kenne die PicoScope Software nicht. Dies als Vorbehalt.

Vermutlich musst du folgendes einstellen:
- Priorät Abtastmodus --> Button Abtastrate drücken
- Sollabtastrate --> Wert vergrössern bis zum Anschlag

Scope Ablauf neu starten.

Dann sollte man eine deutlich veränderte (realistischere)
Kurvenform sehen.
von Nick (b620ys)


Lesenswert?

Nemopuk schrieb:
> Das Bild sieht sehr nach einer kapazitiven Last aus, die mit einem
> konstanten zu schwachen Strom umgeladen wird.

Ladekurve Kondensator:
https://de.wikipedia.org/wiki/Kondensator_(Elektrotechnik)#/media/Datei:Ladevorgang.svg

Könntest du bitte Wikipedia editieren?
von N. M. (mani)


Lesenswert?

Nick schrieb:
> Ladekurve Kondensator:
> 
https://de.wikipedia.org/wiki/Kondensator_(Elektrotechnik)#/media/Datei:Ladevorgang.svg
> Könntest du bitte Wikipedia editieren?
1
Nach dem Anlegen einer Gleich*SPANNUNG*...

Nemopuk schrieb:
> Das Bild sieht sehr nach einer kapazitiven Last aus, die mit einem
> konstanten zu schwachen *STROM*
von Wastl (hartundweichware)


Lesenswert?

Nemopuk schrieb:
> Das Bild sieht sehr nach einer kapazitiven Last aus, die mit einem
> konstanten zu schwachen Strom umgeladen wird.

Das ist der grösste Käse den ich seit langer Zeit hier gelesen habe.
von Nemopuk (nemopuk)


Lesenswert?

Nick schrieb:
> Könntest du bitte Wikipedia editieren?

Nicht nötig. Das Bild zeigt den Soannungsverlauf, wenn über einen 
Widerstand geladen wird.

Ich erkenne im Bild vom TO hingegen den Verlauf, der sich aus einem 
kobstanten Strom ergibt.
von Nemopuk (nemopuk)


Lesenswert?

Wastl schrieb:
> Das ist der grösste Käse den ich seit langer Zeit hier gelesen habe.

Ich glaube, dieser Artikel könnte dir Helfen, es zu verstehen:
https://www.elektronik-kompendium.de/public/schaerer/dreieckg.htm
von Cartman E. (cartmaneric)


Angehängte Dateien:

Lesenswert?

Wastl schrieb:

> Es gibt ja nur ein Picoscope und eine Konfiguration dazu, also
> brauchst du keine weiteren Angaben machen bzw. Details angeben.
> Es erklärt sich alles von selbst.

Genau so ist es. Baujahr 1961!

Ein deutsches Userinterface ist etwa so huelfreich, wie deutsche
Fehlermeldungen von einem UNIX®.
von Nemopuk (nemopuk)


Lesenswert?

Siehe auch https://stromrichter.org/showthread.php?tid=2568

Belastet man einen CMOS Ausgang kapazitiv, entsteht ein dreieckiges 
Signal, weil MOSFET ganz natürlich einen begrenzten Strom abhängig von 
der Steuerpannung (UGS) liefern.
: Bearbeitet durch User
von Rudi (rudils)


Lesenswert?

Wastl schrieb:
> Dann sollte man eine deutlich veränderte (realistischere)
> Kurvenform sehen.

Keine Änderung.

Nick schrieb:
> Könntest du bitte Wikipedia editieren?

Wie? Was? Wo? Kann ich! Aber halt Wie? Was? Wo?

Ich habe nun den Pico ausgebaut und nackt am USB hängen. Das Programm 
macht auf einen anderen PIN PWM. Dieser PIN hat die selben langsamen 
Flanken. Der nackte 2.Pico machte es auch so.

Dann sollte es am Picoscope liegen. Win11 neu gestartet, Picoscope auch. 
Keine Änderung. Was kann man falsch machen beim Anklemmen vom Tastkopf 
und Masse?
von Nick (b620ys)


Lesenswert?

Nemopuk schrieb:
> Ich erkenne im Bild vom TO hingegen den Verlauf, der sich aus einem
> kobstanten Strom ergibt.

Ah ja, klar, der µC hat einen Konstantstromausgang. High ist 20 mA, Low 
ist 4 mA. Irgendwas mit Prozessor, also Signale aus der Prozesstechnik.
Man kann hier wirklich unendlich viel lernen.
von Nemopuk (nemopuk)


Lesenswert?

Rudi schrieb:
> Was kann man falsch machen beim Anklemmen vom Tastkopf und Masse?

Z.B. einen 1:1 Tastkopf verwenden, der zusammen mit der Leitung eine 
erhebliche kapazitive Last ist.
von Nick (b620ys)


Lesenswert?

Nemopuk schrieb:
> Z.B. einen 1:1 Tastkopf verwenden, der zusammen mit der Leitung eine
> erhebliche kapazitive Last ist.

Das sind oft mehrere kF !!!11elf
von Rudi (rudils)


Angehängte Dateien:

Lesenswert?

Es geschehen noch Wunder...

Und nun mißt das Ding wie es soll. Keine Ahnung warum. Vermutlich im 
Zusammenhang mit dem heutigen Update. Jetzt reagiert auch die Änderungs 
der Abtastrate wieder.
Bleibt die Frage: Warum hat die neue Version zunächst das gleiche 
Verhalten wie die Alte gezeigt?

Fazit: Da hat sich wohl die Software verschluckt.
Danke für Eure Bemühungen.
von Wastl (hartundweichware)


Lesenswert?

Rudi schrieb:
> Danke für Eure Bemühungen.

Du solltest doch die Ratschläge von Nemopuk befolgen.
: Bearbeitet durch User
von Stefan K. (stk)


Angehängte Dateien:

Lesenswert?

HP C. schrieb:
> Bitte prüfe, ob Du eine Auflösungserhöhrung von 8 Bit auf 9 oder mehr
> Bit eingestelt hast.
Hatte er, und das um die maximal möglichen 4 Bit. Das sieht man in 
seinem vorletzten Bild oben links. Bei beiden Kanälen steht da "8+4, 
also 8 Bit Hardware-Auflösung plus 4 Bit berechnete. Und genau das war 
die Ursache für die flachen Flanken.
von Nemopuk (nemopuk)


Lesenswert?

Wenn die 20 mA stimmen, und ich die 3V in 500ns aus dem 
Eröffnungsbeitrag damit verrechne, komme ich auf

500 ns * 20 mA / 3V = 3,3 pF

Stimmt doch so, oder? Ein Tasktkopf hat allerdings um 30 pF. Lag es doch 
schlicht an der Abtastrate? Zeigt das Oszilloskop sie falsch an?
: Bearbeitet durch User
von Nemopuk (nemopuk)


Lesenswert?

Rudi schrieb:
> Und nun mißt das Ding wie es soll. Keine Ahnung warum.

Du hast die Priorität von "Pufferspeicher" auf "Abtastrate" umgestellt. 
Konnte in diversen Bedienungsanleitungen nichts dazu fjnden.
von Andreas B. (bitverdreher)


Lesenswert?

Stefan K. schrieb:
> Und genau das war
> die Ursache für die flachen Flanken.

Da kommen noch die anfaenglichen 5MS/s Abtastrate dazu. Diese 4 Bit 
machen aus den 5MS/s effektive 5/256 MS/s
von Nemopuk (nemopuk)


Lesenswert?

Rudi schrieb:
>> Und nun mißt das Ding wie es soll. Keine Ahnung warum.

Nemopuk schrieb:
> Du hast die Priorität von "Pufferspeicher" auf "Abtastrate" umgestellt.

Hier ist die Doku dazu:
https://www.picoauto.com/library/picoscope-automotive-training/knowledge-base/sampling

Neumodischer Schnickschnack :-)
von Norbert (der_norbert)


Lesenswert?

Nemopuk schrieb:
> 500 ns * 20 mA / 3V = 3,3 pF

Drei Größenordnungen daneben…
von Nemopuk (nemopuk)


Lesenswert?

Norbert schrieb:
> Drei Größenordnungen daneben…

Ach ja, es sind 3,3 nF.

Egal, der Bedienungsfehler ist ja jetzt gefunden.
von Stefan K. (stk)


Lesenswert?

Andreas B. schrieb:
> Stefan K. schrieb:
>> Und genau das war
>> die Ursache für die flachen Flanken.
>
> Da kommen noch die anfaenglichen 5MS/s Abtastrate dazu. Diese 4 Bit
> machen aus den 5MS/s effektive 5/256 MS/s

Die Abtastrate war bei allen gezeigten Bildern 500MS/s. Dargestellt 
wurde der gleitende Mittelwert über je 256 Messungen was zu den rund 
500ns langen Flanken führte.
von Nick (b620ys)


Lesenswert?

Stefan K. schrieb:
> Dargestellt
> wurde der gleitende Mittelwert über je 256 Messungen

Ein gleitender Mittelwert würde aber die Kanten verrunden.
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.