Gast
#3512247
Hallo allerseits! Ich kämpfe schon seit einigen Tagen mit dem AVR und seinem TWI. Ich habe vor einigen Wochen günstig einen Tresor von Burg Wächter mit elektronischem Schloss erworben. Die PIN war unbekannt, aber der Tresor offen. Ich dachte "Challenge Accepted!". Nachdem ich die Rückwand der Innenseite der Tür entfernt habe fand ich eine Platine mit einem EEPROM der meiner Vermutung nach die PIN enthalten musste. Der EEPROM war in kürzester Zeit ausgelesen, aber die PIN war nicht eindeutig zu identifizieren. Plan B musste her! Ich nahm also einen ATMEGA8 um den EEPROM zu emulieren, den Inhalt hatte ich ja. Nach einiger Zeit funktionierte auch das Auslesen der Daten, allerdings nur mit dem ersten Schreib-Lesezyklus. Der AVR scheint nach der ersten Stop-Condition SDA auf low zu ziehen und bringt damit die Kommunikation durcheinander. In Folge dessen habe ich einige probiert: kurze Leitungen, lange Leitungen (länge egal), interne Pull-ups vom AVR, externe Pull-ups (Platine sollte allerdings schon die nötigen Pull-ups haben, aber in der Verzweiflung probiert man so einiges aus), ATMEGA8, ATMEGA32, AT90CAN128, zwei unterschiedliche Slave Implementierungen. Alle mit dem selben Ergebnis: Nach der ersten Stop-Condition zieht der AVR SDA gleich auf low. Auf dem Screenshot kann man das wunderbar erkennen (roter Kreis). Wird direkt der EEPROM, ein 24AA02 von Microchip, angescholossen bleibt SDA an entsprechender Stelle high. Hat jemand schon ähnliche Erfahrungen mit dem AVR als TWI-Slave gemacht? Ich würd nicht sagen dass ich langsam sauer werde, aber ziemlich gefrustet! LG, Christian
