FRAM
FRAM — энергонезависимая память, которая читается и пишется как обычное ОЗУ, без стирания страниц. TI использует её в микроконтроллерах MSP430FR вместо флеш-памяти — и для программы, и для данных.
Обновлено Редакция GAW
FRAM (ferroelectric RAM, сегнетоэлектрическая память) — энергонезависимая память, которая хранит данные без питания, но читается и пишется как обычное ОЗУ. В микроконтроллерах она встречается прежде всего в семействах TI MSP430FR, где заменяет флеш-память.
По руководству TI SLAU445 у модуля FRAM в MSP430FR2xx и FR4xx такие свойства:
| Свойство | Что это даёт |
|---|---|
| Запись байтами и словами | не нужно стирать страницы, как во флеш-памяти |
| Код коррекции ошибок | одиночные ошибки исправляются, многократные обнаруживаются с флагом |
| Такты ожидания | на высокой частоте процессор ждёт память автоматически |
| Кэш | быстрое чтение |
| Отключение питания | FRAM можно выключить, если она не нужна |
Ресурс FRAM у MSP430FR2433 по даташиту — 10^15 циклов записи, тогда как флеш-память MSP430G2553 выдерживает 10^4–10^5 циклов стирания и записи. Поэтому в FRAM удобно постоянно сохранять данные — счётчики, журналы, состояние программы, — что для флеш-памяти и EEPROM ограничено износом.
Особенность ячейки: чтение FRAM разрушающее, и модуль сам перезаписывает прочитанное значение обратно. Программа этого не замечает. Память у MSP430FR общая для программы, констант и данных, поэтому от случайной записи в область кода защищают регистры защиты от записи. Программируют FRAM так же, как флеш-память, — через JTAG, Spy-Bi-Wire или загрузчик, а в работе сам процессор пишет в неё обычными командами. Обзор семейств — в разделе «MSP430», устройство памяти — в статье «Архитектура MSP430», другие виды памяти — в разделе «Память».
Частые вопросы
Чем FRAM лучше флеш-памяти?
Записью. FRAM пишется побайтно, как ОЗУ, без стирания страниц и без специальной процедуры, а ресурс у MSP430FR2433 — 10^15 циклов записи. У флеш-памяти MSP430G2553 ресурс — 10^4–10^5 циклов, и перед записью её нужно стирать сегментами.
Можно ли хранить в FRAM и программу, и данные?
Да, в MSP430FR это одна общая память: TI называет её единой памятью программ, констант и данных. Чтобы программа случайно не испортила свой код, в микроконтроллере есть настраиваемая защита от записи.
Почему чтение FRAM сопровождается записью?
Так устроена ячейка: по руководству TI SLAU445 чтение FRAM всегда сопровождается обратной записью той же информации. Это делает сам модуль памяти, программа этого не видит, и такие перезаписи не считаются обычными записями из программы.
Источники
- Texas Instruments. MSP430FR4xx and MSP430FR2xx Family User's Guide (SLAU445I, revised March 2019) — разд. 6.1–6.3: FRAM читается и пишется как ОЗУ, побайтно и пословно; такты ожидания, код коррекции ошибок с флагами исправимой и неисправимой ошибки, кэш, отключение питания FRAM; чтение сопровождается внутренней перезаписью
- Texas Instruments. MSP430FR2433 Mixed-Signal Microcontroller (SLASE59F, revised December 2019) — разд. 1.1: до 15,5 КБ FRAM, ресурс 10^15 циклов записи, ECC, настраиваемая защита от записи, общая память программ, констант и данных; программирование через JTAG, Spy-Bi-Wire, BSL или самим процессором
- Texas Instruments. MSP430G2x53, MSP430G2x13 Mixed Signal Microcontroller (SLAS735J, revised May 2013) — для сравнения: ресурс флеш-памяти MSP430G2553 — от 10^4 до 10^5 циклов стирания и записи
Нашли ошибку?