Искусство схемотехники. Том 3 (Изд.4-е) - Хоровиц Пауль. Страница 27
Многие однокристальные микроконтроллеры содержат в том же корпусе несколько кбайт ПЗУ и ОЗУ, так что законченный прибор может обходиться без дополнительных микросхем памяти. В большинстве случаев микроконтроллерное семейство включает варианты, требующие внешнего ПЗУ, а иногда и варианты со встроенным РПЗУ (рис. 11.33).
Рис. 11.33. Микроконтроллер с РПЗУ. а — 8-разрядный микроконтроллер с контактами для установки РПЗУ; б — 8-разрядный микроконтроллер со встроенным РПЗУ.
Это дает возможность при разработке прибора использовать вариант с РПЗУ (или внешним ПЗУ), куда можно записать программу, при подготовке же партии приборов обратиться к более дешевым контроллерам с масочным программированием. Другим типом ПЗУ с однократным программированием являются ПЗУ с плавкими перемычками. При выпуске в них все биты установлены, и для сброса требуемых бит ПЗУ надо подвергнуть действию электрического тока. В качестве типичного примера можно привести микросхему Harris НМ6617, КМОП ППЗУ (программируемое постоянное запоминающее устройство) объемом 2Кx8. ППЗУ с плавкими перемычками выпускаются также на базе биполярной (ТТЛ) технологии.
ЭРПЗУ. Электрически стираемые программируемые ПЗУ могут быть выборочно стерты и электрически репрограммированы прямо в той же схеме, где они используются в качестве памяти. Такого рода ПЗУ идеально подходят для хранения констант конфигурации, параметров калибровки и прочей информации, которую нельзя записать в ПЗУ до включения компьютера. ЭРПЗУ, как и РПЗУ, используют технологию МОП с плавающим затвором.
Первые ЭРПЗУ требовали повышенных напряжений и длительной процедуры программирования. Современные микросхемы используют одно напряжение питания +5 В и работают практически так же, как и статические ОЗУ-другими словами, вы можете репрограммировать любой байт с помощью одного цикла записи на магистрали. В микросхеме ЭРПЗУ предусмотрены внутренние цепи для генерации повышенного программирующего напряжения, а внутренняя логика фиксирует данные и генерирует программирующую последовательность длительностью несколько миллисекунд, в которой на время процесса устанавливается флаг BUSY' или в цикле чтения образуются инвертированные данные, чтобы показать, что идет процесс записи. Некоторые ЭРПЗУ реализуют оба этих протокола, обычно называемые "RDY-BUSY" и "DATA'-опрос". Сопряжение с этими ПЗУ осуществляется просто - достаточно подключить их так же, как обычные ОЗУ и использовать линию BUSY' для возбуждения прерываний (либо считывать состояние BUSY' или данных, и использовать его как флаг состояния) (см. рис. 11.34).
Рис. 11.34. ЭРПЗУ.
Протокол DATA' — опроса удобен тем, что ЭРПЗУ можно вставить в стандартный разъем для ОЗУ без каких-либо схемных изменений (разумеется, в ваши программы придется включить строки анализа считываемых назад данных и ожидания их совпадения с тем, что вы записываете). Поскольку запись в ЭРПЗУ выполняется относительно редко, фактически в прерываниях по линии RDY/BUSY' необходимости не возникает.
КМОП ЭРПЗУ выпускаются в виде микросхем с емкостью 2Кx8, 8Кx8 и 32Кx8 по цене примерно 10–50 долл. Время доступа (200–300 нc) и время программирования (2 мс/байт при использовании внутреннего усовершенствования алгоритма) сравнимы с показателями стандартного РПЗУ. ЭРПЗУ, как и РПЗУ, допускают ограниченное число циклов чтения/записи. Хотя производители избегают называть конкретные цифры, можно встретить упоминание о 100000 циклах чтения/записи при 25 °C.
Замечание. Хотя ЭРПЗУ уникальны в том отношении, что допускают репрограммирование в рабочей схеме, их также можно запрограммировать и отдельно от места использования, в программаторе для РПЗУ. Это делает их очень удобными для разработки встроенного программного обеспечения, так как вам не надо ждать полчаса, пока РПЗУ со старой программой прожарится под ультрафиолетовым облучателем.
Имеются два любопытных варианта ЭРПЗУ. Фирмы National, Xicor и др. выпускают маленькие микросхемы ЭРПЗУ в мини-DIP-кopпycax с 8 выводами. Емкость этих схем может составлять от 16x16 до 2Кx8 бит; они работают в режиме последовательного доступа и оснащаются тактовым входом и единственной линией данных. Эти микросхемы трудно использовать без микропроцессора; однако в приборах с микропроцессорным управлением они очень удобны для хранения небольшого количества установочных параметров и проч. Та же фирма Xicor выпускает «электрически стираемый потенциометр (ЕЕРОТ)», остроумное применение электрически стираемой памяти, в которой хранится положение «цифрового контакта». В эту микросхему встроена цепочка из 99 равных по величине резисторов, причем положение отвода от них, устанавливаемое программно, сохраняется в энергонезависимой памяти, входящей в ту же микросхему. Нетрудно представить себе прикладные задачи, в которых желательна автоматическая или дистанционная калибровка некоторого инструмента без механической настройки ручек управления.
Недавно появившаяся модификация ЭРПЗУ, называемая моментальной (flash), сочетает высокую плотность РПЗУ с репрограммированием в рабочей схеме, присущим ЭРПЗУ. Однако моментальные РПЗУ, как правило, не позволяют стирать отдельные байты, как это можно делать с обычными ЭРПЗУ. Так, моментальное ЭРПЗУ Intel допускает только полное стирание (как и РПЗУ), в то время как в микросхеме фирмы Seeq предусмотрено стирание либо посекторное (512 байт), либо целиком. Далее, большинство доступных сейчас моментальных ЭРПЗУ требуют дополнительного отключаемого источника питания +12 В на время стирания/записи, что является слишком дорогой ценой, если вспомнить, что обычные ЭРПЗУ питаются от единственного источника +5 В. Моментальные ЭРПЗУ могут выдерживать от 100 до 10000 программных циклов. Технология производства ППЗУ продолжает развиваться, и мы с любопытством ожидаем, что она нам еще преподнесет; ждите и вы!
Энергонезависимые ОЗУ. РПЗУ удобны для применения в качестве энергонезависимых ПЗУ, однако часто возникает необходимость иметь энергонезависимую оперативную память. Для этого можно использовать ЭРПЗУ, однако для них характерен очень длинный (10 мс) цикл записи (и ограниченное число циклов чтения/записи). Имеются две возможности достичь характерного для ОЗУ времени чтения/записи (100 нc) при неограниченном числе циклов чтения/записи: использовать либо статическое КМОП ОЗУ с резервным батарейным питанием, либо необычную микросхему "NOVRAM" фирмы Xicor, в которой объединены статическое ОЗУ и ЭРПЗУ.
Ранее уже обсуждался вопрос о резервном батарейном питании ОЗУ, которое убивает двух зайцев разом: низкая цена и высокая скорость чтения/записи ОЗУ сочетаются с энергонезависимостью ПЗУ. Разумеется, в этом случае следует использовать КМОП ОЗУ с известным значением критического тока. Некоторые фирмы выпускают «энергонезависимые ОЗУ», размещая в обычном DIP-корпусе вместе с микросхемой КМОП ПЗУ литиевую батарейку и логические схемы переключения питания. В качестве примера можно указать микросхемы фирмы Dallas Semiconductor DS1225 (8Кx8) и DS1230 (32Кx8); эта фирма также выпускает линейку «интеллектуальных разъемов», содержащих батарейку и логические схемы, с помощью которых обычные ОЗУ как по мановению волшебной палочки становятся энергонезависимыми. Учтите, что образованное таким образом энергонезависимое ОЗУ, строго говоря, не бессмертно; срок службы батарейки, а следовательно, и данных, около 10 лет. Как и для обычного статического ОЗУ, здесь нет ограничений на выдерживаемое памятью число циклов чтения/записи.