Frage zum ACK des I2C Protokolls

OP #1019275
Hallo allerseits,

hab mal ne Frage zum Acknowledge beim I2C-Bus.
Und zwar habe ich zum testen ob ich das mit dem ack verstanden habe ein 
kleines testprogramm geschrieben und mein oszi an scl und sda gehängt.
mein Problem ist nun das beim 9. Takt sda immer auf low-signal ist auch 
wenn ich die adresse des Devices bewusst falsch sende...

Könnt ihr mal drüber schauen ob ich was vergessen habe.

MfG Florian
Gast
geb deinem EEProm eine Chance.

und zwar die zu reagieren.

dein prozesseor läßt die Datenleitung auf Ausgang und somit
auf low oder high je nach letztem bit.

du must die datenleitung auf eingang schalten (ohne Pullup,
der ist ja extern an der Leitung.

dann hat auch das EEprom seine Chance!

gruß hans
Gast
ansatz stimmt.

in ack: - datenleitung auf eingang
        - clock auf high
        - kurz warten
        - datenleitung lesen, speichern (für spätere Auswertung!)
        - clock auf low
        - datenleitung wieder auf Ausgang

dann i2c stop oder nächstes byte (oder Fehlerroutine ack-Fehler)

gruß hans
Gast
wenn kein ack da sein soll ist das bild fast richtig.

hast du externe Pullups (4k7) an den Leitungen

wenn nein geht notfalls auch der interne (eigentlich zu groß)

ein ack wäre, wenn die Datenleitung unten bleibt.

gruß hans
Gast
ein letzter tip noch

prüf mal ob dein eeprom 250 KHz mitmacht. evtl noch ein
älteres mit nur 100 KHz

kannst ja einfach mal langsamer werden (evtl. int. Osc runtersetzen)

gruß hans
OP
nee der kann 400khz, hab den fehler aber auch schon gefunden...
Wenn er nich in der Software steckt ist er,....
genau in Hardware und da war doch tatsächlich ein adress-pin nicht 
beschaltet
(draht rausgeflutscht)
aber jetz is alles ok bei richtiger adresse bleibt die sda auf low 
sobald ich sie ändere zieht der eeprom sie auf high...

Gruß Flo

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [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.