FM24CL16B — сегнетоэлектрическая память FRAM с шиной I²C
FM24CL16B — энергонезависимая память FRAM ёмкостью 16 Кбит (2 Кбайта) с шиной I²C, сейчас её выпускает Infineon. Она ставится на место EEPROM 24C16, но пишет на скорости шины, без паузы после записи, и выдерживает 10¹⁴ циклов вместо миллиона. Разбираем по даташиту выводы, адресацию с выбором страницы в адресе устройства, запись и чтение, параметры, питание и чем FRAM отличается от EEPROM 24LC256.
Обновлено Редакция GAW
FM24CL16B (Cypress, теперь Infineon) — сегнетоэлектрическая память FRAM на 16 Кбит, организованная как 2048 × 8 бит, с шиной I²C. Как и EEPROM, она хранит данные без питания, но пишет так же быстро, как читает, и почти не изнашивается. Поэтому её ставят туда, где данные меняются часто: счётчики моточасов и импульсов, журналы событий, состояние устройства, которое должно пережить внезапное отключение.
Коротко
- Объём — 2048 байт: 8 страниц по 256 байт, номер страницы — в адресе устройства.
- Запись — на скорости шины, без паузы и опроса; ресурс 1014 циклов чтения и записи.
- Хранение — не меньше 10 лет при 85 °C, 38 лет при 75 °C, 151 год при 65 °C.
- Шина — I²C до 1 МГц, также тайминги 100 и 400 кГц; адреса 0x50–0x57 заняты целиком.
- Питание — 2,7–3,65 В; ток до 100 мкА при 100 кГц, 3 мкА в покое (тип.).
- Корпуса — SOIC-8 (150 mil) и DFN-8 4,0 × 4,5 мм; −40…+85 °C.
Выводы
| Вывод | Имя | Назначение |
|---|---|---|
| 1–3 | NC | не подключены (у EEPROM здесь A0–A2) |
| 4 | VSS | общий провод |
| 5 | SDA | данные и адрес I²C, открытый сток, нужен подтягивающий резистор |
| 6 | SCL | тактовая линия I²C |
| 7 | WP | защита от записи: 1 — запись запрещена во всю память, 0 — разрешена; внутри подтянут к земле |
| 8 | VDD | питание 2,7–3,65 В |
| площадка (DFN) | — | не соединена с кристаллом, паять не нужно |
Подтяжка WP к земле — нелинейная: 40 кОм и больше, пока на выводе ноль, и не меньше 1 МОм, когда единица (примечание 3 к табл. DC). Наш вывод: свободный WP — это разрешённая запись, а для защиты его надо соединить с VDD. Площадку корпуса DFN, в отличие от большинства безвыводных корпусов, Cypress прямо советует не паять (с. 3). Корпус SOIC-8 описан чертежом Cypress 51-85066 *I, DFN-8 4,0 × 4,5 × 0,8 мм — 001-85260 *B.
Адрес и обмен по шине
Первый байт после START — адрес устройства (рис. 7): биты 7–4 — 1010, биты 3–1 — номер 256-байтной страницы, бит 0 — направление (0 — запись, 1 — чтение). Второй байт при записи — младшие 8 бит адреса внутри страницы, вместе получается 11-битный адрес 000h–7FFh. Наш вывод: в 7-битной записи библиотек микросхема отвечает на все адреса от 0x50 до 0x57, по одному на страницу, поэтому на одной шине может быть только одна FM24CL16B и никаких других устройств на этих адресах. Как устроены адреса на шине, рассказано в статье «Адрес I²C».
- Запись: START, адрес устройства с битом 0, адрес байта, данные — сколько угодно байт подряд, STOP. После 7FFh адрес переходит к 000h. Страничного буфера нет: каждый байт записывается в массив сразу после восьмого бита, ещё до подтверждения.
- Чтение с текущего адреса: START, адрес устройства с битом 1, затем байты, пока ведущий отвечает ACK. Последний байт заканчивают NACK и STOP — иначе память продолжит выдавать данные и столкнётся с командой ведущего.
- Чтение с произвольного адреса: начать запись (адрес устройства и адрес байта), затем повторный START и чтение с текущего адреса.
Наш вывод: код для 24LC256 и других EEPROM на 32 Кбайта с двумя байтами адреса здесь не подходит — нужен драйвер в стиле 24C16, где старшие биты адреса уходят в адрес устройства. Пошаговый разбор транзакций — в инструменте «Транзакция I²C».
Параметры
Условия — VDD 2,7–3,65 В, −40…+85 °C (табл. DC и AC, с. 9–11).
| Параметр | Мин. | Тип. | Макс. | Условия |
|---|---|---|---|---|
| Питание VDD | 2,7 В | 3,3 В | 3,65 В | |
| Ток при работе | — | — | 100 / 170 / 300 мкА | fSCL = 100 кГц / 400 кГц / 1 МГц |
| Ток покоя | — | 3 мкА | 6 мкА | SCL = SDA = VDD, после STOP |
| Единица на входе | 0,7 · VDD | — | VDD + 0,3 В | |
| Ноль на входе | −0,3 В | — | 0,3 · VDD | |
| Ноль на выходе SDA | — | — | 0,4 В | 3 мА |
| Гистерезис входов | 0,05 · VDD | — | — | по проекту |
| Утечка входов (кроме WP) | −1 мкА | — | 1 мкА | |
| Частота SCL | — | — | 1 МГц | |
| Задержка данных после спада SCL | — | — | 0,55 мкс | 1 МГц (0,9 мкс при 400 кГц, 3 мкс при 100 кГц) |
| Хранение данных | 10 лет | — | — | 85 °C |
| Ресурс | 1014 циклов | — | — | во всём диапазоне температур |
| Включение: от VDD мин. до первого START | 1 мс | — | — | tPU |
| Скорость нарастания и спада VDD | 30 мкс/В | — | — | не быстрее |
Предельные режимы (с. 9): VDD от −1,0 до +5,0 В; входы от −1,0 до +5,0 В и не выше VDD + 1,0 В — кроме SCL и SDA, на которые это последнее ограничение не распространяется; ESD 2 кВ по модели тела человека и 500 В по CDM. Тепловое сопротивление кристалл — среда — 147 °C/Вт у SOIC-8.
Наш вывод: SCL и SDA выдерживают до 5,0 В, но это предельный режим, а единица по рабочим условиям — не выше VDD + 0,3 В. На шину с подтяжкой к 5 В память ставят через преобразователь уровней. Подтяжку выбирают по формуле на рис. 3: Rmin = (VDD − VOL max) / IOL; наш расчёт для 3,3 В — (3,3 − 0,4) / 3 мА ≈ 0,97 кОм; дальше помогает калькулятор подтяжки I²C.
Ресурс и хранение
FRAM читает с разрушением и сразу восстанавливает ячейки, поэтому ресурс тратят и чтения, и записи (раздел Endurance, с. 8). Обращение расходует один цикл целой строки: строка — 64 бита, новая начинается на каждой границе 8 байт. Совет даташита — разносить часто используемые данные по разным строкам. Пример оттуда: даже 3000 обращений в секунду к одной строке набирают 1012 циклов только за 10 лет.
Наш расчёт: при 1014 циклах и 3000 обращений в секунду до исчерпания ресурса — около 1057 лет; при записи раз в секунду — около 3 миллионов лет. У EEPROM с ресурсом 1 000 000 циклов запись раз в секунду в одну ячейку исчерпает её за 11,6 суток, поэтому для EEPROM пишут код выравнивания износа, а для FRAM он не нужен.
Хранение зависит от температуры: 10 лет при 85 °C, 38 лет при 75 °C и 151 год при 65 °C. Встроенной защиты от провалов питания нет, кроме простого сброса при включении: Cypress прямо пишет, что держать VDD в допуске — забота системы, а после провала ниже минимума перед следующей операцией нужно послать START (с. 4).
FRAM и EEPROM
| Параметр | FM24CL16B (FRAM) | 24LC256 (EEPROM) |
|---|---|---|
| Объём | 2 Кбайта | 32 Кбайта |
| Адрес байта | 8 бит + 3 бита страницы в адресе устройства | два байта |
| Выводы адреса | нет, занимает 0x50–0x57 | A0–A2, восемь микросхем на шине |
| Запись | на скорости шины, без паузы | страница 64 байта, до 5 мс |
| Ресурс | 1014 циклов, считая чтения | более 1 000 000 циклов записи |
| Хранение | 10 лет при 85 °C | более 200 лет |
| Питание | 2,7–3,65 В | 2,5–5,5 В |
| Шина | до 1 МГц | до 400 кГц (24FC256 — 1 МГц) |
Наш вывод: FRAM выигрывает там, где пишут часто или нужно успеть записать данные при пропадании питания — запись байта на 1 МГц занимает микросекунды, а не миллисекунды. EEPROM дешевле на килобайт, допускает 5 В и дольше хранит данные. Для больших буферов, которым не нужна энергонезависимость, подходит SPI SRAM 23LC1024.
Расхождения в документации
- Тепловое сопротивление DFN. Таблица на с. 10 даёт для DFN-8 θJA = 28 °C/Вт против 147 °C/Вт у SOIC-8, хотя на с. 3 сказано, что открытая площадка DFN не соединена с кристаллом и паять её на плату не нужно. Без пайки площадки такой отвод тепла в плату объяснить нечем; наш вывод — для DFN число 28 °C/Вт относится к другим условиям или ошибочно, и для расчёта надёжнее брать значение SOIC-8.
- Пример ресурса. Раздел Endurance иллюстрирует ресурс 1012 циклами за 10 лет, хотя таблица на с. 10 обещает 1014; пример, по-видимому, остался от прежней версии.
- Имя микросхемы. В разделе Endurance дважды написано FM24C16B (5-вольтовый вариант) вместо FM24CL16B, а рис. 3 подписан «Serial (I2C) nvSRAM».
- Температура кристалла. История ревизий: в *D добавлена максимальная температура кристалла, в *I удалена; в текущих предельных режимах её нет.
- Ток при работе. Свойства на с. 1 называют 100 мкА при 100 кГц «active current», в таблице DC это максимум, а не типовое значение.
Частые вопросы
Можно ли поставить FM24CL16B вместо EEPROM 24C16?
Да, Cypress называет её прямой аппаратной заменой EEPROM с шиной I²C и сравнивает с EEPROM той же разводки выводов: тот же протокол, адрес устройства 1010 и выбор 256-байтной страницы битами адреса устройства. Программа тоже работает без изменений: опрос готовности после записи у FRAM всегда сразу возвращает ACK. Но питание — только 2,7–3,65 В, поэтому на плату с 5 В её не поставить без стабилизатора и согласования уровней.
Какой адрес I²C у FM24CL16B?
Старшие четыре бита — 1010, следующие три — номер 256-байтной страницы, поэтому одна микросхема занимает все восемь адресов 0x50–0x57 в 7-битной записи. Выводов A0–A2 нет (выводы 1–3 не подключены), и вторую FM24CL16B или EEPROM серии 24 на те же адреса на одну шину не поставить — это наш вывод из рис. 7 даташита.
Сколько раз можно перезаписать FRAM?
10¹⁴ циклов, причём циклом считается и чтение: FRAM читает с перезаписью, и каждое обращение расходует ресурс целой строки из 8 байт. Наш расчёт: счётчик, который переписывается раз в секунду, исчерпает 10¹⁴ циклов примерно за 3 миллиона лет, а EEPROM на 1 000 000 циклов — за 11,6 суток.
Нужна ли пауза после записи в FM24CL16B?
Нет. Байт записывается в массив после восьмого бита, ещё до бита подтверждения, и следующую команду можно посылать сразу. У EEPROM 24LC256 после записи страницы нужно ждать до 5 мс или опрашивать ACK. Отменить запись байта можно только условием START или STOP до его восьмого бита.
Источники
- Cypress (Infineon). FM24CL16B 16-Kbit (2K × 8) Serial (I2C) F-RAM (Document Number 001-84456 Rev. *L, December 5, 2018) — с. 1 — свойства (10¹⁴ циклов, 151 год, 1 МГц, 100 мкА, 3 мкА, 2,7–3,65 В, −40…+85 °C, SOIC-8 и DFN-8); с. 3 — выводы и их назначение (площадка DFN не соединена с кристаллом); с. 4 — организация памяти, рис. 3 (формулы подтяжки); с. 5–8 — шина, адрес устройства (1010, три бита страницы), запись, чтение, ресурс; с. 9 — предельные режимы, рабочий диапазон, табл. DC; с. 10 — хранение данных, ресурс, ёмкости, тепловое сопротивление; с. 11 — тайминги для 100 кГц, 400 кГц и 1 МГц; с. 12 — включение и выключение питания; с. 13 — заказные номера, чертежи 51-85066 и 001-85260; с. 14–15 — чертежи; с. 17–18 — история документа
- Microchip. 24AA256/24LC256/24FC256 256K I2C Serial EEPROM (DS20001203W, 2019) — для сравнения (по карточке EEPROM I²C): запись страницы 64 байта до 5 мс, опрос ACK, более 1 000 000 циклов, хранение более 200 лет, два байта адреса
Нашли ошибку?
Смотрите также
- Микросхемы памятиSPI-флеш и EEPROM: устройство, команды, выбор
- EEPROM с шиной I²CВыводы, адрес на шине, запись байта и страницы, опрос ACK, защита, чтение
- 23LC1024 и 23A1024SPI SRAM 128 Кбайт: выводы, команды, режимы байта и потока, SDI и SQI до 20 МГц
- SPI-флеш-памятьВыводы, страницы и секторы, команды, статус BUSY, время записи и стирания
- FRAMЭнергонезависимая память с записью как у ОЗУ: ресурс, ECC, применение
- EEPROMЭнергонезависимая память для настроек и калибровки
- Выравнивание износаКак распределяют стирания по секторам флеш: ESP-IDF, littlefs, NAND
- Адрес I²C7-битный адрес ведомого и байт адреса с битом R/W
- Подтягивающий резисторPull-up и pull-down: определённый уровень на свободной линии
- I²CSDA и SCL, START/STOP, ACK, адреса, скорости, расчёт подтяжек
- Подтягивающие резисторы I²CДиапазон Rp по напряжению, скорости и ёмкости шины
- Транзакция I²C по байтамБайт адреса, ACK и NACK, повторный START, диаграмма и код
- SOIC-8Шаг 1,27 мм, корпус 4,90 × 3,90 мм, посадочное место, θJA 91,8 °C/Вт