FM25040A
4Kb FRAM Serial Memory Features
4K bit Ferroelectric Nonvolatile RAM • Organized as 512 x 8 bits • High Endurance 1 Trillion (1012) Read/Writes • 45 year Data Retention • NoDelay™ Writes • Advanced High-Reliability Ferroelectric Process Very Fast Serial Peripheral Interface - SPI • Up to 20 MHz maximum Bus Frequency • Direct hardware replacement for EEPROM • SPI Mode 0 & 3 (CPOL, CPHA=0,0 & 1,1) Sophisticated Write Protection Scheme • Hardware Protection • Software Protection Low Power Consumption • 10 µA Standby Current Industry Standard Configuration • Industrial Temperature -40° C to +85° C • 8-pin SOIC (-S) • “Green” 8-pin SOIC (-G)
Description
The FM25040A is a 4-kilobit nonvolatile memory employing an advanced ferroelectric process. A ferroelectric random access memory or FRAM is nonvolatile but operates in other respects as a RAM. It provides reliable data retention for 45 years while eliminating the complexities, overhead, and system level reliability problems caused by EEPROM and other nonvolatile memories. Unlike serial EEPROMs, the FM25040A performs write operations at bus speed. No write delays are incurred. Data is written to the memory array in the cycle after it has been successfully transferred to the device. The next bus cycle may commence immediately without the need for data polling. In addition the product offers substantial write endurance compared with other nonvolatile memories. The FM25040A is capable of supporting up to 1012 read/write cycles -- far more than most systems will require from a serial memory. These capabilities make the FM25040A ideal for nonvolatile memory applications requiring frequent or rapid writes. Examples range from data collection, where the number of write cycles may be critical, to demanding industrial controls where the long write time of EEPROM can cause data loss. The FM25040A provides substantial benefits to users of serial EEPROM, in a hardware drop-in replacement. The FM25040A uses the high-speed SPI bus which enhances the high-speed write capability of FRAM technology. Device specifications are guaranteed over an industrial temperature range of -40°C to +85°C.
This product conforms to specifications per the terms of the Ramtron standard warranty. The product has completed Ramtron’s internal qualification testing and has reached production status.
Pin Configuration CS SO WP VSS
1 2 3 4 8 7 6 5
VDD HOLD SCK SI
Pin Names /CS /WP /HOLD SCK SI SO VDD VSS
Function Chip Select Write Protect Hold Serial Clock Serial Data Input Serial Data Output Supply Voltage 5V Ground
Ordering Information FM25040A-S 8-pin SOIC FM25040A-G “Green” 8-pin SOIC
Ramtron International Corporation 1850 Ramtron Drive, Colorado Springs, CO 80921 (800) 545-FRAM, (719) 481-7000 www.ramtron.com
Rev. 3.0 May 2006
Page 1 of 13
FM25040A
WP CS HOLD SCK
Instruction Decode Clock Generator Control Logic Write Protect 128 x 32 FRAM Array
Instruction Register
Address Register Counter SI
9
8
Data I/O Register 2 Nonvolatile Status Register
SO
Figure 1. Block Diagram
Pin Descriptions Pin Name /CS I/O Input Description Chip Select. This active-low input activates the device. When high, the device enters lowpower standby mode, ignores other inputs, and all outputs are tri-stated. When low, the device internally activates the SCK signal. A falling edge on /CS must occur prior to every op-code. Serial Clock: All I/O activity is synchronized to the serial clock. Inputs are latched on the rising edge and outputs occur on the falling edge. Since the device is static, the clock frequency may be any value between 0 and 20 MHz and may be interrupted at any time. Hold: The /HOLD pin is used when the host CPU must interrupt a memory operation for another task. When /HOLD is low, the current operation is suspended. The device ignores any transition on SCK or /CS. All transitions on /HOLD must occur while SCK is low. Write Protect: This active-low pin prevents all write operations, including those to the status register. If high, write access is determined by the other write protection features, as controlled through the status register. A complete explanation of write protection is provided on page 6. Serial Input: All input data is driven to this pin. The pin is sampled on the rising edge of SCK and is ignored at other times. It should always be driven to a valid logic level to meet IDD specifications. * SI may be connected to SO for a single pin data interface. Serial Output: SO is the data output pin. It is driven actively during a read and remains tristate at all other times including when /HOLD is low. Data transitions are driven on the falling edge of the serial clock. * SO can be connected to SI for a single pin data interface since the part communicates in half-duplex fashion. Supply Voltage: 5V Ground
SCK
Input
/HOLD
Input
/WP
Input
SI
Input
SO
Output
VDD VSS
Supply Supply
Rev. 3.0 May 2006
Page 2 of 13
FM25040A
Overview
The FM25040A is a serial FRAM memory. The memory array is logically organized as 512 x 8 and is accessed using an industry standard Serial Peripheral Interface or SPI bus. Functional operation of the FRAM is similar to serial EEPROMs. The major difference between the FM25040A and a serial EEPROM with the same pin-out relates to its superior write performance. The FM25040A differs from Ramtron’s FM25040 by increasing its performance to 20MHz and adding support for SPI Mode 3. This makes the FM25040A a drop-in replacement for most 4Kb SPI EEPROMs that support Modes 0 & 3.
Serial Peripheral Interface – SPI Bus
The FM25040A employs a Serial Peripheral Interface (SPI) bus. It is specified to operate at speeds up to 20 MHz. This high-speed serial bus provides high performance serial communication to a host microcontroller. Many common microcontrollers have hardware SPI ports allowing a direct interface. It is quite simple to emulate the port using ordinary port pins for microcontrollers that do not. The FM25040A operates in SPI Mode 0 and 3. The SPI interface uses a total of four pins: clock, data-in, data-out, and chip select. A typical system configuration uses one or more FM25040A devices with a microcontroller that has a dedicated SPI port, as Figure 2 illustrates. Note that the clock, data-in, and data-out pins are common among all devices. The Chip Select and Hold pins must be driven separately for each FM25040A device. For a microcontroller that has no dedicated SPI bus, a general purpose port may be used. To reduce hardware resources on the controller, it is possible to connect the two data pins (SI, SO) together and tie off (high) the /HOLD pin. Figure 3 shows a configuration that uses only three pins. Protocol Overview The SPI interface is a synchronous serial interface using clock and data lines. It is intended to support multiple devices on the bus. Each device is activated using a chip select. Once chip select is activated by the bus master, the FM25040A will begin monitoring the clock and data lines. The relationship between the falling edge of /CS, the clock and data is dictated by the SPI mode. The device will make a determination of the SPI mode on the falling edge of each chip select. While there are four such modes, the FM25040A supports Modes 0 and 3. Figure 4 shows the required signal relationships for Modes 0 and 3. For both modes, data is clocked into the FM25040A on the rising edge of SCK and data is expected on the first rising edge after /CS goes active. If the clock begins from a high state, it will fall prior to beginning data transfer in order to create the first rising edge. The SPI protocol is controlled by op-codes. These op-codes specify the commands to the part. After /CS is activated the first byte transferred from the bus master is the op-code. Following the op-code, any addresses and data are then transferred. Note that the WREN and WRDI op-codes are commands with no subsequent data transfer. Important: The /CS must go inactive (high) after an operation is complete and before a new op-code can be issued. There is one valid op-code only per active chip select.
Page 3 of 13
Memory Architecture
When accessing the FM25040A, the user addresses 512 locations each with 8 data bits. These data bits are shifted serially. The addresses are accessed using the SPI protocol, which includes a chip select (to permit multiple devices on the bus), an op-code including the upper address bit, and a word address. The word address consists of the lower 8-address bits. The complete address of 9-bits specifies each byte address uniquely. Most functions of the FM25040A either are controlled by the SPI interface or are handled automatically by on-board circuitry. The access time for memory operation essentially is zero, beyond the time needed for the serial protocol. That is, the memory is read or written at the speed of the SPI bus. Unlike an EEPROM, it is not necessary to poll the device for a ready condition since writes occur at bus speed. That is, by the time a new bus transaction can be shifted into the part, a write operation will be complete. This is explained in more detail in the interface section that follows. Users expect several obvious system benefits from the FM25040A due to its fast write cycle and high endurance as compared with EEPROM. However there are less obvious benefits as well. For example in a high noise environment, the fast-write operation is less susceptible to corruption than an EEPROM since it is completed quickly. By contrast, an EEPROM requiring milliseconds to write is vulnerable to noise during much of the cycle. Note that the FM25040A contains no power management circuits other than a simple internal power-on reset. It is the user’s responsibility to ensure that VDD is within datasheet tolerances to prevent incorrect operation. It is recommended that the part is not powered down with chip enable active.
Rev. 3.0 May 2006
FM25040A
SCK MOSI MISO SO SI SCK SO SI SCK
SPI Microcontroller
SS1 SS2 HOLD1 HOLD2
FM25040A
CS HOLD
FM25040A
CS HOLD
MOSI : Master Out Slave In MISO : Master In Slave Out SS : Slave Select
Figure 2. System Configuration with SPI port
Microcontroller
SO
SI SCK
FM25040A
CS HOLD
Figure 3. System Configuration without SPI port
SPI Mode 0: CPOL=0, CPHA=0
7
6
5
4
3
2
1
0
SPI Mode 3: CPOL=1, CPHA=1
7
6
5
4
3
2
1
0
Figure 4. SPI Modes 0 & 3
Rev. 3.0 May 2006
Page 4 of 13
FM25040A Data Transfer All data transfers to and from the FM25040A occur in 8-bit groups. They are synchronized to the clock signal (SCK) and they transfer most significant bit (MSB) first. The serial input data is clocked in on the rising edge of SCK. The serial data output is driven from the falling edge of SCK. Command Structure There are six commands called op-codes that can be issued by the bus master to the FM25040A. They are listed in the table below. These op-codes control the functions performed by the memory. They can be divided into three categories. First, there are commands that have no subsequent data transfer. They perform a single function, such as, enabling a write operation. Second are commands followed by one byte, either in or out. They operate on the status register. Third are commands for memory transactions followed by address and one or more bytes of data. Table 1. Op-code Commands Name Description Set Write Enable Latch WREN Write Disable WRDI Read Status Register RDSR Write Status Register WRSR Read Memory Data READ WRITE Write Memory Data WREN - Set Write Enable Latch The FM25040A will power up with writes disabled. The WREN command must be issued prior to any write operation. Sending the WREN op-code will allow the user to issue subsequent op-codes for write operations. These include writing the status register and writing the memory. Sending the WREN op-code causes the internal Write Enable Latch to be set. A flag bit in the status register, called WEL, indicates the state of the latch. WEL=1 indicates that writes are permitted. A write to the status register has no effect on the WEL bit. Completing any write operation will automatically clear the write-enable latch and prevent further writes without another WREN command. Figure 5 below illustrates the WREN command bus configuration. WRDI - Write Disable The WRDI command disables all write activity by clearing the Write Enable Latch. The user can verify that writes are disabled by reading the WEL bit in the status register and verifying that WEL=0. Figure 6 illustrates the WRDI command bus configuration.
Op-code
0000_0110b 0000_0100b 0000_0101b 0000_0001b 0000_A011b 0000_A010b
Figure 5. WREN Bus Configuration
Figure 6. WRDI Bus Configuration
Rev. 3.0 May 2006
Page 5 of 13
FM25040A RDSR - Read Status Register The RDSR command allows the bus master to verify the contents of the Status Register. Reading Status provides information about the current state of the write protection features. Following the RDSR opcode, the FM25040A will return one byte with the contents of the Status Register. The Status Register is described in detail in the Status Register & Write Protection section. WRSR – Write Status Register The WRSR command allows the user to select certain write protection features by writing a byte to the Status Register. Prior to issuing a WRSR command, the /WP pin must be high or inactive. Note that on the FM25040A, /WP prevents writing to the Status Register and the memory array. Prior to sending the WRSR command, the user must send a WREN command to enable writes. Note that executing a WRSR command is a write operation and therefore clears the Write Enable Latch. The bus timing for RDSR and WRSR are shown below.
Figure 7. RDSR Bus Timing
Figure 8. WRSR Bus Timing
Status Register & Write Protection
The write protection features of the FM25040A are multi-tiered. First, a WREN op-code must be issued prior to any write operation. Assuming that writes are enabled using WREN, writes to memory are controlled by the /WP pin and the Status Register. When /WP is low, the entire part is write-protected. When /WP is high, the memory protection is subject to the Status register. Writes to the Status Register are performed using the WREN and WRSR commands and subject to the /WP pin. The Status Register is organized as follows. Table 2. Status Register
Bit Name 7 0 6 0 5 0 4 0 3 BP1 2 BP0 1 WEL 0 0
whether a write cycle is complete or not. The BP1 and BP0 bits control write protection features. They are nonvolatile (shaded yellow). The WEL flag indicates the state of the Write Enable Latch. This bit is internally set by the WREN command and is cleared by terminating a write cycle (/CS high) or by using the WRDI command. BP1 and BP0 are memory block write protection bits. They specify portions of memory that are writeprotected as shown in the following table. Table 3. Block Memory Write Protection BP1 BP0 Protected Address Range
0 0 1 1 0 1 0 1 None 180h to 1FFh (upper ¼) 100h to 1FFH (upper ½) 000h to 1FFh (all)
Bits 0 and 4-7 are fixed at 0 and cannot be modified. Note that bit 0 (/RDY in EEPROMs) is wired low since FRAM writes have no delay and the memory is never busy. All EEPROMs use Ready to indicate
Rev. 3.0 May 2006
Page 6 of 13
FM25040A The BP1 and BP0 bits and the Write Enable Latch are the only mechanisms that protect the memory from writes. The remaining write protection features protect inadvertent changes to the block protect bits. Table 4. Write Protection WEL /WP Protected Blocks 0 X Protected 1 0 Protected 1 1 Protected The BP1 and BP0 bits allow software to selectively write protect the array. These settings are only used when the /WP pin is inactive and the WREN command has been issued. The following table summarizes the write protection conditions. Status Register Protected Protected Unprotected
Unprotected Blocks Protected Protected Unprotected
Memory Operation
The SPI interface, with its relatively high maximum clock frequency, highlights the fast write capability of the FRAM technology. Unlike SPI-bus EEPROMs, the FM25040A can perform sequential writes at bus speed. No page register is needed and any number of sequential writes may be performed. Write Operation All writes to the memory array begin with a WREN op-code. The bus master then issues a WRITE opcode. Part of this op-code includes the upper bit of the memory address. Bit 3 in the op-code corresponds to A8. The next byte is the lower 8-bits of the address A7-A0. In total, the 9-bits specify the address of the first byte of the write operation. Subsequent bytes are data and they are written sequentially. Addresses are incremented internally as long as the bus master continues to issue clocks. If the last address of 1FFh is reached, the counter will roll over to 000h. Data is written MSB first. Unlike EEPROMs, any number of bytes can be written sequentially and each byte is written to memory immediately after it is clocked in (after the 8th clock). The rising edge of /CS terminates a WRITE op-code operation. Read Operation After the falling edge of /CS, the bus master can issue a READ op-code. Part of this op-code includes the upper bit of the memory address. The next byte is the lower 8-bits of the address. In total, the 9-bits specify the address of the first byte of the read operation. After the op-code is complete, the SI pin is ignored. The bus master then issues 8 clocks, with one bit read out for each. Addresses are incremented internally as long as the bus master continues to issue clocks. If the last address of 1FFh is reached, the counter will roll over to 000h. Data is read MSB first. The rising edge of /CS terminates a READ op-code operation.. The bus configuration for read and write operations is shown below. Hold The /HOLD pin can be used to interrupt a serial operation without aborting it. If the bus master takes the /HOLD pin low while SCK is low, the current operation will pause. Taking the /HOLD pin high while SCK is low will resume an operation. The transitions of /HOLD must occur while SCK is low, but the SCK pin can toggle during a hold state.
Rev. 3.0 May 2006
Page 7 of 13
FM25040A
CS 0 SCK op-code SI SO 0 0 0 0 A 0 1 0 7 MSB Hi-Z 6 Byte Address 5432 Data 43 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 7
1
0
7
6
5
2
1
0 LSB
0
LSB MSB
Figure 9. Memory Write
CS 0 SCK op-code SI SO 0 0 0 0 A 0 1 1 7 MSB Hi-Z 6 Byte Address 5432 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 7
1
0 LSB 76 MSB 5 Data Out 432 1 0 LSB 0 LSB
Figure 10. Memory Read
Endurance
Internally, a FRAM operates with a read and restore mechanism similar to a DRAM. Therefore, endurance cycles are applied for each access: read or write. The FRAM architecture is based on an array of rows and columns. Each access causes an endurance cycle for an entire row. Therefore, data locations targeted for substantially differing numbers of cycles
should not be located within the same row. In the FM25040A, there are 128 rows each 32 bits wide. Regardless, FRAM read and write endurance is effectively unlimited at the 20 MHz clock speed. Even at 2000 accesses per second to the same row, 15 years time will elapse before 1012 endurance cycles occur.
Rev. 3.0 May 2006
Page 8 of 13
FM25040A
Electrical Specifications
Absolute Maximum Ratings Symbol Description VDD Power Supply Voltage with respect to VSS VIN Voltage on any pin with respect to VSS TSTG TLEAD VESD Storage Temperature Lead Temperature (Soldering, 10 seconds) Electrostatic Discharge Voltage - Human Body Model (JEDEC Std JESD22-A114-B) - Charged Device Model (JEDEC Std JESD22-C101-A) - Machine Model (JEDEC Std JESD22-A115-A) Package Moisture Sensitivity Level Ratings -1.0V to +7.0V -1.0V to +7.0V and VIN < VDD+1.0V -55°C to + 125°C 300° C 4kV 1kV 400V MSL-1
Stresses above those listed under Absolute Maximum Ratings may cause permanent damage to the device. This is a stress rating only, and the functional operation of the device at these or any other conditions above those listed in the operational section of this specification is not implied. Exposure to absolute maximum ratings conditions for extended periods may affect device reliability.
DC Operating Conditions (TA = -40° C to + 85° C, VDD = 4.5V to 5.5V unless otherwise specified) Symbol Parameter Min Typ Max Units VDD Main Power Supply 4.5 5.0 5.5 V IDD VDD Supply Current mA 0.4 0.2 @ SCK = 1.0 MHz mA 8.0 4 @ SCK = 20.0 MHz ISB Standby Current 10 µA ILI Input Leakage Current ±1 µA ILO Output Leakage Current ±1 µA VIH Input High Voltage 0.7 VDD VDD + 0.5 V VIL Input Low Voltage -0.3 0.3 VDD V VOH Output High Voltage V VDD – 0.8 @ IOH = -1 mA VOL Output Low Voltage 0.4 V @ IOL = 2 mA VHYS Input Hysteresis 0.05 VDD V Notes
1. 2. 3. 4. SCK toggling between VDD-0.3V and VSS, other inputs VSS or VDD-0.3V. SCK = SI = /CS=VDD. All inputs VSS or VDD. VIN or VOUT = VSS to VDD. This parameter is periodically sampled and not 100% tested.
Notes 1
2 3 3
4
Rev. 3.0 May 2006
Page 9 of 13
FM25040A AC Parameters Symbol fCK tCH tCL tCSU tCSH tOD tODV tOH tD tR tF tSU tH tHS tHH tHZ tLZ Notes
1. 2. 3. tCH + tCL = 1/fCK. Rise and fall times measured between 10% and 90% of waveform. This parameter is characterized and not 100% tested.
(TA = -40° C to + 85° C, VDD = 4.5V to 5.5V unless otherwise specified) Parameter Min Max SCK Clock Frequency 0 20 Clock High Time 22 Clock Low Time 22 Chip Select Setup 10 Chip Select Hold 10 Output Disable 20 Output Data Valid 20 Output Hold 0 Deselect Time 60 Data In Rise Time 50 Data In Fall Time 50 Data Setup Time 5 Data Hold Time 5 /Hold Setup Time 10 /Hold Hold Time 10 /Hold Low to Hi-Z 20 /Hold High to Data Active 20
Units MHz ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns
Notes 1 1
2
1,3 1,3
2 2
Capacitance (TA = 25°C , f=1.0 MHz, VDD = 5V) Symbol Parameter CO Output Capacitance (SO) CI Input Capacitance Notes 1. This parameter is periodically sampled and not 100% tested.
Max 8 6
Units pF pF
Notes 1 1
AC Test Conditions Input Pulse Levels Input Rise and Fall Times Input and Output Timing Levels Output Load Capacitance
10% and 90% of VDD 5 ns 0.5 VDD 30 pF
Rev. 3.0 May 2006
Page 10 of 13
FM25040A Serial Data Bus Timing
/Hold Timing
Data Retention (VDD = 4.5V to 5.5V, +85°) Parameter Data Retention
Min 45
Units Years
Notes
Rev. 3.0 May 2006
Page 11 of 13
FM25040A
Mechanical Drawing
(8-pin SOIC - JEDEC Standard MS-012, Variation AA)
Refer to JEDEC MS-012 for complete dimensions and notes. All dimensions in millimeters.
SOIC Package Marking Scheme
Legend: XXXX= part number, P= package type LLLLLLL= lot code RIC=Ramtron Int’l Corp, YY=year, WW=work week Example: FM25040A, Standard SOIC package, Year 2004, Work Week 50 FM25040A-S A40003S RIC0450
XXXXXXX-P LLLLLLL RICYYWW
Rev. 3.0 May 2006
Page 12 of 13
FM25040A
Revision History
Revision 0.1 0.11 Date 7/15/04 12/7/04 Summary Initial Release Added comment in Overview about differences between A and non-A devices. Rewrote chip select operation in Protocol Overview section (pg. 3). Updated mechanical drawing with pcb footprint. Changed to Pre-Production status. Changed Data Retention spec. Added ESD and package MSL ratings. Changed to Production status.
2.0 3.0
4/11/05 5/5/06
Rev. 3.0 May 2006
Page 13 of 13