PiPico zu langsame Flanken SPI-CLK

OP #8064382
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.

Angehängte Dateien:
#8064388
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!

#8064396
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
#8064406
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
#8064412
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
OP #8064428
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?

#8064436
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.

#8064437
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
#8064471
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
#8064487
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.

OP #8064510
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?

OP #8064530
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.

Angehängte Dateien:
#8064532
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.

Angehängte Dateien:
#8064533
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
#8064579
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.

(Firma: 1984now) #8064646
Lesenswert?

Nick schrieb:

Stefan K. schrieb:

Dargestellt wurde der gleitende Mittelwert über je 256 Messungen

Ein gleitender Mittelwert würde aber die Kanten verrunden.

Kommt drauf an. Es gibt etliche Varianten der Berechnung eines gleitenden Durchschnitts.

Die naheliegendste Form liefert bei eine Sprung eine Gerade, deren Steigung durch die Zahl der Speicherstellen für den gleitenden Mittelwert bestimmt wird.

Das ist genau das, was hier zu sehen ist.

(Firma: 1984now) #8064657
Lesenswert?

Stefan K. schrieb:

Picotech beschreibt es so: "The resolution enhancement feature is a flat moving-average filter. This acts as a low-pass filter with good step response characteristics and a very slow roll-off from the pass band to the stop band."

Die hätten Politiker werden sollen. Mit vielen Worten bloß nix konkretes sagen, auf das man festgenagelt werden könnte...

OP #8064682
Lesenswert?

Mein Schlusswort:
Wie ich es nun sehe, ist mit den aktuellen Oszi-Variationen einiges zu beachten, das mit mit der analogen Technologie kein Problem war.
Gerne erinnere ich mich an 1974. Da hatte ich die Aufgabe Mainframe-CPUs in TTL-Logik nur mit einem Oszi (ein 1/4qm Kasten) zu reparieren. Ein Logig-Analicer wäre ein Traum gewesen. Aber es war möglich. Und in all der komplexität wäre es mir nie in den Sinn gekommen, der Oszi könne mir was vorgaugeln.
Ich habe damals nie die Bedienungsanweisung gelesen, es war einfach logisch, was die Knöpfe bewirkten.
Da ich nun Elektronik nur noch als Hobby betreibe, nostalgischer Weise, habe ich PicoScope erst bei zwei Projekten benutzt. Aber ich bin ja lernfähig.

Angehängte Dateien:
#8064693
Lesenswert?

Ob S. schrieb:

Kommt drauf an. Es gibt etliche Varianten der Berechnung eines gleitenden Durchschnitts.

Die naheliegendste Form liefert bei eine Sprung eine Gerade, deren Steigung durch die Zahl der Speicherstellen für den gleitenden Mittelwert bestimmt wird.

Das ist genau das, was hier zu sehen ist.

Wird auch als FIR Filtercharkteristik bezeichnet. Es gibt einen (Ring-)Speicher in dem die Werte von n zurückliegenden Messungen gespeichert sind. Jeder neue Messwert überschreibt den Ältesten und dann wird über alle Werte gemittelt. Das "F" für finite sagt aus, dass immer nur die Werte der letzten n Messungen im Mittelwert enthalten sind.

Anders sieht es bei IIR Filtern aus. Da wird nur die Summe von n Messungen gespeichert und daraus der Mittelwert durch Division durch n gebildet. Sobald ein neuer Messwert vorliegt wird von der Summe der gegenwärtige Mittelwert abgezogen, der neue Messwert addiert und wieder gemittelt. Wenn ich das noch richtig in Erinnerung habe, ergibt sich eine e-Funktion als Sprungantwort.

: Bearbeitet durch User
(Firma: 1984now) #8064718
Lesenswert?

Dieter W. schrieb:

Wird auch als FIR Filtercharkteristik bezeichnet.

[...]

Anders sieht es bei IIR Filtern aus.

[...]

Ja, das sind die beiden Grundformen. Aber auch die gibt es noch in 'zig verschiedenen Varianten.

Wobei schon die Bezeichnungen der Grundformen schon nicht konsistent verwendet werden, noch weniger die Variantenbezeichnungen.

Sprich: entweder macht man es so, wie Picotech und labert einfach nur positiv klingenden, aber letztlich nichtssagenden Bullshit oder man gibt das Bildungsgesetz in Form einer Formel an. Das räumt dann alle Zweifel darüber aus, was da genau passiert.

(Firma: Starfleet) #8064812
Lesenswert?

Egal, der Bedienungsfehler ist ja jetzt gefunden.

Sehe ich nicht so, hier trifft den Bediener höchstens der Vorwurf das falsche Messgerät ausgewählt zu haben, resp. ne "suboptimale" Firmware erwischt zu haben. Beitrag "Re: PiPico zu langsame Flanken SPI-CLK"

Für den Verdacht auf "lügendes Scope" kann man mit einem Analogscope gegenmessen, wie auch der TO selbstreflektierend erkannt hat.

Oder man misst mit dem selben Einstellungen an einem bekannten Signalgenerator als simple Funktionsprobe.

Abschliessend könnte man über den Austausch des scopes durch ein "Bedienrobustes" nachdenken.

#8065778
Lesenswert?

Ob S. schrieb:

Sprich: entweder macht man es so, wie Picotech und labert einfach nur positiv klingenden, aber letztlich nichtssagenden Bullshit oder man gibt das Bildungsgesetz in Form einer Formel an.

Wo hast du Probleme, die Angaben in eine Formel umzusetzen - Schwierigkeit mit Textaufgaben? "Flat moving average" sagt doch alles. Alle Werte innerhalb des Mittelungsfenster gehen mit gleicher Gewichtung ein ("flat"), also geht es um eine Summenbildung innerhalb eines Fenster über eine konstante Anzahl n der letzten Messwerte ("moving") mit Gewichtung 1/n der Werte ("Average"). Der Frequenzgang ist eine Folge davon.

: Bearbeitet durch User
#8066280
Lesenswert?

Nick schrieb:

"Progressiver Modus 100 ms". Was könnte das bedeuten?

Das ist der Schwellwert ab dem eine "Live-Vorschau" übetragen wird wenn der Trigger auslöst und nicht erst am ende der Messung. den Effekt sieht man bei ner mehrsekündigen messung dann sehr gut. Da baut sich die Kurve dann live auf anstatt erst nach ablauf der gesamten Dauer angezeigt zu werden

Beitrag #8066425 wurde vom Autor gelöscht.
#8066435
Lesenswert?

Bradward B. schrieb:

Komplett irrelevant, aber weil hier so lieb gefragt wird, sei auf die Suchfunktion (Ctrl+F) verwiesen. (siehe Anhang).

Die Technik des Internets scheint dich kurz nach der Steinzeit abgehängt zu haben.

An Stelle von Zitaten mit Quellenangabe in Form von Screenshots mit markierten Textstellen ist es mittlerweile möglich und üblich, die Quelle zu verlinken.

Deinen hyperschlauen Verweis auf die Suchfunktion kannst du dir sonstwohin stecken.

(Firma: Starfleet) #8066444
Lesenswert?

<offtopic>

An Stelle von Zitaten mit Quellenangabe in Form von Screenshots mit markierten Textstellen ist es mittlerweile möglich und üblich, die Quelle zu verlinken.

Lass dir mal den Unterschied zwischen möglich und nötig erklären. Und den Unterschied zwischen Referenz (Link) und Entität (Tatsache).

Deinen hyperschlauen Verweis auf die Suchfunktion kannst du dir sonstwohin stecken.

Danke, gleichfalls.

</offtopic>
: Bearbeitet durch User

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren