M95160-R
AI

### Overview of M95160-R
The **M95160-R** is a 16-Kbit (2048 x 8 bits) serial Electrically Erasable Programmable Read-Only Memory (EEPROM) manufactured by STMicroelectronics. It is designed to be managed via a Serial Peripheral Interface (**SPI**) bus.
---
### Key Specifications
| Parameter | Specification |
| :--- | :--- |
| **Memory Size** | 16 Kbit (2,048 Bytes) |
| **Interface** | SPI (Mode 0 and Mode 3) |
| **Operating Voltage (Vcc)** | 1.8V to 5.5V |
| **Clock Frequency** | Up to 20 MHz (at 4.5V - 5.5V) |
| **Page Size** | 32 Bytes |
| **Write Cycles** | More than 4 Million cycles |
| **Data Retention** | More than 200 Years |
| **Operating Temperature** | -40°C to +85°C |
---
### Pin Configuration and Functions
The device typically comes in small footprints like **SO8** or **TSSOP8**.
| Pin Number | Name | Description |
| :--- | :--- | :--- |
| 1 | **S#** | Chip Select (Active Low) |
| 2 | **Q** | Serial Data Output |
| 3 | **W#** | Write Protect (Hardware protection) |
| 4 | **Vss** | Ground |
| 5 | **D** | Serial Data Input |
| 6 | **C** | Serial Clock |
| 7 | **HOLD#** | Pause serial communication without deselecting |
| 8 | **Vcc** | Supply Voltage |
---
### Core Functional Features
#### 1. SPI Protocol Support
The device supports high-speed data transfer using the SPI bus. It responds to standard instructions such as:
* **WREN:** Write Enable
* **WRDI:** Write Disable
* **RDSR:** Read Status Register
* **WRSR:** Write Status Register
* **READ:** Read from Memory Array
* **WRITE:** Write to Memory Array
#### 2. Write Protection
The M95160-R includes both software and hardware write protection:
* **Software:** Using the Status Register bits (BP0, BP1) to protect specific blocks of memory.
* **Hardware:** Using the **W#** pin combined with the Status Register Write Disable (SRWD) bit.
#### 3. Data Integrity
* **Byte/Page Write:** You can write a single byte or a full page (up to 32 bytes) in one cycle.
* **Self-timed Write Cycle:** The internal write cycle is triggered automatically and takes approximately **5 ms**.
---
### Application Usage Example
To communicate with the M95160-R using a microcontroller (like an Arduino or STM32), you would typically use a code structure similar to this:
```cpp
// Pseudocode for SPI Write Enable
void writeEnable() {
digitalWrite(CHIP_SELECT, LOW); // Select the chip
SPI.transfer(0x06); // Send WREN opcode (0x06)
digitalWrite(CHIP_SELECT, HIGH); // Deselect to complete instruction
}
```
---
- ⤷
What are the main differences between the R
- ⤷ W
- ⤷ and F suffixes in the M95160 series?
- ⤷ How does the 'Hold' pin function work during a data transfer?
- ⤷ What is the maximum current consumption during a write cycle?