www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik I²C Bus - Kein Ack


Autor: Markus S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich hab folgendes Problem:

Ich versuche ein Eeprom mit einem DSP (56F8322) anzusprechen.
Laut Oszilloskop stimmt die Startbedingung und die Adresse.
Der 9. Takt ist plötzlich aber um einiges länger "high" als bei den 8 
Takten davor. Die SDA-Leitung schaltet von high zu low (was meiner 
Meinung nach doch das "Ack" sein müsste).
Der DSP erkennt das Ack aber nicht und beginnt von vorn. Das liegt doch 
bestimmt am Takt.

Warum ist der 9. Takt länger?

MfG
Markus S.

Autor: ... ... (docean) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
weil der länger sein darf...

Der Slave kann clock-stretching machen..

http://www.roboternetz.de/wissen/index.php/Clock_Stretching

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@docean: Bei clock Stretching verlängert sich aber die low Phase, nicht 
die high Phase.

@Markus: Scope-Bild?

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber nicht alle Master unterstützen das, dann heißt es, mit 
Geschwindigkeit
runter.

Autor: TK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Markus,

wenn der Clk auf H ist, dann darf sich die Datenleitung nicht ändern, 
ansonsten ist eine Start oder Stopp Bedingung erfüllt! In dem 
beschriebenen Fall wird eine START-Bedingung vorgegeben (CLK=H und 
DAT=H->L).
Wie lange der Clk auf H liegt (bzw. mit welcher Frequenz übertragen 
wird) bestimmt ja der MASTER. Und es ist nicht außergewöhnlich, wenn der 
Takt mal variiert.

@... (docean) Übrigens geht Clock-Stetching über einen L-Pegel!

Gruß
TK

Autor: Markus S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antworten.

Dann bekommt mein DSP kein ACk und beginnt mit einer neuen 
Startbedingung. Deswegen ist der Takt so lang auf "high".
Das hab ich mir doch glatt gedacht. Dann muss ich den Fehler woanders 
suchen.

Danke

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.