At 45 DB 081 D
At 45 DB 081 D
Single 2.5V or 2.7V to 3.6V Supply RapidS Serial Interface: 66MHz Maximum Clock Frequency
SPI Compatible Modes 0 and 3 User Configurable Page Size 256-Bytes per Page 264-Bytes per Page Page Size Can Be Factory Pre-configured for 256-Bytes Page Program Operation Intelligent Programming Operation 4,096 Pages (256/264-Bytes/Page) Main Memory Flexible Erase Options Page Erase (256-Bytes) Block Erase (2-Kbytes) Sector Erase (64-Kbytes) Chip Erase (8Mbits) Two SRAM Data Buffers (256-/264-Bytes) Allows Receiving of Data while Reprogramming the Flash Array Continuous Read Capability through Entire Array Ideal for Code Shadowing Applications Low-power Dissipation 7mA Active Read Current Typical 25A Standby Current Typical 15A Deep Power Down Typical Hardware and Software Data Protection Features Individual Sector Sector Lockdown for Secure Code and Data Storage Individual Sector Security: 128-byte Security Register 64-byte User Programmable Space Unique 64-byte Device Identifier JEDEC Standard Manufacturer and Device ID Read 100,000 Program/Erase Cycles Per Page Minimum Data Retention 20 Years Industrial Temperature Range Green (Pb/Halide-free/RoHS Compliant) Packaging Options
1. Description
The Atmel AT45DB081D is a 2.5V or 2.7V, serial-interface Flash memory ideally suited for a wide variety of digital voice-, image-, program code- and data-storage applications. The AT45DB081D supports Atmel RapidS serial interface for applications requiring very high speed operations. RapidS serial interface is SPI compatible for frequencies up to 66MHz. Its 8,650,752-bits of memory are organized as 4,096 pages of 256-bytes or 264-bytes each. In addition to the main memory, the AT45DB081D also contains two SRAM buffers of 256-/264-bytes each. The buffers allow the receiving of data while a page in the main Memory is being reprogrammed, as well as writing a continuous data stream. EEPROM emulation (bit or byte alterability) is easily handled with a self-contained three step read-modify-write operation. Unlike conventional Flash memories that are accessed randomly with multiple
Atmel RapidS
3596MDFLASH5/10
address lines and a parallel interface, the Atmel DataFlash uses an Atmel RapidS serial interface to sequentially access its data. The simple sequential access dramatically reduces active pin count, facilitates hardware layout, increases system reliability, minimizes switching noise, and reduces package size. The device is optimized for use in many commercial and industrial applications where high-density, low-pin count, low-voltage and low-power are essential. To allow for simple in-system reprogrammability, the Atmel AT45DB081D does not require high input voltages for programming. The device operates from a single power supply, 2.5V to 3.6V or 2.7V to 3.6V, for both the program and read operations. The AT45DB081D is enabled through the chip select pin (CS) and accessed via a three-wire interface consisting of the Serial Input (SI), Serial Output (SO), and the Serial Clock (SCK). All programming and erase cycles are self-timed.
SO GND 6 VCC 5 WP
8 7
Figure 2-2.
SI SCK RESET CS
1 2 3 4
8 7 6 5
SO GND VCC WP
Note:
1. The metal pad on the bottom of the MLF package is floating. This pad can be a No Connect or connected to GND
Atmel AT45DB081D
3596MDFLASH5/10
Atmel AT45DB081D
Table 2-1.
Symbol
Pin Configurations
Name and Function Chip Select: Asserting the CS pin selects the device. When the CS pin is deasserted, the device will be deselected and normally be placed in the standby mode (not Deep Power-Down mode), and the output pin (SO) will be in a high-impedance state. When the device is deselected, data will not be accepted on the input pin (SI). A high-to-low transition on the CS pin is required to start an operation, and a low-to-high transition is required to end an operation. When ending an internally self-timed operation such as a program or erase cycle, the device will not enter the standby mode until the completion of the operation. Serial Clock: This pin is used to provide a clock to the device and is used to control the flow of data to and from the device. Command, address, and input data present on the SI pin is always latched on the rising edge of SCK, while output data on the SO pin is always clocked out on the falling edge of SCK. Serial Input: The SI pin is used to shift data into the device. The SI pin is used for all data input including command and address sequences. Data on the SI pin is always latched on the rising edge of SCK. Serial Output: The SO pin is used to shift data out from the device. Data on the SO pin is always clocked out on the falling edge of SCK. Write Protect: When the WP pin is asserted, all sectors specified for protection by the Sector Protection Register will be protected against program and erase operations regardless of whether the Enable Sector Protection command has been issued or not. The WP pin functions independently of the software controlled protection method. After the WP pin goes low, the content of the Sector Protection Register cannot be modified. If a program or erase command is issued to the device while the WP pin is asserted, the device will simply ignore the command and perform no operation. The device will return to the idle state once the CS pin has been deasserted. The Enable Sector Protection command and Sector Lockdown command, however, will be recognized by the device when the WP pin is asserted. The WP pin is internally pulled-high and may be left floating if hardware controlled protection will not be used. However, it is recommended that the WP pin also be externally connected to VCC whenever possible. Reset: A low state on the reset pin (RESET) will terminate the operation in progress and reset the internal state machine to an idle state. The device will remain in the reset condition as long as a low level is present on the RESET pin. Normal operation can resume once the RESET pin is brought back to a high level. The device incorporates an internal power-on reset circuit, so there are no restrictions on the RESET pin during power-on sequences. If this pin and feature are not utilized it is recommended that the RESET pin be driven high externally. Device Power Supply: The VCC pin is used to supply the source voltage to the device. Operations at invalid VCC voltages may produce spurious results and should not be attempted. Ground: The ground reference for the power supply. GND should be connected to the system ground. Asserted State Type
CS
Low
Input
SCK
Input
SI
Input
SO
Output
WP
Low
Input
RESET
Low
Input
VCC GND
Power Ground
3
3596MDFLASH5/10
3. Block Diagram
WP FLASH MEMORY ARRAY
PAGE (256-/264-BYTES)
BUFFER 1 (256-/264-BYTES)
BUFFER 2 (256-/264-BYTES)
I/O INTERFACE
SO
4. Memory Array
To provide optimal flexibility, the memory array of the Atmel AT45DB081D is divided into three levels of granularity comprising of sectors, blocks, and pages. The Memory Architecture Diagram illustrates the breakdown of each level and details the number of pages per sector and block. All program operations to the Atmel DataFlash occur on a page by page basis. The erase operations can be performed at the chip, sector, block or page level. Figure 4-1. Memory Architecture Diagram
BLOCK ARCHITECTURE
SECTOR 0a
SECTOR 0b
BLOCK 0 BLOCK 1 BLOCK 2
SECTOR ARCHITECTURE
SECTOR 0a = 8 Pages 2,048-/2,112-bytes
PAGE ARCHITECTURE
8 Pages
BLOCK 0
PAGE 0 PAGE 1
BLOCK 30 BLOCK 31
SECTOR 1
BLOCK 1
BLOCK 32
PAGE 9
PAGE 14 PAGE 15
Block = 2,048-/2,112-bytes
Page = 256-/264-bytes
Atmel AT45DB081D
3596MDFLASH5/10
Atmel AT45DB081D
5. Device Operation
The device operation is controlled by instructions from the host processor. The list of instructions and their associated opcodes are contained in Table 15-1 on page 27 through Table 15-7 on page 30. A valid instruction starts with the falling edge of CS followed by the appropriate 8-bit opcode and the desired buffer or main memory address location. While the CS pin is low, toggling the SCK pin controls the loading of the opcode and the desired buffer or main memory address location through the SI (serial input) pin. All instructions, addresses, and data are transferred with the most significant bit (MSB) first. Buffer addressing for the Atmel DataFlash standard page size (264-bytes) is referenced in the datasheet using the terminology BFA8 - BFA0 to denote the nine address bits required to designate a byte address within a buffer. Main memory addressing is referenced using the terminology PA11 - PA0 and BA8 - BA0, where PA11 - PA0 denotes the 12 address bits required to designate a page address and BA8 - BA0 denotes the nine address bits required to designate a byte address within the page. For Power of 2 binary page size (256-bytes) the Buffer addressing is referenced in the datasheet using the conventional terminology BFA7 - BFA0 to denote the eight address bits required to designate a byte address within a buffer. Main memory addressing is referenced using the terminology A19 - A0, where A19 - A8 denotes the 12 address bits required to designate a page address and A7 - A0 denotes the eight address bits required to designate a byte address within a page.
6. Read Commands
By specifying the appropriate opcode, data can be read from the main memory or from either one of the two SRAM data buffers. The DataFlash supports Atmel RapidS protocols for Mode 0 and Mode 3. Please refer to the Detailed Bit-level Read Timing diagrams in this datasheet for details on the clock cycle sequences for each mode.
6.1
3596MDFLASH5/10
Continuous Array Read, the device will continue reading at the beginning of the next page with no delays incurred during the page boundary crossover (the crossover from the end of one page to the beginning of the next page). When the last bit in the main memory array has been read, the device will continue reading back at the beginning of the first page of memory. As with crossing over page boundaries, no delays will be incurred when wrapping around from the end of the array to the beginning of the array. A low-to-high transition on the CS pin will terminate the read operation and tri-state the output pin (SO). The maximum SCK frequency allowable for the Continuous Array Read is defined by the fCAR1 specification. The Continuous Array Read bypasses both data buffers and leaves the contents of the buffers unchanged.
6.2
6.3
Atmel AT45DB081D
3596MDFLASH5/10
Atmel AT45DB081D
during the page boundary crossover (the crossover from the end of one page to the beginning of the next page). When the last bit in the main memory array has been read, the device will continue reading back at the beginning of the first page of memory. As with crossing over page boundaries, no delays will be incurred when wrapping around from the end of the array to the beginning of the array. A low-to-high transition on the CS pin will terminate the read operation and tri-state the output pin (SO). The Continuous Array Read bypasses both data buffers and leaves the contents of the buffers unchanged.
6.4
6.5
Buffer Read
The SRAM data buffers can be accessed independently from the main memory array, and utilizing the Buffer Read Command allows data to be sequentially read directly from the buffers. Four opcodes, D4H or D1H for buffer 1 and D6H or D3H for buffer 2 can be used for the Buffer Read Command. The use of each opcode depends on the maximum SCK frequency that will be used to read data from the buffer. The D4H and D6H opcode can be used at any SCK frequency up to the maximum specified by fCAR1. The D1H and D3H opcode can be used for lower frequency read operations up to the maximum specified by fCAR2. To perform a buffer read from the standard DataFlash buffer (264-bytes), the opcode must be clocked into the device followed by three address bytes comprised of 15 dont care bits and nine buffer address bits (BFA8 - BFA0). To perform a buffer read from the binary buffer (256bytes), the opcode must be clocked into the device followed by three address bytes comprised of 16 dont care bits and eight buffer address bits (BFA7 - BFA0). Following the address bytes, one dont care byte must be clocked in to initialize the read operation. The CS pin must remain low during the loading of the opcode, the address bytes, the dont care bytes, and the reading of data. When the end of a buffer is reached, the device will continue reading back at the beginning of the buffer. A low-to-high transition on the CS pin will terminate the read operation and tri-state the output pin (SO).
7
3596MDFLASH5/10
7.2
7.3
Atmel AT45DB081D
3596MDFLASH5/10
Atmel AT45DB081D
7.4 Page Erase
The Page Erase command can be used to individually erase any page in the main memory array allowing the Buffer to Main Memory Page Program to be utilized at a later time. To perform a page erase in the Atmel DataFlash standard page size (264-bytes), an opcode of 81H must be loaded into the device, followed by three address bytes comprised of three dont care bits, 12 page address bits (PA11 - PA0) that specify the page in the main memory to be erased and nine dont care bits. To perform a page erase in the binary page size (256-bytes), the opcode 81H must be loaded into the device, followed by three address bytes consist of four dont care bits, 12 page address bits (A19 - A8) that specify the page in the main memory to be erased and eight dont care bits. When a low-to-high transition occurs on the CS pin, the part will erase the selected page (the erased state is a logical 1). The erase operation is internally self-timed and should take place in a maximum time of tPE. During this time, the status register will indicate that the part is busy.
7.5
Block Erase
A block of eight pages can be erased at one time. This command is useful when large amounts of data has to be written into the device. This will avoid using multiple Page Erase Commands. To perform a block erase for the DataFlash standard page size (264-bytes), an opcode of 50H must be loaded into the device, followed by three address bytes comprised of three dont care bits, nine page address bits (PA11 -PA3) and 12 dont care bits. The nine page address bits are used to specify which block of eight pages is to be erased. To perform a block erase for the binary page size (256-bytes), the opcode 50H must be loaded into the device, followed by three address bytes consisting of four dont care bits, nine page address bits (A19 - A11) and 11 dont care bits. The nine page address bits are used to specify which block of eight pages is to be erased. When a low-to-high transition occurs on the CS pin, the part will erase the selected block of eight pages. The erase operation is internally self-timed and should take place in a maximum time of tBE. During this time, the status register will indicate that the part is busy.
Table 7-1.
PA11/ A19 0 0 0 0 1 1 1 1
9
3596MDFLASH5/10
7.6
Sector Erase
The Sector Erase command can be used to individually erase any sector in the main memory. There are 16 sectors and only one sector can be erased at one time. To perform sector 0a or sector 0b erase for the Atmel DataFlash standard page size (264-bytes), an opcode of 7CH must be loaded into the device, followed by three address bytes comprised of three dont care bits, nine page address bits (PA11 - PA3) and 12 dont care bits. To perform a sector 1-15 erase, the opcode 7CH must be loaded into the device, followed by three address bytes comprised of three dont care bits, four page address bits (PA11 - PA8) and 17 dont care bits. To perform sector 0a or sector 0b erase for the binary page size (256-bytes), an opcode of 7CH must be loaded into the device, followed by three address bytes comprised of four dont care bit and nine page address bits (A19 - A11) and 11 dont care bits. To perform a sector 1-15 erase, the opcode 7CH must be loaded into the device, followed by three address bytes comprised of four dont care bit and four page address bits (A19 - A16) and 16 dont care bits. The page address bits are used to specify any valid address location within the sector which is to be erased. When a low-to-high transition occurs on the CS pin, the part will erase the selected sector. The erase operation is internally self-timed and should take place in a maximum time of tSE. During this time, the status register will indicate that the part is busy.
Table 7-2.
PA11/ A19 0 0 0 0 1 1 1 1
7.7
Chip Erase
The entire main memory can be erased at one time by using the Chip Erase command. To execute the Chip Erase command, a 4-byte command sequence C7H, 94H, 80H and 9AH must be clocked into the device. Since the entire memory array is to be erased, no address bytes need to be clocked into the device, and any data clocked in after the opcode will be ignored. After the last bit of the opcode sequence has been clocked in, the CS pin can be deasserted to start the erase process. The erase operation is internally self-timed and should take place in a time of tCE. During this time, the Status Register will indicate that the device is busy. The Chip Erase command will not affect sectors that are protected or locked down; the contents of those sectors will remain unchanged. Only those sectors that are not protected or locked down will be erased.
10
Atmel AT45DB081D
3596MDFLASH5/10
Atmel AT45DB081D
The WP pin can be asserted while the device is erasing, but protection will not be activated until the internal erase cycle completes. Table 7-3.
Command Chip Erase
Figure 7-1.
Chip Erase
CS SI
Opcode Byte 1 Each transition represents 8 bits Opcode Byte 2 Opcode Byte 3 Opcode Byte 4
Note:
7.8
8. Sector Protection
Two protection methods, hardware and software controlled, are provided for protection against inadvertent or erroneous program and erase cycles. The software controlled method relies on the use of software commands to enable and disable sector protection while the hardware controlled method employs the use of the Write Protect (WP) pin. The selection of which sectors that are to be protected or unprotected against program and erase operations is specified in the nonvolatile Sector Protection Register. The status of whether or not sector protection has been enabled or disabled by either the software or the hardware controlled methods can be determined by checking the Status Register.
11
3596MDFLASH5/10
8.1
8.1.1
Figure 8-1.
CS SI
Opcode Byte 1 Each transition represents 8 bits Opcode Byte 2 Opcode Byte 3 Opcode Byte 4
8.1.2
Disable Sector Protection Command To disable the sector protection using the software controlled method, the CS pin must first be asserted as it would be with any other command. Once the CS pin has been asserted, the appropriate 4-byte sequence for the Disable Sector Protection command must be clocked in via the input pin (SI). After the last bit of the command sequence has been clocked in, the CS pin must be deasserted after which the sector protection will be disabled. The WP pin must be in the deasserted state; otherwise, the Disable Sector Protection command will be ignored. Table 8-2.
Command Disable Sector Protection
Figure 8-2.
CS SI
Opcode Byte 1 Each transition represents 8 bits Opcode Byte 2 Opcode Byte 3 Opcode Byte 4
8.1.3
Various Aspects About Software Controlled Protection Software controlled protection is useful in applications in which the WP pin is not or cannot be controlled by a host processor. In such instances, the WP pin may be left floating (the WP pin is internally pulled high) and sector protection can be controlled using the Enable Sector Protection and Disable Sector Protection commands.
12
Atmel AT45DB081D
3596MDFLASH5/10
Atmel AT45DB081D
If the device is power cycled, then the software controlled protection will be disabled. Once the device is powered up, the Enable Sector Protection command should be reissued if sector protection is desired and if the WP pin is not used.
WP
Table 9-1.
Time Period 1 2
High
13
3596MDFLASH5/10
9.1
Table 9-3.
0b
(Page 8-255) Bit 5, 4 Bit 3, 2 Bit 1, 0
Sectors 0a, 0b Unprotected Protect Sector 0a Protect Sector 0b (Page 8-255) Protect Sectors 0a (Page 0-7), 0b (Page 8-255)(1) Note:
00 11 00 11
00 00 11 11
xx xx xx xx
xx xx xx xx
1. The default value for bytes 0 through 15 when shipped from Atmel is 00H x = dont care
9.1.1
Erase Sector Protection Register Command In order to modify and change the values of the Sector Protection Register, it must first be erased using the Erase Sector Protection Register command. To erase the Sector Protection Register, the CS pin must first be asserted as it would be with any other command. Once the CS pin has been asserted, the appropriate 4-byte opcode sequence must be clocked into the device via the SI pin. The 4-byte opcode sequence must start with 3DH and be followed by 2AH, 7FH, and CFH. After the last bit of the opcode sequence has been clocked in, the CS pin must be deasserted to initiate the internally self-timed erase cycle. The erasing of the Sector Protection Register should take place in a time of tPE, during which time the Status Register will indicate that the device is busy. If the device is powereddown before the completion of the erase cycle, then the contents of the Sector Protection Register cannot be guaranteed. The Sector Protection Register can be erased with the sector protection enabled or disabled. Since the erased state (FFH) of each byte in the Sector Protection Register is used to indicate that a sector is specified for protection, leaving the sector protection enabled during the erasing of the register allows the protection scheme to be more effective in the prevention of accidental programming or erasing of the device. If for some reason an erroneous program or erase command is sent to the device immediately after erasing the Sector Protection Register and before the register can be reprogrammed, then the erroneous program or erase command will not be processed because all sectors would be protected.
14
Atmel AT45DB081D
3596MDFLASH5/10
Atmel AT45DB081D
Table 9-4.
Command Erase Sector Protection Register
Figure 9-2.
CS SI
Opcode Byte 1 Each transition represents 8 bits Opcode Byte 2 Opcode Byte 3 Opcode Byte 4
9.1.2
Program Sector Protection Register Command Once the Sector Protection Register has been erased, it can be reprogrammed using the Program Sector Protection Register command. To program the Sector Protection Register, the CS pin must first be asserted and the appropriate 4-byte opcode sequence must be clocked into the device via the SI pin. The 4-byte opcode sequence must start with 3DH and be followed by 2AH, 7FH, and FCH. After the last bit of the opcode sequence has been clocked into the device, the data for the contents of the Sector Protection Register must be clocked in. As described in Section 9.1, the Sector Protection Register contains 16-bytes of data, so 16-bytes must be clocked into the device. The first byte of data corresponds to sector zero, the second byte corresponds to sector one, and so on with the last byte of data corresponding to sector 15. After the last data byte has been clocked in, the CS pin must be deasserted to initiate the internally self-timed program cycle. The programming of the Sector Protection Register should take place in a time of tP, during which time the Status Register will indicate that the device is busy. If the device is powered-down during the program cycle, then the contents of the Sector Protection Register cannot be guaranteed. If the proper number of data bytes is not clocked in before the CS pin is deasserted, then the protection status of the sectors corresponding to the bytes not clocked in can not be guaranteed. For example, if only the first two bytes are clocked in instead of the complete 16-bytes, then the protection status of the last 14 sectors cannot be guaranteed. Furthermore, if more than 16bytes of data is clocked into the device, then the data will wrap back around to the beginning of the register. For instance, if 17-bytes of data are clocked in, then the 17th byte will be stored at byte location zero of the Sector Protection Register. If a value other than 00H or FFH is clocked into a byte location of the Sector Protection Register, then the protection status of the sector corresponding to that byte location cannot be guaranteed. For example, if a value of 17H is clocked into byte location two of the Sector Protection Register, then the protection status of sector two cannot be guaranteed. The Sector Protection Register can be reprogrammed while the sector protection enabled or disabled. Being able to reprogram the Sector Protection Register with the sector protection enabled allows the user to temporarily disable the sector protection to an individual sector rather than disabling sector protection completely. The Program Sector Protection Register command utilizes the internal SRAM buffer 1 for processing. Therefore, the contents of the buffer 1 will be altered from its previous state when this command is issued. 15
3596MDFLASH5/10
Table 9-5.
Command
Figure 9-3.
CS SI
Opcode Byte 1 Each transition represents 8 bits Opcode Byte 2 Opcode Byte 3 Opcode Byte 4 Data Byte n Data Byte n+1 Data Byte n + 15
9.1.3
Read Sector Protection Register Command To read the Sector Protection Register, the CS pin must first be asserted. Once the CS pin has been asserted, an opcode of 32H and three dummy bytes must be clocked in via the SI pin. After the last bit of the opcode and dummy bytes have been clocked in, any additional clock pulses on the SCK pins will result in data for the content of the Sector Protection Register being output on the SO pin. The first byte corresponds to sector 0 (0a, 0b), the second byte corresponds to sector one and the last byte (byte 16) corresponds to sector 15. Once the last byte of the Sector Protection Register has been clocked out, any additional clock pulses will result in undefined data being output on the SO pin. The CS must be deasserted to terminate the Read Sector Protection Register operation and put the output into a high-impedance state. Table 9-6.
Command Read Sector Protection Register Note: xx = Dummy Byte
Figure 9-4.
CS SI SO
Each transition represents 8 bits Opcode X X X
Data Byte n
Data Byte n + 15
9.1.4
Various Aspects About the Sector Protection Register The Sector Protection Register is subject to a limit of 10,000 erase/program cycles. Users are encouraged to carefully evaluate the number of times the Sector Protection Register will be modified during the course of the applications life cycle. If the application requires that the Sector Protection Register be modified more than the specified limit of 10,000 cycles because the application needs to temporarily unprotect individual sectors (sector protection remains enabled while the Sector Protection Register is reprogrammed), then the application will need to limit this practice. Instead, a combination of temporarily unprotecting individual sectors along with disabling sector protection completely will need to be implemented by the application to ensure that the limit of 10,000 cycles is not exceeded.
16
Atmel AT45DB081D
3596MDFLASH5/10
Atmel AT45DB081D
10. Security Features
10.1 Sector Lockdown
The device incorporates a Sector Lockdown mechanism that allows each individual sector to be permanently locked so that it becomes read only. This is useful for applications that require the ability to permanently protect a number of sectors against malicious attempts at altering program code or security information. Once a sector is locked down, it can never be erased or programmed, and it can never be unlocked. To issue the Sector Lockdown command, the CS pin must first be asserted as it would be for any other command. Once the CS pin has been asserted, the appropriate 4-byte opcode sequence must be clocked into the device in the correct order. The 4-byte opcode sequence must start with 3DH and be followed by 2AH, 7FH, and 30H. After the last byte of the command sequence has been clocked in, then three address bytes specifying any address within the sector to be locked down must be clocked into the device. After the last address bit has been clocked in, the CS pin must then be deasserted to initiate the internally self-timed lockdown sequence. The lockdown sequence should take place in a maximum time of tP, during which time the Status Register will indicate that the device is busy. If the device is powered-down before the completion of the lockdown sequence, then the lockdown status of the sector cannot be guaranteed. In this case, it is recommended that the user read the Sector Lockdown Register to determine the status of the appropriate sector lockdown bits or bytes and reissue the Sector Lockdown command if necessary. Table 10-1.
Command Sector Lockdown
Sector Lockdown
Byte 1 3DH Byte 2 2AH Byte 3 7FH Byte 4 30H
CS SI
Opcode Byte 1 Each transition represents 8 bits Opcode Byte 2 Opcode Byte 3 Opcode Byte 4 Address Bytes Address Bytes Address Bytes
17
3596MDFLASH5/10
10.1.1
Sector Lockdown Register Sector Lockdown Register is a nonvolatile register that contains 16-bytes of data, as shown below: Table 10-2. Sector Lockdown Register
0 (0a, 0b) See Below Unlocked 00H 1 to 15 FFH
Table 10-3.
0b
(Page 8-255) Bit 5, 4 Bit 3, 2 Bit 1, 0
Sectors 0a, 0b Unlocked Sector 0a Locked (Page 0-7) Sector 0b Locked (Page 8-255) Sectors 0a, 0b Locked (Page 0-255)
00 11 00 11
00 00 11 11
00 00 00 00
00 00 00 00
10.1.2
Reading the Sector Lockdown Register The Sector Lockdown Register can be read to determine which sectors in the memory array are permanently locked down. To read the Sector Lockdown Register, the CS pin must first be asserted. Once the CS pin has been asserted, an opcode of 35H and three dummy bytes must be clocked into the device via the SI pin. After the last bit of the opcode and dummy bytes have been clocked in, the data for the contents of the Sector Lockdown Register will be clocked out on the SO pin. The first byte corresponds to sector 0 (0a, 0b) the second byte corresponds to sector one and the las byte (byte 16) corresponds to sector 15. After the last byte of the Sector Lockdown Register has been read, additional pulses on the SCK pin will simply result in undefined data being output on the SO pin. Deasserting the CS pin will terminate the Read Sector Lockdown Register operation and put the SO pin into a high-impedance state. Table 10-4 details the values read from the Sector Lockdown Register. Table 10-4.
Command Read Sector Lockdown Register Note: xx = Dummy Byte
CS SI SO
Each transition represents 8 bits Opcode X X X
Data Byte n
Data Byte n + 15
18
Atmel AT45DB081D
3596MDFLASH5/10
Atmel AT45DB081D
10.2 Security Register
The device contains a specialized Security Register that can be used for purposes such as unique device serialization or locked key storage. The register is comprised of a total of 128bytes that is divided into two portions. The first 64-bytes (byte locations 0 through 63) of the Security Register are allocated as a one-time user programmable space. Once these 64-bytes have been programmed, they cannot be reprogrammed. The remaining 64-bytes of the register (byte locations 64 through 127) are factory programmed by Atmel and will contain a unique value for each device. The factory programmed data is fixed and cannot be changed. Table 10-5. Security Register
Security Register Byte Number 0 Data Type 1 62 63 64 65 126 127
10.2.1
Programming the Security Register The user programmable portion of the Security Register does not need to be erased before it is programmed. To program the Security Register, the CS pin must first be asserted and the appropriate 4-byte opcode sequence must be clocked into the device in the correct order. The 4-byte opcode sequence must start with 9BH and be followed by 00H, 00H, and 00H. After the last bit of the opcode sequence has been clocked into the device, the data for the contents of the 64-byte user programmable portion of the Security Register must be clocked in. After the last data byte has been clocked in, the CS pin must be deasserted to initiate the internally self-timed program cycle. The programming of the Security Register should take place in a time of tP, during which time the Status Register will indicate that the device is busy. If the device is powered-down during the program cycle, then the contents of the 64-byte user programmable portion of the Security Register cannot be guaranteed. If the full 64-bytes of data is not clocked in before the CS pin is deasserted, then the values of the byte locations not clocked in cannot be guaranteed. For example, if only the first two bytes are clocked in instead of the complete 64-bytes, then the remaining 62-bytes of the user programmable portion of the Security Register cannot be guaranteed. Furthermore, if more than 64bytes of data is clocked into the device, then the data will wrap back around to the beginning of the register. For instance, if 65-bytes of data are clocked in, then the 65th byte will be stored at byte location 0 of the Security Register. The user programmable portion of the Security Register can only be programmed one time. Therefore, it is not possible to only program the first two bytes of the register and then program the remaining 62-bytes at a later time. The Program Security Register command utilizes the internal SRAM buffer 1 for processing. Therefore, the contents of the buffer 1 will be altered from its previous state when this command is issued.
CS SI
Opcode Byte 1 Each transition represents 8 bits Opcode Byte 2 Opcode Byte 3 Opcode Byte 4 Data Byte n Data Byte n+1 Data Byte n+x
19
3596MDFLASH5/10
10.2.2
Reading the Security Register The Security Register can be read by first asserting the CS pin and then clocking in an opcode of 77H followed by three dummy bytes. After the last dont care bit has been clocked in, the content of the Security Register can be clocked out on the SO pin. After the last byte of the Security Register has been read, additional pulses on the SCK pin will simply result in undefined data being output on the SO pins. Deasserting the CS pin will terminate the Read Security Register operation and put the SO pin into a high-impedance state.
CS SI SO
Each transition represents 8 bits Opcode X X X
Data Byte n
11.2
20
Atmel AT45DB081D
3596MDFLASH5/10
Atmel AT45DB081D
completion of the compare operation, bit six of the status register is updated with the result of the compare.
11.3
11.4
21
3596MDFLASH5/10
The result of the most recent Main Memory Page to Buffer Compare operation is indicated using bit six of the status register. If bit six is a zero, then the data in the main memory page matches the data in the buffer. If bit six is a one, then at least one bit of the data in the main memory page does not match the data in the buffer. Bit one in the Status Register is used to provide information to the user whether or not the sector protection has been enabled or disabled, either by software-controlled method or hardware-controlled method. A logic one indicates that sector protection has been enabled and logic zero indicates that sector protection has been disabled. Bit zero in the Status Register indicates whether the page size of the main memory array is configured for power of 2 binary page size (256-bytes) or the Atmel DataFlash standard page size (264-bytes). If bit zero is a one, then the page size is set to 256-bytes. If bit zero is a zero, then the page size is set to 264-bytes. The device density is indicated using bits five, four, three, and two of the status register. For the Atmel AT45DB081D, the four bits are 1001 The decimal value of these four binary bits does not equate to the device density; the four bits represent a combinational code relating to differing densities of DataFlash devices. The device density is not the same as the density code indicated in the JEDEC device ID information. The device density is provided only for backward compatibility. Table 11-1.
Bit 7 RDY/BUSY
Deep Power-down
Opcode B9H
CS SI
Opcode Each transition represents 8 bits
22
Atmel AT45DB081D
3596MDFLASH5/10
Atmel AT45DB081D
12.1 Resume from Deep Power-down
The Resume from Deep Power-down command takes the device out of the Deep Power-down mode and returns it to the normal standby mode. To Resume from Deep Power-down mode, the CS pin must first be asserted and an opcode of ABH command must be clocked in via input pin (SI). After the last bit of the command has been clocked in, the CS pin must be de-asserted to terminate the Deep Power-down mode. After the CS pin is de-asserted, the device will return to the normal standby mode within the maximum tRDPD time. The CS pin must remain high during the tRDPD time before the device can receive any commands. After resuming form Deep Powerdown, the device will return to the normal standby mode. Table 12-2.
Command Resume from Deep Power-down
CS SI
Opcode Each transition represents 8 bits
23
3596MDFLASH5/10
13.1
24
Atmel AT45DB081D
3596MDFLASH5/10
Atmel AT45DB081D
14.1
14.1.1
Hex Value 1FH
14.1.2
Hex Value 25H
14.1.3
Hex Value 00H
14.1.4
Hex Value 00H
CS SI SO
9FH Opcode
1FH
Manufacturer ID Byte n
25H
Device ID Byte 1
00H
Device ID Byte 2
00H
Extended Device Information String Length
Data
Extended Device Information Byte x
Data
Extended Device Information Byte x + 1
This information would only be output if the Extended Device Information String Length value was something other than 00H.
Note:
Based on JEDEC publication 106 (JEP106), Manufacturer ID data can be comprised of any number of bytes. Some manufacturers may have Manufacturer ID codes that are two, three or even four bytes long with the first byte(s) in the sequence being 7FH. A system should detect code 7FH as a Continuation Code and continue to read Manufacturer ID bytes. The first non-7FH byte would signify the last byte of Manufacturer ID data. For Atmel (and some other manufacturers), the Manufacturer ID data is comprised of only one byte.
25
3596MDFLASH5/10
14.2
Group B commands consist of: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Page Erase Block Erase Sector Erase Chip Erase Main Memory Page to Buffer 1 (or 2) Transfer Main Memory Page to Buffer 1 (or 2) Compare Buffer 1 (or 2) to Main Memory Page Program with Built-in Erase Buffer 1 (or 2) to Main Memory Page Program without Built-in Erase Main Memory Page Program through Buffer 1 (or 2) Auto Page Rewrite
Group C commands consist of: 1. 2. 3. 4. Buffer 1 (or 2) Read Buffer 1 (or 2) Write Status Register Read Manufacturer and Device ID Read
Group D commands consist of: 1. 2. 3. 4. Erase Sector Protection Register Program Sector Protection Register Sector Lockdown Program Security Register
If a Group A command is in progress (not fully completed), then another command in Group A, B, C, or D should not be started. However, during the internally self-timed portion of Group B commands, any command in Group C can be executed. The Group B commands using buffer 1 should use Group C commands using buffer 2 and vice versa. Finally, during the internally selftimed portion of a Group D command, only the Status Register Read command should be executed.
26
Atmel AT45DB081D
3596MDFLASH5/10
Atmel AT45DB081D
15. Command Tables
Table 15-1.
Command Main Memory Page Read Continuous Array Read (Legacy Command) Continuous Array Read (Low Frequency) Continuous Array Read (High Frequency) Buffer 1 Read (Low Frequency) Buffer 2 Read (Low Frequency) Buffer 1 Read Buffer 2 Read
Read Commands
Opcode D2H E8H 03H 0BH D1H D3H D4H D6H
Table 15-2.
Command Buffer 1 Write Buffer 2 Write
Buffer 1 to Main Memory Page Program with Built-in Erase Buffer 2 to Main Memory Page Program with Built-in Erase Buffer 1 to Main Memory Page Program without Built-in Erase Buffer 2 to Main Memory Page Program without Built-in Erase Page Erase Block Erase Sector Erase Chip Erase Main Memory Page Program Through Buffer 1 Main Memory Page Program Through Buffer 2
Table 15-3.
Command
Enable Sector Protection Disable Sector Protection Erase Sector Protection Register Program Sector Protection Register Read Sector Protection Register Sector Lockdown
27
3596MDFLASH5/10
Table 15-3.
Command
Read Sector Lockdown Register Program Security Register Read Security Register
Table 15-4.
Command
Additional Commands
Opcode 53H 55H 60H 61H 58H 59H B9H ABH D7H 9FH
Main Memory Page to Buffer 1 Transfer Main Memory Page to Buffer 2 Transfer Main Memory Page to Buffer 1 Compare Main Memory Page to Buffer 2 Compare Auto Page Rewrite through Buffer 1 Auto Page Rewrite through Buffer 2 Deep Power-down Resume from Deep Power-down Status Register Read Manufacturer and Device ID Read
Table 15-5.
Command Buffer 1 Read Buffer 2 Read
Legacy Commands(1)
Opcode 54H 56H 52H 68H 57H
Main Memory Page Read Continuous Array Read Status Register Read Note: 1. These legacy commands are not recommended for new designs
28
Atmel AT45DB081D
3596MDFLASH5/10
Atmel AT45DB081D
Table 15-6. Detailed Bit-level Addressing Sequence for Binary Page Size (256-Bytes)
Address Byte
Reserved Reserved Reserved Reserved
Address Byte
A19
A18
A17
A16
A15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1 A A x x x x x x x x x x A x A A x A x x A A A A A
Opcode
03h 0Bh 50h 53h 55h 58h 59h 60h 61h 77h 7Ch 81h 82h 83h 84h 85h 86h 87h 88h 89h 9Fh B9h ABh D1h D2h D3h D4h D6h D7h E8h 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1
Opcode
0 0 1 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 0 1 0
x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x
A A A A A A A A A x A A A A x A A x A A
A A A A A A A A A x A A A A x A A x A A
A A A A A A A A A x A A A A x A A x A A
A A A A A A A A A x x A A A x A A x A A
A A A A A A A A A x x A A A x A A x A A
A A A A A A A A A x x A A A x A A x A A
A A A A A A A A A x x A A A x A A x A A
A A A A A A A A A x x A A A x A A x A A
A A A A A A A A A x x A A A x A A x A A
A A x A A A A A A x x A A A x A A x A A
A A x A A A A A A x x A A A x A A x A A
A A x A A A A A A x x A A A x A A x A A
A A x x x x x x x x x x A x A A x A x x
A A x x x x x x x x x x A x A A x A x x
A A x x x x x x x x x x A x A A x A x x
A A x x x x x x x x x x A x A A x A x x
A A x x x x x x x x x x A x A A x A x x
A A x x x x x x x x x x A x A A x A x x
A A x x x x x x x x x x A x A A x A x x
A0
N/A A A A A A A A A
Notes:
x = Dont Care
29
3596MDFLASH5/10
Table 15-7.
Detailed Bit-level Addressing Sequence for the Atmel DataFlash Standard Page Size (264-Bytes)
Address Byte
Reserved Reserved Reserved PA11 PA10
Address Byte
BA8
BA7
BA6
BA5
BA4
BA3
BA2
BA1 x x x x x x x x x x x x x x
Opcode
03h 0Bh 50h 53h 55h 58h 59h 60h 61h 77h 7Ch 81h 82h 83h 84h 85h 86h 87h 88h 89h 9Fh B9h ABh D1h D2h D3h D4h D6h D7h E8h 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1
Opcode
0 0 1 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 0 1 0
x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x
P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P x x x x x
P P P P P P P P P x x P P P x P P x P P
P P P P P P P P P P P P P P P P P P x x x
B B x x x x x x x x x x B x B B x B x x
B B B B B B B B B B B B B B x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
B B x x x x x x x x x x B x B B x B x x
P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P x x x x x x x x x x x x x x
P P P
P P P P P P P P P P P P x x x x
P P P P P P P P P P P P P P P P P P P P P x x x x x x x
B B B B B B B x x x x x x
B B B B B B B B B B B B B B x x x x x x
P P P P P P P P x x x x
P P P P P P P P P P P P P P x x x x x x x
P P P P P P P P
x x x x x
x x x x x
x P x x x
B B B B B
B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B N/A
B B B B B
BA0
PA9
PA8
PA7
PA6
PA5
PA4
PA3
PA2
PA1
PA0
P P P P x x x x x x x x x x x x
P P P P P P P x x x N/A x x x x x x x x x x x x x x x x x x
P P P P
P P P P P P P
B B B B B B B
Notes:
x = Dont Care
30
Atmel AT45DB081D
3596MDFLASH5/10
Atmel AT45DB081D
16. Power-on/Reset State
When power is first applied to the device, or when recovering from a reset condition, the device will default to Mode 3. In addition, the output pin (SO) will be in a high impedance state, and a high-to-low transition on the CS pin will be required to start a valid instruction. The mode (Mode 3 or Mode 0) will be automatically selected on every falling edge of CS by sampling the inactive clock state.
16.1
31
3596MDFLASH5/10
Table 18-2.
Ind.
1. After power is applied and VCC is at the minimum specified datasheet value, the system should wait 10 ms before an operational mode is started
32
Atmel AT45DB081D
3596MDFLASH5/10
Atmel AT45DB081D
Table 18-3.
Symbol IDP ISB
DC Characteristics
Parameter Deep Power-down Current Standby Current Condition CS, RESET, WP = VIH, all inputs at CMOS levels CS, RESET, WP = VIH, all inputs at CMOS levels f = 20MHz; IOUT = 0mA; VCC = 3.6V f = 33MHz; IOUT = 0mA; VCC = 3.6V f = 50MHz; IOUT = 0mA; VCC = 3.6V f = 66MHz; IOUT = 0mA; VCC = 3.6V Min Typ 15 25 7 8 10 11 12 Max 25 50 10 12 14 15 17 1 1 VCC x 0.3 VCC x 0.7 IOL = 1.6mA; VCC = 2.7V IOH = -100A VCC - 0.2V 0.4 Units A A mA mA mA mA mA A A V V V V
ICC1
(1)
Active Current, Program/Erase Operation Input Load Current Output Leakage Current Input Low Voltage Input High Voltage Output Low Voltage Output High Voltage
1. ICC1 during a buffer read is 20mA maximum @ 20MHz 2. All inputs (SI, SCK, CS#, WP#, and RESET#) are guaranteed by design to be 5V tolerant
33
3596MDFLASH5/10
Table 18-4.
Symbol fSCK fCAR1 fCAR2 tWH tWL tSCKR(1) tSCKF(1) tCS tCSS tCSH tSU tH tHO tDIS tV tWPE tWPD tEDPD tRDPD tXFR tcomp tEP tP tPE tBE tSE tCE tRST tREC
Parameter SCK Frequency SCK Frequency for Continuous Array Read SCK Frequency for Continuous Array Read (Low Frequency) SCK High Time SCK Low Time SCK Rise Time, Peak-to-Peak (Slew Rate) SCK Fall Time, Peak-to-Peak (Slew Rate) Minimum CS High Time CS Setup Time CS Hold Time Data In Setup Time Data In Hold Time Output Hold Time Output Disable Time Output Valid WP Low to Protection Enabled WP High to Protection Disabled CS High to Deep Power-down Mode CS High to Standby Mode Page to Buffer Transfer Time Page to Buffer Compare Time Page Erase and Programming Time (256-/264-bytes) Page Programming Time (256-/264-bytes) Page Erase Time (256-/264-bytes) Block Erase Time (2,048-/2,112-bytes) Sector Erase Time (65,536/67,584) Chip Erase Time RESET Pulse Width RESET Recovery Time
Min
Typ
Max 50 50 33
34
Atmel AT45DB081D
3596MDFLASH5/10
Atmel AT45DB081D
19. Input Test Waveforms and Measurement Levels
AC DRIVING LEVELS 2.4V 1.5V 0.45V AC MEASUREMENT LEVEL
21. AC Waveforms
Six different timing waveforms are shown on page 36. Waveform 1 shows the SCK signal being low when CS makes a high-to-low transition, and waveform 2 shows the SCK signal being high when CS makes a high-to-low transition. In both cases, output SO becomes valid while the SCK signal is still low (SCK low time is specified as tWL). Timing waveforms 1 and 2 conform to Atmel RapidS serial interface but for frequencies up to 66MHz. Waveforms 1 and 2 are compatible with SPI Mode 0 and SPI Mode 3, respectively. Waveform 3 and waveform 4 illustrate general timing diagram for RapidS serial interface. These are similar to waveform 1 and waveform 2, except that output SO is not restricted to become valid during the tWL period. These timing waveforms are valid over the full frequency range (maximum frequency = 66MHz) of the Atmel RapidS serial case.
35
3596MDFLASH5/10
21.1
21.2
21.3
tCSS
SCK
tWH
tWL
tCSH
tV
SO HIGH IMPEDANCE
tHO
VALID OUT
tDIS
HIGH IMPEDANCE
tSU
SI VALID IN
tH
21.4
tCSS
SCK
tWL
tWH
tCSH
tV
SO HIGH Z
tHO
VALID OUT
tDIS
HIGH IMPEDANCE
tSU
SI VALID IN
tH
36
Atmel AT45DB081D
3596MDFLASH5/10
Atmel AT45DB081D
21.5 Utilizing the Atmel RapidS Function
To take advantage of the Atmel RapidS function's ability to operate at higher clock frequencies, a full clock cycle must be used to transmit data back and forth across the serial bus. The Atmel DataFlash is designed to always clock its data out on the falling edge of the SCK signal and clock data in on the rising edge of SCK. For full clock cycle operation to be achieved, when the DataFlash is clocking data out on the falling edge of SCK, the host controller should wait until the next falling edge of SCK to latch the data in. Similarly, the host controller should clock its data out on the rising edge of SCK in order to give the DataFlash a full clock cycle to latch the incoming data in on the next rising edge of SCK. Figure 21-1. Atmel RapidS Mode
Slave CS
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1
SCK
B A C
MSB
E D
LSB
MOSI
BYTE-MOSI
G F
H I
MISO
MOSI = Master Out, Slave In MISO = Master In, Slave Out The Master is the host controller and the Slave is the Atmel DataFlash
MSB
LSB
BYTE-SO
The Master always clocks data out on the rising edge of SCK and always clocks data in on the falling edge of SCK. The Slave always clocks data out on the falling edge of SCK and always clocks data in on the rising edge of SCK. A. B. C. D. E. F. G. H. I. Master clocks out first bit of BYTE-MOSI on the rising edge of SCK Slave clocks in first bit of BYTE-MOSI on the next rising edge of SCK Master clocks out second bit of BYTE-MOSI on the same rising edge of SCK Last bit of BYTE-MOSI is clocked out from the Master Last bit of BYTE-MOSI is clocked into the slave Slave clocks out first bit of BYTE-SO Master clocks in first bit of BYTE-SO Slave clocks out second bit of BYTE-SO Master clocks in last bit of BYTE-SO
37
3596MDFLASH5/10
21.6
Reset Timing
CS
tREC tCSS
SCK
tRST
SO (OUTPUT)
SI (INPUT)
Note:
The CS signal should be in the high state before the RESET signal is deasserted
21.7
Command Sequence for Read/Write Operations for Page Size 256-Bytes (Except Status Register Read, Manufacturer and Device ID Read)
SI (INPUT) CMD 8 bits 8 bits 8 bits
MSB
XXXXX XX
LSB
21.8
Command Sequence for Read/Write Operations for Page Size 264-Bytes (Except Status Register Read, Manufacturer and Device ID Read)
SI (INPUT) CMD 8 bits 8 bits 8 bits
MSB
XXX XX XXXX XXXX XX 3 Dont Care Page Address Bits (PA11 - PA0)
XXXX XXXX
LSB
38
Atmel AT45DB081D
3596MDFLASH5/10
Atmel AT45DB081D
22. Write Operations
The following block diagram and waveforms illustrate the various write sequences available.
FLASH MEMORY ARRAY
PAGE (256-/264-BYTES)
BUFFER TO MAIN MEMORY PAGE PROGRAM
BUFFER (256-/264-BYTES)
BUFFER WRITE
I/O INTERFACE
SI
22.1
Buffer Write
Completes writing into selected buffer
CS
BINARY PAGE SIZE 16 DON'T CARE + BFA7-BFA0
SI (INPUT)
CMD
XX, BFA8
BFA7-0
n+1
Last Byte
22.2
Buffer to Main Memory Page Program (Data from Buffer Programmed into Flash Page)
Starts self-timed erase/program operation
CS
BINARY PAGE SIZE A19-A8 + 8 DON'T CARE BITS
SI (INPUT)
Each transition represents 8 bits
CMD
PA10-7
PA6, X
XXXX XX
n = 1st byte read n+1 = 2nd byte read
39
3596MDFLASH5/10
PAGE (256-/264-BYTES)
MAIN MEMORY PAGE TO BUFFER 1 MAIN MEMORY PAGE TO BUFFER 2
BUFFER 1 (256-/264-BYTES)
BUFFER 1 READ
BUFFER 2 (256-/264-BYTES)
MAIN MEMORY PAGE READ BUFFER 2 READ
I/O INTERFACE
SO
23.1
SI (INPUT)
CMD
PA11-7
PA6-0, BA8
BA7-0
SO (OUTPUT)
n+1
23.2
Main Memory Page to Buffer Transfer (Data from Flash Page Read into Buffer)
Starts reading page data into buffer CS
SI (INPUT)
CMD
PA11-7
PA6-0, X
XXXX XXXX
SO (OUTPUT)
40
Atmel AT45DB081D
3596MDFLASH5/10
Atmel AT45DB081D
23.3 Buffer Read
CS
BINARY PAGE SIZE 15 DON'T CARE + BFA8-BFA0 1 Dummy Byte
SI (INPUT)
CMD
X..X, BFA9-8
BFA7- 0
SO (OUTPUT)
Each transition represents 8 bits
n+1
24. Detailed Bit-level Read Waveform Atmel RapidS Serial Interface Mode 0/Mode 3
24.1
CS
0 1 2 3 4 5 6 7 8 9 10 11 12 29 30 31 32 33 34 62 63 64 65 66 67 68 69 70 71 72
SCK
OPCODE ADDRESS BITS
0 0 0 A
MSB
SI
1
MSB
DATA BYTE 1
SO
HIGH-IMPEDANCE
D
MSB
D
MSB
D
BIT 0 OF PAGE n+1
24.2
CS
10 11 12
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
SCK
OPCODE ADDRESS BITS A19 - A0
0 1 1 A
MSB
DON'T CARE
A A X
MSB
SI
0
MSB
DATA BYTE 1
SO
HIGH-IMPEDANCE
D
MSB
D
MSB
41
3596MDFLASH5/10
24.3
SCK
OPCODE ADDRESS BITS A19-A0
0 1 1 A
MSB
SI
0
MSB
DATA BYTE 1
SO
HIGH-IMPEDANCE
D
MSB
D
MSB
24.4
CS
10 11 12
29 30 31 32 33 34
62 63 64 65 66 67 68 69 70 71 72
SCK
OPCODE ADDRESS BITS
0 1 0 A
MSB
SI
1
MSB
DATA BYTE 1
SO
HIGH-IMPEDANCE
D
MSB
D
MSB
24.5
CS
0 1 2 3 4 5 6 7 8 9 10 11 12 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
SCK
OPCODE
ADDRESS BITS BINARY PAGE SIZE = 16 DON'T CARE + BFA7-BFA0 STANDARD ATMEL DATAFLASH PAGE SIZE = 15 DON'T CARE + BFA8-BFA0
DON'T CARE
X X X X X X X
SI
1
MSB
X
MSB
X
MSB
DATA BYTE 1
SO
HIGH-IMPEDANCE
D
MSB
D
MSB
42
Atmel AT45DB081D
3596MDFLASH5/10
Atmel AT45DB081D
24.6 Buffer Read (Low Frequency: Opcode D1H or D3H)
CS
0 1 2 3 4 5 6 7 8 9 10 11 12 29 30 31 32 33 34 35 36 37 38 39 40
SCK
OPCODE
ADDRESS BITS BINARY PAGE SIZE = 16 DON'T CARE + BFA7-BFA0 STANDARD ATMEL DATAFLASH PAGE SIZE = 15 DON'T CARE + BFA8-BFA0
SI
1
MSB
X
MSB
DATA BYTE 1
SO
HIGH-IMPEDANCE
D
MSB
D
MSB
24.7
SCK
OPCODE DON'T CARE
0 1 0 X
MSB
SI
0
MSB
DATA BYTE 1
SO
HIGH-IMPEDANCE
D
MSB
D
MSB
24.8
SCK
OPCODE DON'T CARE
1 0 1 X
MSB
SI
0
MSB
DATA BYTE 1
SO
HIGH-IMPEDANCE
D
MSB
D
MSB
43
3596MDFLASH5/10
24.9
SCK
OPCODE DON'T CARE
1 1 1 X
MSB
SI
0
MSB
DATA BYTE 1
SO
HIGH-IMPEDANCE
D
MSB
D
MSB
SCK
OPCODE
SI
1
MSB
SO
HIGH-IMPEDANCE
D
MSB
D
MSB
SCK
OPCODE
SI
9FH
SO
HIGH-IMPEDANCE
1FH
DEVICE ID BYTE 1
DEVICE ID BYTE 2
00H
44
Atmel AT45DB081D
3596MDFLASH5/10
Atmel AT45DB081D
25. Auto Page Rewrite Flowchart
Figure 25-1. Algorithm for Programming or Reprogramming of the Entire Array Sequentially
START provide address and data
BUFFER WRITE (84H, 87H) MAIN MEMORY PAGE PROGRAM THROUGH BUFFER (82H, 85H) BUFFER TO MAIN MEMORY PAGE PROGRAM (83H, 86H)
END
Notes: 1. This type of algorithm is used for applications in which the entire array is programmed sequentially, filling the array page-bypage. 2. A page can be written using either a Main Memory Page Program operation or a Buffer Write operation followed by a Buffer to Main Memory Page Program operation. 3. The algorithm above shows the programming of a single page. The algorithm will be repeated sequentially for each page within the entire array.
45
3596MDFLASH5/10
BUFFER WRITE (84H, 87H) MAIN MEMORY PAGE PROGRAM THROUGH BUFFER (82H, 85H) BUFFER TO MAIN MEMORY PAGE PROGRAM (83H, 86H)
(2)
END
Notes: 1. To preserve data integrity, each page of an Atmel DataFlash sector must be updated/rewritten at least once within every 10,000 cumulative page erase and program operations. 2. A Page Address Pointer must be maintained to indicate which page is to be rewritten. The Auto Page Rewrite command must use the address specified by the Page Address Pointer. 3. Other algorithms can be used to rewrite portions of the Flash array. Low-power applications may choose to wait until 10,000 cumulative page erase and program operations have accumulated before rewriting all pages of the sector. See application note AN-4 (Using Atmel Serial DataFlash) for more details.
46
Atmel AT45DB081D
3596MDFLASH5/10
Atmel AT45DB081D
26. Ordering Information
26.1 Ordering Code Detail AT 4 5 DB 0 8 1 D SSU
Atmel Designator Product Family Device Grade
U = Matte Sn lead finish, industrial temperature range (-40C to +85C)
Device Density
8 = 8-megabit
Package Option
M = 8-pad, 6 x 5 x 1mm MLF (VDFN) SS = 8-lead, 0.150" wide SOIC S = 8-lead, 0.209" wide SOIC
Interface
1 = Serial
Device Revision
26.2
AT45DB081D-MU AT45DB081D-MU-SL954(3) AT45DB081D-MU-SL955(4) AT45DB081D-SSU AT45DB081D-SSU-SL954(3) AT45DB081D-SSU-SL955(4) AT45DB081D-SU AT45DB081D-SU-SL954(3) AT45DB081D-SU-SL955(4) AT45DB081D-MU-2.5 AT45DB081D-SSU-2.5 AT45DB081D-SU-2.5 Notes:
8S1
Matte Sn
2.7V to 3.6V
1. The shipping carrier option is not marked on the devices. 2. Standard parts are shipped with the page size set to 264-bytes. The user is able to configure these parts to a 256-byte page size if desired. 3. Parts ordered with suffix SL954 are shipped in bulk with the page size set to 256-bytes. Parts will have a 954 or SL954 marked on them. 4. Parts ordered with suffix SL955 are shipped in tape and reel with the page size set to 256-bytes. Parts will have a 954 or SL954 marked on them. Package Type
8-pad, 6 x 5 x 1.00mm Body, Very Thin Dual Flat Package No Lead MLF (VDFN) 8-lead, 0.150 Wide, Plastic Gull Wing Small Outline Package (JEDEC SOIC) 8-lead, 0.209 Wide, Plastic Gull Wing Small Outline Package (EIAJ SOIC)
47
3596MDFLASH5/10
D D1
0
Pin 1 ID
E1
SIDE VIEW
TOP VIEW A2
A3 A1 A
0.08 C
D2
0.45
SYMBOL A A1
E2
COMMON DIMENSIONS (Unit of Measure = mm) MIN NOM 0.85 0.65 TYP 0.20 TYP 0.35 5.90 5.70 3.20 4.90 4.70 3.80 0.40 6.00 5.75 3.40 5.00 4.75 4.00 1.27 0.50 0.25 0.60 0.75 12o 0.48 6.10 5.80 3.60 5.10 4.80 4.20 MAX 1.00 0.05 NOTE
A2 A3
b D
D1 D2 E E1 E2 e L
0
BOTTOM VIEW
8/28/08 Package Drawing Contact: [email protected] TITLE 8M1-A, 8-pad, 6 x 5 x 1.00mm Body, Thermally Enhanced Plastic Very Thin Dual Flat No Lead Package (VDFN) GPC YBR DRAWING NO. 8M1-A REV. D
48
Atmel AT45DB081D
3596MDFLASH5/10
Atmel AT45DB081D
27.2 8S1 JEDEC SOIC
E1
D E1
SIDE VIEW
Notes: This drawing is for general information only. Refer to JEDEC Drawing MS-012, Variation AA for proper dimensions, tolerances, datums, etc.
E e L
Package Drawing Contact: 8S1, 8-lead (0.150 Wide Body), Plastic Gull [email protected] Wing Small Outline (JEDEC SOIC)
SWB
49
3596MDFLASH5/10
27.3
E1
L
N
End View
Top View
e A A1 b
COMMON DIMENSIONS (Unit of Measure = mm) SYMBOL MIN NOM MAX NOTE
A
D
1.70 0.05 0.35 0.15 5.13 5.18 7.70 0.51 0 1.27 BSC
A1 b C D E1 E L q e
Side View
Notes: 1. This drawing is for general information only; refer to EIAJ Drawing EDR-7320 for additional information. 2. Mismatch of the upper and lower dies and resin burrs are not included. 3. Determines the true geometric position. 4. Values b,C apply to plated terminal. The standard thickness of the plating layer shall measure between 0.007 to .021mm.
4 4 2
TITLE
GPC
DRAWING NO.
REV.
8S2, 8-lead, 0.208 Body, Plastic Small Package Drawing Contact: [email protected] Outline Package (EIAJ)
STN
8S2
50
Atmel AT45DB081D
3596MDFLASH5/10
Atmel AT45DB081D
28. Revision History
Revision Level Release Date A November 2005 History Initial Release Added Preliminary. Added text, in Programming the Configuration Register, to indicate that power cycling is required to switch to power of 2 page size after the opcode enable has been executed. Added Legacy Commands table. Corrected PA3 in opcode 50h for addressing sequence with standard page size. Corrected Chip Erase opcode from 7CH to C7H. Clarified the commands B and C usage for operation mode. Removed Preliminary. Added errata regarding Chip Erase. Changed various timing parameters under Table 18-4. Removed RDY/BUSY pin references. Removed SER/BYTE statement from SI and SO pin descriptions in Table 2-1. Added additional text to power of 2 binary page size option. Changed tVSCL from 50s to 70s. Changed tRDPD from 30s to 35s. Added additional text, in power of 2 binary page size option, to indicate that the address format is changed for devices with page size set to 256-bytes. Corrected typographical error to indicate that Figure 13-1 indicates Program Configuration Register. Removed Atmel DataFlash card pinout. Added part number ordering code details for suffixes SL954/955 Added ordering code details. Changed tDIS (Typ and Max) to 27ns and 35ns, respectively. Changed Deep Power-Down Current values - Increased typical value from 5A to 15A. - Increased maximum value from 15A to25 A. Updated Absolute Maximum Ratings Removed Chip Erase Errata Changed tSE (Typ) 1.6 to 0.7 and (Max) 5 to 1.3 Changed tCE (Typ) TBD to 7 and (Max) TBD to 22 Changed from 10,000 to 20,000 cumulative page erase/program operations and added the please contact Atmel statement in section 11.3.
B March 2006
C July 2006
F August 2007
G January 2008
K March 2009
L April 2009
M May 2010
51
3596MDFLASH5/10
29. Errata
29.1 No Errata Conditions
52
Atmel AT45DB081D
3596MDFLASH5/10
Headquarters
Atmel Corporation 2325 Orchard Parkway San Jose, CA 95131 USA Tel: (+1) (408) 441-0311 Fax: (+1) (408) 487-2600 www.atmel.com
International
Atmel Asia Limited Unit 01-5 & 16, 19F BEA Tower, Millennium City 5 418 Kwun Tong Road Kwun Tong, Kowloon HONG KONG Tel: (+852) 2245-6100 Fax: (+852) 2722-1369 Atmel Munich GmbH Business Campus Parkring 4 D-85748 Garching bei Munich GERMANY Tel: (+49) 89-31970-0 Fax: (+49) 89-3194621 Atmel Japan 9F, Tonetsu Shinkawa Bldg. 1-24-8 Shinkawa Chuo-ku, Tokyo 104-0033 JAPAN Tel: (+81) (3) 3523-3551 Fax: (+81) (3) 3523-7581
Product Contact
Technical Support [email protected] Sales Contact www.atmel.com/contacts Literature Requests www.atmel.com/literature
Disclaimer: The information in this document is provided in connection with Atmel products. No license, express or implied, by estoppel or otherwise, to any intellectual property right is granted by this document or in connection with the sale of Atmel products. EXCEPT AS SET FORTH IN ATMELS TERMS AND CONDITIONS OF SALE LOCATED ON ATMELS WEB SITE, ATMEL ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE, SPECIAL OR INCIDENTAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION, OR LOSS OF INFORMATION) ARISING OUT OF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF ATMEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Atmel makes no representations or warranties with respect to the accuracy or completeness of the contents of this document and reserves the right to make changes to specifications and product descriptions at any time without notice. Atmel does not make any commitment to update the information contained herein. Unless specifically provided otherwise, Atmel products are not suitable for, and shall not be used in, automotive applications. Atmels products are not intended, authorized, or warranted for use as components in applications intended to support or sustain life.
2010 Atmel Corporation. All rights reserved. Atmel , Atmel logo and combinations thereof, Everywhere You Are, DataFlash , RapidS and others are registered trademarks or trademarks of Atmel Corporation or its subsidiaries. Other terms and product names may be trademarks of others.
3596MDFLASH5/10