Запись в микросхему памяти. Микросхемы памяти STMicroelectronics. Усовершенствованная низковольтная серия Tiger Range

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

Все статьи цикла:

1. Виды микросхем памяти компании STMicroelectronics

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

В настоящее время компания STMicroelectronics (ST) разрабатывает и производит в промышленных масштабах следующие виды микросхем памяти:

  • EPROM - широко представлена память с ультрафиолетовым стиранием и с однократным программированием, в том числе стандартные микросхемы памяти OTP и UV EPROM, усовершенствованные микросхемы памяти OTP и UV EPROM семейства Tiger Range, микросхемы нового типа памяти FlexibleROM, разработаного для замены Mask-ROM, а также микросхемы памяти PROM и RPROM компании WSI (США), вошедшей в состав ST;
  • EEPROM и SERIAL NVM (последовательная энергонезависимая долговременная память) - из последовательной перепрограммируемой энергонезависимой памяти выпуска-ются микросхемы памяти EEPROM с различным шинным интерфейсом, последовательная FLASH-память, стандартные микросхемы памяти специального назначения (ASM) и бескон-тактные (CONTACTLESS MEMORIES) микросхемы памяти;
  • Flash-память - в производстве у ST находятся микросхемы Flash-памяти: индустриального стандарта с различным питанием, микросхемы Flash-памяти с усовершенствованной архитектурой для различных областей применения, микросхемы с разнородной памятью и микросхемы Flash-памяти семейства "LightFlash";
  • SRAM - ST производит асинхронные маломощные микросхемы памяти SRAM с различным питанием и быстродействием;
  • NVRAM - имеются решения для SRAM с батарейной поддержкой по питанию и генераторов импульсов времени (часов истинного времени);
  • PSM - в соответствии со стратегическим направлением создания "систем на кристал-ле", ST разрабатывает и производит микросхемы программируемых систем памяти, которые обеспечивают комплексное системное решение памяти для микроконтроллеров и разработок на сигнальных процессорах (DSP);
  • Smartcard - в наличии большой ассортимент микросхем для Smartcard и систем обес-печения безопасности.

Виды и основные серии микросхем памяти производимых компанией STMicroelectron-ics представлены на рисунке 1.

Рис. 1. Виды и основные серии микросхем памяти компании STMicroelectronics

EPROM, EEPROM и Flash - в чем разница?

Первыми технологиями энергонезависимой памяти были EPROM (стираемая программи-руемая постоянная память) и EEPROM (электронно-перепрограммируемая постоянная память). В EPROM данные могут быть записаны в память один раз и, впоследствии, считываться любое число раз. Если EPROM имеет специальный корпус с прозрачным окном, то содержимое памяти может быть стерто ультрафиолетовым облучением, а затем перепро-граммировано с новыми данными.

EEPROM более гибко. Она обеспечивает многократное перепрограммирование ячеек памяти, но плата за эту гибкость - более сложная структура ячейки памяти, что увеличивает стоимость и понижает плотность хранения. По этой причине EPROM используется главным образом в качестве удобной памяти для хранения больших объемов кодов программы, а EEPROM для хранения параметров и другой информации, которая нуждается в регулярном обновлении.

В последние годы в полупроводниковой промышленности наблюдается быстрый рост в секторе электронной Flash-памяти, которая находит все большее применение во многих устройствах телесвязи, автомобильной электронике, компьютерах и бытовых приборах, но которую не многие изготовители полупроводниковых изделий могут производить в промышленных объемах и недорого для потребителя.

Flash-память относится к классу полупроводниковой памяти с долговременным хранением (NON-VOLATILE) или энергонезависимой от внешнего питания. До ее появления наибо-лее востребованными видами памяти на рынке была DRAM (динамическое ОЗУ с произвольной выборкой) и SRAM (статическое ОЗУ с произвольной выборкой). Несмотря на их энергозависимость это обусловлено возможностью обеспечения высокой скорости записи, что обязательно для оперативной памяти. Кроме того, малые размеры ячеек памяти DRAM позволяют получить высокую плотность для хранения, которая сегодня обычно составляет 256 Mбит и до 1 Гбит в перспективе. Преимуществом SRAM является меньшие непроизво-дительные затраты, а также (для некоторых типов) более высокая скорость чтения - обычно на порядок быстрее чем DRAM. DRAM и SRAM - одни из основных компонентов персональных компьютеров.

Технология Flash первоначально использовалась как вариант замены EPROM. Подобно EEPROM, Flash-память электрически стираема и фактически не имеет ограничений по числу циклов перепрограммирования, но, в отличие от EEPROM, микросхемы Flash-памяти дешевле в производстве и могут иметь очень большие емкости для хранения. Flash-память, в отличие от EEPROM, не надо стирать полностью перед перезаписью, что придает ей дополни-тельное преимущество. Она обычно организована в виде множества секторов, каждый из ко-торых может быть индивидуально перепрограммирован.

Развитие технологии Flash-памяти осуществляется по двум основным направлениям: уменьшение размеров ячеек за счет новых технологических процессов изготовления (0.25µ, 0.18µ, 0.13µ, 0.10µ ...) и оптимизации архитектуры памяти для конкретных приложений. По сравнению с DRAM Flash-память труднее в разработке и производстве. Поэтому ее развитие по плотности отстает от DRAM примерно на одну градацию. То есть, если DRAM произво-дится по 0.18µ технологии, то Flash-память будет производиться по 0.25µ технологии.

Преследуя честолюбивые замыслы, компания ST начала разрабатывать и производить Flash-память по новым технологиям опережающими темпами с целью выравнивая ее технологии с технологией DRAM. С этой же целью был создан Центр в Agrate (Италия). Надежды компании производить Flash с плотностью памяти не хуже чем у DRAM основаны на внедрении методов многоразрядной ячейки. Поэтому в ближайшей перспективе следует ждать появление микросхем Flash-памяти с емкостью до 1 Гбит.

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

Бурный рост применения Flash-памяти объясняется стремительным развитием электронных устройств и носит объективный характер. Например, на рынке сотовых телефонов сначала использовались микросхемы Flash-памяти с небольшой емкостью (1…4 Mб) для хранения кода. Затем функциональные возможности сотовых телефонов резко возросли вплоть до обеспечения Internet, GPS, интерактивной выдачи новостей, телевизионной конфе-ренц-связи и CD музыки. Каждая новая сервисная функция требует увеличения количества Flash-памяти для хранения кода, емкости которой за это время возросли до 128 Мб. Сейчас сотовый телефон оснащается фотокамерой, биометрическим сенсором, возможностью загрузки музыки и программ. Это означает, что если сейчас для сотового телефона в основном достаточно иметь 8 Мб Flash-памяти, то к концу 2004 года полностью будут задействованы имеющиеся сегодня возможности в 128 Мб Flash-памяти.

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

Подобный рост можно предсказать и для различного рода приставок (Set-top box) и для рынка DVD. И здесь, чтобы соответствовать потребностям и требованиям этого рынка, который особенно чувствителен к стоимости и качественным характеристикам, нужна специализированная Flash-память с архитектурой оптимизированной для этого рынка (например, x32 архитектура с двумя банками памяти и 100 MГц характеристикой группового считывания), которая будет использоваться скорее чем стандартные микросхемы Flash-памяти.

Работа на опережение потребностей рынка помогла STMicroelectronics разработать новые изделия типа сверхбыстрого (25 нс!) времени выборки в микросхемах Flash-памяти для жесткого диска компьютера и первую в мире Flash-память на 32 Мбит, комбинирующую ар-хитектуру с двумя банками памяти и быстрый доступ с полнофункциональным режимом по-страничного доступа при питании 1,8 В для следующего поколения сотовых телефонов.

Flash, EPROM и EEPROM используют один и тот же базовый механизм плавающего затвора для запоминания данных, но различные методы для записи и чтения данных. В каждом случае, базовая ячейка памяти состоит из одного МОП-транзистора с двумя затворами: регулирующего, который связан со схемой управления чтения - записи, и плавающего, который локализован между регулирующим затвором и каналом МОП-транзистора (часть МОП-транзистора между истоком и стоком). Схема базовой ячейки EPROM приведена на рисунке 2.


Рис. 2. Базовая ячейка EPROM

В отличие от стандартного МОП-транзистора, в микросхемах памяти имеются два затвора, которые полностью электрически изолированы слоем диоксида кремния от остальной части электрической схемы. Так как плавающий затвор физически очень близок к каналу МОП-транзистора, то даже очень малый электрический заряд на нем оказывает влияние на электрическое сопротивление транзистора. Применяя соответствующие сигналы к регули-рующему затвору, и измеряя изменение сопротивления транзистора, можно определить на-личие электрического заряда на плавающем затворе. Поскольку плавающий затвор электрически изолирован от остальной части схемы, требуются специальные методы для переноса на нем заряда. Один из методов состоит в заполнении канала МОП-транзистора электронами высокой энергии, прикладывая относительно высокое напряжение к регулирующему затвору и стоку МОП-транзистора. Некоторые из таких "горячих" электронов имеют достаточную энергию для пересечения потенциального барьера между каналом и плавающим затвором. При снятии высокого напряжения они остаются захваченными плавающим затвором. Имен-но такой метод используется для программирования ячейки памяти в EPROM и Flash-памяти.

Эта методика, известная как канальная инжекция горячими электронами (CHE), может использоваться для переноса заряда на плавающий затвор, но она не обеспечивает его сброса. Технология EPROM достигает этого за счет облучения всей матрицы памяти ультрафиолетовым светом, который придает захваченным электронам достаточно энергии для выхода из плавающего затвора. Это достаточно простой и эффективный метод стирания.

Второй метод удаления заряда основан на использовании так называемого туннельного эффекта. Электроны покидают плавающий затвор при прикладывании к истоку МОП-транзистора достаточно большого напряжения, которое заставляет электроны "прокладывать туннель" поперек изолирующей оксидной пленки к истоку. Число электронов, которые могут прокладывать туннель поперек изоляционного слоя в данном времени, зависит от толщины слоя и величины подаваемого напряжения. Для реальных уровней напряжения и ограниченного времени стирания изоляционный слой должен быть очень тонок - обычно 10 нм (100 Ангстрем).


Рис. 3. Базовая ячейка EEPROM

В микросхемах памяти EEPROM туннельный эффект используется для "зарядки" и "разрядки" плавающего затвора согласно полярности прикладываемого туннельного напряжения (рисунок 3). Поэтому, несмотря на то, что Flash-технология не просто прививка механизма стирания EEPROM на технологию EPROM, Flash-память может рассматриваться как запоминающее устройство, которое программируется подобно EPROM и стирается подобно EEPROM.

Наиболее существенное отличие EPROM от других двух видов памяти находится в толщине оксидной пленки, которая отделяет плавающий затвор от истока. В EPROM - это обычно 20…25 нм и этого достаточно много для реализации туннельного эффекта при прак-тических напряжениях. У Flash-памяти (рисунок 4) толщина туннельной оксидной пленки составляет 10 нм, и ее качество оказывает существенное влияние на характеристики и надежность микросхемы памяти. Это одна из основных причин того, что только относительно немногие производители электронных компонентов овладели технологией Flash-памяти, а еще меньшее количество способно квалифицировано надежно комбинировать Flash-технологию с другими КМОП компонентами для создания изделий типа микроконтроллеров со встроенной Flash-памятью.

Традиционно, плавающий затвор использовался для хранения одного информационного разряда, который считывался путем сравнения порогового напряжения МОП-транзистора с опорной величиной, но появились более сложные методы чтения - записи, которые позво-ляют различать более двух энергетических состояний плавающего затвора, что эквивалентно хранению двух и более битов на одном плавающем затворе. Это крупное научно-техническое достижение, потому что хранение двух битов в одной ячейке позволяет удвоить емкости микросхем памяти, не изменяя их физических размеров. STMicroelectronics - одна из немногих компаний, которая может предложить микросхемы Flash-памяти с архитектурой на основе многоразрядной ячейки.


Рис. 4. Базовая ячейка Flash

Хотя все микросхемы Флэш-памяти используют одну и ту же базовую запоминающую ячейку, имеется множество видов их связей в пределах всей матрицы памяти. Наиболее известными архитектурами являются NOR (НЕ) и NAND (И-НЕ). Эти условия традиционной комбинаторной логики определяют топологию матрицы памяти и виды связи к отдельным ячейкам при обращении к ним для чтения и записи.

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

2. Микросхемы памяти EPROM компании ST

Компания STMicroelectronics (ST) производит весьма конкурентоспособные микросхемы памяти EPROM. Непрерывные усовершенствования технологии производства приводят к расширению их возможностей, более высокой емкости и понижению напряжения питания. Компания находится в числе мировых лидеров-производителей памяти типа OTP и EPROM с ультрафиолетовым стиранием, которая удобна для разработки, производства и для замены масочной ROM ввиду того, что они программируются на завершающей стадии производства.

Выпускаемые микросхемы обладают емкостью от 64 кбит до 64 Мбит при питании 5 и 3 В, достаточным быстродействием, различными корпусами, в том числе и для поверхностного монтажа. Организация памяти устройств может быть типа x8, x16 и x8/x16. Расшифровка обозначений микросхем памяти ST вида OTP и UV EPROM приведена на Рис.5.


Рис. 5. Маркировка микросхем EPROM ST

Набор продукции включает стандартные микросхемы с питанием 5 В и 3,3 В, усовершенствованные микросхемы семейства Tiger Range с питанием 3 В (2,7…3,6 В) и микросхемы нового семейства FlexibleROM™.

Микросхемы этих типов памяти доступны в FDIP керамических корпусах с окошком и PDIP пластиковых двурядных корпусах, а также в корпусах PLCC и TSOP для поверхностного монтажа. Основные параметры стандартных микросхем памяти EPROM приведены в таблице 1.

Таблица 1. OTP и UV EPROM

Обьем Обозначение Описание Корпус
Питание 5 В
64 кб M27C64A 64 кб (x8), 100 - 200 нс FDIP28W, PLCC32
256 кб M27C256B 256 кб (x8), 45 - 150 нс
512 кб M27C512 512 кб (x8), 45 - 150 нс FDIP28W, PDIP28, PLCC32, TSOP28
M27C516 512 кб (x16), 35 - 100 нс PLCC44, TSOP40B
1 Мб M27C1001 1 Мб (x8), 35 - 150 нс
M27C1024 1 Мб (x16), 35 - 150 нс
2 Мб M27C2001 2 Мб (x8), 35 - 100 нс FDIP32W, PDIP32, PLCC32, TSOP32A
M27C202 2 Мб (x16), 45 - 100 нс FDIP40W, PDIP40, PLCC44, TSOP40B
4 Мб M27C4001 4 Мб (x8), 35 - 150 нс FDIP32W, PDIP32, PLCC32, TSOP32A
M27C4002 4 Мб (x16), 45 - 150 нс
M27C400 4 Мб (x8/x16), 50 - 100 нс FDIP40W, PDIP40
8 Мб M27C801 8 Мб (x8), 45 - 150 нс FDIP32W, PDIP32, PLCC32, TSOP32A
M27C800 8 Мб (x8/x16), 50 - 120 нс
16 Мб M27C160 16 Мб (x8/x16), 50 - 120 нс FDIP42W, PDIP42, PLCC44, SO44
32 Мб M27C322 32 Мб (x16), 50 - 100 нс FDIP42W, PDIP42, PSDIP42
M27C320 32 Мб (x8/x16), 50 - 100 нс TSOP48, SO44
64 Мб* M27C642 64 Мб (x16), 80 - 100 нс FDIP42W, PDIP42
M27C640 64 Мб (x8/x16), 80 - 100 нс TSOP48
Питание 3,3 В
16 Мб M27V160 16 Мб (x8/x16), 100 - 150 нс FDIP42W, PDIP42, SO44
32 Мб M27V322 32 Мб (x16), 100 - 150 нс FDIP42W, PDIP42

* в разработке

Усовершенствованная низковольтная серия Tiger Range

Для низковольтной серии Tiger Range компания STMicroelectronics использовала новейшую технологию OTP и UV EPROM. Структурные усовершенствования, связанные с толщиной основных слоев, позволили значительно улучшить электрические характеристики. Уменьшение на 25% толщины оксидного слоя затвора позволило снизить пороговое напряжение ячейки и увеличить скорость выборки при питании от 2,7 В и выше во всем температурном диапазоне от -40 до +85°C.

Улучшая электрические характеристики, ST стремиться обеспечить потребителя изделиями с новыми качествами и поэтому рекомендует заказчикам заменить "V" серию с питанием 3…3,6 В на серию "W" - Tiger Range, которая имеет лучшие характеристики при питании 2,7…3,6 В. Временные параметры для серии Tiger Range гарантируются двойным тестированием микросхем при напряжении 2,7 В и 3 В. Время доступа при питании 2,7 В маркируется на микросхеме и более быстрое время доступа специфицируется в описании.

Времена доступа для напряжения питания выше 2,7 В являются рабочими. Состав семейства микросхем Tiger Range приведен в таблице 2.

Таблица 2. OTP и UV EPROM типа Tiger Range, питание 3 В

Объем Обозначение Описание Корпус
256 кб M27W256 256 кб (x8), 80 нс (70нс/3В) - 100 нс FDIP28W, PDIP28, PLCC32, TSOP28
M27W512 512 кб (x8), 80 нс (70нс/3В) - 100 нс FDIP28W, PDIP28, PLCC32, TSOP28
1 Мб M27W101 1 Мб (x8), 80 нс (70нс/3В) - 100 нс FDIP32W, PDIP32, PLCC32, TSOP32A
M27W102 1 Мб (x16), 80 нс (70нс/3В) - 100 нс FDIP40W, PDIP40, PLCC44, TSOP40B
2 Мб M27W201 2 Мб (x8), 80 нс (70нс/3В) - 100 нс FDIP32W, PDIP32, PLCC32, TSOP32A
M27W202 2 Мб (x16), 100 нс (80нс/3В) FDIP40W, PDIP40, PLCC44, TSOP40B
4 Мб M27W401 4 Мб (x8), 80 нс (70нс/3В) - 100 нс FDIP32W, PDIP32, PLCC32, TSOP32A
M27W402 4 Мб (x16), 100 нс (80нс/3В) - 120 нс FDIP40W, PDIP40, PLCC44, TSOP40A
M27W400 4 Мб (x8/x16), 100 нс (80нс/3В) - 120нс FDIP40W, PDIP40, PLCC44
8 Мб M27W801 8 Мб (x8), 100 нс (80нс/3В) - 120 нс FDIP32W, PDIP32, PLCC32, TSOP32A
M27W800 8 Мб (x8/x16), 100 нс (90нс/3В) FDIP42W, PDIP42, PLCC44

Семейство UV и OTP EPROM Tiger Range характеризуется сверхмалым потреблением, высокой скоростью работы и одновременно быстрым доступом с коротким временем программирования. Время программирования микросхем одинаково как для пословного, так и побайтного режимов программирования. Для самых последних микросхем с плотностью 4 Мб и 8 Мб скорость программирования доведена до 50 мкс на слово или байт. Данные по потреблению и производительности серии Tiger Range приведены в таблице 3.

Таблица 3. Tiger Range

Обозначение Объем (Организация) Потребление Скорость выборки Скорость программирования
M27W256 256 кб (x8) 15мA при 5MГц 80 нс (70нс/3В) 100 мкс/байт
M27W512 512 кб (x8) 15мA при 5MГц 80 нс (70нс/3В) 100 мкс/байт
M27W101 1 Мб (x8) 15мA при 5MГц 80 нс (70нс/3В) 100 мкс/байт
M27W102 1 Мб (x16) 15мA при 5MГц 80 нс (70нс/3В) 100 мкс/слово
M27W201 2 Мб (x8) 15мA при 5MГц 80 нс (70нс/3В) 100 мкс/байт
M27W202 2 Мб (x16) 20мA при 5MГц 100 нс (80нс/3В) 100 мкс/слово
M27W401 4 Мб (x8) 15мA при 5MГц 80 нс (70нс/3В) 100 мкс/байт
M27W402 4 Мб (x16) 15мA при 5MГц 100 нс (80нс/3В) 100 мкс/слово
M27W400 4 Мб (x8/x16) 20мA при 8MГц 100 нс (80нс/3В) 50 мкс/слово
M27W801 8 Мб (x8) 15мA при 5MГц 100 нс (80нс/3В) 50 мкс/байт
M27W800 8 Мб (x8/x16) 30мA при 8MГц 100 нс (90нс/3В) 50 мкс/слово

Микросхемы низковольтной серии Tiger Range полностью совместимы по штырькам со стандартной серией 5В UV и OTP EPROM. Это гарантирует их полное соответствие для приложений, в которых микропроцессорное питание заменяется с 5 В на 3 В (таблица 4).

Таблица 4. Совместимость UV и OTP EPROM по питанию

3 В Обозначение Объем (Организация) 5 В Обозначение
M27W256 256 кб (x8) M27C256B
M27W512 512 кб (x8) M27C512
M27W101 1 Mб (x8) M27C1001
M27W102 1 Mб (x16) M27C1024
M27W201 2 Mб (x8) M27C2001
M27W202 2 Mб (x16) M27C202
M27W401 4 Mб (x8) M27C4001
M27W402 4 Mб (x16) M27C4002
M27W400 4 Mб (x8/x16) M27C400
M27W801 8 Mб (x8) M28C801
M27W800 8 Mб (x8/x16) M27C800

Уже много лет сохраняется тенденция к более высоким плотностям памяти. Отвечая требованиям потребителей, компания ST постоянно развивает как свои технологии производства, так и сами компоненты.

Гибкость EPROM, ее более низкие производственные издержки и возможность программирования на завершающей стадии производства ведут к тому, что многие заказчики теперь предпочитают использовать данный вид памяти вместо масочной ROM. Диапазон памяти EPROM ST включает много типов микросхем, которые могут легко использоваться взамен масочной ROM (таблица 5).

Таблица 5. Замена Mask ROM высокоплотной EPROM

Обозначение Организация Скорость выборки Потребление
Питание 5 В
M27C801 x8 45 нс 35 мА при 5 MГц
M27C800* x8/x16 50 нс 70 мА при 8 MГц
M27C160* x8/x16 50 нс 70 мА при 8 MГц
M27C322* x16 50 нс 50 мА при 5 MГц
M27C320* x8/x16 50 нс 70 мА при 8 MГц
Питание 2,7 В (min)
M27W801* x8 100 нс (80 нс/3В) 15 мА при 5 MГц
M27W800* x8/x16 100 нс (90 нс/3В) 30 мА при 8 MГц

* заменяющие Mask ROM

Для примера рассмотрим более подробно 32 Mбит микросхему M27C320 (4M x 8 или 2M x 16), которая предназначена в основном для игральных автоматов, DVD проигрывателей и многих других приложений, где для микропроцессорных систем требуется много памяти для данных или программных кодов.

Логическая схема данного устройства приведена на рис. 6, а режимы работы представлены в таблице 6. В режиме чтения требуется одно питающее напряжения. Все входы совместимы c TTL схемами за исключением Vрр и A9 с напряжением 12 В для электронной подписи производителя микросхемы.


Рис. 6. Логическая схема M27C320

Таблица 6. Режимы работы M27C320

M27C320 имеет два вида режима чтения - пословный и побайтный. Вид чтения определяется уровнем сигнала на выводе BYTE. При высоком уровне сигнала на этом штырьке выбирается считывание по словам и контакт Q15A-1 используется для вывода данных по Q15. При низком уровне сигнала на BYTE устанавливается режим побайтового считывания и кон-такт Q15A-1 используется для адресации входа по A-1.

M27C320 имеет две функции управления и для получения данных на выходах они обе должны быть логически активны. Кроме того, должен быть выбран вид считывания по словам или по байтам. Выход E используется для выбора устройства и управления потреблением. Блокирующий выход (G) управляет выходом и используется для управления считыванием с ячейки данных к выходным контактам независимо от выбора устройства.

M27C320 имеет дежурный режим, в котором потребление понижается до 50 - 100 мкА. M27C320 переходит в этот режим при наличии высокого уровня логического сигнала на входе Е. В дежурном режиме все выходы находятся в состоянии высокого импеданса независимо от сигнала на входе G.

Поскольку EPROM обычно используются в больших массивах памяти, эти схемы имеют функцию двухлинейного управления, которая обеспечивает обращение к памяти нескольких устройств. Такая функция в M27C320 позволяет экономно расходовать пространство памяти и предупреждает конфликтные ситуации при обращении к памяти нескольких устройств.

Так как микросхемы памяти EPROM обычно работают в условиях неустановившихся переходных напряжений в цепях питания, для сглаживания тока рекомендуется на каждой схеме использовать керамический конденсатор емкостью 0,1 мкФ между Vcc и Vss и один электролитический конденсатор емкостью 4,7 мкФ между Vcc и Vss на каждые восемь микросхем. Этот конденсатор должен быть установлен около точки подключения электропитания на плате.

В поставляемых микросхемах M27C320 все ячейки памяти находятся в состоянии "1". Данные вводятся путем выборочного программирования "0" в требуемых местоположениях разрядов. Программируется только ноль, но в информационном слове могут присутствовать как единицы, так и нули. M27C320 находится в режиме программирования при напряжении на входе Vpp равном 12,5 В, на G - напряжение высокого логического уровня (Vih) и на Е подаются импульсы низкого логического уровня (Vil).

Запрограммированные данные поступают параллельно по 16 бит на контакты вывода данных. В режиме программирования уровни сигналов для адресации и входных данных должны соответствовать TTL логике, а питающее напряжение Vcc находиться в пределах 6,25 В ± 0,25 В.

Алгоритм программирования PRESTO III обеспечивает программирование всего массива с гарантированным временем до 100 с. Программирование слова осуществляется последовательностью импульсов 50 мкс на слово с проверкой.

Имеется возможность программирования нескольких M27C320 параллельно с различными данными. При этом используется высокий уровень логического сигнала на входе Е для запрета программирования. Проверка программирования осуществляется считыванием. Имеется режим доступа к электронной подписи производителя. Более подробные сведения приводятся в описании микросхемы .

Технология ST в отношении EPROM непрерывно совершенствуется. Новые перспективы открываются с внедрением новой архитектуры микросхем памяти, основанной на использовании многобитных ячеек памяти для получения высоких плотностей записи, начиная с емкости в 64 Mбит. Кроме того, каждая новая разработка содержит несколько фотолитогра-фических новшеств, улучшающих электрические характеристики микросхем.

С входом в состав STMicroelectronics компании WAFERSCALE INC. (США) открылись возможности поставок микросхем памяти типа PROM (programmable ROM) / RPROM (re-programmable ROM). Основные параметры семейства высокоэффективных PROM и RPROM микросхем памяти выполненных по КМОП технологии компании WSI приведены в таблице 7. Эти микросхемы доступны в трех температурных диапазонах работы: коммерческом (от 0 до +70°C), индустриальном (от -40 до +85°C) и военном (от -55 до +125°C). Кроме того, некоторые компоненты изготавливаются по стандарту для военного назначения (SMD), в том числе и EPROM (Таблица 8).

Таблица 7. КМОП PROM/RPROM компании WSI

Обозначение Описание Корпуса
WS57C191C 16 кб (2 кб x 8), 25 - 55 нс CERDIP24, 0.6"; PLDCC28; PDIP24, 0.6"
WS57C291C 16 кб (2 кб x 8), 25 - 55 нс PDIP24, 0.3"; CERDIP24, 0.3"
WS57LV291C 16 кб (2 кб x 8), 70 - 90 нс CERDIP24, 0.3"
WS57C45 (заказ) 16 кб (2 кб x 8), 25 - 45 нс CERDIP24, 0.3"; PDIP24, 0.3"; CERDIP24, 0.3"
WS57C43C 32 кб (4 кб x 8), 25 - 70 нс CLLCC28; CERDIP24, 0.6"; PLDCC28; PDIP24, 0.3"; CERDIP24, 0.3"
WS57C49C 64 кб (8 кб x 8), 25 - 70 нс CLLCC28; CERDIP24, 0.6"; Ceramic Flatpack24; PLDCC28; CLDCC28; PDIP24, 0.3"; CERDIP24, 0.3"
WS57C51C 128 кб (16 кб x 8), 35 - 70 нс
WS57C71C 256 кб (32 кб x 8), 35 - 70 нс CLLCC32; CERDIP28, 0.6"; PLDCC32; CLDCC32; CERDIP28, 0.3"

Таблица 8. Military EPROM

Обозначение Описание Корпуса
WS57C128FB 128 кб (16 кб x 8), 35-70 нс CLLCC32; CERDIP28, 0.6"; PLDCC32; CLDCC32
WS57C256F 256 кб (32 кб x 8), 35-70 нс CLLCC32; CERDIP28, 0.6"; PLDCC32; CLDCC32; PDIP28 0.6"; CERDIP28, 0.3"
27C010L 1 Мб (128 кб х 8), 35 - 200 нс CERDIP32, CLLCC32

Самой последней разработкой компании STMicroelectronics в области электрически про-граммируемых ПЗУ является семейство FlexibleROM™, которое может использоваться как простая замена для любого ПЗУ. Это одноразовое программируемое семейство, изготавливаемое по 0,15 мкм технологии компании ST, доступно потребителю с начальной емкостью памяти в 16 Mбит. Новое семейство микросхем памяти "FlexibleROM" относится к типу энергонезависимой памяти и предназначено для хранения программного кода. "FlexibleROM" - идеально подходит для использования вместо масочного ПЗУ (MaskROM) и перехода от Flash-памяти на ПЗУ после отладки программы, если в дальнейшем не планируется изменения программного кода.

Эти микросхемы памяти оптимизированы для хранения программного кода и могут использоваться в игровых приставках, DVD проигрывателях и в приставках к телевизору, а также в офисных устройствах автоматизации и для компьютерной периферии.

Семейство FlexibleROM имеет все необходимое, чтобы заменить масочное ПЗУ и обеспечить выгоды потребителю благодаря своей гибкости и стоимости модернизации. Основные характеристики микросхем данного семейства приведены в таблице 9.

Таблица 9. Семейство FlexibleROM

Микросхемы доступны как в "пустых", так и в предварительно запрограммированных версиях. Имеющаяся возможность предварительного программирование позволяет потребителю сократить время производственного цикла. Например, по сравнению с масочным ПЗУ экономия по времени составляет до двух недель при использовании программирования с кодом клиента при изготовлении микросхемы.

Благодаря технологии, основанной на флэш, время программирования также существенно уменьшено. Микросхемы FlexibleROM обеспечены типовой способностью многословной программы с большим потоком данных, что позволяет программировать устройство с емкостью 64 Mбит всего за девять секунд.

Еще одним преимуществом по сравнению с другими одноразово программируемыми ПЗУ является высокая производительность программирования, поскольку 100% функциональных возможностей массива памяти проверяются в ходе тестирования.

Микросхемы семейства памяти FlexibleROM используют питание напряжением от 2,7 В до 3,6 В для операций чтения и от 11,4 В до 12,6 В для программирования. Устройства организованы как x16-бит, при включении питания по умолчанию устанавливается режим памя-ти "Чтение", так что они могут читаться как ПЗУ (ROM) или ЭПЗУ (EPROM).

В настоящее время доступны образцы M27W016 (DIL или SM корпус) и M27W064 (SM корпус) и массовое производство уже начато. Разворачивается производство M27W032 (SM корпус), а 128-Mбит и 256-Mбит версии планируется начать производить в конце 2003 года.

Основные особенности памяти "FlexibleROM":

  • Стандартный набор команд.
  • Стандартная цоколевка масочного ПЗУ.
  • Стандартные корпуса масочного ПЗУ.
  • Полная тестируемость при программировании.
  • Прямая замена для любого ПЗУ.
  • Очень быстрое программирование (в 30 раз быстрее стандартной OTP).
  • Кодирование по заказу клиента быстрее, чем масочного ПЗУ (1-2 недели).
  • Бесплатный сервис предпрограммирования.
  • Эффективнее при использовании чем ROM и OTP.
  • Способность быстрого "в системе" однократного программирования.
  • Легкость модернизации емкости памяти.

В завершение краткого обзора микросхем памяти UV и OTP EPROM приведем некоторые данные по соответствию микросхем данного вида компании ST с микросхемами памяти других производителей (Таблица 10).

Таблица 10. Кросс-таблица EPROM

AMD ST
Am27C128 57C128FB
Am27C256 57C256F
Am27H256 57C256F
ATMEL ST
AT27C010/L 27C010L
AT27HC256/L 57C256F
AT27HC256R/R 57C256F
CYPRESS ST
CY7C261 57C49C
CY7C263 57C49C
CY7C264 57C49C
CY7C271 57C71C
CY7C274 57C256F
CY7C291 57C291C
CATALYST ST
CAT27128A 57C128FB
CAT27256 57C256F
CAT27HC256 57C256F
HITACHI ST
HN27C256HG 57C256F
INTEL ST
27C128B 57C128FB
27C256 57C256F
MICROCHIP ST
27HC256 57C256F
OKI ST
MSM27C256 57C256F
SANYO ST
LA7620 57C64F
SGS-T ST
M27128/A 57C128FB
M27256 57C256F
SHARP ST
LH57126 57C128FB
SIGNETICS ST
27HC128 57C128FB
TI ST
TMS27C128 57C128FB
TOSHIBA ST
TMM27128` 57C128FB
TMM27256 57C256F

В следующих выпусках журнала будут рассмотрены и другие виды микросхем памяти ST.

Литература:

  1. Data sheet M27C320, STMicroelectronics, 2000

Микросхемы разного назначения применяются в составе электроники современной техники. Огромное многообразие такого рода компонентов дополняют микросхемы памяти. Этот вид радиодеталей (среди электронщиков и в народе) зачастую называют просто – чипы. Основное назначение чипов памяти – хранение определённой информации с возможностью внесения (записи), изменения (перезаписи) или полного удаления (стирания) программными средствами. Всеобщий интерес к чипам памяти понятен. Мастерам, знающим как программировать микросхемы памяти, открываются широкие просторы в области ремонта и настройки современных электронных устройств.

Микросхема памяти — это электронный компонент, внутренняя структура которого способна сохранять (запоминать) внесённые программы, какие-либо данные или одновременно то и другое.

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

Следует отметить: чипы памяти всегда являются неотъемлемым дополнением микропроцессоров – управляющих микросхем. В свою очередь микропроцессор является основой электроники любой современной техники.

Набор электронных компонентов на плате современного электронного устройства. Где-то среди этой массы радиодеталей приютился компонент, способный запоминать информацию

Таким образом, микропроцессор управляет , а чип памяти хранит сведения, необходимые микропроцессору.

Программы или данные хранятся в чипе памяти как ряд чисел — нулей и единиц (биты). Один бит может быть представлен логическими нулем (0) либо единицей (1).

В единичном виде обработка битов видится сложной. Поэтому биты объединяются в группы. Шестнадцать бит составляют группу «слов», восемь бит составляют байт — «часть слова», четыре бита — «кусочек слова».

Программным термином для чипов, что используется чаще других, является байт. Это набор из восьми бит, который может принимать от 2 до 8 числовых вариаций, что в общей сложности даёт 256 различных значений.

Для представления байта используется шестнадцатеричная система счисления, где предусматривается использование 16 значений из двух групп:

  1. Цифровых (от 0 до 9).
  2. Символьных (от А до F).

Поэтому в комбинациях двух знаков шестнадцатеричной системы также укладываются 256 значений (от 00h до FFh). Конечный символ «h» указывает на принадлежность к шестнадцатеричным числам.

Организация микросхем (чипов) памяти

Для 8-битных чипов памяти (наиболее распространенный тип) биты объединяются в байты (8 бит) и сохраняются под определённым «адресом».

По назначенному адресу открывается доступ к байтам. Вывод восьми битов адреса доступа осуществляется через восемь портов данных.


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

В статье описаны микросхемы флэш-памяти объемом 4 Гбита K9K4G08Q0M-YCB0/YIB0, K9K4G16Q0M- YCBO/YIBO, K9K4G08U0M- YCBO/YIBO, K9K4G16U0M-YCB0/YIB0. Эти микросхемы используются в качестве энергонезависимой памяти в бытовых, промышленных и компьютерных устройствах. В цифровых видео- и фотокамерах, диктофонах и автоответчиках эти микросхемы используются в качестве памяти для изображения и звука в составе твердотельных флэш-дисков.

Микросхемы флэш-памяти разделяются на группы по напряжению питания и архитектуре (табл. 1). В табл. 2 представлено назначение выводов микросхем флэш-памяти.

Таблица 1

Таблица 2

№ выводов Обозначение вывода (тип микросхемы) Назначение выводов
29-32; 41-44 I/O(0-7) (K9K4G08X0M-Y) Ввод/вывод данных. Выводы используются для ввода/вывода адресов ячеек, данных или команд в течение циклов считывания/записи. Когда микросхема не выбрана, или обращение к выводам запрещено, они переводятся в состояние высокого импеданса
26, 28, 30, 32, 40, 42, 44, 46, 27, 29, 31, 33, 41, 43, 45, 47 I/0(0-15) (K9K4G16X0M-Y)
16 CLE Разрешение фиксации команды. Высокий уровень сигнала на этом выводе переключает мультиплексоры на входах I/O по направлению регистра команд. Запись команды в регистр производится по фронту сигнала WE
17 ALE Разрешение фиксации адреса. Высокий уровень сигнала на этом входе переключает мультиплексоры на входах I/O по направлению адресного регистра. Загнись команды в регистр производится по фронту сигнала WE
9 СЕ Выбор микросхемы. Низкий уровень на входе разрешает операцию чтения данных, а высокий, при отсутствии каких-либо операций, переводит микросхему в дежурный режим. Во время операций записи/стирания, высокий уровень на этом входе игнорируется
8 RE Разрешение чтения. Вход управляет последовательным выводом данных, когда активна передача данных на шину ввода/вывода. Данные действительны после спада сигнала RE и некоторого нормированного времени выборки. Сигнал RE также увеличивает внутренний счетчик адреса столбца на единицу
18 WE Разрешение записи. Вход управляет записью в порт ввода/вывода. Команды, адрес и данные фиксируются по фронту импульса WE
19 WP Блокировка записи. Выход обеспечивает защиту от случайной записи/стирания во время включения питания. Внутренний генератор программирующего напряжения блокирован, когда на выводе WP активный низкий уровень
7 R/B Свободно/занято. Выход R/B указывает состояние микросхемы. Низкий уровень указывает, что выполняется операция записи, стирания или чтения с произвольной выборкой, высокий уровень устанавливается после завершения этих операций. Этот выход с открытым стоком не переходит к состоянию высокого импеданса, когда микросхема не выбрана, или когда выходы заблокированы
38 PRE Разрешение чтения при включении питания. Выход PRE управляет операцией авточтения, выполняемой при включении питания. Авточтение при включении питания разрешено, если вывод PRE подключен к выводу VCC
12 VCC Напряжение питания
13 VSS Общий

Микросхемы K9K4GXXX0M имеют емкость 4 Гбита с резервом 128 Мбит (фактическая емкость составляет 4 429 185 024 бита) и архитектуру 512 Мбит х 8 или 256 Мбит х 16 с надежностью до 1 млн. циклов записи/стирания. 8-разрядные микросхемы организованы в 2112 х 8 страниц, а 16-разрядные - в 1056 х 16 столбцов. Во всех микросхемах есть резервные биты, располагающиеся в 128 строках с адресами 2048-2111 у 8-разрядных микросхем, или в 64 столбцах с адресами 1024-1055 - у 16-разрядных. Для организации передачи данных в течение операции чтения/записи страницы между ячейками памяти и портами ввода-вывода у этих микросхем имеются последовательно связанные друг с другом регистры данных размером 2112 байт для 8-разрядной, или 1056-словный для - 16-разрядной микросхемы и регистры кэша соответствующего объема. Массив памяти строится из 32 связанных ячеек, находящихся на разных страницах и объединенных структурой И-НЕ. 32 ячейки, объединяющие 135168 структур 2И-НЕ и расположенные на 64 страницах, составляют блок. Совокупность 8- или 16-разрядных блоков составляет массив памяти.

Операция чтения выполняется постранично, в то время как операция стирания - только поблочно: 2048 отдельно стираемых блоков пс 128 Кбайт (для 8-разрядных микросхем), или блоков по 64 Кслов (для 16-разрядных микросхем). Стирание отдельных битов невозможно.

Запись страницы в микросхемы выполняется за 300 мкс, стирание - за 2 мс на блок (128 Кбайт - для 8-разрядных, или на 64 Кслов - для 16-разрядных микросхем). Байт данных считывается со страницы за 50 нc.

Для записи и контроля данных в микросхемах имеется встроенный контроллер, обеспечивающий весь процесс, включая, если требуется, повторение операций внутренней проверки и разметки данных. У микросхем K9K4GXXX0M реализована система обеспечения проверки информации с исправлением ошибок и выбраковкой ошибочных данных е реальном времени.

Микросхемы имеют 8 или 16 мультиплексных адресов ввода/вывода. Такое решение резко уменьшает число задействованных выводов, и позволяет проводить последующие модернизации устройств, не увеличивая их размеров. Ввод команд, адреса и данных производится при низком уровне на выводе СЕ по спаду сигнала WE через одни и те же ножки ввода/вывода. Вводимая информация записывается в буферные регистры по фронту сигнала WE. Сигналы разрешения записи команды (CLE) и разрешения записи адреса (ALE) используются, чтобы мультиплексировать команду и адрес соответственно через одни и те же ножки ввода/вывода.

Таблица 3

* Произвольный ввод/вывод данных возможен в пределах одной страницы

В табл. 3 показаны команды управления микросхем. Подача на входы других, не перечисленных в таблице, шестнадцатеричных (HEX) кодов команд, ведет к непредсказуемым последствиям, и поэтому запрещена.

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

Выбраковка блоков

Блоки памяти в микросхемах K9K4GXXX0M определяются как недопустимые, если содержат один иль более недопустимых битов, однозначность чтения которых не гарантируется. Информация из недопустимых блоков трактуется как «недопустимая информация блока». Микросхемы с недопустимыми блоками не отличаются по статическим и динамическим характеристикам и имеют тот же самый качественный уровень, как и микросхемы со всеми правильными блоками. Недопустимые блоки не влияют на работу нормальных блоков, потому что они изолировань от разрядной и общей шины питания транзистором выбора. Система спроектирована таким образом, что у недопустимых блоков блокируются адреса. Соответственно, к некорректным битам попросту нет доступа.

Идентификация недопустимого блока

Содержимое всех ячеек микросхемы (кроме тех, где хранится информация о недопустимых блоках) с адресами FFh для 8-разрядных и FFFFh для 16-разрядных, может быть стерта. Адреса недопустимых блоков, находящихся в резервной области массива памяти, определяет первый байт для 8-разрядных микросхем или первое слово - для 16-разрядных. Производитель гарантирует, что или 1-я или 2-я страница каждого блока с адресами недопустимых ячеек имеют в столбцах с адресами 2048 (для 8-разрядных) или 1024 (для 16-разрядных) данные, отличные, соответственно, от FFh или FFFFh. Так как информация о недопустимых блоках также является стираемой, то в большинстве случаев стирания адресов бракованных блоков их восстановить невозможно. Поэтому в системе должен быть заложен алгоритм, способный создать таблицу недопустимых блоков, защищенную от стирания и основанную на первоначальной информации о бракованных блоках.

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

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

Микросхемы флеш-памяти eeprom серии 25xxx широко применяются в микроэлектронике. В частности, в современных телевизорах и материнских платах в 25xxx хранится прошивка биоса. Перепрошивка 25xxx осуществляется по интерфейсу SPI, в чем и заключается отличие этих микросхем от флеш-памяти семейства 24xxx, которые шьются по i2c(квадратная шина).

Соответственно, для чтения/стирания/записи 25xxx нужен SPI-программатор. Одним из самых дешевых вариантов программаторов для этой цели является USBasp, который стоит смешные деньги- с доставкой всего около 2$ на ебее. В свое время я купил себе такой для программирования микроконтроллеров. Теперь мне понадобилось прошить не микроконтроллер, а SPI-флеш и решено было им воспользоваться.

Забегая вперед скажу, что прошивка от Tifa работает, микросхемы 25xxx шьются. Кстати, кроме 25xxx, модифицированный программатор рассчитан на работу с 24xxx и Microwire.

1. Перепрошивка USBasp

Сначала нужно замкнуть контакты J2:

Лично я не просто замкнул, а впаял в контакты переключатель:

При замкнутых контактах J2 (это у меня переключатель в положении вправо) USBasp переходит в режим готовности к перепрошивке.

Сам себя USBap перепрошить не может, поэтому нужен еще один программатор. USBasp как бы оказывается в положении хирурга, который не может сам себе вырезать аппендикс и просит друга помочь. Для перепрошивки USBasp я использовал самодельный программатор AVR910 , но для одного раза можно по-быстрому за пару минут спаять программатор «5 проводков» , который состоит всего-лишь из одного разъема LPT и 5 резисторов.

Подключаем программатор к USBasp:



Теперь идем на форум альтернативной прошивки от Tifa, в самом верхнем посте находим и качаем архив с последней прошивкой и ПО.

Находим там файл mega8.hex, это и есть альтернативная прошивка для USBasp.

Запускаем CodeVisionAvr (я использую версию 2.0.5), выставляем настройки программатора: Settings-> Programmer.

Устанавливаем настройки записи: Tools->Chip programmer. Выбираем чип Atmega8L, именно такой стоит на USBasp. Фьюзы не выставляем- те, что надо, уже прошиты в чипе. Остальные настройки оставляем по умолчанию.

Стираем старую программу USBasp: Program-> Erase chip.

Открываем файл прошивки mega8.hex: File-> Load flash.

Перепрошиваем USBasp: Program-> Flash.

Если прошла запись и не выдало сообщение об ошибке, значит альтернативная прошивка благополучно прошита в USBasp. Теперь USBasp может не только шить AVR-микроконтроллеры, как раньше, но еще и работать с флеш-памятью. Размыкаем контакты J2, что бы USBasp снова перешел в режим программатора.

Теперь проверим, видит ли Windows 7 x86 этот программатор. Вставляем USBasp в USB и… система пишет «USBasp не удалось найти драйвер». Понятно, нужно установить драйвер. Но драйверов в скачанном на форуме нет, их нужно скачать на родном сайте USBasp , оригинальные драйвера подходят и для модифицированного программатора. Скачали, установили, Win7 увидела программатор, все ок. Впрочем, я программирую микроэлектронику на ноутбуке с WinXP, она тоже после установки драйверов видит программатор.

2. Площадка для подключения USBasp к микросхеме 25xxx DIP

Теперь нужно подготовить площадку для программирования 25xxx. Я это сделал на макетной плате по такой схеме:

3. Прошивка микросхем 25xxx через USBasp

Для прошивки 25xxx через модифицированный USBasp используется программа AsProgrammer, которая тоже есть в .

Для примера, поработаем с микросхемой Winbond 25×40. Запускаем AsProgrammer, ставим режим работы SPI и выбираем тип микросхемы: Микросхема-> SPI-> Winbond->…

… и видим, что W25X40 в списке нет. Что же, тогда заполним параметры микросхемы вручную. Находим мануал на Winbond 25X40 и там на странице 4 видим такие параметры:

Эти параметры вносим сюда:

Подключаем USBasp к компьютеру и микросхеме Winbond 25×40:

С помощью кнопок «прочитать», «записать», «стереть», проверяем работу программатора:

Только нужно учесть, что перед тем, как что-то записать в микросхему, сначала нужно выставить: Настройки-> Проверка записи, что бы после записи прошивки в микросхему была выполнена проверка на соответствие того, что писали тому, что в итоге записали. Это немаловажная вещь, потому что если прошивку делать не на очищенный чип, в него запишется чёрт-те что. Поэтому сначала нужно стереть микросхему, а затем только проводить ее запись.

Благодаря прошивке от Tifa дешевый китайский программатор USBasp теперь умеет работать с микросхемами flash-памяти eeprom 25xxx. Теоретически еще может работать c 24xxx и Microwire, но я проверил только работу с 25xxx.

UPD1:
Оказывается, такую же прошивку можно записать и в программатор AVR910. Тогда он тоже будет работать с flash-памятью 25xxx:

Микросхемы репрограммируемой постоянной памяти с электрическим стиранием данных, выполненные по технологии 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Н - устройства (идентификаторы некоторых микросхем приведены в таблице). В этом же режиме, но по другим адресам, в некоторых случаях можно получить дополнительную информацию, например, о состоянии аппаратной защиты от записи.

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

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

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

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

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

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

Если необходимо запрограммировать 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-микросхем. По стандарту JEDEC каждая команда начинается записью кода ОААН по адресу 5555Н. Далее записывают код 55Н по адресу 2АААН и в заключение - код выполняемой операции по адресу 5555Н.

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

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

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

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

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

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

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

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

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

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

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

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

В микросхемы фирмы 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.

Читайте и пишите полезные



gastroguru © 2017