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.
weil der länger sein darf... Der Slave kann clock-stretching machen.. http://www.roboternetz.de/wissen/index.php/Clock_Stretching
@docean: Bei clock Stretching verlängert sich aber die low Phase, nicht die high Phase. @Markus: Scope-Bild?
Aber nicht alle Master unterstützen das, dann heißt es, mit Geschwindigkeit runter.
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
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
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.