Hallo, Ich habe eben mal meine SPI Taktleitung mit einem Analog Kompensierten Tastkopf überprüft, finde das Signal bei höherer Datenübertragungsrate aber nicht sauber. Eventuell kann mir ja jemand sagen ob das dennoch in Ordnung ist. Probleme habe ich gar keine. Anbei 3 Bilder: eins bei 1,25 Mhz; 5 Mhz und 20 Mhz. Tastkopf hat eine Bandbreite von 300Mhz. lG
Joni schrieb: > Probleme habe ich gar keine. Die Signale sehen sauber aus, interessant wäre eine Zweikanalaufnahme, Takt mit Daten, um es komplett bewerten zu können
Die Signale sehen gut aus. Die Bilder zeigen, dass du eine kapazitive Last auf der Leitung hast (was vollkommen normal ist) und dass du bei 20 MHz in den Bereich kommst, wo die Leistung des Treiber allmählich zu schwach wird, diese Kapazitäten schnell genug umzuladen. Ich würde die Schnittstelle sicherheitshalber mit maximal 10 MHz betreiben, falls Zuverlässigkeit wichtig ist.
Das 20Mhz Signal sieht nicht ganz so gut aus... Als wäre es hinter einem Serienwiderstand abgenommen, und würde darum nicht die Endlagen erreichen. Dabei gehe ich davon aus, dass die Pegel der Realität entsprechen und nicht eine Folge einer Messwertverfälschung sind. Kann sein, dass es so noch zuverlässig funktioniert. Aber viel höher darf die Frequenz nicht mehr werden.
Danke für die Antworten. Anbei mit SCK und MOSI. Als Massebezug habe ich die "interne" Masse der Platine genommen, also nach dem DCDC Converter. Hier habe ich an einem Debug Header abgegriffen, da ist kein Serienwiderstand auf der Clock/Daten Leitung. Ansonsten besitzen alle anderen SPI Geräte jeweils einen 22 Ohm Serienwiderstand auf der Taktleitung sowie Datenleitungen.
Arduino Fanboy D. schrieb: > Das 20Mhz Signal sieht nicht ganz so gut aus... Das stimmt! > Als wäre es hinter einem Serienwiderstand abgenommen, und würde darum > nicht die Endlagen erreichen. Ein (niederohmiger) Serienwiderstand bewirkt das nicht. Leider nicht erkennbar, aber vielleicht ist die Bandbreite des Skopes auf 20MHz limitiert. Das würde jedenfalls gut zu den Bildern passen.
SPI Mode 0 oder 2 ? Dann scheint mir das 20MHz Signal noch ok zu sein.
Arduino Fanboy D. schrieb: > SPI Mode 0 oder 2 Ich würde auf Mode 0 tippen, da die Clock Ruhelage Low ist. Die Daten werden mit der steigenden Flanke des Clocksignals, bei der fallenden Flanke findet der Datenwechsel statt, da sowohl Flanken am Clocksignal alsauch beim Datensignal zusammenfallen. https://www.mikroe.com/blog/spi-bus welches Zeichen wurde übertragen? 0x05 ?
HildeK schrieb: > Leider nicht erkennbar, aber vielleicht ist die Bandbreite des Skopes > auf 20MHz limitiert. Das würde jedenfalls gut zu den Bildern passen. Hm, habe jetzt nicht dergleichen in den Einstellungen gefunden.. Laut Handbuch ist die mindest BW 70MHz. Es wurde mit Mode 1 und 0xA0=0b1010 0000 übertragen. Vielen Dank
GEKU schrieb: > Die Signale sehen sauber aus Hüstel ... Findest du nicht, dass das 20MHz sehr danach aussieht, als ob es mit der kapazitiven Belastung nicht mehr so wirklich klar kommt? Man müsste sich unter Berücksichtigung der tatsächlichen Schaltschwellen der Empfänger das auf der digitalen Seite resultierende Timing genauer ansehen, um abschätzen zu können, wieviel Reserven noch bleiben. Insbesondere wenn Master und Slave unterschiedliche Treiberleistung haben, kann das schief gehen.
Ein typischer uC hat 50-100R Quellwiderstand. Dazu kommen mindestens 5pF am Pin, nochmal 10-20pF an der Leitungsführung und je Anschluß nochmal 5pF - der Tastkopf alleine hat mindestens 15pF. Bei Dir scheint die Zeitkonstante ca. 20nsec zu sein, also ca. 200 bis 400pF - das oder, wie oben auch vermutet, Du hast irrtümlich die Bandbegrenzung aktiv - das sind auch typisch 20MHz.
Joni schrieb: > Es wurde mit Mode 1 .... übertragen. Dann glaube ich kaum, dass das funktioniert. Dafür kommt die steigende Taktflanke zum falschen Zeitpunkt Zumindest sieht es für mich bei 20MHz so aus. Das 1,25MHz Bild sieht dann richtig aus.
Joni schrieb: > Danke für die Antworten. > > Anbei mit SCK und MOSI. > > Als Massebezug habe ich die "interne" Masse der Platine genommen, also > nach dem DCDC Converter. Das war gar nicht die Frage. Sondern WIE du den Tastkopf und dessen Masse kontaktiert hast. Denn bei den Signalsteilheiten, aka, Anstiegszeiten sollte man wissen was man tut. Stichwort Massefeder. https://www.mikrocontroller.net/articles/Oszilloskop#Tastk.C3.B6pfe_richtig_benutzen > Hier habe ich an einem Debug Header abgegriffen, da ist kein > Serienwiderstand auf der Clock/Daten Leitung. Ansonsten besitzen alle > anderen SPI Geräte jeweils einen 22 Ohm Serienwiderstand auf der > Taktleitung sowie Datenleitungen. Wozu soll das gut sein? Das Taktsignal ist für alle SPI-Slaves ein Eingang, da gehört im Normalfall kein Widerstand hin. Und an den SPI-Master auch nicht, wenn mehrere Slaves dran hängen, denn diese Serienterminierung ist nur bei Punkt zu Punkt Verbindungen zulässig, siehe Wellenwiderstand.
Joni schrieb: > Tastkopf hat eine Bandbreite von 300Mhz. Bei x1 oder x10? Stell mal "x10" ein, wenn du mit "x1" misst. Du wirst erstaunt sein.
Wolfgang schrieb: > Man müsste sich unter Berücksichtigung der tatsächlichen Schaltschwellen > der Empfänger das auf der digitalen Seite resultierende Timing genauer > ansehen, um abschätzen zu können, wieviel Reserven noch bleiben Genau so ist es. Man könnte mit dem Oszilloskope mit den Daten ein Augenmuster aufzeichnen und dann kontrollieren, ob zum Zeitpunkt der übernehmenenden Taktflanken ein eindeutiger High oder Lowpegel mit Spielraum davor und danach vorliegt. Nicht steil angesteigende Flanken alleine sind noch kein Qualitätskriterium, es gilt auch die Lage und den Jitter zu bewerten. Eine Methode ist die Darstellung von Augenmusterdiagramme. https://de.m.wikipedia.org/wiki/Augendiagramm
Arduino Fanboy D. schrieb: > Das 20Mhz Signal sieht nicht ganz so gut aus... > Aber viel höher darf die Frequenz nicht mehr werden. So ist es.
Bei der Beurteilung der Signalqualität ist es recht hilfreich, wenn man mit dem Oszi einfach mal ein "Eye Pattern" (google) aufzeichnet.
Joni schrieb: > Tastkopf hat eine Bandbreite von 300Mhz. Und das Oszi? Was hat das für eine analoge Bandbreite?
> Stell mal "x10" ein, wenn du mit "x1" misst.
Hat bestimmt keine 33V Hub, was für x10 steht würde. Plädiere daher auch
für x10.
In den Oszibildern steht unten bei den Eingängen 1:1. Waren die Tastköpfe bei der Messung wirklich auf 10:1 gestellt? In der Stellung 1:1 hat man ca. 100pF Kapazität an der Messspitze.
Helmut S. schrieb: > In der Stellung 1:1 hat man ca. 100pF Kapazität an der Messspitze. Und eine Bandbreite von 6-10MHz ;-)
Falk B. schrieb: > Helmut S. schrieb: >> In der Stellung 1:1 hat man ca. 100pF Kapazität an der Messspitze. > > Und eine Bandbreite von 6-10MHz ;-) Und das Icon "1:1" unten am Rand lässt das auch vermuten...
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.