SPI_EEPROM

  • Hallo erstmal,

    ich versuche aktuell das EEPROM 25LC040 zum Laufen zu bringen allerdings wird mir beim lesen immer unterschiedliche werte zurückgegeben.

    DATENBLATT

    ausgegeben werden allerdings immer unterschiedliche Werte...


    Großer Dank :danke_ATDE: schonmal für die Hilfe
    RasPiNeuling

  • Also ich lese im Datenblatt, dass die CS-Leitung low-aktiv ist - du betreibst sie aber high-aktiv. Und du solltest statt kreuzlahmen Bitbanging besser das spi-device samt dazugehoerigem Python-Modul benutzen, bei mir (Ubuntu Mate Wily) als Paket python-spidev zu installieren.

  • Ich betreibe die CS-Leitung low-aktiv am Anfang der Methoden readData und sendData wird cs auf low und am Ende auf High gesetzt
    desweiteren funktioniert spidev nicht mit den Standartmethoden wegen dem 9.Adressbit welches im Read/Write-Byte untergebracht wird

  • Ah, verzeih, das habe ich so nicht gesehen. Dinge die mir noch einfallen:

    Du toggelst die Clock in sendValue sehr schnell. Ok, es ist Python, und das beschraenkt die Geschwindigkeit, aber rein testweise koenntest du dort eine kurze Pause einlegen. Optimieren kann man das ja spaeter immer noch. Der Chip kann allerdings 3MHz Clock verkraften...

    Und ansonsten natuerlich mit nem Oszi draufstarren.

  • Der Aufbau deiner Hardware wäre noch interessant, villeicht hat sich ja da ein Fehler eingeschlichen.
    Außerdem könntest du noch das Status Register mit auslesen, ansonsten würde ein Oszi natürlich helfen ;)

    lg kobold254

  • Bei der Schaltung ist mir nichts aufgefallen.
    Also zurück zur Software:
    Du kannst das ganze natürlich mit der wiringPi machen, es werden Blockweise immer 8 Bits übertragen.
    Wie das abläuft ist dem Datenblatt auf Seite 8 zu entnehmen.
    Bevor Daten geschrieben werden können muss ein WREN gesendet werden, siehe Datenblatt Seite 7.

    Zur Überprüfung deines Aufbaus kannst du ja mal direkt einen Befehlssatz ohne Funktionen implementieren.

    Viel Erfolg

    kobold254

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!