Hallo
Ich habe ein Programm in FreeBasic geschrieben, mit dem man über die serielle Schnittstelle des PCs serielle EEPROMS vom Typ 24... auslesen und beschreiben können soll. Die Statusleitungen des COM-Ports werden dazu mit ein paar Widerständen und Z-Dioden zu einem I²C-Bus umfunktioniert.
Das Programm soll für alle Typen funktionieren, die Speicher- und Pagewrite-Buffer-Größe des jeweils verwendeten EEPROMs werden beim Programmstart abgefragt und müssen vom Benutzer angegeben werden. Die Adresspins A0-A2, die man von außen beschalten kann, liegen der Einfachheit halber immer auf Masse.
Ich habe zum testen EEPROMs vom Typ 24C02, 24C64 und 24C512. Mit dem 24C02 und dem 24C512 funktioniert das Ganze auch wunderbar, nur mit dem 24C64 nicht. Ich stehe echt vor einem Rätsel. Es läuft auch alles, wenn ich den 512er einstecke, aber die Werte für den 64er, also 64 kbit Speichergröße und 16 bzw. 32 Byte Pagewrite-Buffer eingebe. Dann werden die oberen 8kb von dessen Speicher einwandfrei beschrieben und ausgelesen. Eigentlich kann es also nicht am Programm liegen. An der Hardware aber auch nicht, ich habe es mit zwei verschiedenen, nagelneuen 24C64 probiert, die ich praktisch aus dem leitfähigen Schaumstoff, in dem ich sie bekam, direkt in die Schaltung umgesteckt habe. Aber nix. Der 24C64 reagiert nicht. Als ob gar kein EEPROM angeschlossen wäre.
Ich will euch gar nicht mit dem Programm oder dem Schaltplan langweilen. Meine Frage ist erstmal nur, ob es irgendeinen Unterschied gibt, der mir bisher entgangen ist. Ich bin auch in den Datenblättern noch auf keinen möglichen Grund dafür gestoßen, dass es mit dem kleinen und dem großen EEPROM geht, aber mit dem mittleren nicht.
Gruß
Skilltronic
Lesezeichen