Bus-Piraten 3EEPROM Explorer Board (4 / 5 schritt)

Schritt 4: DS2431 1-Wire EEPROM


Chip: DS2431, 1-Wire EEPROM (1Kbyte).
Bus: 1-Wire, < 2.2Kohm Pull-up-Widerstand erforderlich.
Leistungsbedarf: 2.8volts, 5.25volts.
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.

Die DS2431 schöpft Kraft aus der Pull-up-Widerstand und braucht eine externe Versorgung oder Entkopplung Kondensator.

1-Wire braucht einen starke Pull-up-Widerstand, ein Maximum an 2.2Kohms. The Bus Pirate on-Board-Pull-up-Widerstände sind 10K, zu schwach, um richtig die DS2431 während schreibt macht. Sie ein 2.2Kohm oder kleineren externen Widerstand zwischen macht und die 1-Wire Bus Pin verwenden müssen. Haben Sie Schwierigkeiten, die Daten geschrieben werden, sicherstellen Sie, dass Ihre Pull-up-Widerstand groß genug ist. Die 3EEPROM Explorer Halbpension beinhaltet einen 1800 Ohm Pull-up-Widerstand (R1) auf dem 1-Wire-Bus, so dass keine externen Widerstand erforderlich ist.

Setup

Wenn Sie einen Bus Piraten verwenden, verbinden Sie es mit 3EEPROM Board oder DS2431 wie in dem folgenden Diagrammbild gezeigt. Der DS2431 nicht die Stromversorgung Pin erforderlich, es wird auf dem 3EEPROM-Brett verwendet, um der großen Pull-up-Widerstand für den 1-Wire-Bus macht.

Schnittstellen

Presse bin ' im Bus Pirate terminal und wählen Sie 1-Wire-Modus. Aktivieren Sie die on-Board-Netzteile (große "W") und überprüfen Sie die Spannungsüberwachung (V).

Schritt 1: finden Sie die Geräteadresse
1-WIRE > (0xf0) <<< 1-Wire Suchmakro
1WIRE ROM BEFEHL: SUCHE (0XF0)
Gefundenen Geräte an:
Makro 1WIRE Adresse
1.0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B <<< DS2431 eindeutige ID
* DS2431 1K EEPROM <<< Gerà ¤ tetyp bekannt
Gefunden Sie 0 x 01-Geräte.
Die ersten 10 Geräte-IDs stehen per Makro, sehen (0).
1-WIRE >

Jedes 1-Wire-Gerät besitzt eine einzigartige 8-Byte-ID. 1-Wire ist ein Suchverfahren, die die ID des alle angeschlossenen Geräte erkennt. Der Bus-Pirat implementiert die 1-Wire-Suche als Makro (240). Typ "(240)" im Bus Pirate Terminal 1-Wire-Suche starten.

Jede Geräteadresse wird gedruckt, bekannte Geräte werden erkannt. Die ersten zehn 1-Wire-Geräte-Adressen als Makros gespeichert sind, in diesem Beispiel ist unsere DS2431 Adresse durch Eingabe von "(1)" im Terminal zur Verfügung.

Schritt 2, 8 Bytes in den Notizblock schreiben
1-WIRE > (0x55) (1) 0x0f 0 0 8 7 6 5 4 3 2 1
1WIRE BUS RESET OK <<< auch {Befehl
1WIRE schreiben ROM Befehl: übereinstimmen (0x55) * folgen mit 64-Bit-Adresse
1WIRE ADRESSE MAKRO 1: 0X2D 0X54 0XD2 0XEF 0X00 0X00 0X00 0X2B "
SCHREIBEN: 0x0F <<< DS2431 Notizblock Schreibbefehl
SCHREIBEN: 0 x 00 <<< DS2431 Adresse Byte 1 schreiben
SCHREIBEN: 0 x 00 <<< DS2431 Adresse Byte 2 schreiben
SCHREIBEN: 0x08 <<< 8 Daten-Startwerte zu schreiben
SCHREIBEN: 0X07
SCHREIBEN: 0 X 06
SCHREIBEN: 0 X 05
SCHREIBEN: 0 X 04
SCHREIBEN: 0X03
SCHREIBEN: 0X02
SCHREIBEN: 0 X 01
1-WIRE >

Als nächstes schreiben wir 8 Byte an einen temporären Speicherort in der DS2431 bezeichnet den Notizblock.

Start die Transaktion mit einem 1-Wire-Bus zurückgesetzt und MATCH-Befehl (0x55). Beide sind als Makro "(0x55)". Dies geht auch ohne ein Makro durch Eingabe "{0x55", {sendet die 1-Wire Reset, 0x55 ist der 1-Wire-MATCH-Befehl.

Senden Sie nach dem MATCH-Befehl der 8-Byte-ID des Geräts an Adresse. Wir nutzten das Makro (1) das bevölkert wurde mit der DS2431 ID in Schritt 1. Sie könnte auch die 8-Byte-ID manuell eingeben. An dieser Stelle, die die DS2431 erhalten haben, sollten es ist Adresse und für Befehle bereit.

0x0F sagt der Schreibbefehl Notizblock, es der DS2431 Daten zu erwarten. Die nächsten zwei Bytes sagen es, wo die Daten abgelegt werden sollen, wir werden es am Anfang zu retten (0 0). Schließlich senden wir 8 Byte Werte zu speichern, die Nummern 8 bis 1.

Sie müssen eine vollständige 8 Byte der DS2431 schreiben. Darüber hinaus muss die Schreibadresse auf eine 8-Byte-Grenze sein. Sehen Sie das Datenblatt für eine vollständige Übersicht über die Grenzen schreiben.

Schritt 3, überprüfen Sie den Notizblock und bekommen den Authorisierungs-code
1-WIRE > (0x55)(1) 0xaa R3: R: R: 2 R 8,2
1WIRE BUS RESET OK <<< Adresse das Gerät
1WIRE schreiben ROM Befehl: übereinstimmen (0x55) * folgen mit 64-Bit-Adresse
1WIRE ADRESSE MAKRO 1: 0X2D 0X54 0XD2 0XEF 0X00 0X00 0X00 0X2B
SCHREIBEN: 0xAA <<< Scratch Pad-Befehl zu lesen
BULK lesen 0x03 BYTES: <<< Authorisierungs-Code
0 x 00 0x00 0x07
BULK lesen 0x08 BYTES: <<< die Daten, die wir geschickt
0x08 0x07 0x06 0x05 0x04 0x03 0x02 0x01
BULK lesen 0x02 BYTES: <<< CRC für die Daten
0xc8 0x86
BULK lesen 0x02 BYTES: <<< alle 1 s nach CRC
0xFF 0xFF
1-WIRE >

Stellen Sie sicher, dass die Daten korrekt empfangen wurde, und erhalten einen Authorisierungs-Code schreiben.

Beginnen Sie wieder mit einem 1-Wire-Reset und MATCH Befehlsmakro (0x55) und das Gerät Adresse Makro (1). Dieser Zeit senden die DS2431 lesen Notizblock Befehl (0xAA) und lesen Sie dann insgesamt 15 Byte.

Die ersten 3 Bytes lesen (R3) sind den Authorisierungs-Code schreiben, brauchen wir es im nächsten Schritt kopieren Sie den Notizblock im EEPROM. Die nächsten 8 Bytes (R: 8) sollten die Daten übereinstimmen, schickten wir in Schritt 2. Die letzten 2 Bytes (R2) sind eine CRC16 für die Daten. Nachdem die CRC zurück alle 1 s liest.

Schritt 4, der Notizblock im EEPROM schreiben
1-WIRE > (0x55)(1) 0x55 0x00 0x00 0x07
1WIRE BUS RESET OK <<< Adresse das Gerät
1WIRE schreiben ROM Befehl: übereinstimmen (0x55) * folgen mit 64-Bit-Adresse
1WIRE ADRESSE MAKRO 1: 0X2D 0X54 0XD2 0XEF 0X00 0X00 0X00 0X2B
SCHREIBEN: 0x55 <<< Scratch Pad-Befehl Kopieren
SCHREIBEN: 0 x 00 <<< 3-Byte-Authorisierungs-Code aus Schritt 3
SCHREIBEN: 0 X 00
SCHREIBEN: 0X07
1-WIRE >

Wir haben alles was wir brauchen die Notizblock-Daten dauerhaft im EEPROM zu speichern.

Adresse des Geräts, dann senden Sie den Befehl "DS2431 kopieren Notizblock" (0x55) gefolgt von den drei Byte-Authorisierungs-Code, wir in Schritt 3 abgerufen (0 x 00 0x00 0x07). Wenn der Authorisierungs-Code korrekt ist, werden die Daten im EEPROM verschoben.

Schritt 5, überprüfen Sie die Notizblock schreiben
1-WIRE > (0x55)(1) 0xaa R: 3
1WIRE BUS RESET OK <<< Adresse das Gerät
1WIRE schreiben ROM Befehl: übereinstimmen (0x55) * folgen mit 64-Bit-Adresse
1WIRE ADRESSE MAKRO 1: 0X2D 0X54 0XD2 0XEF 0X00 0X00 0X00 0X2B
SCHREIBEN: 0xAA <<< Scratch Pad-Befehl zu lesen
MASSE 0X03 BYTES ZU LESEN:
0 x 00 0x00 0x87 <<< aktualisiert Authorisierungs-Code
1-WIRE >

Die DS2431 setzt der obere die meisten Bit des Autorisierungscodes schreiben nach einem erfolgreichen Kopierbefehl Notizblock. Senden Sie anderen lesen Scratch Pad-Befehl (0xAA), um den aktualisierten Authorisierungs-Code, aber lesen einfach die ersten drei Bytes (R: 3). Der vorherige Wert 0x07 auf 0x87 geändert hat, den Befehl "kopieren" wurde erfolgreich empfangen.

Schritt 6, die Werte auslesen
1-WIRE > (0x55)(1) 0xf0 0x00 0x00 R: R 8,8
1WIRE BUS RESET OK <<< Adresse das Gerät
1WIRE schreiben ROM Befehl: übereinstimmen (0x55) * folgen mit 64-Bit-Adresse
1WIRE ADRESSE MAKRO 1: 0X2D 0X54 0XD2 0XEF 0X00 0X00 0X00 0X2B
SCHREIBEN: 0xF0 <<< DS2431 lesen Sie Befehl
SCHREIBEN: 0 x 00 <<< 2 Byte Adresse zu lesen
SCHREIBEN: 0 X 00
BULK READ 0x08 BYTES: <<< die 8 Bytes, wir schrieben, lesen
0x08 0x07 0x06 0x05 0x04 0x03 0x02 0x01
BULK READ 0x08 BYTES: <<< lesen Sie mehr Werte
0X00 0X00 0x00 0x00 0x00 0x00 0x00 0x00
1-WIRE >

Den Schreibvorgang funktionierte einwandfrei durch Abrufen der Werte zu überprüfen. Adresse DS2431, dann senden die Read-Befehl (0xf0) und die Adresse von (0x00 0x00) zu lesen.

Es ist möglich, den gesamten Speicherbereich mit einem einzigen Befehl zu lesen. Wir lesen die acht Bytes schrieben wir frühere (R: 8), die die erwarteten Werte zurückgegeben. Die acht Bytes hinter diesen Werten noch nicht geschrieben worden und 0 zurück.

In Verbindung stehende Artikel

HD44780 LCD an I2C Adapterplatine für den Bus-Piraten

HD44780 LCD an I2C Adapterplatine für den Bus-Piraten

billig Charakter LCDs anhand der HD44780-Chipsatz kommen in einer Vielzahl von Größen: 2 x 16, 4 x 20, etc.. Diese Displays haben zwei standard-Schnittstelle-Modi, 4 und 8 Bit parallel. 8-Bit erfordert insgesamt 11 Datenleitungen, 4 Bit eine 7 (6 für
Bus-Piraten W/SPI und MCP4131 digitale Pot

Bus-Piraten W/SPI und MCP4131 digitale Pot

Ich habe versucht, Bus Pirate V3 zu verstehen und lernen seine Funktionen, auch wollte ich es mit einem einfachen Chip man damit umgeht verbinden hatte ich in meinem Schreibtisch ein 4131 digitale Potentiometer für lange Zeit ohne Einsatz gehalten. I
Fall von der Bus-Pirat

Fall von der Bus-Pirat

ich bin zurück aus den USA zurückgekehrt, und ich habe mir unter anderem die Bus-Piraten.Was ist es? Seine ein Bus Sniffer. Es kann schnuppern und willkürliche Befehle über Busse wie I2C oder SPI, Prototyping sehr erleichtert.Allein es ist sehr empfi
Billige Arduino gesteuert Lampenfassungen - Reverse Engineering RF

Billige Arduino gesteuert Lampenfassungen - Reverse Engineering RF

Intelligente Glühbirnen Kosten Ihrem erstgeborenen Kind. Das ist eine Schande, weil intelligente Leuchten enormes Potenzial für home-Automation, Energieeinsparungenund allerlei tolle Projekte freizuschalten.Sei es nur, gäbe es eine Möglichkeit Ihr Li
Wie erstelle ich einen Lot Paste Spender für SMD-Projekte...

Wie erstelle ich einen Lot Paste Spender für SMD-Projekte...

Vor kurzem baute ich einen SMD Reflowofen mit einem Toaster, Backofen und ein Controller Kit. Dies machte es wirklich einfach zu Löten auf Leiterplatten SMD (Surface-Mount Gerät Leiterplatten). Sie einfach ausgedrückt Blobs Lotpaste auf die Pads, die
RealTerm Buspirate Schnittstelle

RealTerm Buspirate Schnittstelle

gewusst wie: verwenden Sie Ihre Buspirate mit Realtermdie Buspirate ist, dass die Ultamate Hardwarehacker tool Drahtschlaufen, die Logik-SondeEs ist eine Univervial-Schnittstelle und Insterface Emulator Witm viele andere FeturesEs arbeitet mit1-wireI
Thermistor - Lüftersteuerung mit LabVIEW

Thermistor - Lüftersteuerung mit LabVIEW

Unterhaltungszentren oft Falle Abwärme von Elektronik; Dadurch können sie überhitzen, was ihre Lebensdauer reduziert. Dieses Projekt lässt sich die Temperatur der Entertainment-Center zu regulieren durch steigende Luftströmung. Es tut dies, indem Ben
Licht-Show-Jacke, die auf Musik reagiert

Licht-Show-Jacke, die auf Musik reagiert

Dieses Tutorial wurde im Rahmen meiner Diplomarbeit für meinen Abschluss in Musiktechnologie und angewandte Elektronik an der University of York produziert. Es richtet sich an Musiker mit einem Interesse an Elektronik. Das fertige Produkt wird eine L
Interaktive Logos

Interaktive Logos

zunächst einmal wir möchte die Organisation und vor allem dem Hauptsponsor, Capgemini, die all dies möglich gemacht.Dieses Projekt ist ein Beitrag zu den ersten belgischen Arduino Jam (2012).Während der Arduino Jam 2012 nehmen Sie mich und zwei ander
DIY: Ein 5 Minuten Arduino Voltmeter mit einem OLED-Display

DIY: Ein 5 Minuten Arduino Voltmeter mit einem OLED-Display

Hallo!Ich werde Ihnen zeigen, wie ein Voltmeter * mit Arduino UNO, ein OLED-Display, 2 Widerstände und 9 Jumper für weniger als 5 Minuten zu machen. Mit ihm wird man Spannung von 0 bis 30V messen können (wenn Sie es überschreiten beschädigen Sie Ihre
Greifen eine RF433 Signal mit einem Buspirate v.3.6

Greifen eine RF433 Signal mit einem Buspirate v.3.6

ich habe beschlossen, meine Versuche, billige home-Automation in ein paar verschiedenen Instructables zu brechen. Ich lief in eine Menge von Fragen versuchen, zu erhalten und die HF-Signale zu entschlüsseln, so dass ich dachte, das wäre ein guter Ort
Connectal PCIe: Erste Schritte

Connectal PCIe: Erste Schritte

Verwenden der PCIe-Bus Verbindung ein FPGA-Board mit einer X86 Host-Rechner unter Linux. Erstellen und Ausführen eines Connectal-Projekts. Dieses Tutorial enthält Anweisungen, wie die gesamte Toolkette lokal zu installieren. Verwenden Sie können nich
XBee Module als Sender & Empfänger - Arduino Tutorial nutzen

XBee Module als Sender & Empfänger - Arduino Tutorial nutzen

In diesem Tutorial verwenden wir zwei xBee (Serie 1) Module mit dem Arduino Uno Board. Wir werden sie als Empfänger und Sender, um die Helligkeit einer LED drahtlos zu steuern, indem Sie mit einem Potentiometer dienen konfigurieren.Die xBee - Serie 1
Watt-your-Verbrauch? -Wireless Powermeter

Watt-your-Verbrauch? -Wireless Powermeter

ich habe vor kurzem etwas besessen, verstehen, wie viel Strom, unser Haus ist mit, geworden. Gibt es sicherlich kommerzielle Angebote ermöglichen es Ihnen, den Stromverbrauch in Ihrem Haus zu überwachen und es gibt auch Award Gewinner Kits erhältlich