Bus Pirate 3EEPROM explorer bestuur (4 / 5 stap)

Stap 4: DS2431 1-Wire EEPROM


Chip: DS2431, 1-draads EEPROM (1Kbyte).
Bus: 1-Wire, < 2.2Kohm pull-up weerstand nodig.
Stroomvereisten: 2.8volts naar 5.25volts.
Referenties: gegevensblad, Hack een demonstratie van de dag.
Compleet Bus Pirate sessie logboek voor deze demonstratie.

Ik kon niet bepaalde opmaak en de HTML-tabellen opnemen in een Instructable, kunt u de oorspronkelijke op de blog van gevaarlijke Prototypes.

De DS2431 haalt zijn spanning uit de pull-up weerstand en heeft geen behoefte aan een externe leveringen of ontkoppeling condensator.

1-wire moet een sterke pull-up weerstand, een maximum van 2.2Kohms. The Bus Pirate on-board pull-up weerstanden zijn 10K, te zwak om goed de macht van de DS2431 tijdens het schrijven. Moet u een 2.2Kohm of kleinere externe weerstand tussen macht en de 1-Wire bus pin. Als u problemen ondervinden bij het schrijven van gegevens, controleert u of dat uw pull-up weerstand is groot genoeg. Het 3EEPROM explorer bord bevat een pull-up weerstand van 1800 ohm (R1) op de 1-Wire bus zodat er geen externe weerstand nodig is.

Setup

Als u van een Bus Pirate gebruikmaakt, aansluiten op de 3EEPROM kamer of DS2431 zoals weergegeven in de grafiekafbeelding hieronder. De DS2431 de macht levering pin niet nodig, het wordt gebruikt op het 3EEPROM-bord aan de macht van de grote pull-up weerstand voor de 1-Wire-bus.

Interfacing

Pers ben ' in de Bus Pirate-terminal en selecteer 1-Wire-modus. Inschakelen van de on-board voedingen (grote ' W') en controleert u de monitor van de spanning (v).

Stap 1, vindt u het apparaatadres
1-WIRE > (0xf0) <<< 1-Wire zoekmacro
1WIRE ROM OPDRACHT: ZOEK (0XF0)
Gevonden apparaten op:
Macro 1WIRE adres
1.0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B <<< DS2431 unieke ID
* DS2431 1K EEPROM <<< apparaattype heet
Gevonden 0x01 apparaten.
De eerste 10 apparaat-id's zijn beschikbaar door MACRO, zie (0).
1-WIRE >

Elk 1-Wire-apparaat heeft een unieke 8 byte-ID. 1-wire heeft een zoekprocedure die de ID van alle aangesloten apparaten detecteert. De Bus piraat implementeert de 1-Wire-zoekopdracht als macro (240). Type '(240)' in de Bus Pirate terminal om de 1-Wire-zoekopdracht te starten.

Het apparaatadres van elk wordt afgedrukt, bekende apparaten worden geïdentificeerd. De eerste tien 1-Wire apparaat adressen worden opgeslagen als macro's, in dit voorbeeld het adres van onze DS2431 is beschikbaar door '(1)' in de terminal te typen.

Stap 2, 8 bytes naar het Kladblok schrijven
1-WIRE > (0x55) (1) 0x0f 0 0 8 7 6 5 4 3 2 1
1WIRE BUS-RESET OK <<< ook {opdracht
1WIRE schrijven ROM opdracht: overeenkomen met (0x55) * volgen met 64-bits adres
1WIRE ADRES MACRO 1: 0X2D 0X54 0XD2 0XEF 0X00 0X00 0X00 0X2B '
SCHRIJVEN: 0x0F <<< DS2431 schrijven Kladblok opdracht
SCHRIJVEN: 0x00 <<< DS2431 schrijven byte van het adres 1
SCHRIJVEN: 0x00 <<< DS2431 schrijven byte van het adres 2
SCHRIJVEN: 0x08 <<< start 8 gegevenswaarden te schrijven
SCHRIJVEN: 0X07
SCHRIJVEN: 0X06
SCHRIJVEN: 0X05
SCHRIJVEN: 0X04
SCHRIJVEN: 0X03
SCHRIJVEN: 0X02
SCHRIJVEN: 0X01
1-WIRE >

We schrijven volgende 8 bytes naar een tijdelijke locatie in de DS2431 genaamd het Kladblok.

Start de transactie met een 1-Wire-bus-reset en MATCH command (0x55). Beide zijn beschikbaar als macro '(0x55)'. Dit kan ook worden gedaan zonder een macro door te typen "{0x55', {stuurt het 1-Wire-resetten, 0x55 is de 1-Wire MATCH opdracht.

Na de MATCH opdracht, de 8 byte-ID van het apparaat naar adres te verzenden. We gebruikten de macro (1), die werd bevolkt met de DS2431-ID in stap 1. U kan ook de 8 byte-ID handmatig invoeren. Op dit punt die de DS2431 moeten krijgen het adres is en worden klaar voor opdrachten.

0x0f is de opdracht write Kladblok, vertelt het de DS2431 te verwachten van de gegevens. De volgende twee bytes te vertellen waar de gegevens plaatsen, bewaren we het aan het begin (0 0). Tot slot, wij sturen 8 bytes van waarden op te slaan, de getallen 8 tot en met 1.

U moet een volledige 8 bytes schrijven aan de DS2431. Bovendien moet het adres schrijven op de grens van een 8-byte. Zie het gegevensblad voor een compleet overzicht van de beperkingen van het schrijven.

Stap 3 Controleer of de Kladblok en krijgen de authorisatiecode
1-WIRE > (0x55)(1) 0xaa r: 3 r: 8 r: 2 r: 2
1WIRE BUS-RESET OK <<< adres van het apparaat
1WIRE schrijven ROM opdracht: overeenkomen met (0x55) * volgen met 64-bits adres
1WIRE ADRES MACRO 1: 0X2D 0X54 0XD2 0XEF 0X00 0X00 0X00 0X2B
SCHRIJVEN: 0xAA <<< Lees Kladblok opdracht
BULK Lees 0x03 BYTES: <<< authorisatiecode
0x00 0x00 0x07
BULK lezen 0x08 BYTES: <<< de we verzonden gegevens
0x08 0x07 0x06 0x05 0x04 0x03 0x02 0x01
BULK lezen 0x02 BYTES: <<< CRC voor de gegevens
0xC8 0x86
BULK lezen 0x02 BYTES: <<< alle 1s na CRC
0xFF 0xFF
1-WIRE >

Controleren of de gegevens correct werd ontvangen en krijgen een authorisatiecode schrijven.

Opnieuw beginnen met een 1-Wire-reset en MATCH opdracht macro (0x55), en het apparaat adres macro (1). Deze tijd verzenden de DS2431 lezen Kladblok command (0xAA) en lees vervolgens een totaal van 15 bytes.

De eerste 3 bytes lezen (r: 3) zijn de authorisatiecode schrijven, moeten we het in de volgende stap om te kopiëren van het Kladblok naar de EEPROM. De volgende 8 bytes (r: 8) moet overeenkomen met de gegevens die we bij stap 2 hebt verzonden. De laatste 2 bytes (r: 2) zijn een CRC16 voor de gegevens. Na de CRC terugkeer alle 1s leest.

Stap 4, het Kladblok schrijven naar de EEPROM
1-WIRE > (0x55)(1) 0x55 0x00 0x00 0x07
1WIRE BUS-RESET OK <<< adres van het apparaat
1WIRE schrijven ROM opdracht: overeenkomen met (0x55) * volgen met 64-bits adres
1WIRE ADRES MACRO 1: 0X2D 0X54 0XD2 0XEF 0X00 0X00 0X00 0X2B
SCHRIJVEN: 0x55 <<< kopiëren, opdracht Kladblok
SCHRIJVEN: 0x00 <<< code van de vergunning van 3 bytes vanaf stap 3
SCHRIJVEN: 0X00
SCHRIJVEN: 0X07
1-WIRE >

Wij hebben alles wat die we nodig voor het opslaan van de Kladblok-gegevens permanent in de EEPROM.

Adres van het apparaat, dan stuurt de DS2431 kopieeropdracht Kladblok (0x55) gevolgd door de drie byte authorizatiecode we in stap 3 hebt opgehaald (0x00 0x00 0x07). Als de autorisatie-code juist is, worden de gegevens wordt verplaatst naar de EEPROM.

Stap 5, controleert u of de Kladblok schrijven
1-WIRE > (0x55)(1) 0xaa r: 3
1WIRE BUS-RESET OK <<< adres van het apparaat
1WIRE schrijven ROM opdracht: overeenkomen met (0x55) * volgen met 64-bits adres
1WIRE ADRES MACRO 1: 0X2D 0X54 0XD2 0XEF 0X00 0X00 0X00 0X2B
SCHRIJVEN: 0xAA <<< Lees Kladblok opdracht
BULK 0X03 BYTES LEZEN:
0x00 0x00 0x87 <<< authorisatiecode bijgewerkt
1-WIRE >

De DS2431 wordt de bovenste meeste bit van de code van de vergunning schrijven na een succesvolle kopieeropdracht Kladblok. Stuur een ander lezen Kladblok command (0xAA) om de bijgewerkte authorizatiecode, maar lees net de eerste drie bytes (r: 3). De vorige waarde 0x07 is veranderd naar 0x87, het copy commando succesvol werd ontvangen.

Stap 6, oplezen van de waarden
1-WIRE > (0x55)(1) 0xf0 0x00 0x00 r: 8 v: 8
1WIRE BUS-RESET OK <<< adres van het apparaat
1WIRE schrijven ROM opdracht: overeenkomen met (0x55) * volgen met 64-bits adres
1WIRE ADRES MACRO 1: 0X2D 0X54 0XD2 0XEF 0X00 0X00 0X00 0X2B
SCHRIJVEN: 0xF0 <<< DS2431 Lees opdracht
SCHRIJVEN: 0x00 <<< 2 byte Lees het adres
SCHRIJVEN: 0X00
BULK lezen 0x08 BYTES: <<< de 8 bytes we schreven lezen
0x08 0x07 0x06 0x05 0x04 0x03 0x02 0x01
BULK lezen 0x08 BYTES: <<< Lees meer waarden
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
1-WIRE >

Controleer of het schrijven goed gewerkt door het ophalen van de waarden. Het adres van de DS2431, dan stuur het lezen command (0xf0) en het adres om te lezen van (0x00 0x00).

Het is mogelijk om te lezen de hele geheugenbereik met een enkele opdracht. We lezen de acht bytes schreven we eerder (r: 8), die de verwachte waarden geretourneerd. De acht bytes buiten deze waarden niet hebt geschreven en 0 terug te keren.

Gerelateerde Artikelen

HD44780 LCD aan I2C adapter board voor de Bus Pirate

HD44780 LCD aan I2C adapter board voor de Bus Pirate

goedkoop karakter LCD's gebaseerd op de chipset van de HD44780 komen in een verscheidenheid van soorten en maten: 2 x 16, 4 x 20, enz. Deze schermen hebben twee modi van de standaard interface, 4 bits en 8 bits parallelle. 8 bit vereist een totaal va
Bus Pirate W/SPI en MCP4131 digitale Pot

Bus Pirate W/SPI en MCP4131 digitale Pot

Ik probeerde te begrijpen Bus Pirate V3 en verkennen van haar functies, ik wilde ook het verbinden met een eenvoudig chip te verwerken, ik had gehouden in mijn bureau een 4131 digitale potentiometer voor lange tijd met geen gebruik. Heb ik besloten o
Geval van de Bus Pirate

Geval van de Bus Pirate

ik keerde terug uit de VS, en onder andere dingen, ik heb mezelf de Bus piraat.Wat is het? Zijn een bus-sniffer. Het kan ruiken en willekeurige opdrachten uitvoeren over bussen zoals I2C en SPI, waardoor de prototyping zeer gemakkelijk.Op zich is erg
Hoe maak je een soldeer pasta-doseerapparaat voor SMD projecten...

Hoe maak je een soldeer pasta-doseerapparaat voor SMD projecten...

Onlangs heb ik een SMD-reflow oven met behulp van een broodroosteroven en een controllerkitgebouwd. Dit heeft het echt eenvoudig om te solderen van SMD PCB's (surface mount apparaat printplaten) gemaakt. U simpel gezegd blobs van het soldeer plakken
Google Play Music Internet Radio (Raspberry Pi en Arduino)

Google Play Music Internet Radio (Raspberry Pi en Arduino)

ik was op zoek naar een project te doen met mijn Raspberry Pi en vond dit Instructable en dacht dat ik zou hebben een gaan op iets dergelijks die met Google Play Music werkte. Ik had een ruw idee van wat ik wilde het laatste item om een einde te will
Afstandsbediening Home Automation

Afstandsbediening Home Automation

ik wilde om te posten van dit project voor ongeveer 3 jaar nu maar nooit kon vinden de tijd. Oh goed behoeften moeten als de duivel stations zoals ze zeggen, en het is nu hier voor jou. Ik hoop dat het gaat over duidelijk, zo niet laat het me weten e
Home Automation met HomeGenie

Home Automation met HomeGenie

Dus wilt u stap uw spel Domotica? Zoek niet verder! Veel van ons probeerde huis automatiseren door ad hoc-methode, nu hier is een grote open source systeem dat betrouwbare stichtingen voor uw volgende project geeft.HomeGenie geeft u een webserver voo
Microchip PIC Library to Control een 20 door 4 LCD over I2C

Microchip PIC Library to Control een 20 door 4 LCD over I2C

Dit Instructable presenteert een 'C'-bibliotheek voor het beheersen van een enkele 20 door 4 LCD op basis van de HD44780 LCD controller over I2C met behulp van de NXP PCF8574 externe 8 bits IO Expander. Het LCD-scherm kan is geconfigureerd voor 4 bit
Bluetooth Controlled bericht Droid--R2Blue2 (/ wat niet te doen)

Bluetooth Controlled bericht Droid--R2Blue2 (/ wat niet te doen)

dit is een instructable voor een bluetooth bericht Droid gecontroleerde. Ik noem het R2Blue2. Het beweegt en toont berichten dat u via uw telefoon of computer invoeren. Atleast die het aan werd verondersteld. Als gevolg van vele problemen, zoals onde
Arduino 1-wire-sniffer

Arduino 1-wire-sniffer

Tijdens het werken op een 1-wire bussysteem - bouw b.v. een Arduino Uno 1-draads slaaf apparaat met behulp van een OneWireSlave bibliotheek of doen algemene ontwikkeling en debugging - een logica analyzer te evalueren en te interpreteren de bits-verk
Lichtshow jas die op muziek reageert

Lichtshow jas die op muziek reageert

Deze tutorial is opgesteld als onderdeel van mijn laatste jaar project voor mijn degree in Music Technology en toegepaste elektronica aan de Universiteit van York. Het is gericht op muzikanten met een interesse in elektronica. Het eindproduct zullen
Arduino opdrachtregelprogramma "MiniPirate"

Arduino opdrachtregelprogramma "MiniPirate"

Dit opdrachtregelprogramma maakt "Quick" Arduino prototyping zonder compilatie. Lezen van analoge waarden, dis- / inschakelen poorten en zelfs I2C register manipulaties worden gedaan in seconden in plaats van minuten. Ik zal u laat zien hoe u de
Bliksem! De Lightning-Detector voor Raspberry Pi weerstation (bijgewerkt)

Bliksem! De Lightning-Detector voor Raspberry Pi weerstation (bijgewerkt)

In dit Instructable leer je:Hoe een verbinding een Lightning Detector voor een zonne-aangedreven weerstationHet ontwerpen en plaatsen van de bliksem detector voor beste perfomanceHoe je kunt verzamelen van gegevens Zie het verhaal van de bliksem als
Met behulp van een SIM900A GSM/GPRS module in Australië

Met behulp van een SIM900A GSM/GPRS module in Australië

Let op: dit is een 2G-apparaat. Aan mijn kennis draagt alleen Vodaphone stil 2G in Australië. Ik denk niet dat het de moeite waard om te kopen een van deze in Oz als zijn dagen zijn geteld, krijgen een 3G module in plaats daarvan.Dit is mijn eerste p