Díly: 1K 1-wire EEPROM (DS2431)

Maxim DS2431 1K EEPROM je 1-wire gadget, který přidává úložiště na úlohu s využitím jednoho mikrokontroléru kolíku. Dříve jsme propojili 1vodičový teploměr, ale tento EEPROM je poněkud odlišný, protože čerpá výkon přímo z 1vodičové sběrnice. Získejte datasheet (PDF), stejně jako dodržovat, zatímco jsme zkontrolovali, stejně jako komponovat tuto jednoduchou 1-wire paměť.

DS2431 1-Wire 1k EEPROM (Digikey # DS2431 + -ND, $ 1.67)

Využili jsme náš autobus pirátský univerzální sériové rozhraní pro demonstraci DS2431 EEPROM, jsme pokryli vhodné spojení, stejně jako možnosti konfigurace v našem předchozímu 1-wire Post. DS2431 potřebuje jen dvě připojení: zem (pin 1), stejně jako 1vodičový / výkon (pin 2). Pin 3 zůstane nepřipojený. Stejně jako naposledy jsme použili 2K roztahovací odpor s 1-drátovým autobusem.

Za prvé, využíváme příkaz Bus Pirátův Prohlédnutí příkazu k určení propojených 1vodičových zařízení.

1-Wire> (240) <-Search rom příkaz makro Příkaz 1wire ROM: Procházet (0xf0) Našel gadgets na: Makro 1-wire Adresa 1.0x2d 0x54 0xd2 0xef 0x00 0x00 0x00 0x2b <-Address * DS2431 1K EEPROM <- typ 2.0x2d 0xFE 0x8d 0x43 0x01 0x00 0x00 0x52 * DS2431 1K EEPROM 3.0x2d 0x2b 0xed 0xef 0x00 0x00 0x00 0x7c * DS2431 1K EEPROM Nalezeno 0x03 zařízení. Prvních 10 ID gadgetů je nabízeno makro, viz (0). 1-Wire>

Příkaz Pro Browse ROM vystavuje, že existují 3 EEPROMS spojené s 1vodičovým autobusem. Bus pirát ukládá 64bitové 1-wire adresy v makerech, takže nemusíme ho pokaždé napsat. Budeme pracovat s prvním zařízením určeným makroryskem (1).

Psaní do DS2431 trvá tři kroky:

Zapište data do DS2431 je 8Byte ‘Scratch Pad’ Edeprom Buffer

Ověřte obsah scratch podložky a získejte přístup k vytvoření přístupu ke klíči

Zkopírujte data z poškrábání do EEPROM pro dlouhodobé skladování.

Příkaz 0x0f Kompozní na škrábanec. Scratch Pad je 8Byte vyrovnávací paměť, která drží data před trvalým uložením v EEPROM.

1-drát> (85) (1) 0x0f 0x00 0x00 0 1 2 3 4 5 6 7 <-Command 1wire bus reset OK 1wire Compose ROM Příkaz: Shoda (0x55) * Sledujte 64bitovou adresu 1wire Adresa Macro 1: 0x2D 0x54 0xd2 0xef 0x00 0x00 0x00 0x2b 1wire psát: 0x0f <-write k poškrábání podložku 1Wire Write: 0x00 <-begin Adresa Byte 1 1Wire Write: 0x00 <-begin Adresa Byte 2 1wire psát: 0x00 <-data 1wire Write: 0x01 1wire psát: 0x02 1wire psát: 0x03 1wire psát: 0x04 1wire Write: 0x05 1Wire Write: 0x06 1wire psát: 0x07 1-Wire>

Makro Match ROM, (85), izoluje první zařízení (1). 0x0f je příkaz pro sestavování na poškrábání, který splnil adresu začátek, 0 0. Konečně posíláme osm bajtů dat pro uložení v poškrábání. Skrytí podložka je dlouhá osm bytů, stejně jako všech osm bytů bude zkopírováno z poškrábání do EEPROM najednou.

1-drát> (85) (1) 0xAA R: 3 R: 8 R: 2 R: 2 <-Command 1wire bus reset OK 1wire Compose ROM Příkaz: Shoda (0x55) * Sledujte 64bitovou adresu 1wire Adresa Macro 1: 0x2D 0x54 0xd2 0xef 0x00 0x00 0x00 0x2b 1wire Write: 0xaa <-Read Scratch Pad 1wire Bulk Read, 0x03 bajty: <-Access kód 0x00 0x00 0x07. 1wire Bulk Read, 0x08 bytů: <- Ověřte naše data 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 1wire Bulk Read, 0x02 bajtů: <- Inverzní CRC 0x44 0x67. 1wire Bulk Read, 0x02 bajtů: <- všech 1s odtud 0xff 0xff. 1-Wire>

Chcete-li kopírovat data z poškrábaného podložky do EEPROM, měli bychom velmi nejprve načíst tři bajtové získání přístupu k kódu z poškrábání s příkazem 0xAA. První tři bajty jsou přístup kódu pro kódu (0x00 0x00 0x07), který splnil údaje obsažené v poškrábání.

1-Wire> (85) (1) 0x55 0x00 0x00 0x07
1wire bus reset OK
1wire Compose ROM Příkaz: Shoda (0x55) * Sledujte 64bitovou adresu
1wire Adresa Macro 1: 0x2D 0x54 0xd2 0xef 0x00 0x00 0x00 0x2b
1wire psát: 0x55 <-copy k příkazu eeprom 1Wire Write: 0x00 <-Access kód (3 bajty) 1Wire Write: 0x00 1wire psát: 0x07 1-Wire> !!!! <-Read bits. 1wire odhlásil bit: 0 1wire zaškrtnuto bit: 1

Příkaz 0x55 s příslušným přístupem kódu kódu kopíruje poškrábání k datu EEPROM. Bit čte (!!!!) Střídání mezi 0 a 1, když kopie dokončí.

1-Wire> (85) (1) 0xF0 0x00 0x00 R: 8 R: 8
1wire bus reset OK
1wire Compose ROM Příkaz: Shoda (0x55) * Sledujte 64bitovou adresu
1wire Adresa Macro 1: 0x2D 0x54 0xd2 0xef 0x00 0x00 0x00 0x2b
1Wire Write: 0xf0 <-Read paměti 1wire Write: 0x00 <-Start Adresa (2 bajty) 1Wire Write: 0x00 1wire Bulk Read, 0x08 bajtů: <-Read zadní data 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 1wire Bulk Read, 0x08 bajtů: <-Reade mimo naše data 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1-Wire>

Příkaz 0xf0 dodržený dvěma adresy bajtové paměti (0x00 0x00) začíná proces kontrolované daty. První osm bytů (R: 8) jsou hodnoty, které jsme složili dříve. Čtení nezahrnují škrábanec, stejně jako nemají limit 8Byte, takže ještě více čte pokračovat na konci paměti.

Nefungují fa.IL si pamatovat, že dohnat jakýkoliv typ zpráv, které jste mohli vynechat.

Leave a Reply

Your email address will not be published. Required fields are marked *