Signaltap für i2c-Signale

OP #3725090
Lesenswert?
• ▲
▼
Hallo Leute,
ich möchte mit einem arm cortex m3 einen Temperatursensor auslesen.
Der chip wird über i2c angesteuert/ausgelesen.
Leider habe ich kein oszi aber dafür das de0nano board.
Ich dachte man könnte doch den pin-ausgang(i2c) vom controller zum fpga 
führen und mit signaltap so die Leitung aufzeichnen.
Ist dies möglich/sinnvoll?
Gast #3725289
Lesenswert?
• ▲
▼
Sofern der IO-Standard stimmt schon. Du musst berücksichtigen, dass I2C 
sehr langsam ist, daher solltest du auch einen sehr langsamen Systemtakt 
erzeugen (ca. 1 MHz). Sonst kannst du so gut wie gar nichts sehen, da 
der Speicher zu schnell voll läuft.

Dies ist definitiv eine "billige" Lösung für einen Logic-Analyzer ;-)
Gast #3725313
Lesenswert?
• ▲
▼
Man sollte mit etwa der 10fachen Freuqenz abtasten, wenn man was sehen 
will. Problematisch bei I2C ist, dass es asynchron ist, d.h. durch das 
Ziehen der Clockleitung hängen die Pakete immer etwas anders.

Wenn man CLK-Leitungsprobleme beobachten will, muss es nochmal etwas 
feiner sein.
Gast #3725370
Lesenswert?
• ▲
▼
Tim S.
>..
>Ist dies möglich/sinnvoll?
Möglich: ist dein I2C 5V? Falls ja, dann brauchst du noch einen
Levelshifter oÄ.
Sinnvoll: Ich selbst habe ein kleines Stratix-Board mit massig
5V-toleranten IOs, mit STP-II habe ich damit ein Billig-LA.
Und bei 2 Signalen kann man selbst bei kleinen Cyclones locker
mit 8-16KBit/Signal (evtl. wesentlich mehr) aufzeichnen, und das
ohne gross Code zu schreiben.
#3725541
Lesenswert?
• ▲
▼
Roger Steiner schrieb:
> Somit gibts nur einen Eintrag pro SCL Flanke, also massig Platz fuer I2C
> Telegramme.

Andererseits wirst Du so Probleme mit Start/Stop-Conditions nicht 
erkennen. Um das ganze I2C-Protokoll zu erfassen, müsstest Du den 
Storage Qualifier auf "Simple or" stellen und sowohl SCL als auch SDA 
auf Transitions prüfen (nicht irritieren lassen durch die optisch 
unterschiedlich langen SCL-Phasen, weil SDA ja nicht immer wechselt...).

Willst Du übers Timing auch noch was erfahren, bleibt Dir nichts anderes 
übrig, als zu überlegen, wie lange Du aufzeichnen können musst, und dann 
die Oversampling-Clockfrequenz zu bestimmen (in der Regel sollte eine 
Sequenz von [Start, Address, Write, Stop] allenfalls noch ein a 
nschliessendes [Start, Address, Read, Stop] ausreichen, um die 
gängigsten Probleme zu finden...

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.