Menu English Ukrainian Russian Home

Бесплатная техническая библиотека для любителей и профессионалов Бесплатная техническая библиотека


Программирование микросхем FLASH-памяти. Энциклопедия радиоэлектроники и электротехники

Бесплатная техническая библиотека

Энциклопедия радиоэлектроники и электротехники / Микроконтроллеры

Комментарии к статье Комментарии к статье

Микросхемы репрограммируемой постоянной памяти с электрическим стиранием данных, выполненные по технологии FLASH, заняли прочные позиции в электронной и вычислительной технике, потеснив другие виды энергонезависимых запоминающих устройств. Их главное достоинство - возможность перепрограммирования "в системе", не выпаивая микросхему из печатной платы или не вынимая ее из панели. Большое допустимое число циклов перепрограммирования позволяет строить на таких микросхемах "FLASH-диски" объемом в десятки мегабайт, отличающиеся от обычных накопителей на жестких или гибких магнитных дисках полным отсутствием движущихся частей. Благодаря этому они долговечны и способны работать в условиях сильной вибрации, например, на автомобилях и других движущихся объектах. Публикуемая статья посвящена вопросам программирования микросхем FLASH-памяти.

От РПЗУ других типов микросхемы FLASH-памяти отличает наличие непосредственно на кристалле встроенного "программатора" - автомата стирания и записи (АC3). Он освобождает от необходимости в процессе программирования подавать на выводы микросхемы повышенное напряжение, формировать определенные последовательности импульсов. Все это АC3 делает самостоятельно и незаметно для пользователя, которому остается лишь с помощью соответствующей команды сообщить адрес ячейки и код, который следует в нее записать, и ждать завершения операции. Во многих случаях длительную операцию (например, стирание блока данных) можно приостановить, прочитать нужную информацию из другой области памяти, а затем продолжить.

Сегодня многие фирмы (наиболее известные Intel. AMD. Atmel. Winbond) выпускают большой ассортимент микросхем FLASH-памяти объемом до 4 Мбайт. Их внешний интерфейс бывает параллельным или последовательным. Микросхемы с последовательным интерфейсом предназначены в основном для хранения небольших массивов данных в малогабаритных или специализированных устройствах, например, для запоминания фиксированных настроек радиоприемника или программы работы бытового электроприбора.

Далее речь пойдет о "параллельных" FLASH-микросхемах, которые по физическому и логическому устройству интерфейса с процессором ничем не отличаются от обычных ПЗУ за исключением того, что у них, подобно ОЗУ, имеется вход разрешения записи. Именно в таких микросхемах хранят коды BIOS современных компьютеров. Организация данных бывает восьми- или 16-разрядной. Нередко ее можно выбирать, соединяя специально предусмотренный вывод с общим проводом или источником питания. Кроме шин адреса и данных, к микросхемам подводят три управляющих сигнала: выбор кристалла (СЕ), включение выхода (ОЕ) и разрешение записи (WE). Последний - только в случае, если микросхему необходимо программировать. Минимальная длительность цикла чтения - 70... 150 нc.

В первых FLASH-микросхемах массив ячеек памяти представлял собой единый блок, причем стереть данные можно было только целиком из всего массива. Во многих современных микросхемах память разбита на блоки, и стирание данных в одном из них не влияет на хранящиеся в других. Размеры блоков бывают самыми разными - от 128 байт до 128 Кбайт и более. Однако при чтении данных вся память микросхемы рассматривается как единый массив и то. что физически она разделена на блоки, не имеет никакого значения.

Обычно блоки одинаковы и равноправны, но могут быть и разными. Например, в микросхемах серии 28Fxxx фирмы Intel имеются так называемый загрузочный (boot) блок объемом 16 Кбайт и два блока параметров по 8 Кбайт каждый. Далее следует блок объемом 96 Кбайт, а оставшаяся часть памяти состоит из блоков по 128 Кбайт. Свойства названных блоков несколько различаются. Для загрузочного предусмотрена аппаратная защита от записи и стирания. Ее включают, подав соответствующий логический уровень на специально предусмотренный вывод микросхемы. Блоки параметров предназначены для хранения часто изменяемых данных и выдерживают большее, по сравнению с другими, число циклов стирания/записи.

Каждую из микросхем рассматриваемой серии изготавливают в двух вариантах, различающихся размещением блоков в адресном пространстве. В микросхемах с индексом В (bottom) они расположены, начиная с нулевого адреса, в указанном выше порядке. В изделиях с индексом Т (top) порядок обратный (загрузочный - в области старших адресов).

Выпускаемые в настоящее время микросхемы FLASH-памяти рассчитаны на номинальные напряжения питания от 2.7 до 5 В. Повышенное напряжение (12 В) для них не требуется вовсе или необходимо лишь в некоторых специальных режимах. В пассивном ("невыбранном") состоянии такие микросхемы потребляют от источника питания ток не более 1 мА (в большинстве случаев - в десятки раз меньше). Иногда предусмотрен особый режим полного выключения (sleep mode), в котором потребление пренебрежимо мало. Правда, читать данные из "заснувшей" микросхемы невозможно, а чтобы "разбудить" ее. порой требуется несколько десятков микросекунд. Потребляемый ток в активном режиме - десятки миллиампер, причем, если перевести в пассивное состояние микросхему, АC3 которой выполняет длительную операцию (например, стирает данные), ток не уменьшится до тех пор, пока она не завершится.

Большое внимание уделяют защите хранящихся во FLASH-памяти данных от случайного изменения, особенно под воздействием помех и переходных процессов при включении и выключении питания. В большинстве случаев предусмотрено три вида аппаратной защиты. Первый заключается в том. что на импульсы в цепи WE длительностью менее 15...20 не микросхема не реагирует, второй - в том, что при низком логическом уровне на входе ОE никакие манипуляции сигналами на других входах не могут вызвать запись, третий - в том. что при уменьшении напряжения питания ниже некоторого уровня АC3 отключается. У микросхем разных типов порог отключения находится в пределах 1.5...3.8В.

Иногда предусмотрена возможность полного запрета изменения и стирания всего массива данных или его частей. Для наложения или снятия такого запрета обычно требуются "экстраординарные" меры (например, кратковременная подача повышенного напряжения на определенные выводы).

Предусматривается и программная защита. Для изменения содержимого ячейки FLASH-памяти недостаточно, как в обычном ОЗУ. записать один код по одному адресу. Необходима команда, состоящая из нескольких кодов, записываемых по определенным адресам.

Любая FLASH-микросхема способна сообщить свой тип устройству, в которое она установлена, что позволяет автоматически выбирать нужные алгоритмы записи и стирания данных. Для программного включения и выключения режима считывания идентификаторов предусмотрены соответствующие команды. Включив его, по адресу ОН читают идентификатор изготовителя, а по адресу 1Н - устройства (идентификаторы некоторых микросхем приведены в таблице). В этом же режиме, но по другим адресам, в некоторых случаях можно получить дополнительную информацию, например, о состоянии аппаратной защиты от записи.

Программирование микросхем FLASH-памяти

Перейти в режим чтения идентификаторов можно и без команды, подав на адресный вход А9 напряжение +12 В. Допускаемое отклонение его величины у микросхем разных типов различно. В одних случаях оно не более ±5%. в других достаточно, чтобы напряжение лишь превысило некоторое значение, например 10 В. Идентификаторы читают по указанным выше адресам, устанавливая их без учета разряда А9. Обычно этот способ применяют в универсальных программаторах.

АC3 большинства микросхем FLASH-памяти воспринимают команды, подаваемые в соответствии с так называемым стандартом JEDEC, хотя есть и исключения. Иногда при модернизации микросхем их систему команд дополняют стандартными кодовыми комбинациями, сохраняя, однако, и старые команды (это необходимо для того, чтобы модернизированные кристаллы могли работать в ранее выпущенных устройствах). Свою систему команд применяет фирма Intel.

Прежде чем подробно рассматривать команды, расскажем немного О подключении FLASH-микросхем. Однотипные микросхемы, как правило, выпускают в корпусах нескольких типов, различающихся расположением, шагом и числом выводов. Нередко предусматривают "зеркальные" варианты, позволяющие устанавливать микросхемы на любой стороне платы, не изменяя топологию печатных проводников.

Номера выводов на приводимых ниже схемах стандартны для микросхем памяти объемом 512 Кбайт в наиболее распространенных 32-выводных корпусах PLCC и PDIP. "Цоколевка" микросхем меньшего объема аналогична, но выводы старших разрядов у них не подключены (например, у Am29F010 свободны 30-й и 1 -й).

Схему, подобную показанной на рис. 1, применяют, если необходимо стирать и записывать данные, не извлекая микросхему из микропроцессорной, системы.

Программирование микросхем FLASH-памяти

Предполагается, что системная шина данных - восьмиразрядная, адреса - 16-разрядная. ПЗУ отведено в адресном пространстве 32 Кбайт, остальную его часть может занимать ОЗУ Так как объем памяти Am29F040 - 512 Кбайт, предусмотрен регистр страницы FLASH-памяти, управляющий старшими разрядами адреса. Для чтения и записи данных можно воспользоваться следующими простыми процедурами (написанными на языке Pascal):

Программирование микросхем FLASH-памяти

Если необходимо запрограммировать FLASH-микросхему вне устройства, в котором она будет работать, ее можно подключить к персональному компьютеру. Проще всего это сделать, установив в компьютер дополнительную плату параллельного ввода/вывода. Такие платы, например, PCL-731 фирмы Advantech, DIO-48 фирмы IOP DAS или PET-48DIO фирмы ADLink имеются в продаже. Как правило, у них 48 входов/выходов и работают они аналогично двум микросхемам 8255 (КР5806В55А) в режиме О с теми же информационными и управляющими портами, даже если в действительности таких микросхем в их составе нет. При необходимости плату параллельного ввода/вывода можно изготовить самостоятельно, воспользовавшись статьей Н. Васильева "Расширитель интерфейса PC" ("Радио", 1994, № 6, с. 20, 21).

Для чтения или программирования FLASH-микросхему подключают к портам двух микросхем 8255 по схеме, показанной на рис. 2. Порт РА первой из них использован для ввода/вывода данных, отдельные разряды ее же порта PC - для вывода сигналов управления СЕ, OЕ и WE. Порты РА, РВ и PC второй образуют 24-разрядную шину адреса FLASH-микросхемы. Если достаточна меньшая разрядность этой шины, соответствующее число старших разрядов порта PC не подключают.

Программирование микросхем FLASH-памяти

Порты платы ввода/вывода и вспомогательные константы должны быть описаны в программе следующим образом:

Программирование микросхем FLASH-памяти

А описанные выше процедуры обращения к FLASH-памяти заменяют следующими:

м

Теперь - собственно о программировании FLASH-микросхем. По стандарту JEDEC каждая команда начинается записью кода ОААН по адресу 5555Н. Далее записывают код 55Н по адресу 2АААН и в заключение - код выполняемой операции по адресу 5555Н.

Программирование микросхем FLASH-памяти

Говоря, например, о команде 40Н, мы будем подразумевать именно такую последовательность с числом 40Н в качестве кода операции.

Программирование микросхем FLASH-памяти

После включения питания любая FLASH-микросхема автоматически входит в этот режим и устанавливать его специальной командой нет необходимости. Однако она требуется, например, для возврата из режима чтения идентификаторов. Иногда ее называют командой сброса или начальной установки. Для перевода некоторых микросхем в режим чтения массива достаточно одного цикла записи кода 0F0H по любому адресу.

Программирование микросхем FLASH-памяти

Следующий за командой 0А0Н цикл записи содержит адрес программируемой ячейки и записываемый в нее код. В большинстве случаев для записи в каждую ячейку требуется подать отдельную команду. Имейте в виду, что подобно обычным РПЗУ, в разрядах программируемой ячейки можно лишь заменять логические единицы нулями. Для выполнения обратной операции требуется, как правило, предварительно стереть содержимое целого блока памяти и повторить программирование всех его ячеек. Учтите, что АC3 многих FLASH-микросхем не распознают подобные ошибки и сообщают об успешном выполнении операции. Чтобы убедиться в правильности программирования, необходимо контрольное считывание записанных данных.

В микросхемах фирмы Winbond с блоками размером 128 байт программированию любой ячейки автоматически предшествует стирание всех данных содержащего ее блока. Поэтому всегда следует предварительно скопировать блок в оперативную память, внести нужные изменения в копию и запрограммировать заново все 128 байт. Получив команду ОАОН, адрес и первый из программируемых байтов, АC3 заносит его во внутренний буфер блока и ждет 200 мкс, не начиная программирования. Если за это время будут получены еще одна команда ОАОН и очередной байт, он тоже поступит в буфер, а АC3 будет ждать следующий еще 300 мкс. Так продолжается до тех пор. пока не будут получены все 128 байт блока или пауза не превысит допустимого значения (300 мкс). После этого АC3 стирает блок и начинает собственно программирование. Последовательность записи в буфер данных, предназначенных для различных ячеек блока, не имеет значения, но те ячейки, данные для которых не поступили, после программирования будут содержать коды 0FFH.

Существует два способа записи данных для программирования в подобную микросхему. Первый из них (для других обычный) называют программно защищенным. Каждому записываемому байту должна предшествовать команда ОАОН. Однако защиту можно отключить, подав последовательно команды 80Н и 20Н.

Программирование микросхем FLASH-памяти

После этого записываемый по любому адресу байт попадает во внутренний буфер микросхемы, и такой режим сохраняется даже после отключения и включения питания. Выходят из него по команде ОАОН.

Программирование микросхем FLASH-памяти

Для записи данных во FLASH-микро-схему фирмы Intel предусмотрено два равносильных варианта команды. Прежде всего, по любому адресу записывают один из кодов 40Н или 10Н. а затем - программируемый код по нужному адресу.

Программирование микросхем FLASH-памяти

Команда "Стереть всю память".

Эту ответственную операцию АC3 FLASH-микросхемы начинает, получив последовательность из двух команд - 80Н и 10Н.

Программирование микросхем FLASH-памяти

Микросхемам фирмы Intel аналогичную команду подают записью по произвольным адресам кодов 20Н и 0D0H

Программирование микросхем FLASH-памяти

Стирание всего содержимого памяти занимает от десятков миллисекунд до нескольких секунд. В некоторых микросхемах предусмотрена возможность приостановки этого процесса записью кода ОВОН по любому адресу. После записи (также по любому адресу) кода 30Н (для микросхем фирмы Intel - ODOH) стирание продолжится.

Команда "Стереть блок". Чтобы стереть содержимое блока памяти, необходимо подать две команды. Первая из них - 80Н, вторая отличается тем, что ее код операции 90Н должен быть записан не по адресу 5555Н, а по адресу любой из ячеек стираемого блока.

Программирование микросхем FLASH-памяти

Команда "Читать идентификаторы". Для перехода в этот режим служит команда 90Н, но иногда требуется последовательность из двух команд - 80Н и 60Н.

Программирование микросхем FLASH-памяти

В микросхемы фирмы Intel достаточно записать код 90Н по любому адресу. Выходят из этого режима рассмотренной выше командой "Читать массив данных".

Как проверить завершение выполнения "длинных" команд программирования и стирания данных? Проще всего - воспользоваться справочными данными микросхемы и предусмотреть программное формирование соответствующих задержек. Но фактическое время выполнения тех или иных операций нередко существенно отличается от справочных значений даже для разных ячеек и блоков одной микросхемы, увеличиваясь по мере "старения" последней.

Точно узнать момент окончания той или иной операции позволяет считывание регистра состояния АC3. FLASH -микросхема выдает на шину данных содержимое этого регистра все время, пока АC3 занят выполнением процедуры стирания или программирования. Существует два признака того, что процесс не закончен. Первый заключается в том, что значение бита D7 регистра состояния инверсно по отношению к записываемому в тот же бит ячейки памяти значению (во время стирания - равно 0). По завершении операции оно совпадет с записанным. Второй признак - "мерцание" бита D6 (его значение изменяется при каждом чтении регистра, пока операция не завершится).

Как правило, наблюдаются оба признака, однако встречаются и исключения. Например, в микросхемах фирмы Intel "мерцающий" бит отсутствует, а бит D7 во время программирования равен 0 независимо от записываемого кода. Об окончании операции в данном случае свидетельствует D7=1. В микросхемах с блочной записью (например, фирмы Winbond) значение бита D7 инверсно аналогичному биту последнего из кодов, записанных в буфер блока-

Обычно по завершении программирования или стирания FLASH-микросхе-ма автоматически возвращается в режим чтения массива данных, но микросхемам фирмы Intel для этого требуется соответствующая команда.

Если микросхема неисправна, "длинная" операция может никогда не завершиться, в результате чего управляющий программированием компьютер "зависнет". Во избежание этого следует предусмотреть проверку продолжительности операций стирания и программирования и в случае превышения разумного значения - "аварийный" выход с выдачей сообщения о неисправности.

Иногда, особенно при работе с микросхемами, прошедшими близкое к предельному число циклов стирания/программирования, имеет смысл повторить неудачную операцию несколько раз. Одна из попыток может оказаться успешной.

В заключение - несколько слов об утилитах, позволяющих обновить BIOS компьютера, хранящуюся во FLASH-памяти. Они разрабатываются для каждого типа системных (материнских) плат и учитывают особенности подключения FLASH-микросхем к системным шинам. Поэтому попытки воспользоваться утилитой, предназначенной для платы одного типа, чтобы обновить BIOS другой, зачастую приводят к полному отказу компьютера.

Утилиту запускают как обычную прикладную программу, указав в качестве параметра имя файла, содержащего коды новой версии BIOS. Она читает этот файл, создавая в ОЗУ массив данных, подлежащих записи во FLASH-память. Затем определяет тип микросхемы и выбирает соответствующие процедуры для работы с ней. После этого начинается стирание старых и запись новых данных, причем в это время программа не может пользоваться никакими функциями BIOS, в том числе и для вывода информации на экран или опроса клавиатуры. Если делать это все-таки необходимо, нужные подпрограммы вводят в состав самой утилиты. После завершения программирования и проверки его правильности обычно следует перезапуск компьютера, и он начинает "новую жизнь" с обновленной BIOS.

Автор: А.Долгий, г.Москва

Смотрите другие статьи раздела Микроконтроллеры.

Читайте и пишите полезные комментарии к этой статье.

<< Назад

Последние новости науки и техники, новинки электроники:

Искусственная кожа для эмуляции прикосновений 15.04.2024

В мире современных технологий, где удаленность становится все более обыденной, сохранение связи и чувства близости играют важную роль. Недавние разработки немецких ученых из Саарского университета в области искусственной кожи представляют новую эру в виртуальных взаимодействиях. Немецкие исследователи из Саарского университета разработали ультратонкие пленки, которые могут передавать ощущение прикосновения на расстоянии. Эта передовая технология предоставляет новые возможности для виртуального общения, особенно для тех, кто оказался вдали от своих близких. Ультратонкие пленки, разработанные исследователями, толщиной всего 50 микрометров, могут быть интегрированы в текстильные изделия и носиться как вторая кожа. Эти пленки действуют как датчики, распознающие тактильные сигналы от мамы или папы, и как исполнительные механизмы, передающие эти движения ребенку. Прикосновения родителей к ткани активируют датчики, которые реагируют на давление и деформируют ультратонкую пленку. Эта ...>>

Кошачий унитаз Petgugu Global 15.04.2024

Забота о домашних животных часто может быть вызовом, особенно когда речь заходит о поддержании чистоты в доме. Представлено новое интересное решение стартапа Petgugu Global, которое облегчит жизнь владельцам кошек и поможет им держать свой дом в идеальной чистоте и порядке. Стартап Petgugu Global представил уникальный кошачий унитаз, способный автоматически смывать фекалии, обеспечивая чистоту и свежесть в вашем доме. Это инновационное устройство оснащено различными умными датчиками, которые следят за активностью вашего питомца в туалете и активируются для автоматической очистки после его использования. Устройство подключается к канализационной системе и обеспечивает эффективное удаление отходов без необходимости вмешательства со стороны владельца. Кроме того, унитаз имеет большой объем смываемого хранилища, что делает его идеальным для домашних, где живут несколько кошек. Кошачий унитаз Petgugu разработан для использования с водорастворимыми наполнителями и предлагает ряд доп ...>>

Привлекательность заботливых мужчин 14.04.2024

Стереотип о том, что женщины предпочитают "плохих парней", долгое время был широко распространен. Однако, недавние исследования, проведенные британскими учеными из Университета Монаша, предлагают новый взгляд на этот вопрос. Они рассмотрели, как женщины реагируют на эмоциональную ответственность и готовность помогать другим у мужчин. Результаты исследования могут изменить наше представление о том, что делает мужчин привлекательными в глазах женщин. Исследование, проведенное учеными из Университета Монаша, приводит к новым выводам о привлекательности мужчин для женщин. В рамках эксперимента женщинам показывали фотографии мужчин с краткими историями о их поведении в различных ситуациях, включая их реакцию на столкновение с бездомным человеком. Некоторые из мужчин игнорировали бездомного, в то время как другие оказывали ему помощь, например, покупая еду. Исследование показало, что мужчины, проявляющие сочувствие и доброту, оказались более привлекательными для женщин по сравнению с т ...>>

Случайная новость из Архива

Сплющенная звезда 01.02.2004

Звезды, согласно всем учебникам астрономии, представляют собой гигантские шары раскаленной плазмы. Однако французские астрофизики из университета Ниццы, использовав состоящий из нескольких телескопов оптический интерферометр, обнаружили, что одна из звезд Южного полушария неба имеет вовсе не шаровидную форму.

Измерив диаметр звезды Альфа Эридана (другое название, данное арабскими астрономами, - Ахернар) в разных направлениях, астрофизики получили показанную здесь фигуру. Рассчитаны два варианта формы звезды, так как астрономы не совсем уверены в том, где проходит ее ось. Звезда, находящаяся в созвездии Эридана, представляет собой если и шар, то сильно уплощенный и скошенный: то ли дынька, то ли тыква.

Причины такой странной формы неясны: либо Ахернар вращается быстрее, чем астрономы рассчитали по спектру звезды, либо внутри нее идут какие-то весьма необычные процессы. Не исключен и такой вариант: у Альфы Эридана есть невидимый спутник, искажающий ее форму своим притяжением.

Земля тоже уплощена, но совсем немного: ее радиус по экватору меньше радиуса, идущего к полюсу, всего на 0,3 процента. У Альфы Эридана эта разница превышает 50 процентов.

Другие интересные новости:

▪ Разработан первый в мире оптический изолятор

▪ Модульный беспилотный электромобиль

▪ Электронный тренажер силы воли

▪ Физическая теория сверхпроводимости поставлена под сомнение

▪ Люди с острым обонянием хорошо ориентируются в пространстве

Лента новостей науки и техники, новинок электроники

 

Интересные материалы Бесплатной технической библиотеки:

▪ раздел сайта Видеотехника. Подборка статей

▪ статья Великая теорема Ферма. История и суть научного открытия

▪ статья Как велика плотность туманности Ориона? Подробный ответ

▪ статья Нарядчик. Должностная инструкция

▪ статья Оценка толщины лакокрасочного покрытия. Энциклопедия радиоэлектроники и электротехники

▪ статья Мощный преобразователь напряжения на тиристорах, 12/200-500 вольт 500 ватт. Энциклопедия радиоэлектроники и электротехники

Оставьте свой комментарий к этой статье:

Имя:


E-mail (не обязательно):


Комментарий:





All languages of this page

Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте

www.diagram.com.ua

www.diagram.com.ua
2000-2024