DS1977 DALLAS | Alldatasheet
Document overview
- Manufacturer or author: Provided By ALLDATASHEET.COM(FREE DATASHEET DOWNLOAD SITE)
- PDF pages: 16
Technical content
Features
- 32KB EEPROM memory
- Durable, stainless-steel iButton package
- Built-in multi-drop controller ensures compatibility with other Dallas Semiconductor 1-Wire net products
- Unique factory lasered 64-bit registration number assures error free device selection and absolute part identity
- Supports Overdrive mode
- Operating range: 2.8V to 5.25V, -40 to +85°C Pin Configuration IO GND 0.36 0.51 5.89 © 1993 YYWW REGISTERED RR xx 21 15C000FBC52B 16.25 17.35CC xx 1-Wire 15C000FBC52B F5 iButton DS1977 32KB EEPROM iButton www.maxim-ic.com Product Preview
Read Access Password, Addresses 7FC0h to 7FC7h The Read Access Password provides access to the function Read Memory. No password applies when reading from or writing to the scratchpad. If passwords are enabled (EPW = AAh, see Password Control Register), the 64-bit data pattern that the 1-Wire master has to transmit with the command flow is compared to the passwords stored in the DS1977 iButton. If the password matches, access is granted. Read/Write Access Password, Addresses 7FC8h to 7FCFh The Read/Write Access Password provides access to the functions Read Memory and Copy Scratchpad. No password applies when reading from or writing to the scratchpad. If passwords are enabled (EPW = AAh, see Password Control Register), the 64-bit data pattern that the 1-Wire master has to transmit with the command flow is compared to the passwords stored in the DS1977 iButton. If the password matches, access is granted. Setting up a password is done essentially in the same way as writing data to the user data memory, only the address is different. Before changing passwords, disable passwords. When setting up a password, make sure that all 8 bytes of the password are defined. Otherwise the new password may be unknown. Since they are located in the same memory page, both passwords can be redefined at the same time. Always verify the scratchpad before sending the copy scratchpad command. Before enabling passwords, check whether the new password has been successfully written to the EEPROM chip. See "Verify Password" command for details. After a new password is successfully copied from the scratchpad to its memory location, erase the scratchpad by filling it with new data. Otherwise a copy of the password will remain accessible through the scratchpad until the iButton is disconnected from the 1-Wire line. Password Control Register ADDR b7 b6 b5 b4 b3 b2 b1 b0 7FD0h EPW Bit Description Bit(s) Definition EPW: Enable Passwords b0 to This byte specifies whether the device will test the validity of passwords. If the EPW bits form a pattern of 10101010 (AAh), the device will execute these commands only if the correct password is transmitted. If the EPW pattern is different from AAh, any data pattern will be accepted as a valid password. Before enabling passwords, passwords for read access as well as read/write access need to be written to the password registers. The power-on default pattern of EPW is different from AAh.
have all revision bits set to 0. Figure 4. ADDRESS REGISTERS
- Thus the full 64-byte capacity of the scratchpad is available, resulting also in the ending offset
of 3Fh. However, it is possible to write one or several contiguous bytes somewhere within a page. the device receives a write scratchpad command.
To write data to the DS1977 iButton, the scratchpad has to be used as intermediate storage. First the 1-Wire master issues the Write Scratchpad command to specify the desired target address, followed by the data to be written to the scratchpad. Under certain conditions (see Write Scratchpad command) the 1-Wire master will receive an inverted CRC16 of the command, address and data at the end of the write scratchpad command sequence. Knowing this CRC value, the 1-Wire master can compare it to the value it has calculated itself to decide if the communication was successful and proceed to the Copy Scratchpad command. If the 1-Wire master could not receive the CRC16, it has to send the Read Scratchpad command to read back the scratchpad to verify data integrity. As preamble to the scratchpad data, the DS1977 iButton repeats the target address TA1 and TA2 and sends the contents of the E/S register. If the PF flag is set, data did not arrive correctly in the scratchpad or there was a loss of power since data was last written to the scratchpad. The 1-Wire master does not need to continue reading; it can start a new trial to write data to the scratchpad. Similarly, a set AA flag together with a cleared PF flag indicates that the Write command was not recognized by the device. If everything went correctly, both flags are cleared and the ending offset indicates the address of the last byte written to the scratchpad. Now the 1-Wire master can continue reading and verifying every data byte. After the 1-Wire master has verified the data, it has to send the Copy Scratchpad command. This command must be followed exactly by the data of the three address registers TA1, TA2 and E/S. The 1-Wire master may obtain the contents of these registers by reading the scratchpad or derive it from the target address and the amount of data to be written. As soon as the DS1977 iButton has received these bytes correctly and the 1-Wire master has provided an acceptable password, the DS1977 will copy the scratchpad data to the requested location beginning at the target address. Memory and Control Functions The DS1977 supports the following functions:
- Write Scratchpad (iButton version only)
- Read Scratchpad (iButton version only)
- Copy Scratchpad with Password (iButton version only)
- Read Memory with Password (iButton version only)
- Verify Password (iButton version only) The following pages provide a short discussion of these functions. For the detailed flow charts refer to Figure ??. The TA1, TA2, E/S logic is described in section Address Registers and Transfer Status. Write Scratchpad Command [0Fh] After issuing the write scratchpad command, the 1-Wire master must first provide the 2-byte target address, followed by the data to be written to the scratchpad. The data will be written to the scratchpad starting at the byte offset (T5:T0). The ending offset (E5: E0) will be the byte offset at which the 1-Wire master stops writing data. Only full data bytes are accepted. If the last data byte is incomplete its content will be ignored and the partial byte flag PF will be set. When writing to a password address, internal circuitry of the chip will force the 3 least significant address bits to 0. Only full 8-byte passwords are accepted. The ending offset will be 07 or 0F, depending on the password(s) to be changed. When executing the Write Scratchpad command the CRC generator inside the DS1977 iButton (see Figure ??) calculates a CRC over the entire data stream, starting at the command code and ending at the last data byte sent by the 1-Wire master. This CRC is generated using the CRC16 polynomial by first clearing the CRC generator and then shifting in the command code (0FH) of the Write Scratchpad command, the Target Addresses TA1 and TA2 as supplied by the 1-Wire master and all the data bytes. The 1-Wire master may end the Write Scratchpad command at any time. However, if the ending offset is 3Fh, the 1-Wire master may send 16 read time slots and will receive the CRC generated by the DS1977 iButton.
The memory address range of the DS1977 iButton is 0000h to 7FFFh (see Figure ??). There is no user-access to the address range 7FD1h to 7FFFh. If the 1-Wire master sends a target address higher than this, the internal circuitry of the chip will set the most significant address bit to zero as it is shifted into the internal address register. The Read Scratchpad command will reveal the target address as it will be used by the DS1977 iButton. The 1-Wire master will identify such address modifications by comparing the target address read back to the target address transmitted. If the 1-Wire master does not read the scratchpad, a subsequent copy scratchpad command will not work since the most significant bits of the target address the 1-Wire master sends will not match the value the DS1977 iButton expects. Read Scratchpad Command [AAh] This command is used to verify scratchpad data and target address. After issuing the read scratchpad command, the 1-Wire master begins reading. The first two bytes will be the target address. The next byte will be the ending offset/data status byte (E/S) followed by the scratchpad data beginning at the byte offset (T5: T0). The 1-Wire master may read data until the end of the scratchpad. If the master generates additional times slots, it will read a CRC16 of the command code, target address, E/S byte and scratchpad data starting at the byte offset, which is determined by the target address. Copy Scratchpad with Password [99h] This command is used to copy data from the scratchpad to memory. After issuing the copy scratchpad command, the 1-Wire master must provide a 3-byte authorization pattern, which can be obtained by reading the scratchpad for verification. This pattern must exactly match the data contained in the three address registers (TA1, TA2, E/S, in that order). Next the master must send a valid write access password, or, if passwords are not enabled, 8 dummy bytes. Now the master must provide power by bypassing the 1-Wire pull-up resistor with an electronic switch, generating a "strong pull-up". If authorization pattern and password are accepted, the AA (Authorization Accepted) flag will be set and the copy will begin. Copy takes 10ms maximum during which the voltage on the 1-Wire bus must not fall below 2.8V. After the copy is completed, the master turns off the strong pull-up and begins reading from the 1-Wire. A pattern of alternating 1’s and 0’s will indicate that the copy command was executed successfully. If the copy command was disturbed due to lack of power or for other reasons, the master will read a constant stream of FFh bytes until it sends a 1-Wire reset pulse. The data to be copied is determined by the three address registers (TA1, TA2, E/S). The scratchpad data from the beginning offset through the ending offset will be copied to memory, starting at the target address. Anywhere from 1 to 64 bytes may be copied to memory with this command. When updating a password, instead of the password written to the scratchpad a scrambled password is written to the memory location of the respective password. After the DS1977 has received the password, the 1-Wire master must activate the strong pull-up. Read Memory with Password [69h] The read memory command may be used to read the entire memory, except for the passwords. After issuing the command, the master must provide the 2-byte target address. Next the master must send a valid read access password, or, if passwords are not enabled, 8 dummy bytes. Now the master must provide power by bypassing the 1-Wire pull-up resistor with an electronic switch, generating a "strong pull-up". If the password was accepted, EEPROM data beginning at the specified target address and ending at the page boundary will be loaded into the scratchpad starting at the beginning offset. This transfer takes 5 ms maximum during which the voltage on the 1-Wire bus must not fall below 2.8V. After the transfer is completed, the master turns off the strong pull-up and begins reading from the 1-Wire. When the end of the memory page (end of scratchpad) is reached, the master will receive a CRC16 of the command, target address and page data. If the master wants to read more data and the end of the memory is not yet reached, it again has to activate the strong pull-up. This will transfer a full 64-byte page of memory data to
the scratchpad from where the master can read it by issuing read time slots. This loop of strong pull-up and reading 64 bytes can be repeated until the end of the memory is reached, at which point the master will read logic 1's. After the DS1977 has received the password, the 1-Wire master must activate the strong pull-up. Verify Password [C3h] This command allows the user to verify whether the process of updating a password was successful, eliminating the risk of a weak programming of the memory cells that actually store the password. First disable the use of passwords. Then using Write Scratchpad, Read Scratchpad and Copy Scratchpad, write the new password to its respective memory location. Now use Verify Password to double-check whether the password reads correctly from the EEPROM memory. The Verify Password command does not reveal the password, neither in the clear nor in its scrambled form, as it is stored in memory. Instead, the user will learn whether the password transmitted with this command, after having passed the scrambler, matches the password read from the memory. If the match is successful, it is safe to again enable passwords. Read Version Command [CCh] This command allows the 1-Wire master to read the chip revision code of the DS1977. After issuing the command code, the master sends two 00h-bytes to access the version register. With the next 16 time slots the master receives two copies of the content of the version register. Additional read-time slots will read logic 1's. Only the upper 3 bits of the version register are valid. The lower 5 bits will all read 0. ROM Functions The DS1977 supports the following ROM functions:
- Read ROM
- Match ROM
- Search ROM
- Skip ROM
- Resume
- Overdrive Skip ROM
- Overdrive Match ROM These functions are implemented in the same way as with other 1-Wire devices. For the detailed flow charts refer to Figure ??.
Figure 5-1. Memory Function Flow Chart, Part 1 N Master TX Memory Function Command 0Fh Write Scratchpad Master TX TA1 (T7:T0), TA2 (T15:T8) DS1977 sets Scratch- pad Offset = (T5:T0) and Clears (PF, AA) Master TX Data Byte to Scratchpad Offset DS1977 sets (E5:E0) = Scratchpad Offset Master TX Reset? Scratch- pad Offset = 3Fh? Master RX CRC16 of Command, Address Data DS1977 Incre- ments Scratch- pad Offset Master RX "1"s Master TX Reset? Master TX Reset? Partial Byte Written? PF = 1 AAh Read Scratchpad Master RX TA1 (T7:T0) Master RX TA2 (T15:T8) Master RX Ending Offset with Data Status (E/S) Master TX Reset? Scratch- pad Offset = 3Fh? Master RX CRC16 of Command, Address Data, E/S Byte, and Data Starting at the Target Address DS1977 Incre- ments Scratch- pad Offset Master RX "1"s Master TX Reset? DS1977 sets Scratch- pad Offset = (T5:T0) Master RX Data Byte from Scratchpad Offset From ROM Functions Flow Chart (Figure 17) To ROM Functions Flow Chart (Figure 17) N Y N Y N Y N Y N Y N Y N Y N Y N Y N Y Address of Password? DS1977 sets Scratchpad Offset = (T5:T3,0,0,0) and Clears (PF, AA, T2:T0) Y Master TX one or both 8-byte passwords
Figure 5-2. Memory Function Flow Chart, Part 2 99h Copy Scrpad. [w/PW] Master TX E/S Byte Authorization Code Match? DS1977 Copies Scratchpad Data or Data from Password Holding Register (if Password Address) to Memory Power Fail? Master TX Reset? Master TX Reset? AA = 1 Master TX TA1 (T7:T0), TA2 (T15:T8) Master TX 64-Bits [Password] Password Accepted? DS1977 TX "0" DS1977 TX "1" Master TX Reset? Master RX "1"s N Y N Y N Y N Y N Y N Y N Y Authorization Code Master Activates Strong Pull-up N Address of Password? Y Read -A. Password? Save to Read Password Holding Register YN Save to Full-A. Password Holding Register More data in SP? Y N
Figure 5-3. Memory Function Flow Chart, Part 3 69h Read Mem. [w/PW] Master TX 64-Bits [Password] Master TX Reset? CRC OK? Master RX "1"s DS1977 sets Memory Address = (T15:T0) Master RX Data Byte from Memory Address or FFh if Password Address Master TX TA1 (T7:T0), TA2 (T15:T8) Password Accepted? DS1977 Incre- ments Address Counter End of Page? Master RX CRC16 of Command, Address, Data (1st Pass); CRC16 of Data (Subsequent Passes) End of Memory? Master TX Reset N Y N Y N Y N Y N Y N Y N Y Decision made by DS1977 Decision made by Master Master Activates Strong Pull-up DS1977 Incre- ments Address Counter Master Activates Strong Pull-up Power Fail? N Y Master TX Reset?
Figure 5-4. Memory Function Flow Chart, Part 4 C3h Verify Password Master TX TA1 (T7:T0), TA2 (T15:T8) N Y N Y Master TX Password to verify DS1977 sets Memory Address = (T15:T3, 0, 0, 0) Password Match? N Y Master Activates Strong Pull-up Master TX Reset? Address of Password? Y N Master RX AAh byte Master RX FFh byte N Y Master TX Reset?
Figure 6-1. ROM Function Flow Chart, Part 1 Bus Master TX ROM Function Command 33h Read ROM Command DS1977 TX Family Code (1 Byte) DS1977 TX Serial Number (6 Bytes) DS1977 TX CRC Byte 55h Match ROM Command Bus Master TX Bit 0 Bit 0 Match? Bus Master TX Bit 1 Bit 1 Match? Bus Master TX Bit 63 Bit 63 Match? F0h Search ROM Command Bit 0 Match? DS1977 TX Bit 0 DS1977 TX Bit 0 Bus Master TX Bit 0 DS1977 TX Bit 1 DS1977 TX Bit 1 Bus Master TX Bit 1 DS1977 TX Bit 63 DS1977 TX Bit 63 Bus Master TX Bit 63 Bit 1 Match? Bit 63 Match? From Memory Function Flow Chart Bus Master TX Reset Pulse DS1977 TX Presence Pulse To Memory Function Flow Chart N Y NN Y Y Y N N N N Y Y Y Y Y NN Bus Master TX Reset Y N All data is LSB first OD Reset Pulse? OD=0N Y RC=0 RC=0 RC=0 RC=1 RC=1 RFA RFB CCh Skip ROM Command N Y RC=0
Figure 6-2. ROM Function Flow Chart, Part 2 A5h Resume Command N Y Bus Master TX Reset N Y RC=1? N Y 3Ch Overdrive Skip ROM RC=0 OD=1 Bus Master TX Reset 69h Overdrive Match ROM Bus Master TX Bit 0 Bit 0 Match? Bus Master TX Bit 1 Bit 1 Match? Bus Master TX Bit 63 Bit 63 Match? Y Y N N Y Y N RC=0 OD=1 RC=1 Bus Master TX Reset Y N N Y RFB RFA To Memory Function Flow Chart All data is LSB first
IO Voltage to GND -0.3V, +5.5V Operating Temperature Range -40°C to +85°C Storage Temperature Range -55°C to +125°C
ELECTRICAL CHARACTERISTICS
(VPUP = 2.8V to 5.25V, VCC ≤ VPUP, parasitic supply capacitor see note 15, TA = -40°C to +85°C) PARAMETER SYMBOL CONDITIONS MIN TYP MAX UNITS Standby Supply Current ICC VPUP = VCC = 5.0V, IO at 0V 0.05 5 µA Ground Current (system requirement) IGND 20 mA IO pin general data 1-Wire Pull-up Resistance (Note 2) RPUP 2.2 kΩ (system requirement) Input Load Current IL IO pin at VPUP 11 0 µ A High-to-Low Switching Threshold (Notes 3, 4) VTL 0.5 3.2 V Input Low Voltage (Note 5) (system requirement) VIL 0.30 V Low-to-High Switching Threshold (Notes 3, 6) VTH 0.7 3.4 V Switching Hysteresis (Note 7) VHY 0.15 N/A V Output low voltage at 4mA (Note 8) VOL 0.4 V Recovery Time tREC Standard Speed, RPUP=2.2kΩ 5µ s (system requirement) Overdrive Speed, RPUP=2.2kΩ 2µ s Overdrive Speed, immediately prior to reset pulse; RPUP=2.2kΩ 5µ s Rising-Edge Hold-off Time (Note 9) tREH Standard Speed 0.5 5.0 µs Overdrive Speed 0.5 2.0 µs Timeslot Duration tSLOT Standard Speed 65 µs (system requirement) Overdrive Speed 8 µs IO pin, 1-Wire Reset, Presence detect cycle Reset Low Time tRSTL Standard Speed 480 640 µs (system requirement) Overdrive Speed 48 80 µs Presence Detect High Time tPDH Standard Speed 15 60 µs Overdrive Speed 2 6 µs Presence Detect Fall tFPD Standard Speed, VPUP > 4.5V. 1.5 5 µs Time (Note 10) Standard Speed 1.5 8 µs Overdrive Speed 0.15 1 µs Presence Detect Low Time tPDL Standard Speed 60 240 µs Overdrive Speed 8 24 µs Presence Detect Sample Time tMSP Standard Speed, VPUP > 4.5V. 65 75 µs (system requirement) Standard Speed 68 75 µs Overdrive Speed 9 10 µs IO pin, 1-Wire Write Write-0 Low Time tW0L Standard Speed 60 120 µs (system requirement) Overdrive Speed 6 16 µs
PARAMETER SYMBOL CONDITIONS MIN TYP MAX UNITS Write-1 Low Time (Note 11) (system requirement) tW1L Standard Speed 5 15 - ε µs Overdrive Speed 1 2 - ε µs IO pin, 1-Wire Read Read Low Time (Note 12) (system requirement) tRL Standard Speed 5 15 - δ µs Overdrive Speed 1 2 - δ µs Read-0 Low tSPD Standard Speed, VPUP > 4.5V. 20 54 µs (data from slave) Standard Speed 15 60 µs Overdrive Speed 2 6 µs Read Sample Time (Note 12) tMSR Standard Speed, VPUP > 4.5V. tRL + δ 20 µs (system requirement) Standard Speed tRL + δ 15 µs Overdrive Speed tRL + δ 2µ s VCC Output IO to VCC Voltage Drop (Note 13) ∆VIOCC 7 mA load current, VIO = 2.8V 0.1 V Load current ILOAD VCC = 2.7 to 5.25V 7 mA Note 1: This is a requirement that the 1-Wire master has to meet. Note 2: Maximum allowable pull-up resistance is a function of the number of 1-Wire devices in the system and 1-Wire recovery times. The specified value here applies to systems with only one device and with the minimum 1-Wire recovery times. For more heavily loaded systems, an active pull-up such as that found in the DS2480B may be required. Note 3: V TL, VTH are a function of the internal supply voltage. Note 4: Voltage below which, during a falling edge on IO, a logic '0' is detected. Note 5: The voltage on IO needs to be less or equal to VILMAX whenever the master drives the line low. Note 6: Voltage above which, during a rising edge on IO, a logic '1' is detected. Note 7: After VTH is crossed during a rising edge on IO, the voltage on IO has to drop by VHY to be detected as logic '0'. Note 8: The I-V characteristic is linear for voltages less than 1V. Note 9: The earliest recognition of a negative edge is possible at tREH after VTH has been reached before. Note 10: Interval during the negative edge on IO at the beginning of a Presence Detect pulse between the time at which the voltage is 90% of VPUP and the time at which the voltage is 10% of VPUP. Note 11: ε represents the time required for the pull-up circuitry to pull the voltage on IO up from VIL to VTH. Note 12: δ represents the time required for the pull-up circuitry to pull the voltage on IO up from VIL to the input high threshold of the bus master. Note 13: At 7mA load, VCC must not be less than 2.7V, regardless of VIO. If this condition cannot be met, increase the minimum VPUP to 3.0V or higher. Note 16 The strong pull-up must be on when the tDCSA interval elapses. The tDCSA value must be determined in design as the maximum time required to turn the bypass NCH transistor fully on.