Как стирается информация, содержащаяся в модуле памяти eeprom
Обновлено: 21.11.2024
Программируемые логические устройства
Б. HOLDSWORTH BSc (Eng), MSc, FIEE, R.C. WOODS MA, DPhil, Digital Logic Design (четвертое издание), 2002 г.
11.8 Проектирование последовательных схем с использованием ПЗУ
ПЗУ также можно использовать для реализации последовательных схем с синхронизацией, и, например, детектор недопустимого кода NBCD, разработанный в главе 8, с использованием JK-триггеров и логических элементов И-НЕ, будет реализован здесь с использованием ПЗУ.
В этой задаче последовательные данные NBCD поступают в строку X, начиная со старшего разряда. Каждый бит данных синхронизируется с тактовым импульсом. Требуется спроектировать схему с использованием ПЗУ, которое генерирует сигнал неисправности Z = 1 каждый раз, когда принимается неверный код.
Блок-схема и диаграмма внутренних состояний показаны на рисунках 11.11(a) и (b). Таблица состояний (рис. 11.11(c)) показана в подходящей форме для программирования ПЗУ. Например, в первой строке таблицы текущий вход в ПЗУ равен A = 0, B = 0, C = 0. , и X = 0, а выходное слово ПЗУ равно A = 1, B = 0, C = 0 и Z = 0. Используя эту таблицу состояний, можно разработать схему ПЗУ, как показано на рис. 11.11(d). Для этой реализации (использующей двумерную адресацию) требуется ПЗУ размером 8 × 8 = 64 бита.
Рисунок 11.11. Детектор недопустимого кода (a) Общая схема системы (b) Диаграмма внутренних состояний (c) Таблица состояний (d) Матрица соединений (e) Принципиальная схема реализации ПЗУ
Кроме ПЗУ, требуется дополнительная логика для формирования выходного сигнала, а также требуются три D-триггера, по одному в каждой адресной строке, для буферизации выходов ПЗУ от входов и для синхронизации работы схемы. к часам. Эти дополнительные компоненты с их подключением к ПЗУ показаны на принципиальной схеме на рис. 11.11(e). Выходы ПЗУ по линиям A, B и C передаются обратно на вход ПЗУ по заднему фронту тактового импульса.
Цифровой компьютер
8.3.4 ПЗУ
Память только для чтения является постоянной и неизгладимо врезается в микросхему ПЗУ во время производства. ПЗУ содержит информацию (обычно программы), которую компьютер может многократно считывать, но не может изменить. Например, при первом включении компьютера отсутствуют инструкции по эксплуатации, поскольку основная память компьютера (ОЗУ) «пуста». 7 Для запуска компьютера сначала выполняется программа начальной загрузки, находящаяся в ПЗУ. Программа начальной загрузки, постоянно хранящаяся в микросхемах ПЗУ, представляет собой программу инициализации (находится в специальном месте адресного пространства), фактически являющуюся небольшой частью операционной системы. 8 Инструкции на ПЗУ заставляют компьютер искать оставшуюся и основную часть операционной системы, которая может быть на гибком диске или компакт-диске, но обычно хранится на жестком диске, и устанавливать операционную систему в оперативная память компьютера, или ОЗУ. Только теперь желаемое прикладное программное обеспечение может быть загружено с дискет, компакт-диска или жесткого диска в оперативную память, после чего компьютер готов к полезной работе.
Помимо содержания программы начальной загрузки, ПЗУ могут придать компьютеру определенного типа некоторую индивидуальность. Некоторые производители лучше подходят для обработки чисел, в то время как, например, компьютеры Macintosh особенно подходят для графического пользовательского интерфейса, поскольку ПЗУ Macintosh содержит элементы программного обеспечения, реализующего этот интерфейс, хотя, вообще говоря, именно операционная система предоставляет компьютер его характер.
Введение в проектирование цифровой логики
5.6.3 Постоянное запоминающее устройство
ПЗУ используется для хранения программного кода, который необходимо сохранить при отключении питания памяти, поэтому он считается энергонезависимой памятью. Код может принимать одну из трех форм:
Исправлено при изготовлении памяти — ПЗУ с программируемой маской
Однократно программируется электрически — ППЗУ, программируемое ПЗУ
Многократное электрическое программирование — EPROM (электрически программируемое ПЗУ) стирается с помощью ультрафиолетового (УФ) света; EEPROM или E 2 PROM (электрически стираемое ППЗУ); и вспышка (также электрически стертая).
ППЗУ иногда относят к той же категории схем, что и программируемая логика, хотя в этом тексте ППЗУ обсуждается только в категории памяти.
ОЗУ используется для хранения данных и программного кода, которые должны быть быстро доступны и изменены в ходе нормальной работы. ОЗУ отличается от постоянной памяти (ПЗУ) тем, что ее можно как читать, так и записывать в обычном приложении схемы. Однако флэш-память также называется энергонезависимой оперативной памятью (NVRAM).
Базовая конструкция ПЗУ, в которой ПЗУ поставляется в двухрядном корпусе, показана на рис. 5.83. Здесь ПЗУ состоит из следующих соединений:
Рисунок 5.83. Базовое ПЗУ в DIL-пакете
Адресные строки определяют область памяти, которая будет выбрана для чтения или записи.
Строки выходных данных обращаются к данным из памяти.
Включение вывода (OE) — это управляющий вход, который включает выходной буфер для чтения данных из памяти (обычно активный низкий уровень).
Выбор чипа (CS) выбирает память (обычно с активным низким уровнем).
Источник питания обеспечивает необходимое питание для работы схемы.
В этом представлении шина данных считается однонаправленной (т. е. только выходной). Там, где ПЗУ может быть электрически запрограммировано, расположение линий данных и управления будет более сложным.
Введение в проектирование цифровой логики с помощью VHDL
6.16.3 Постоянное запоминающее устройство
ROM можно смоделировать в VHDL несколькими способами. Проще говоря, ПЗУ можно смоделировать как комбинационную логическую схему с адресом, обеспечивающим вход, который создает выходные данные. Это достигается с помощью операторов, таких как If-then-else и Case-when. Другой способ рассмотрения ПЗУ — создание справочной таблицы. Обе эти модели в своей базовой форме, показанной на рис. 6.90, не учитывают управляющие сигналы (сигналы включения и чтения ПЗУ), которые обычно существуют с сигналами адреса и данных.
Рисунок 6.90. Простая модель постоянной памяти
Простой проект ПЗУ можно создать, создав массив и заполнив его значениями данных. В примере, показанном на рис. 6.91, в архитектуре определен тип массива (Rom_Array) с размером (количеством элементов), равным количеству адресов в памяти. Он имеет шестнадцать адресов и восемь битов данных на адрес.
Рисунок 6.91. 16 адресов X 8 бит данных ПЗУ
Массив заполняется значениями в константном объекте данных. Выходным данным присваивается значение, хранящееся в выбранном элементе Rom_Array. Вход Address выбирает элемент массива для доступа. Адрес здесь представляет собой целочисленный тип данных со значениями от 010 до +1510. Пример испытательного стенда VHDL для этой схемы показан на рис. 6.92.
Рисунок 6.92. Испытательный стенд ПЗУ 16 × 8
Эту конструкцию можно изменить либо путем добавления управляющих сигналов и выхода с тремя состояниями (выход имеет высокий импеданс, когда ПЗУ не выбрано), либо путем рассмотрения возможности использования входных данных std_logic_vector для адреса, а не целочисленных входных данных.
ВСТРОЕННЫЕ СИСТЕМЫ ARM
ЭНДРЮ Н. СЛОСС , . КРИС РАЙТ, в Руководстве разработчика систем ARM, 2004 г.
1.3.3.3 Типы
Существует множество различных типов памяти. В этом разделе мы опишем некоторые из наиболее популярных устройств памяти, используемых во встраиваемых системах на базе ARM.
Постоянная память (ПЗУ) является наименее гибкой из всех типов памяти, поскольку она содержит образ, который постоянно устанавливается во время производства и не может быть перепрограммирован. ПЗУ используются в устройствах большого объема, которые не требуют обновлений или исправлений. Многие устройства также используют ПЗУ для хранения загрузочного кода.
В флэш-память можно записывать и читать, но запись происходит медленно, поэтому не следует использовать ее для хранения динамических данных. В основном он используется для хранения прошивки устройства или хранения долгосрочных данных, которые необходимо сохранить после отключения питания. Стирание и запись флэш-ПЗУ полностью управляются программным обеспечением и не требуют дополнительных аппаратных схем, что снижает производственные затраты. Флэш-ПЗУ стали наиболее популярными типами памяти только для чтения и в настоящее время используются в качестве альтернативы для массовой или вторичной памяти.
Динамическая оперативная память (DRAM) – наиболее часто используемая оперативная память для устройств. Имеет самую низкую стоимость мегабайта по сравнению с другими типами оперативной памяти. DRAM является динамической: ее ячейки памяти должны обновляться и получать новый электронный заряд каждые несколько миллисекунд, поэтому перед использованием памяти необходимо настроить контроллер DRAM.
Статическая оперативная память (SRAM) работает быстрее, чем более традиционная DRAM, но требует большей площади кремния. SRAM является статической — ОЗУ не требует обновления. Время доступа для SRAM значительно меньше, чем у эквивалентной DRAM, потому что SRAM не требует паузы между доступом к данным. Из-за более высокой стоимости он используется в основном для небольших высокоскоростных задач, таких как быстрая память и кэш-память.
Синхронная динамическая оперативная память (SDRAM) — это одна из многих подкатегорий DRAM. Она может работать на гораздо более высоких тактовых частотах, чем обычная память. SDRAM синхронизируется с шиной процессора, потому что она тактируется. Внутри данные извлекаются из ячеек памяти, передаются по конвейеру и, наконец, выводятся на шину пакетом. DRAM старого образца является асинхронной, поэтому ее разрыв не такой эффективный, как у SDRAM.
Физические атаки и контрмеры
Сваруп Бхуния, Марк Техранипур, Hardware Security, 2019 г.
10.2.6.2 ПЗУ RE
Чтобы реконструировать содержимое ПЗУ, можно воспользоваться преимуществами современной оптической и электронной микроскопии, чтобы наблюдать за бинарными состояниями каждой клетки, как показано ниже:
ПЗУ для программирования активного слоя. Металлический и полислойный слои необходимо удалить с помощью методов задержки, описанных в Разделе 10.4, поскольку они будут скрывать находящийся под ними активный слой.
ПЗУ для программирования контактного слоя. Гораздо проще реконструировать этот тип ПЗУ, поскольку часто нет необходимости откладывать металлический слой и слой полимера. В относительно старой технологии ROM контактный слой хорошо виден, но в более современных технологиях по-прежнему требуется некоторая задержка, чтобы обнажить контактный слой перед наблюдением.
ПЗУ для программирования с металлическим слоем: ПЗУ этого типа можно непосредственно наблюдать под микроскопом без необходимости выполнять какой-либо процесс задержки.
ПЗУ для программирования имплантатов. Этот тип ПЗУ изначально устойчив к оптической микроскопии, поскольку различные логические состояния кажутся идентичными. Чтобы наблюдать влияние различных уровней легирования, следует использовать дополнительные методы селективного кристаллографического травления [62] для разделения двух логических состояний.
Как правило, ROM обеспечивает лишь ограниченную защиту от RE. Среди всех типов ПЗУ, ПЗУ для программирования с металлическим слоем обеспечивает наихудшую безопасность, поскольку металлический слой легко получить с небольшими усилиями, тогда как ПЗУ для программирования имплантата обеспечивает самый высокий доступный уровень защиты.
Анализ встроенных систем
Воспоминания
С точки зрения криминалистической экспертизы память — наиболее интересный компонент встроенной системы, поскольку в ней содержится больше всего данных, связанных с пользователем. Память относится ко всем полупроводниковым компонентам встроенных систем, которые сохраняют цифровые данные. Помимо памяти, встроенные системы также могут содержать другие носители данных, такие как жесткие диски или оптические диски, но эти компоненты в основном можно рассматривать как компоненты открытой системы. Для судебной экспертизы полупроводниковой памяти важно знать основные характеристики разных типов памяти.
Постоянное запоминающее устройство (ПЗУ)
ПЗУ — это энергонезависимая 1 память, в которой данные хранятся в процессе производства и после этого могут только считываться. ПЗУ используется для хранения программного обеспечения и других статических данных. Встроенные операционные системы часто хранились в ПЗУ, но с появлением флэш-памяти ситуация изменилась.
Программируемое ПЗУ (PROM)
PROM – это энергонезависимая память, в которую данные записываются не в процессе производства, а на более позднем этапе программирования, после чего их можно только считывать. Вариации базовой конструкции привели к различным концепциям программирования со следующими отличительными именами.
Стираемое ППЗУ (СППЗУ)
СППЗУ — это ППЗУ, которое можно полностью стереть с помощью ультрафиолетового излучения, а затем перепрограммировать (порядка сотни раз).
Электрически стираемое ППЗУ (ЭСППЗУ)
EEPROM — это PROM, в котором каждый отдельный байт может быть электрически стерт (до миллиона раз для современных типов). Во встроенных системах EEPROM в основном используется для энергонезависимого хранения динамических данных (предпочтения конфигурации, транзакции и т. д.).
Вспышка
Flash — это EEPROM, в которой данные можно стирать только блоками (до миллиона раз для современных типов). Стирание приводит к тому, что блок памяти полностью заполняется единицами. Флэш-память бывает двух видов: флэш-память NOR и флэш-память NAND, названные в честь основных логических структур этих микросхем. В отличие от флэш-памяти NAND, флэш-память NOR может считываться побайтно за постоянное время. Это свойство позволяет более эффективно выполнять код и является причиной того, что флэш-память NOR часто используется, когда основной целью флэш-памяти является хранение прошивки. 2 Части NOR flash, не занятые прошивкой, затем используются для хранения пользовательских данных. Во флэш-памяти NAND блоки делятся на страницы, например, 32 или 64 на блок. Размер страницы обычно кратен 512 байтам, чтобы имитировать размер сектора 512 байт, который обычно встречается в файловых системах на магнитных носителях. Кроме того, на странице есть несколько байтов так называемой резервной области, которые обычно используются для хранения метаданных, таких как коды исправления ошибок (ECC). Современная флэш-память NAND использует несколько уровней электрического заряда для хранения более одного бита в каждой ячейке. Этот механизм и ограниченное количество циклов стирания вызывают битовые ошибки при нормальной работе устройства. Современная флэш-память NAND использует коды исправления ошибок, хранящиеся в байтах резервной области, для обнаружения и исправления этих ошибок. Если ошибки не могут быть устранены, блок помечается как плохой и вместо него используется другой блок.
Из-за высокой плотности хранения и быстрого доступа флэш-память становится заменой как ПЗУ, так и ЭСППЗУ. Флэш-память NAND — наиболее часто используемая технология для хранения мультимедийных данных (музыки, фотографий и т. д.) во встроенных системах.
Такая флэш-память часто представляется на системном уровне как диск ATA с файловой системой FAT. Блочная структура имеет два важных следствия для криминалистических расследований. Во-первых, эти системы в основном построены таким образом, что удаленные файлы только помечаются в FAT как удаленные, но все еще могут быть восстановлены. После операции форматирования диска блоки могут быть физически стерты, что делает восстановление практически невозможным. Во-вторых, могут присутствовать разные физические версии одного логического файла. Это происходит, когда размер файлов намного меньше размера блока флэш-памяти, что делает более эффективным стирание блока только в том случае, если в нем больше нет свободного места. Пока есть свободное место, отметки (доступно/недоступно) показывают, какие физические области памяти доступны. Когда в блоке больше нет свободного места, в свободный блок копируются только активные области, а старый блок физически стирается.
Оперативная память (ОЗУ)
ОЗУ — это энергозависимая память, в которую можно записывать и читать. Оперативную память можно разделить на динамическую (DRAM необходимо периодически обновлять) и статическую (SRAM обновлять не требуется). Во встроенных системах оперативная память используется как рабочая память и в сочетании с батареей для энергонезависимого хранения динамических данных.
Ferro Electric RAM (FeRAM)
FeRAM — это новая энергонезависимая память с характеристиками чтения и записи DRAM. Для встраиваемых систем FeRAM может в будущем заменить все другие типы памяти в качестве универсальной памяти.
В таблице 8.1 приведены наиболее важные характеристики обсуждаемых типов памяти.
Раздел 404 Закона Сарбейнса-Оксли (SOX) требует, чтобы все публичные компании установили внутренний контроль и процедуры.
Закон о защите конфиденциальности детей в Интернете от 1998 года (COPPA) – это федеральный закон, который налагает особые требования на операторов доменов .
План North American Electric Reliability Corporation по защите критически важной инфраструктуры (NERC CIP) представляет собой набор стандартов.
Стандарт безопасности данных платежных приложений (PA-DSS) – это набор требований, призванных помочь поставщикам программного обеспечения в разработке безопасных .
Взаимная аутентификация, также называемая двусторонней аутентификацией, представляет собой процесс или технологию, в которой оба объекта обмениваются данными .
Экранированная подсеть или брандмауэр с тройным подключением относится к сетевой архитектуре, в которой один брандмауэр используется с тремя сетями .
Медицинская транскрипция (МТ) – это ручная обработка голосовых сообщений, продиктованных врачами и другими медицинскими работниками.
Электронное отделение интенсивной терапии (eICU) — это форма или модель телемедицины, в которой используются самые современные технологии.
Защищенная медицинская информация (PHI), также называемая личной медицинской информацией, представляет собой демографическую информацию, медицинскую .
Снижение рисков – это стратегия подготовки к угрозам, с которыми сталкивается бизнес, и уменьшения их последствий.
Отказоустойчивая технология — это способность компьютерной системы, электронной системы или сети обеспечивать бесперебойное обслуживание.
Синхронная репликация — это процесс копирования данных по сети хранения, локальной или глобальной сети, поэтому .
Коэффициент усиления записи (WAF) – это числовое значение, представляющее объем данных, передаваемых контроллером твердотельного накопителя (SSD) .
API облачного хранилища — это интерфейс прикладного программирования, который соединяет локальное приложение с облачным хранилищем.
Интерфейс управления облачными данными (CDMI) – это международный стандарт, определяющий функциональный интерфейс, используемый приложениями.
Мы получаем частые запросы по микросхемам памяти и неоднократно вынуждены констатировать, что потребность в информации в этой области по-прежнему очень высока. По этой причине мы публикуем здесь базовую информацию о программировании микросхем памяти, таких как eprom/eeprom и флэш-чипы. В частности, мы обсудим различные типы микросхем памяти и сравним, что могут и чего не могут, например, серии 27C, 28C или 29F.
Что такое микросхема памяти?
Микросхема памяти – это электронный компонент, который может хранить программу, данные или и то, и другое. В этом контексте программа представляет собой серию команд (командную строку) для микропроцессора (= вычислительного блока). Данные могут состоять, например, из значений температуры, полученных системой измерения температуры, или любых других данных.
Программа/данные хранятся в микросхеме памяти в виде последовательности чисел - нулей и единиц (=битов). Бит может быть либо нулем (0), либо единицей (1). Человеку трудно получить представление об этих Битах; поэтому они собраны в группы. Шестнадцать бит — это слово, восемь бит — это байт, а четыре бита — это полубайт.
Наиболее часто используемым термином является байт, который содержит 8 бит и может принимать 2 в 8-й степени = 256 различных значений. Для их представления используется шестнадцатеричная система счисления.Это основано на числе 16 и использует цифры от 0 до 9 и, кроме того, от A до F. Таким образом, две цифры также могут принимать 256 значений (от 00h до FFh, где маленькая буква «h» идентифицирует только шестнадцатеричное число). Мы хотели бы направить тех, кому нужна более точная информация о системах счисления, в другие подходящие места.
Термины "кило" и "мега" в отношении байтов также были адаптированы к двоичной природе (ноль или единица) цифровых систем. Здесь «кило» означает 1024 (= 2 в 10-й степени), а «мега» означает 1024 * 1024 = 1048576. Следовательно, килобайт равен 1024 байтам, а мегабайт — 1048576 байтам.
Организация микросхемы памяти
Помимо 8-битных микросхем памяти, существуют также 16-битные микросхемы памяти, последовательные 1-битные микросхемы памяти и (редко/старые) 4-битные микросхемы.
Чипы памяти EPROM (27/27C.)
EPROM означает Erasable Programmable Read Only Memory. Что это означает в деталях?
"Стираемый" означает, что данные на нем можно удалить. С этими чипами стирание осуществляется за счет воздействия интенсивного ультрафиолетового света в области длины волны 254 нм. Подробнее о стирании памяти EROM с помощью УФ-излучения C мы поговорим ниже.
«Программируемый» означает, что программа или данные могут быть запрограммированы (записаны) в этот чип. Для программирования требуется программирующее устройство, такое как Batronix Eprommer или Galep-4.
"Память только для чтения" означает, что этот тип памяти может быть считан, но не запрограммирован на целевом устройстве.
Этот тип памяти может быть записан (запрограммирован) с помощью программирующего устройства, а затем сохраняет свои данные до тех пор, пока стирающее устройство не сотрет их. В процессе программирования можно запрограммировать любое желаемое количество битов от одного до нуля. Eprom также можно запрограммировать повторно без стирания, пока биты изменяются только с единицы на ноль или остаются нулевыми. Чтобы изменить бит с нуля на единицу, необходимо стирание.
Поскольку окно из кварцевого стекла, необходимое для стирания чипа УФ-светом, составляет большую часть производственных затрат на чип, этот чип доступен с этим окном и без него. Без окна чип нельзя стереть с помощью УФ-излучения. ЭППЗУ с окнами также называют УФ-СППЗУ; те, у которых нет, называются EROM OTP (= One Time Programmable).
После программирования стираемого ПЗУ с УФ-светом, стеклянное окно должно быть закрыто наклейкой, чтобы внутрь не проникал солнечный свет. Солнечный свет также содержит компоненты УФ-излучения и может со временем стереть данные из памяти EROM.
В названии EPROM буква "C" после цифры 27 указывает на то, что это CMOS EPROM (CMOS = Complimentary Metal Oxide Semiconductor). Они требуют гораздо более низкой производительности, чем старые NMOS EPROMS, и могут работать с более низким напряжением программирования (12,5 вольт) (N-канальный металлооксид-полупроводник). Поскольку оба чипа в остальном совместимы, старые NMOS EPROMS можно заменить на CMOS EPROMS того же размера (например, 2764 можно заменить на 27C64).
Чипы памяти EEPROM (28C. )
Название EEPROM расшифровывается как электрически стираемое программируемое постоянное запоминающее устройство. Они построены так же, как EPROMS, но позволяют стирать отдельные байты или все пространство памяти электрически без ультрафиолетового излучения. Поскольку отдельные байты могут быть стерты без стирания всего, эти отдельные байты, по сути, могут быть перезаписаны. Однако с EEPROM процесс записи явно занимает больше времени, чем с EPROM — до нескольких миллисекунд на байт. Чтобы восполнить этот недостаток, EEPROMS, такие как AT28C256, были оснащены функцией программирования так называемых блоков. В этом процессе сразу 64, 128 или 256 байт загружаются в микросхему памяти и одновременно программируются как блок. Это явно сокращает время программирования.
Дополнительные внутренние затраты на электрическое стирание, а также функцию записи блоков, если это необходимо, делают EEPROMS более дорогими, чем EPROMS.
FLASH EPROMS (28F. 29C. 29F. )
Эти чипы можно стирать электрически - целиком или по блокам - а некоторые - как у AT28C. с помощью EEPROMS) также может быть запрограммировано блоком. Однако флэш-СППЗУ не всегда можно использовать в качестве замены обычного СППЗУ. Причины включают, например, то, что флэш-памяти, даже с небольшим объемом памяти, доступны только в корпусах с 32 или более контактами. Таким образом, 28F256 с 32 контактами несовместим по контактам с 27C256 с 28 контактами и таким же объемом памяти.
Последовательные EEPROMS (24C, 25C, 93C)
ОЗУ (52. 62. )
Название RAM расшифровывается как «Оперативная память» (= память с возможностью выбора доступа). Эти запоминающие устройства могут быть записаны очень быстро (в этом случае это обычно называется записью, а не записью), и каждый байт может быть перезаписан так же быстро и легко, т.е. его не нужно предварительно стирать. Недостатком этой технологии является то, что микросхемы теряют место в памяти при отключении питания.
NVRAM (48Z. DS12. XS22.)
Название NVRAM расшифровывается как энергонезависимая оперативная память. Эти микросхемы обладают основными преимуществами микросхем оперативной памяти (очень высокая скорость и простота перезаписи существующих данных) и сохраняют свои данные при отключении питания.
Это может быть достигнуто двумя способами: Первая группа устраняет недостаток оригинальной RAMS со встроенной батареей, которая защищает пространство памяти от потери данных при отключении питания. По словам производителя, в зависимости от типа батареи хватает на десять лет.
Вторая группа имеет такой же большой EEPROM и при отключении питания сохраняет все данные из ОЗУ в EEPROM. Когда питание восстанавливается, данные EEPROM копируются обратно в RAM. Сохраняются преимущества быстрого доступа к ОЗУ и легкой перезаписи.
Микроконтроллер
Микроконтроллер — это законченная система, состоящая из ЦП (вычислительного блока/микропроцессора), программной памяти (FLASH или EPROM), рабочей памяти (ОЗУ) и ввода/вывода на микросхеме. Эти чипы устанавливаются во многие устройства в виде «мини-ПК» и управляют, например, принтерами, обогревателями, микроволновыми печами, будильниками и т. д.
Стирание EPROM ультрафиолетовым излучением
В этих чипах стирание происходит под воздействием интенсивного ультрафиолетового света в области длины волны 254 нм. Так как УФ-излучение очень опасно для глаз, а также канцерогенно, эти чипы стираются в специальных устройствах стирания ПЗУ. Они позволяют включать свет только после закрытия корпуса. При открытии корпуса свет сразу выключается. Стирание занимает от 5 до 25 минут в зависимости от интенсивности освещения и других условий.
Нас часто спрашивают, можно ли стирать ПЗУ с помощью устройства для загара лица или подобного устройства. Это, однако, невозможно, так как длина волны УФ-С света в этих устройствах отфильтровывается. С другой стороны, стирание с использованием дневного света возможно, поскольку солнечный свет содержит необходимую длину волны. Это, однако, не имеет практического значения, так как потребуется несколько недель яркого солнечного света.
Названия микросхем памяти и способы их замены
Название микросхемы памяти содержит аббревиатуру производителя, технологию, объем памяти, максимальную разрешенную скорость доступа, диапазон температур, форму корпуса, а также другие внутренние данные производителя. Разные производители часто используют очень разные названия, однако чипы с одинаковыми данными разных производителей обычно совместимы.
Требуется практика, чтобы правильно интерпретировать название микросхемы памяти. Но, как правило, изучение не занимает много времени, и после изучения обычно легко определить тип замены. Заменяющий тип должен использовать ту же технологию (EPROM/EEPROM/FLASH/и т. д.), иметь такой же объем памяти, такое же или меньшее время доступа и, если применимо, такой же или лучший температурный диапазон.
В случае существующей микросхемы памяти сначала нужно найти описание технологии на корпусе, например 27C, 28C, 29F и т. д. Перед ним обычно указывается аббревиатура производителя (например, AT для Atmel). После него идет размер памяти в битах, который может быть задан по-разному в зависимости от производителя:
Выбраны возможные размеры памяти:
- 16 = 16 Кбит
- 32 = 32 КБит
- 64 = 64 КБ.
- 128 = 128 Кбит
- 256 = 256 Кбит
- 512 = 512 Кбит
- 1001 или 010 = 1 Мбит
- 2001 или 020 = 2 МБит
- 4001 или 040 = 4 МБит
- 8001, 080 или 801 = 8 Мбит
- 016 = 16 МБит
Следует отметить, что размер памяти указывается в битах, а не в байтах. После размера памяти может быть название версии, например «B», а затем дефис. После дефиса указана максимальная разрешенная скорость доступа в наносекундах (1/1000000000 секунды). Это максимальное время задержки между вводом адреса и выводом данных на порты микросхем памяти. К этой записи тоже нужно привыкнуть, так как она представлена двумя цифрами:
Выбранные возможные скорости доступа:
- 45 = 45 нс
- 60 = 60 нс
- 70 = 70 нс
- 90 = 90 нс
- 10 = 100 нс
- 12 = 120 нс
- 15 = 150 нс
- 20 = 200 нс
- 25 = 250 нс
После максимальной скорости доступа идет аббревиатура типа корпуса и допустимого диапазона температур. Поскольку они могут различаться, в случае сомнений следует проверить техпаспорт. Спецификации можно легко найти с помощью поисковых систем, таких как www.google.com, используя термин для чипа + слово "технические данные" в качестве условия поиска (например, 27c256 + техническое описание).
Зная это, метка M27C1001-10F1 теперь говорит нам, что это EROM (= 27C) с 1 Мбит памяти (= 1001) со временем доступа 100 нс (= 10) в корпусе DIP (= F ) с допустимым диапазоном температур от 0 до 70 градусов Цельсия (=1).
В следующей строке маркировки на микросхеме памяти указывается дата изготовления (код даты). Это год (две цифры) и календарная неделя. Таким образом, чип с кодом даты 0109 относится к 9-й календарной неделе 2001 года.
Драйвер для Atmel® | Микроконтроллеры на базе SMART ARM® предоставляют эмулированное пространство памяти EEPROM во флэш-памяти устройства для хранения и извлечения данных конфигурации пользовательского приложения в энергонезависимую память и из нее.
Данный модуль использует следующие периферийные устройства:
Следующие устройства могут использовать этот модуль:
- Атмел | СМАРТ СЭМ Д20/Д21
- Атмел | СМАРТ СЭМ R21
- Атмел | СМАРТ СЭМ Д10/Д11
- Атмел | УМНЫЙ ЗРК L21/L22
- Атмел | СМАРТ СЭМ C20/C21
- Атмел | ИНТЕЛЛЕКТУАЛЬНЫЙ САМ DA1
- Атмел | УМНЫЙ СЭМ HA1
Схема этой документации выглядит следующим образом:
Фьюзы устройства SAM должны быть настроены с помощью внешнего программатора или отладчика, чтобы раздел EEPROM был выделен в основном содержимом флэш-памяти NVM. Если для эмулятора EEPROM не выделен раздел NVM или если для эмулятора зарезервировано недостаточно места, модуль не сможет инициализироваться.
Поскольку устройства SAM не содержат физической памяти EEPROM, вместо этого хранение энергонезависимых пользовательских данных эмулируется с использованием специального раздела основной флэш-памяти устройства. Использование технологии флэш-памяти поверх EEPROM представляет несколько трудностей по сравнению с настоящей памятью EEPROM; данные должны быть записаны как несколько страниц физической памяти (по несколько байтов каждая), а не адресоваться по отдельности, а целые строки FLASH должны быть стерты, прежде чем новые данные могут быть сохранены. Чтобы абстрагировать эти характеристики от пользовательского приложения, реализована схема эмуляции, представляющая более удобный API для хранения и извлечения данных.
Этот модуль обеспечивает уровень эмуляции EEPROM поверх внутреннего контроллера NVM устройства, чтобы обеспечить стандартный интерфейс для чтения и записи энергонезависимых данных конфигурации. Эти данные помещаются в эмулируемый раздел EEPROM основного раздела памяти FLASH устройства, размер которого настраивается с помощью фьюзов устройства. Эмуляция EEPROM освобождена от обычных битов блокировки области NVM устройства, поэтому ее можно считывать или записывать в любой момент пользовательского приложения.
Существует множество различных алгоритмов, которые можно использовать для эмуляции EEPROM с использованием флэш-памяти, чтобы настроить задержки записи и чтения, использование ОЗУ, выравнивание износа и другие характеристики. В результате может быть реализовано несколько различных схем эмулятора, чтобы можно было использовать наиболее подходящую схему для требований конкретного приложения.
Детали реализации
Следующая информация относится к схеме 1 эмулятора EEPROM версии 1.0.0, реализованной в этом модуле. Другие версии или схемы эмуляции могут отличаться в деталях реализации и могут иметь другие характеристики выравнивания износа, задержки и другие характеристики.
Характеристики эмулятора
Этот эмулятор разработан для максимальной надежности, с хорошим балансом доступного хранилища и ограничений на количество циклов записи. Он предназначен для того, чтобы данные страницы автоматически обновлялись, чтобы в случае неудачного обновления предыдущие данные не были потеряны (при правильном использовании). За исключением сброса системы с кэшированием данных во внутренний буфер кэша записи, в случае неудачной записи будет потеряна только последняя запись в физическую энергонезависимую память.
Эта схема эмулятора настроена так, чтобы обеспечить наилучшую продолжительность цикла записи, когда запись ограничивается одной и той же логической страницей EEPROM (где это возможно) и когда запись на несколько логических страниц EEPROM выполняется линейным образом через все эмулируемое пространство EEPROM.
Физическая память
Энергонезависимая флэш-память SAM разделена на несколько физических строк, каждая из которых содержит четыре флэш-страницы одинакового размера. Страницы можно читать или записывать по отдельности, однако страницы должны быть стерты перед перепрограммированием, а наименьшая степень детализации, доступная для стирания, — это одна строка.
Это несоответствие приводит к необходимости схемы эмулятора, способной управлять версиями и перемещать данные страницы в разные физические строки по мере необходимости, удаляя старые строки, готовые к повторному использованию будущими операциями записи страницы.
Физически эмулируемый сегмент EEPROM расположен в конце физической области FLASH-памяти, как показано на рисунке ниже.
Основной ряд
Одна физическая строка FLASH в конце эмулируемого пространства памяти EEPROM зарезервирована для использования эмулятором для хранения данных конфигурации. Основная строка недоступна для пользователя и зарезервирована исключительно для внутреннего использования эмулятором.
Запасной ряд
Поскольку данные необходимо сохранять между стираниями строк, одна строка FLASH остается неиспользованной и служит местом назначения для скопированных данных, когда делается запрос на запись в уже заполненную строку. Когда делается запрос на запись, любые логические страницы данных в полной строке, которые необходимо сохранить, записываются в резервную строку вместе с новыми (обновленными) данными логической страницы до того, как старая строка будет стерта и помечена как новая резервная. .
Содержимое строки
Каждая физическая строка FLASH изначально хранит содержимое двух логических страниц памяти EEPROM. Это вдвое уменьшает доступное пространство для хранения эмулируемого EEPROM, но уменьшает общее количество требуемых стираний строк за счет резервирования двух страниц в каждой строке для обновленных версий содержимого логической страницы. См. здесь визуальную схему физической памяти эмулятора EEPROM.
По мере обновления логических страниц в физической строке новые данные заполняют оставшиеся неиспользуемые страницы в строке. Как только вся строка будет заполнена, новый запрос на запись скопирует логическую страницу, не записываемую в текущей строке, в резервную строку с новыми (обновленными) данными логической страницы, прежде чем старая строка будет стерта.
Эта система позволяет до трех раз обновлять одну и ту же логическую страницу в физической памяти, прежде чем потребуется процедура стирания строки. В случае хранения нескольких версий одной и той же логической страницы EEPROM в одной и той же физической строке самая правая (наивысший адрес физической страницы FLASH-памяти) версия считается самой последней.
Запись кэша
Поскольку типичным вариантом использования EEPROM является последовательная запись в несколько разделов одной и той же страницы EEPROM, эмулятор оптимизирован с использованием одного логического кэша записи страницы EEPROM для буферизации операций записи до того, как они будут записаны в физическое резервное хранилище памяти. Кэш фиксируется автоматически, когда запрашивается новый запрос на запись в другую логическую страницу памяти EEPROM или когда пользователь вручную фиксирует кэш записи.
Без кэша записи каждый запрос на запись в страницу памяти EEPROM потребовал бы записи всей страницы, что снижает производительность системы и значительно сокращает срок службы энергонезависимой памяти.
Макет памяти
Одна логическая страница EEPROM физически хранится как содержимое страницы и заголовок внутри одной физической FLASH-страницы, как показано на следующем рисунке.
В разделе резервирования памяти EEPROM в верхней части области памяти NVM этот эмулятор создаст структуру, показанную на рисунке ниже, при первой инициализации.
Когда страницу EEPROM необходимо зафиксировать в физической памяти, будет выбрана следующая свободная страница FLASH в той же строке. Это упрощает восстановление, поскольку самая правая версия логической страницы в строке считается наиболее ток. С четырьмя страницами в физической строке NVM это позволяет сделать до трех обновлений одной и той же логической страницы, прежде чем потребуется стирание. На рисунке ниже показан результат записи пользователем обновленной версии логической страницы EEPROM N-1 в физическую память.
Вторая запись той же логической страницы EEPROM приводит к макету, показанному на рисунке ниже.
Третья запись той же логической страницы требует, чтобы эмулятор EEPROM стер строку, поскольку она стала заполненной. До этого содержимое неизмененной страницы в той же строке, что и обновляемая страница, будет скопировано в запасную строку вместе с новой версией обновляемой страницы. Затем старая (полная) строка стирается, в результате чего получается макет, показанный на рисунке ниже.
Конфигурация контроллера NVM
Служба эмулятора EEPROM инициализирует контроллер NVM в рамках собственной процедуры инициализации; Контроллер NVM будет переведен в режим ручной записи, поэтому на контроллер должны быть отправлены явные команды записи, чтобы зафиксировать буферизованную страницу в физической памяти. Таким образом, команда ручной записи должна быть передана контроллеру NVM всякий раз, когда пользовательское приложение хочет выполнить запись на страницу NVM для своих собственных целей.
Размер логической страницы EEPROM
Поскольку небольшой объем информации необходимо хранить в заголовке перед содержимым логической страницы EEPROM в памяти (для использования службой эмуляции), доступные данные на каждой странице EEPROM меньше, чем общий размер одну страницу памяти NVM на несколько байт.
Фиксация кэша записи
Кэш записи на одну страницу используется внутри для буферизации данных, записываемых на страницы, чтобы уменьшить количество физических операций записи, необходимых для хранения пользовательских данных, и сохранить срок службы физической памяти.В результате важно, чтобы кэш записи был зафиксирован в физической памяти как можно скорее после состояния пониженного энергопотребления BOD, чтобы гарантировать наличие достаточного количества энергии, чтобы гарантировать завершенную запись без потери данных.
Кэш записи также необходимо вручную зафиксировать в физической памяти, если пользовательское приложение должно выполнять какие-либо операции NVM, используя контроллер NVM напрямую.
Дополнительную информацию см. в разделе Дополнительная информация. Сюда входят:
Список примеров, связанных с этим драйвером, см. в разделе Примеры для службы эмуляции EEPROM.
Читайте также: