Forum: Mikrocontroller und Digitale Elektronik Messung von i2c am Oszilloskop


von Tobias J. (tobiasjohn) Benutzerseite


Lesenswert?

Hallo,

ich möchte den Datenfluss von einem i2c-bus auf meinem Oszilloskop 
darstellen.
2 Kanäle sind vorhanden, und ich möchte SDA und SCL auf jeweils einem 
Kanal darstellen.

Leider hatte ich bisher keinen Erfolg.
Ich habe bisher nicht mehr als ein Pegelwechsel am SCL bzw. SDA erkennen 
können.

Bei 400KHz müsste ich doch eine Periode 2,5 µs haben. D.h. wenn ich das 
Oszi auf 2µs/Div stelle sollte ich schon einiges sehen können.

Wo ist der Fehler?


Ich habe zwei Oszilloskope zur Verfügung:
1. Ein Tektronix (analog) 100MHz
2. Ein Welec (DSO) 100MHz

Wäre um jeden Hinweis dankbar.

Gruß,
 Tobias

von (prx) A. K. (prx)


Lesenswert?

Analog ist naturgemäss nur möglich, wenn identische wiederholte 
Aktivität vorliegt. Digital mit one-shot ist einfacher. Trigger auf 
negative Flanke von SCL beispielsweise.

von ROFL (Gast)


Lesenswert?

"Oszilloskopbedienung für Anfänger" ist glaube ich nicht das Thema hier.
In der Regel lohnt es sich aber an der Zeitbasis rumzudrehen, bis man 
was Sinnvolles sieht.
100kHz I2C ist auch nicht ungewöhnlich.

von Markus (Gast)


Lesenswert?

Wen ich nicht genau weiß was sache ist, dann stelle ich erst mal 100ms 
ein, irgendwo muss da dann ein dicker Block (mit den Clock Signalen) zu 
sehen sein.
Es ist ja möglich dass da nix kommt... (Programmfehler, HW-Fehler usw.)

von Erik D. (dareal)


Angehängte Dateien:

Lesenswert?

Also analog kann man nur wiederkehrende signale darstellen ... das ist
schonmal klar.

Am besten ist halt ein Speicheroszi mit One-Shot.


Im Anhang mal ein Sinus eines DA-Wandler und die dazugeh. 
Datenleitungen.
Obere Bildschirmhälfte ist die "Gesamtansicht", unten ne gezoomte
Ansicht.

von Andrew T. (marsufant)


Lesenswert?

Tobias John wrote:
> Hallo,
>
> ich möchte den Datenfluss von einem i2c-bus auf meinem Oszilloskop
> darstellen.
> 2 Kanäle sind vorhanden, und ich möchte SDA und SCL auf jeweils einem
> Kanal darstellen.
>
> Leider hatte ich bisher keinen Erfolg.
> Ich habe bisher nicht mehr als ein Pegelwechsel am SCL bzw. SDA erkennen
> können.
>
> Bei 400KHz müsste ich doch eine Periode 2,5 µs haben. D.h. wenn ich das
> Oszi auf 2µs/Div stelle sollte ich schon einiges sehen können.
>
> Wo ist der Fehler?
>
>
> Ich habe zwei Oszilloskope zur Verfügung:
> 1. Ein Tektronix (analog) 100MHz
> 2. Ein Welec (DSO) 100MHz
>
> Wäre um jeden Hinweis dankbar.
>
> Gruß,
>  Tobias

Hallo Tobias,


Du hast hier den Fall das die Triggerbedingung relativ komplex für die 
Zeitbasis ist.

Zwei Dinge würde ich an Deiner Stelle probieren:

a.) externe Triggerung schalten, z.B. über die den Quuarzoszillator des 
I2C Gerätes.

b.) Tektronix hat in der Regle eine "Holdoff-Regler". Das hilft bei 
bestimmtne Singnalfolgen (sieh dazu Scope-Handbuch) auch.
Einfach mal probieren.


Eric hat natürlich recht: Digital Scope mit genug Speicher hilft oft.
Analogspeicherscope: Single-Shot Betrieb wählen.

von (prx) A. K. (prx)


Lesenswert?

Warum so kompliziert? Mit dem Welec DSO (Wittig-Nachfolger, 16K Samples) 
ist doch alles da was dafür nötig ist. Erklär mir einer lieber mal, wie 
man es mit einem DSO, fast egal was für einem, nicht schafft, eine nicht 
allzu lange I2C-Aktion auf den Schirm zu kriegen. Es sei denn man hat 
keinen Dunst wie man das Ding bedient, oder will unbedingt den 
kompletten Transfer von 1KB EEPROM Daten verfolgen. Oder damit 
bestehenden Transfer belauschen und dekodieren. Dann allerdings ist man 
mit einem LA besser bedient.

von Tobias J. (tobiasjohn) Benutzerseite


Lesenswert?

Ahhh...
 danke!

Ich Depp habe den Trigger nicht auf negative Flanke gestellt :D

Da war der Fehler...
Jetzt klappt alles wunderbar!

 Danke!

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.