-
        

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 29

Thema: Probleme mit eeprom Speicherchip

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.02.2006
    Beiträge
    178

    Probleme mit eeprom Speicherchip

    Anzeige

    Will ich mehr als 16 Werte (word) ins eeprom 24c64 speichern, so werden diese beim Auslesen nicht richtig wiedergegeben. Wenn es <=16 Werte sind, dann stimmen sie.
    Werden es mehr als 16, so stimmen nur die 16 zuletzt gespeicherten werte, die vorherigen sind irgendwelche seltsamen Wiederholungs-Fragmente der gespeicherten Zahlen.
    Wer kennt die Lösung dieses Problems?

    Holger

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    19.08.2004
    Beiträge
    197
    da war mal was mit dem page write modus 32 byte schreiben in einem rutsch, weiß aber nichts genaues, google mal....
    Page-Write-Modus

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.07.2005
    Beiträge
    569
    oder schau mal ins Datenblatt ....

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.02.2006
    Beiträge
    178
    Ja, es wird wohl am page write modus liegen.
    Folgendes wurde hierzu bereits geschrieben:

    "Die EEPROMs haben einen internen 32 Bytes große Buffer und einen eigenen Addresszähler der von 0 bis 31 gehen kann. Man muß also für 32 Bytes am Stück nur einmal einen Deviceselect durchführen."

    und:

    "Beim Schreiben kannst du maximal nur 32 Bytes auf einmal senden, danach musst du erstmal par Millisekunden warten bis der EEPROM wieder bereit ist. Dann führst du erneut einen Device Select durch und sendest die Addresse für die nächsten Bytes. Wichtig ist nur das du das Pageboundary beachtest. "

    Wie sieht der "device select" in der praxis aus, welche routine muss ich in mein bascom-Programm einfügen?
    Mit dem data sheet komme ich leider nicht klar.

  5. #5
    Erfahrener Benutzer Roboter Experte Avatar von Rage_Empire
    Registriert seit
    10.03.2005
    Ort
    Pforzheim
    Beiträge
    710
    Bin mir nicht Sicher obs mit den modis zu tun hat wen XXRyder diesen Source verwendet:

    http://www.roboternetz.de/phpBB2/dlo...le&file_id=283

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.03.2004
    Beiträge
    185
    @xxrider
    noch ein Hinweis aus eigener Erfahrung zu "Beim Schreiben kannst du maximal nur 32 Bytes auf einmal senden":
    Das geht nur, wenn die Adressen der 32 Byte im gleichen 32 Byte Block liegen (hier also die unteren 5 Bit des Adresszählers).
    Sonst werden die hinteren Bytes wieder vorne angesetzt - das hatte mich schon mal aus dem Rennen geworfen
    If more than xx data words are transmitted to the EEPROM, the data word address will 'roll over' and previous data will be overwritten. The address 'roll over' during write is from the last byte of the current page to the first byte of the same page.

  7. #7
    Erfahrener Benutzer Roboter Experte Avatar von Rage_Empire
    Registriert seit
    10.03.2005
    Ort
    Pforzheim
    Beiträge
    710
    Hallo thomas,

    trifft dies auch auf den Byte-Write-Modus zu? ich meine, da wird doch jedesmal die adresse mitgesendet. ich verstehe nicht ganz, wie du das meinst....auf was muß man deffinitiv achten?

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.12.2004
    Alter
    64
    Beiträge
    277
    Zitat Zitat von Rage_Empire
    Hallo thomas,

    trifft dies auch auf den Byte-Write-Modus zu? ich meine, da wird doch jedesmal die adresse mitgesendet.
    Ach wo, beim Byte-write kann Dir das alles vollkommen wurscht sein. Ein guter Grund, seine Subroutinen auf dieser Basis aufzubauen, auch wenn man dann evtl. ein paar wenige Byte an Programmcode mehr braucht.

    Wenn ich gerade dabei bin: Bei den 24Cxx wird das Adresswort immer (ungewöhnlicherweise) mit MSB, LSB übergeben.

    Grüße
    Henrik

  9. #9
    Erfahrener Benutzer Roboter Experte Avatar von Rage_Empire
    Registriert seit
    10.03.2005
    Ort
    Pforzheim
    Beiträge
    710
    also dürfte es mit dem source aus dem download-verzeichis damit eigentlich kein problem machen.

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.12.2004
    Alter
    64
    Beiträge
    277
    Zitat Zitat von Rage_Empire
    also dürfte es mit dem source aus dem download-verzeichis damit eigentlich kein problem machen.
    Leider doch, weil hier I2CSEND verwendet wird, bei dem mehrere Byte hintereinander mit autoincrement geschrieben werden.

    Das fällt bei den Routinen nicht so auf, wer denkt schon etwas Böses bei:
    Eebanz = 4 : Gosub Write_ee

    und wer denkt schon bei
    I2csend 24c64w , Eehead(1) , Eebanz

    darüber nach, wie I2csend das verhackstückelt.

    Wer es tut, findet heraus, daß die Blockgrenze dabei überschritten werden kann .

    Ich muss mal meinen eigenen Democode heraussuchen, bei dem ich das konsequent vermeide (liegt auf einem anderen Rechner).

    Grüße
    Henrik

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •