Schritt 2: 25AA - / 25LC-SPI EEPROM
Alle EEPROM-Demos sehen ziemlich gleich aus. Wir schreiben ein paar Zahlen auf den Chip, und dann zu lesen. Jedes Gerät verfügt über Bedingungen, die gelten, wenn Sie mehr als ein paar Werte wie Seitengröße und Grenze Einschränkungen schreiben möchten. Lesen Sie mehr über diese in das Datenblatt für Ihr Gerät.
Wenn Sie eine Demonstration zu arbeiten, das komplette terminal-Protokoll herunterladen, damit Sie nichts verpassen, dass wir nicht bekommen können. Pull-up-Widerstände sind das häufigste Problem, überprüfen Sie die Pull-up-Pin Spannung mit Menü "V" im Terminal Bus Pirate.
Chip: 25AA, SPI EEPROM (1Kbyte).
Bus: SPI. Pull-up Widerstände nur für die Anbindung der gemischt-Spannungerforderlich.
Leistungsbedarf: 1.8volts, 5.5volts (AA), 2.5volts bis 5,5 Volt (LC).
Referenzen: Datenblatt, eine Kundgebung zu hacken.
Komplette Bus Pirate Sitzungsprotokoll für diese Demonstration.
Ich konnte nicht einige Formatierungen und HTML-Tabellen in einer Instructable gehören, kann man das original auf dem gefährlichen Prototypen-Blog.
IC5 ist ein I2C-EEPROM 25AA-Serie von Microchip, diese EEPROMs kommen in eine Tonne von Größen. AA Teile laufen ab 1.8volts bis 5.5volts, während die 25LC-Teile Mindestanforderung 2,5 Volt haben.
C3 (0.1uF) entkoppelt die SPI EEPROM vom Stromnetz. Der Schreibvorgang zu schützen (WP) und halten Pins könnte von einem Mikrocontroller gesteuert werden, aber wir deaktiviert sie durch diese Pins hoch halten. Der SPI-Bus-Stifte, CS, DO, CLK und DI, werden Header JP4 gebracht.
Setup
Wenn Sie einen Bus Piraten verwenden, verbinden Sie es mit 3EEPROM oder 25AA-IC wie in das Diagrammbild unten gezeigt. SPI erfordert normalerweise keine Pull-up Widerstände.
Schnittstellen
Bin in der Bus-Pirat terminal Presse "für die Mode-Menü und wählen Sie SPI. Konfigurieren Sie die SPI-Bibliothek für normale Pin Ausgang, verwenden Sie die Standardeinstellungen für alle anderen SPI-Modus-Einstellungen. Aktivieren Sie die Netzteile (große "W") an der SPI-Modus-Eingabeaufforderung. Schließlich erhalten Sie einen Spannung-Bericht um sicherzustellen, dass die Netzteile ('V') arbeiten.
Wir wollen zeigen, wie man das EEPROM direkt am 3.3volts mit der SPI-Bibliothek in normalen Pin-Modus benutzen. Pull-up-Widerstände sind nicht erforderlich für diese Demo. Möchten Sie ein EEPROM angetrieben durch 5volts-Schnittstelle, verwenden der SPI-Bibliothek im Kollektor (HiZ) Pin-Modus zu öffnen und aktivieren Sie die Pull-up-Widerstände mit der Vpullup Pin (Vpu) an das EEPROM Stromversorgung angeschlossen.
Schritt 1, schalten Sie den Schreibschutz "
SPI > [0b110]
CS aktiviert <<< chip Select aktiviert
SCHREIBEN: 0 x 06 <<< schreiben deaktivieren Befehl schützen
CS deaktiviert <<< chip wählen Sie deaktiviert
SPI >
25AA - ist schreibgeschützt beim Einschalten. Niedriger chip Select (CS) ([]), senden Sie den Schreibschutz deaktivieren Befehl (0 x 06), und heben Sie dann CS (]) damit Schreibvorgänge können im EEPROM.
Der Schreibschutz der deaktivieren Befehl 0b00000110 Binär, aber können wir es zu 0b110 zu verkürzen und der Bus-Pirat noch versteht.
Schritt 2: schreiben Sie einige Werte
SPI > [0b10 0 3 2 1]
CS aktiviert <<< chip Select aktiviert
SCHREIBEN: 0x02 <<< Schreibbefehl
SCHREIBEN: 0 x 00 <<< Startadresse zu schreiben
SCHREIBEN: 0x03 <<< 3 Werte (3,2,1) schreiben
SCHREIBEN: 0X02
SCHREIBEN: 0 X 01
CS deaktiviert <<< chip wählen Sie deaktiviert
SPI >
Jetzt ist das EEPROM beschreibbar. Erstens senken CS 25AA - aktivieren ([]). Weiter, senden die Write-Befehl (0x02) und die Lage zu schreiben (0) begonnen. Senden Sie die Daten speichern (3 2 1), dann heben Sie CS (]) um die Werte zu speichern.
Hinweis: Wir haben einen winzigen 128 Byte EEPROM, größere Chips verwenden eine 16-Bit (2 Byte) Adresse. Mit diesem Befehl wäre [0b10 0 '''0 ''' 3 2 1] für EEPROMs größer als 256bytes, beachten Sie die zweite 0. Vergewissern Sie sich das Datenblatt für den EEPROM.
Schritt 3, gelesenen Werte zurück
SPI > [0b11 0 R: 3]
CS aktiviert <<< chip Select aktiviert
SCHREIBEN: 0x03 <<< Befehl zu lesen
SCHREIBEN: 0 x 00 <<< Startadresse zu lesen
BULK READ 0x03 BYTES: <<< 3 Werte zu lesen
0x03 0x02 0x01
CS deaktiviert <<< chip wählen Sie deaktiviert
SPI >
Schließlich lesen die Daten zurück, um sicherzustellen, dass der Schreibvorgang erfolgreich war. Wählen Sie die 25AA ([]), senden Sie das lesen Befehl (0x03) start-Adresse (0) und lesen Sie dann drei Werte (R: 3). CS zum Abschluss der Transaktion (]) zu erhöhen. Mit den Werten übereinstimmen, die schreiben war erfolgreich.
Hinweis: Wir verwendeten eine winzige 128 Byte EEPROM, größere Chips verwenden eine 16-Bit (2 Byte)-Adresse. Mit diesem Befehl wäre [0b11 0 '''0 ''' R: 3] für EEPROMs größer als 256bytes, beachten Sie die zweite 0. Vergewissern Sie sich das Datenblatt für Ihr EEPROM.