Сколько раз можно изменить содержимое памяти программ на основе пзу масочного типа
В МК используется три основных вида памяти. Память программ МК представляет собой постоянную память (ПЗУ), предназначенную для хранения программного кода (команд) и констант, содержимое которой в ходе выполнения программы не изменяется. Память данных МК – вид памяти, предназначенный для хранения переменных в процессе выполнения программы и представляющий собой ОЗУ. Регистры МК – это вид памяти, включающий в себя внутренние регистры процессора и регистры, которые служат для управления периферийными устройствами (регистры специальных функций).
Основным свойством памяти программ является ее энергонезависимость, то есть возможность хранения программы при отсутствии питания. С точки зрения пользователей МК следует различать следующие типы энергонезависимой памяти программ.
1. ПЗУ масочного типа – mask-ROM. МК с таким типом памяти программ следует использовать только после достаточно длительной опытной эксплуатации. Основным недостатком данной памяти является необходимость значительных затрат на создание нового комплекта фотошаблонов и их внедрение в производство. Обычно такой процесс занимает 2-3 месяца и является экономически выгодным только при выпуске десятков тысяч приборов. ПЗУ масочного типа обеспечивают высокую надежность хранения информации по причине программирования в заводских условиях с последующим контролем результата.
2. ПЗУ, программируемые пользователем, с ультрафиолетовым стиранием – EPROM (Erasable Programmable ROM). ПЗУ данного типа программируются электрическими сигналами и стираются с помощью ультрафиолетового облучения. МК с EPROM допускают многократное программирование и выпускаются в керамическом корпусе с кварцевым окошком для доступа ультрафиолетового света. Такой корпус стоит довольно дорого, что значительно увеличивает стоимость МК. Для уменьшения стоимости МК с EPROM его заключают в корпус без окошка (версия EPROM с однократным программированием).
3. ПЗУ, однократно программируемые пользователем – OTPROM (One-Time Programmable ROM). Представляют собой версию EPROM, выполненную в корпусе без окошка для уменьшения стоимости МК на его основе. Сокращение стоимости при использовании таких корпусов настолько значительно, что в последнее время эти версии EPROM часто используют вместо масочных ПЗУ.
4. ПЗУ, программируемые пользователем, с электрическим стиранием – EEPROM (Electrically Erasable Programmable ROM). Применение EEPROM позволяет стирать и программировать МК, не снимая его с платы. Таким способом можно производить отладку и модернизацию программного обеспечения. Это дает огромный выигрыш на начальных стадиях разработки микроконтроллерных систем или в процессе их изучения, когда много времени уходит на поиск причин неработоспособности системы и выполнение циклов стирания-программирования памяти программ. По цене EEPROM занимают среднее положение между OTPROM и EPROM. Технология программирования памяти EEPROM допускает побайтовое стирание и программирование ячеек. Несмотря на очевидные преимущества EEPROM, только в редких моделях МК такая память используется для хранения программ. Связано это с тем, что, во-первых, EEPROM имеют ограниченный объем памяти. Во-вторых, почти одновременно с EEPROM появились Flash-ПЗУ, которые при сходных потребительских характеристиках имеют более низкую стоимость.
5. ПЗУ с электрическим стиранием типа Flash – Flash-ROM. Функционально Flash-память мало отличается от ЕЕPROM. Основное различие состоит в способе стирания записанной информации. В памяти EEPROM стирание производится отдельно для каждой ячейки, а во Flash-памяти стирать можно только целыми блоками. Если необходимо изменить содержимое одной ячейки Flash-памяти, потребуется перепрограммировать весь блок. Упрощение декодирующих схем по сравнению с EEPROM привело к тому, что МК с Flash-памятью становятся конкурентоспособными по отношению не только к МК с однократно программируемыми ПЗУ, но и с масочными ПЗУ также.
Правильные ответы выделены зелёным цветом.
Все ответы: Разъясняются основные понятия микропроцессорной техники, рассматриваются принципы функционирования микропроцессорных систем, предлагаются методы проектирования микропроцессорных систем на основе микроконтроллеров.
В чем главное преимущество микропроцессорной системы?
Сколько видов сброса реализовано в микроконтроллерах подгруппы PIC16F8Х?
Какая сфера применения является наиболее типичной для цифровых устройств на микроконтроллерах?
В каком порядке следуют типы информации в ассемблерной строке?
Какая шина персонального компьютера наиболее быстрая?
В чем основное преимущество шины ISA перед другими шинами компьютера?
Когда компьютер начинает цикл обмена по интерфейсу Centronics?
Какая из приведенных операций не требует проведения цикла обмена информацией?
К какой группе команд относятся команды работы со стеком?
Какие преимущества дает модульная организация микроконтроллера?
(3) создание разнообразных по структуре МК в пределах одного семейства
Какое значение сигнала считывается при вводе данных с порта микроконтроллера?
(3) логическое " И " над содержимым триггера данных и значением сигнала на внешнем выводе МК
Какой модуль микроконтроллера прекращает работу в режиме ожидания?
Какой формат команд используется в семействе микроконтроллеров среднего уровня PIC16CXXX?
Какой режим обмена предполагает отключение процессора?
Можно ли стереть бит защиты программного кода в микроконтроллерах подгруппы PIC16F8Х?
(2) можно, только если знать идентификационный код МК
(3) только вместе с содержимым памяти программ и данных МК
(2) средство для исполнения разработанной программы на программно-логической модели МК
(3) программа для оптимизации размещения данных в памяти МК
Какая система счисления принимается по умолчанию в ассемблере MPASM ?
Какой процессор ПК был первым полностью 32-разрядным?
Какая операция на магистрали ISA не требует обмена сигналами?
(5) через равные промежутки времени, начиная от стартового бита
Какой тип обмена обеспечивает гарантированную передачу информации любому исполнителю?
Для чего нужен селектор адреса в составе модуля памяти?
(4) для выделения адресов этого модуля в адресном пространстве системы
Какой метод адресации предполагает размещение операнда внутри выполняемой программы?
Что отличает процессоры с RISC-архитектурой от процессоров с CISC–архитектурой?
(2) возможность параллельного исполнения нескольких команд
При каких условиях триггер переполнения таймера/счетчика генерирует запрос на прерывание микроконтроллера?
(4) при переполнении таймера/счетчика, если прерывания от таймера разрешены
Какой способ тактирования микроконтроллера обеспечивает наивысшую стабильность частоты?
Что дает двухступенчатый конвейер исполнения команд в PIC-микроконтроллерах?
(1) возможность одновременной выборки и исполнения команд
(3) возможность параллельного исполнения двух команд
(4) возможность динамического предсказания переходов
Микропроцессорная система какого типа не обеспечивает управление внешними устройствами?
(3) все типы обеспечивают управление внешними устройствами
Что может использоваться в качестве регистра назначения в системе команд микроконтроллеров подгруппы PIC16F8Х?
(1) рабочий регистр W или регистр, используемый в команде
(4) средство для крепления платы развития в устройстве
(1) она дополнительно увеличивает объем системной памяти
(4) она ускоряет обмен процессора с системной памятью
(5) она ускоряет обмен процессора с устройствами ввода-вывода
На основе чего организован внутренний календарь ПК?
Какие адресные разряды участвуют в цикле регенерации памяти?
(3) на шине PCI возможен синхронный и асинхронный обмен
При каком типе прерываний число различных прерываний может быть больше?
(3) максимальное число прерываний постоянно при любом типе прерываний
(5) внешнее устройство, с которым осуществляется сопряжение
Какой регистр определяет адрес текущей выполняемой команды?
Какая память не изменяет своего содержимого в ходе выполнения программы?
Для чего в первую очередь предназначен модуль выходного сравнения микроконтроллера?
(1) для формирования временных интервалов заданной длительности
(3) для измерения интервалов времени между событиями на выходах МК
Что используется в качестве простейшего устройства аналогового ввода информации в микроконтроллере?
Для каких целей используются регистры специальных функций PIC-микроконтроллера?
Какие команды микроконтроллеров подгруппы PIC16F8Х используются для организации условных переходов в программе?
(1) команды DECFSZ f , d , INCFSZ f , d , BTFSC f , b и BTFSS f , b
Для чего используется файл инициализации .INI при работе симулятора MPSIM ?
(2) для задания всех используемых в программе параметров
Каков типичный объем памяти данных микроконтроллера?
Где хранится содержимое младшего байта счетчика команд микроконтроллеров подгруппы PIC16F8Х?
Какова разрядность портов ввода/вывода микроконтроллеров подгруппы PIC16F8Х?
Какова разрядность таймера/счетчика TMR0 микроконтроллеров подгруппы PIC16F8Х?
Когда происходит инкремент таймера/счетчика в режиме счетчика без пределителя в микроконтроллерах подгруппы PIC16F8Х?
Какие регистры управляют процессом чтения и записи энергонезависимой памяти данных микроконтроллеров подгруппы PIC16F8Х?
Разрядность какой шины прямо определяет быстродействие микропроцессорной системы?
От какого генератора работает сторожевой таймер в микроконтроллерах подгруппы PIC16F8Х?
(4) от собственного внутреннего кварцевого генератора
Что включает в себя понятие «работа в реальном времени»?
(1) максимально достижимое на данный момент быстродействие
(2) обеспечение реакции на внешние события в течение определенного интервала времени
(3) возможность выдачи сигналов строго определенной длительности
(4) включение и выключение устройства по сигналам точного времени
Какова максимальная длина ассемблерной строки ассемблера MPASM ?
К какой шине персонального компьютера подключается больше всего устройств?
Какая функция не выполняется программой из ROM BIOS?
(4) задание текущих базовых параметров аппаратуры компьютера
Какой сигнал используется для организации асинхронного обмена по магистрали ISA ?
Как компьютер узнает об отсутствии бумаги в принтере при использовании Centronics?
(3) компьютер посылает специальный запрос о наличии бумаги
(5) принтер выдает особую комбинацию нескольких сигналов
Какой тип обмена обеспечивает более высокую скорость передачи информации?
(4) синхронный обмен с возможностью асинхронного обмена
(1) для хранения флагов результатов выполненных операций
(4) для определения режима работы микропроцессорной системы
Какой метод адресации наиболее удобен для последовательной обработки массивов данных?
Для чего используются команды программных прерываний?
Какие возможности отсутствуют при использовании микроконтроллеров с «закрытой» архитектурой?
(2) возможность подключения памяти программ и данных по параллельным магистралям
(3) возможность использования всей совокупности системы команд МК
Какой тип логической функции позволяет реализовать объединение «квазидвунаправленных» выходов микроконтроллера?
Как зависит ток потребления микроконтроллера от напряжения питания?
Какая архитектура используется в PIC-микроконтроллерах?
Какой режим обмена обеспечивает наибольшую скорость передачи информации?
Где хранятся биты конфигурации микроконтроллеров подгруппы PIC16F8Х?
(1) программа для контроля состояния внутренних регистров МК
(2) аппаратное устройство для реализации пошагового режима работы МК
(3) программно-аппаратное средство для замены МК в реальной схеме
Какая фирма является основным поставщиком процессоров для персональных компьютеров?
Какой тип прерываний требует более сложной аппаратуры устройства-исполнителя?
(3) запись и чтение могут следовать в произвольном порядке
(4) содержимое стековой памяти не меняется за время работы системы
(5) стековая память ускоряет работу памяти векторов прерываний
Каково разделение функций между внутренними регистрами процессора?
(3) половина регистров используется для данных, половина — для адресации
(5) одни регистры специализированные, другие — универсальные
Каково типичное соотношение между требуемыми объемами памяти программ и данных микроконтроллера?
(1) объем памяти данных больше объема памяти программ
(2) объем памяти данных меньше объема памяти программ
(3) объем памяти данных равен объему памяти программ
Для чего в первую очередь предназначен модуль входного захвата микроконтроллера?
(3) для измерения временных интервалов между событиями на входах МК
(4) для выдачи импульсов фиксированной продолжительности
Зачем нужна задержка времени при запуске тактового генератора микроконтроллера?
(2) для минимизации энергопотребления при запуске МК
(4) для исключения выдачи ложных сигналов на выходах МК
Сколько тактов занимает выполнение одного командного цикла PIC-микроконтроллером?
Какая архитектура обеспечивает более высокое быстродействие?
Какие команды микроконтроллеров подгруппы PIC16F8Х могут изменить все биты состояния?
(3) команды ADDWF f , d , SUBWF f , d , ADDLW k и SUBLW k
(1) устройство для расширения объема внешней памяти МК
(2) устройство для «вскрытия» содержимого памяти программ МК
(3) схема для сопряжения МК с внешней памятью программ
(4) когда системная память имеет малое быстродействие
(5) когда объем системной памяти компьютера очень большой
(1) при нажатии — коды символов, соответствующих клавишам
(3) при нажатии и отпускании — коды символов, соответствующих клавишам
(5) при отпускании — коды символов, соответствующих клавишам
(1) распределение ресурсов с помощью переключателей на плате
(2) распределение ресурсов с помощью программы-драйвера платы
Какой параметр слабее других влияет на процесс обмена сигналами по магистрали?
(3) положительная или отрицательная логика шины данных
(5) неодновременное выставление сигналов на линиях шины
Какое устройство не относится к устройствам ввода-вывода?
Какой регистр процессора 8086/8088 определяет адрес ввода/вывода?
Сколько раз можно изменить содержимое памяти программ на основе ПЗУ масочного типа?
(3) один раз на стадии программирования пользователем
Какой параметр выходного сигнала изменяется при широтно-импульсной модуляции?
АЦП какого типа чаще всего используют в составе микроконтроллера?
Где хранится информация о выборе банка памяти данных микроконтроллеров подгруппы PIC16F8Х?
Какие действия выполняет команда CLRWDT системы команд микроконтроллеров подгруппы PIC16F8Х?
(4) сбрасывает в 0 содержимое сторожевого таймера и пределителя (если он используется)
Для чего используется файл стимуляции .STI при работе симулятора MPSIM ?
(2) для задания контрольных точек останова при симуляции
Чем ограничена глубина вложений циклов вызова подпрограмм в микроконтроллере?
Где хранится указатель стека микроконтроллеров подгруппы PIC16F8Х?
Где хранится информация о направлении передачи информации портов ввода/вывода микроконтроллеров подгруппы PIC16F8Х?
Какой бит определяет режим работы таймера/счетчика микроконтроллеров подгруппы PIC16F8Х?
Какой бит определяет режим использования предделителя микроконтроллеров подгруппы PIC16F8Х?
Сколько источников запросов прерываний имеют микроконтроллеры подгруппы PIC16F8Х?
Структура какой шины влияет на разнообразие режимов обмена?
В какое состояние переходит счетчик команд микроконтроллеров подгруппы PIC16F8Х после сброса?
Что включает в себя понятие «закрытая архитектура» микроконтроллера?
(3) отсутствие возможности изменения тактовой частоты МК
(4) реализация большинства функций устройства внутренними средствами
(1) последовательность любых допустимых ASCII символов, заключенная в двойные кавычки и длиной до 132 колонок
(2) последовательность любых допустимых ASCII символов, заключенная между тире, длиной в пределах 80 колонок
(3) последовательность любых допустимых ASCII символов, заключенная между точками с запятой, длиной до 132 колонок
(4) последовательность любых допустимых ASCII символов, заключенная в двойные кавычки, длиной в пределах 80 колонок
В микроконтроллерах используется три основных вида памяти – это память программ, память данных и регистры. Память программ представляет собой постоянную память (ПЗУ), предназначенную для хранения программного кода (команд). Ее содержание в ходе выполнения программы не изменяется. Память данных предназначена для хранения переменных в процессе выполнения программы. Регистры МК – этот вид памяти включает в себя внутренние регистры процессора и регистры, которые служат для управления периферийными устройствами (регистры специальных функций).
Основным свойством памяти программ является ее энергонезависимость, то есть возможность хранения программы при отсутствии питания. С момента появления МК технология энергонезависимых запоминающих устройств претерпела множество изменений, которые позволили не только повысить информационную емкость, быстродействие, надежность хранения информации, но и привели к появлению принципиально новых технологий программирования памяти МК. С точки зрения пользователей МК следует различать пять типов энергонезависимой памяти программ.
1. ПЗУ масочного типа – Mask ROM. Содержание ячеек ПЗУ этого типа заносится на заводе-изготовителе МК с помощью масок и не может быть заменено или «допрограммировано». Поэтому МК с такой памятью программ следует использовать только после достаточно длительной опытной эксплуатации. Основным недостатком данной памяти является необходимость значительных затрат на создание нового комплекта фотошаблонов и их внедрение в производство. Обычно такой процесс занимает 2 – 3 месяца и является экономически выгодным только при выпуске несколько десятков тысяч приборов. Достоинством ПЗУ масочного типа является высокая надежность хранения информации по причине программирования в заводских условиях с последующим контролем качества.
2. ПЗУ, однократно программируемые пользователем – OTPROM (One-Time Programmable ROM). В незапрограммированном состоянии каждая ячейка памяти однократно программируемого ПЗУ при считывании возвращает код FFh. Программированию подлежат только те разряды, которые должны содержать «0». Если в процессе программирования некоторые разряды какой-либо ячейки памяти были установлены в «0», то восстановить в этих разрядах единичное значение уже невозможно. Поэтому рассматриваемый тип памяти и носит название «однократно программируемые ПЗУ». Технология записи информации состоит в многократном приложении импульсов повышенного напряжения к элементарным ячейкам байта памяти (т.е. к битам), подлежащим программированию. МК с однократно программируемым ПЗУ рекомендуется использовать в изделиях, выпускаемых небольшими партиями.
3. ПЗУ, программируемые пользователем с ультрафиолетовым стиранием – EPROM (Erasable Programmable ROM). ПЗУ данного типа программируются электрическим сигналами и стираются с помощью ультрафиолетового облучения. Ячейка памяти EPROM представляет собой МОП-транзистор с «плавающим» затвором, заряд на который переносится с управляющего затвора при подаче на него высокого напряжения. При этом МОП-транзистор переключается в открытое состояние, и при обращении к ячейке считывается «0». Для стирания содержимого ячейки она облучается ультрафиолетовым светом, который сообщает заряду на плавающем затворе энергию, достаточную для преодоления потенциального барьера и стекания на подложку. Этот процесс может занимать от десятков секунд до нескольких минут. Число циклов стирания/программирования ПЗУ данного типа ограничено и составляет 15-25 раз. Обычно микросхемы EPROM выпускаются в керамическом корпусе с кварцевым окошком для доступа ультрафиолетового света. МК с ПЗУ данного типа имеют высокую стоимость, поэтому их рекомендуется использовать только в опытных образцах изделий.
4. ПЗУ, программируемые пользователем с электрическим стиранием – EEPROM (Electrically Erasable Programmable ROM). Электрически программируемые и электрически стираемые ПЗУ совместили в себе положительные качества рассмотренных выше типов памяти. Максимальное число циклов стирания/программирования ПЗУ типа EEPROM в составе МК обычно равно 100000. Эта память позволяет реализовать побайтное стирание и побайтное программирование. По цене ЕEPROM занимают среднее положение между OTPROM и EPROM. Основное преимущество использования ЕEPROM заключается в том, что можно многократно стирать и программировать МК, не снимая его с платы. Таким способом можно производить отладку и модернизацию программного обеспечения. Это дает огромный выигрыш на начальных стадиях разработки микроконтроллерных устройств или в процессе их изучения, когда много времени уходит на поиск причин программ. Несмотря на очевидные преимущества, только в редких моделях современных МК такая память используется для хранения программ. Связано это с тем, что, во-первых, ПЗУ типа ЕEPROM имеют ограниченную емкость и могут использоваться в качестве резидентной памяти программ только в маловыводных МК с небольшим объемом памяти. Во-вторых, почти одновременно с ЕEPROM появились ПЗУ типа Flash, которые при сходных потребительских характеристиках имеют более низкую стоимость.
Память данных (ПД) микроконтроллеров предназначена для хранения промежуточных данных в ходе выполнения программы. В современных микроконтроллерах память данных подразделяется по выполняемым функция и способу реализации на два вида:
1) оперативная память – ОЗУ;
2) память хранения данных в EEPROM.
Оперативная память (англоязычный термин RAM) является ОЗУ статического типа, так как ячейки ее выполняются на основе триггеров. Эта память энергозависима, так как ее содержимое теряется при выключении электропитания. Достоинством статического ОЗУ является высокое быстродействие, простота управления памятью. Однако такое ОЗУ имеет существенные недостатки: большое энергопотребление и большое количество активных компонентов (транзисторов), необходимых для ее реализации. Объем оперативной памяти данных МК, как правило, невелик и составляет обычно десятки или сотни байт.
Второй вид ПД – это память хранения данных в EEPROM. Эту память можно использовать для данных, которые необходимо сохранить при выключении электропитания, а также неоперативных данных. Неоперативными данными могут быть настроечные параметры, изменяемые константы. Объем памяти хранения данных небольшой и обычно составляет несколько десятков байт. Эту память нельзя использовать в качестве оперативной. Во-первых, она является очень «медленной». Так время записи в ее ячейку составляет несколько миллисекунд. Во-вторых, она имеет ограниченное количество циклов записи-стирания.
Подобно всем МПС микроконтроллеры имеют набор регистров, которые используются для управления их ресурсами. В число этих регистров входят обычно регистры процессора (аккумулятор, регистр состояния, индексные регистры), регистры управления (управления прерываниями, таймером), регистры, обеспечивающие ввод/вывод данных (регистры данных портов, регистры управления параллельным, последовательным или аналоговым вводом/выводом). Обращение к этим регистрам может производиться различными способами, а это оказывает существенное влияние на производительность.
В МК с RISC-процессором все регистры (часто и аккумулятор) располагаются по явно задаваемым адресам. Это обеспечивает более высокую гибкость при работе процессора.
Одним из важнейших вопросов является размещение регистров в адресном пространстве МК. В некоторых МК все регистры и память данных располагаются в одном адресном пространстве. Это означает, что память данных совмещена с регистрами. Такой подход называется «отображением ресурсов МК на память».
В других МК адресное пространство устройств ввода/вывода отделено от пространства памяти. Отдельное пространство ввода/вывода дает некоторое преимущество процессорам с Гарвардской архитектурой, обеспечивая возможность считывать команду во время обращения к регистру ввода/вывода.
Статьи к прочтению:
Программирование микроконтроллеров: Урок 2. Организация памяти данных(регистры)
Похожие статьи:
Можно выделить три основных вида памяти, используемой в микроконтроллерах:
● память программ, которая представляет собой постоянную память, предназначенную для хранения программного кода и констант. Эта память не изменяет своего содержимого в процессе выполнения программы;
● память данных, предназначенная для хранения переменных (результатов) в ходе выполнения программы;
● регистровая память, состоящая из внутренних регистров микроконтроллера. Рассмотрим особенности каждого из перечисленных видов памяти.
Память программ.
Необходимость такой памяти вызвана тем, что микроконтроллер не содержит таких устройств памяти, как винчестер в компьютере, с которого загружается исполняемая программа. Поэтому код программы должен постоянно храниться в микроконтроллере.
Все типы памяти программ относятся к энергонезависимой памяти, или постоянной памяти (ПЗУ), содержимое которой сохраняется после выключения питания микроконтроллера.
В процессе выполнения программа считывается из этой памяти, а блок управления (дешифратор команд) обеспечивает ее декодирование и выполнение необходимых операций. Содержимое памяти программ не может меняться (перепрограммироваться) во время выполнения программы. Поэтому функциональное назначение микроконтроллера не может измениться, пока содержимое его памяти программ не будет стерто (если это возможно) и перепрограммировано (заполнено новыми командами).
Следует обратить внимание, что разрядность микроконтроллера (8, 16 или 32 бит) указывается в соответствии с разрядностью его шины данных.
Когда говорится, что устройство является 8–разрядным, это означает разрядность данных, которые способен обрабатывать микроконтроллер.
В Гарвардской архитектуре команды могут иметь большую разрядность, чем данные, чтобы дать возможность считывать за один такт целую команду. Например, микроконтроллеры PIC в зависимости от модели используют команды с разрядностью 12, 14 или 16 бит. В микроконтроллерах AVR команда всегда имеет разрядность 16 бит. Однако все эти микроконтроллеры имеют шину данных разрядностью 8 бит.
В устройствах с Принстонской архитектурой разрядность данных обычно определяет разрядность (число линий) используемой шины. В микроконтроллерах Motorola 68НС05 24–разрядная команда размешается в трех 8–разрядных ячейках памяти программ. Для полной выборки такой команды необходимо произвести три цикла считывания этой памяти.
Выделим и рассмотрим пять типов энергонезависимой резидентной памяти, или постоянных запоминающих устройств (ПЗУ), используемых для хранения программ.
Масочная память.
Масочные ПЗУ (Mask–ROMили просто ROM) изготавливаются на этапе производства микроконтроллеров для полностью отлаженной программы. На стеклянном фотошаблоне при использовании программы создается рисунок маски. Полученный фотошаблон с маской используется для формирования соединений между элементами, из которых состоит память программ.
Первые масочные ПЗУ появились в начале 1960–х годов и находят применение до настоящего времени благодаря таким достоинствам как низкая стоимость при массовом производстве изделий и высокая надежность хранения программ.
Недостатки масочных ПЗУ — любое изменение прикладной программы связано со значительными затратами средств и времени на создание нового комплекта фотошаблонов и их внедрение в производство.
Однократно программируемая память.
Эта память (One–Time Program mable ROM — OTPROM ) программируется пользователем и в исходном состоянии содержит ячейки с единичными битами. Программированию подлежат только те ячейки памяти, содержимое которых должно принять значение 0. Для этого на ячейку памяти подают последовательность импульсов повышенного напряжения.
Уровень напряжения, число импульсов и их временные параметры должны строго соответствовать техническим условиям. После записи нуля восстановить единичное значение невозможно. По этой причине память получила название однократно программируемых ПЗУ. Однако следует указать на возможность допрограммирования (не тронутых) ячеек с единичными битами.
Микроконтроллеры с однократно программируемым ПЗУ используются в изделиях, выпускаемых небольшими партиями.
Репрограммируемая память с ультрафиолетовым стиранием.
Ячейка памяти с ультрафиолетовым стиранием (Erasable Programmable ROM — EPROM) представляет собой ЛИПЗМОП (лавинно–инжекционный с плавающим затвором) транзистор. В исходном состоянии (до записи) при обращении к ячейке считывается логическая единица. Программирование памяти сводится к записи в соответствующие ячейки логических нулей. Память ЕР ROM допускают многократное программирование, технология которого подобна технологии однократно программируемых ПЗУ.
Перед каждым сеансом программирования выполняется операция стирания для восстановления исходного состояния ячеек памяти. Для этого в корпусе микроконтроллера предусмотрено специальное окно, которое облучается ультрафиолетовыми лучами. Число сеансов стирания/программирования ПЗУ составляет 25–100 раз при соблюдении технологии программирования (заданные значения питающих напряжений, число и длительность импульсов) и технологии стирания (волновой диапазон источника ультрафиолетового излучения).
Микроконтроллеры с памятью EPROM из–за высокой стоимости применяются в опытных образцах разрабатываемых приложений.
Для уменьшения цены микросхемы EPROM заключают в корпус без окошка (версия EPROM с однократным программированием). Благодаря снижению стоимости версии EPROM часто используются вместо масочно–программируемых ROM.
Репрограммируемая память с электрическим стиранием.
В качестве элемента памяти с электрическим стиранием (Electrically Erasable Pro grammable ROM — EEPROM или E2 PROM) используется транзистор со структурой МНОП (Металл, Нитрид кремния, Окисел кремния, Полупроводник), благодаря чему ПЗУ имеет сравнительно низкую стоимость (по отношению к EPROM) и допускает максимальное число циклов стирания/программирования 10 4 –10 6 . Кроме того, технология программирования памяти EEPROM позволяет реализовать побайтное стирание и побайтное программирование, не снимая контроллер с платы, что позволяет периодически обновлять его программное обеспечение.
Несмотря на указанные достоинства, этот тип памяти не получил широкого распространения для хранения программ по двум причинам:
● ПЗУ типа EEPROM имеют ограниченную емкость;
● появились ПЗУ типа FLASH , которые имеют близкие пользовательские характеристики, но более низкую стоимость.
Память типа FLASH.
Электрически программируемая и электрически стираемая память типа FLASH (FLASH ROM) создавалась как альтернатива между дешевыми однократно программируемыми ПЗУ большой емкости и дорогими EEPROM ПЗУ малой емкости. Память FLASH (как и EEPROM) сохранила возможность многократного стирания и программирования.
Из схемы ПЗУ изъят транзистор адресации каждой ячейки, что, с одной стороны, лишило возможности программировать каждый бит памяти отдельно, с другой стороны, позволило увеличить объем памяти. Поэтому память типа FLASH стирается и программируется страницами или блоками.
Таким образом, функционально FLASH –память мало отличается от EEPROM. Основное отличие состоит в способе стирания записанной информации: если в EEPROM–памяти стирание производится отдельно для каждой ячейки, то во FLASH –памяти — целыми блоками. В микроконтроллерах с памятью EEPROM приходится изменять отдельные участки программы без необходимости перепрограммирования всего устройство.
В настоящее время МК с FLASH начинают вытеснять МК с однократно программируемым (и даже масочным) ПЗУ.
Программирование ПЗУ.
Отметим, что Mask ROM –память программируется только в заводских условиях при изготовлении МК. Память типа OTPROM и EPROM предоставляет разработчику возможности программирования с использованием программатора и источника повышенного напряжения, которые подключаются к соответствующим выводам МК.
Память EEPROM и FLASH относится к многократно программируемой, или репрограммируемой, памяти. Необходимое для стирания/программирования повышенное напряжение питания создается в модулях EEPROM и FLASH –памяти современных контроллеров с помощью встроенных схем усиления напряжения, называемых генераторами накачки. Благодаря реализации программного управления включением и отключением генератора накачки появилась принципиальная возможность осуществить программирование или стирание ячеек памяти FLASH и EEPROM в составе разрабатываемой системы. Такая технология программирования получила название программирования в системе (In System Programming — ISP).
Она не требует специального оборудования (программаторов), благодаря чему сокращаются расходы на программирование. Микроконтроллеры с ISP–памятью могут быть запрограммированы после их установки на плату конечного изделия.
Рассмотрим, как реализуется (и используется) возможность программирования EEPROM–памяти под управлением прикладной программы. Если программу с алгоритмом программирования хранить в отдельном модуле памяти с номинальным питающим напряжением, а EEPROM–память снабдить генераторами накачки, то можно произвести ISP–программирование EEPROM –памяти. Данное обстоятельство делает EEPROM –память идеальным энергонезависимым запоминающим устройством для хранения изменяемых в процессе эксплуатации изделия настроек пользователя. В качестве примера можно привести современный телевизор, настройки каналов которого сохраняются при отключении питания.
Поэтому одной из тенденций совершенствования резидентной памяти 8–разрядных МК стала интеграция на кристалл МК двух модулей энергонезависимой памяти: FLASH (или OTP ) — для хранения программ и EEPROM — для хранения перепрограммируемых констант.
Рассмотрим технологию (ре)программирования FLASH –памяти с встроенным генератором накачки под управлением прикладной программы. Прежде всего, отметим два обстоятельства:
● если для хранения перепрограммируемых констант в МК встроена память EEPROM, то попрограммирование нескольких бит FLASH –памяти при эксплуатации готового изделия не имеет смысла. При необходимости лучше сразу использовать режим репрограммирования;
● не следует программу программирования FLASH –памяти хранить в самой FLASH –памяти, так как переход в режим программирования приведет к невозможности дальнейшего ее считывания. Программа программирования должна располагаться в другом модуле памяти.
Для реализации технологии программирования в системе выбирается один из оследовательных портов МК, обслуживание которого осуществляет специальная программа монитора связи, расположенная в резидентном масочном ПЗУ МК. Через последовательный порт персональный компьютер загружает в ОЗУ МК программу программирования и прикладную программу, которая затем заносится в память FLASH. Так как резидентное ОЗУ МК имеет незначительный объем, то прикладная программа загружается отдельными блоками (порциями). Если в МК установлен модуль масочной памяти с программой программирования, в ОЗУ загружается только прикладная программа.
Микроконтроллеры, реализующие технологию программирования в системе, часто имеют в своем составе четыре типа памяти:
FLASH –память программ, Mask ROM –память монитора связи, EEPROM –память для хранения изменяемых констант и ОЗУ промежуточных данных.
Технология программирования в системе в настоящее время все шире используется для занесения прикладных программ в микроконтроллеры, расположенные на плате конечного изделия. Ее достоинство — отсутствие программатора и высокая надежность программирования, обусловленная стабильностью заданных внутренних режимов МК.
В качестве примера приведем показатели резидентной FLASH –памяти МК семейства НС08 фирмы Motorola:
● гарантированное число циклов стирания/программирования — 10 5 ;
● гарантированное время хранения записанной информации — 10 лет, что практически составляет жизненный цикл изделия; модули FLASH –памяти работают и программируются при напряжении питания МК от 1,8 до 2,7 В;
● эквивалентное время программирования 1 байта памяти — 60 мкс.
Память данных.
В качестве резидентной памяти данных используется статическое оперативное запоминающее устройство (ОЗУ), позволяющие уменьшать частоту тактирования до сколь угодно малых значений. Содержимое ячеек ОЗУ (в отличие от динамической памяти) сохраняется вплоть до нулевой частоты. Еще одной особенностью статического ОЗУ является возможность уменьшения напряжения питания до некоторого минимально допустимого уровня, при котором программа управления микроконтроллером не выполняться, но содержимое в ОЗУ сохраняется.
Уровень напряжения хранения имеет значение порядка одного вольта, что позволяет для сохранения данных при необходимости перевести МК на питание от автономного источника (батарейки или аккумулятора). Некоторые МК (например, DS5000 фирмы Dallas Semiconductor) имеют в корпусе автономный источник питания, гарантирующий сохранение данных в ОЗУ на протяжении 10 лет.
Характерной особенностью микроконтроллеров является сравнительной небольшой объем (сотни байт) оперативной памяти (ОЗУ), используемой для хранения переменных. Это можно объяснить несколькими факторами:
● стремлением к упрощению аппаратных средств МК;
● использованием при написании программ некоторых правил, направленных на сокращение объема памяти ОЗУ (например, константы не хранятся как переменные);
● распределением ресурсов памяти таким образом, чтобы вместо размещения данных в ОЗУ максимально использовать аппаратные средства (таймеры, индексные регистры и др.);
● ориентацией прикладных программы на работу без использования больших массивов данных.
Особенности стека.
В микроконтроллерах для организации вызова подпрограмм и обработки прерываний выделяется часть памяти ОЗУ, именуемая стеком. При этих операциях содержимое программного счетчика и основных регистров (аккумулятора, регистра состояния, индексных и других регистров) сохраняется, а при возврате к основной программе восстанавливается. Напомним, что стек работает по принципу: последний пришел — первый ушел (Last In , First Out—LIFO).
В Принстонской архитектуре ОЗУ используется для реализации многих аппаратных функций, включая функции стека. В адресном пространстве памяти выделены отдельные области для команд, регистров общего назначения, регистров специальных функций и др. Это снижает производительность контроллера, так как обращения к различным областям памяти не могут выполняться одновременно.
Микропроцессоры с Гарвардской архитектурой могут параллельно (одновременно) адресовать память программ, память данных (включающую пространство ввода–вывода) и стек.
Например, при активизации команды вызова подпрограммы CALL выполняется несколько действий одновременно.
В Принстонской архитектуре при выполнении команды CALL следующая команда выбирается только после того, как в стек будет помещено содержимое программного счетчика.
Из–за небольшой емкости ОЗУ в микроконтроллерах обеих архитектур могут возникнуть проблемы при выполнении программы:
● если выделен отдельный стек, то после его заполнения происходит циклическое изменение содержимого указателя стека, в результате чего указатель стека начинает ссылаться на ранее заполненную ячейку стека. Поэтому после слишком большого количества команд CALL в стеке окажется неправильный адрес возврата, который был записан вместо правильного адреса;
● если микропроцессор использует общую область памяти для размещения данных и стека, то при переполнении стека произойдет затирание данных. Рассмотрим особенности сохранения в стеке содержимого регистров, обусловленные отсутствием команд загрузки в стек (PUSH) и извлечения из стека (POP). В таких микроконтроллерах вместо команды PUSH и POP используются две команды и индексный регистр, который явно указывает на область стека. Последовательность команд должна быть такой, чтобы прерывание между первой и второй командой не привело к потере данных. Ниже приведена имитация команд PUSH и POP с учетом указанного требования.
PUSH ; Загрузить данные в стек decrement index; Перейти к следующей ячейке стека move [ index], асе ; Сохранить содержимое аккумулятора в стеке POP ; Извлечь данные из стека move асе, [index]; Поместить значение стека в аккумулятор increment index ; Перейти к предыдущей ячейке стека
Если после первой команды программа будет прервана, то после выполнения обработки прерывания содержимое стека не будет потеряно.
Регистровая память.
Микроконтроллеры (как и компьютерные системы) имеют множество регистров, которые используются для управления различными внутренними узлами и внешними устройствами. К ним относятся:
● регистры процессорного ядра (аккумулятор, регистры состояния, индексные регистры);
● регистры управления (регистры управления прерываниями, регистры управления таймером);
● регистры ввода/вывода данных (регистры данных и регистры управления параллельным, последовательным или аналоговым вводом/выводом).
По способу размещения регистров в адресном пространстве можно выделить:
● микроконтроллеры, в которых все регистры и память данных располагаются в одном адресном пространстве, т. е. регистры совмещены с памятью данных. В этом случае устройства ввода–вывода отображаются на память;
● микроконтроллеры, в которых устройства ввода/вывода отделены от общего адресного пространства памяти. Основное достоинство способа размещения регистров ввода–вывода в отдельном пространстве адресов — упрощается схема подключения памяти программ и данных к общей шине. Отдельное пространство ввода–вывода дает дополнительное преимущество процессорам с Гарвардской архитектурой, обеспечивая возможность считывать команду во время обращения к регистру ввода–вывода.
Способы обращения к регистрам оказывают существенное влияние на их производительность. В процессорах с RISC–архитектурой все регистры (часто и аккумулятор) располагаются по явно задаваемым адресам, что обеспечивает более высокую гибкость при организации работы процессора.
О внешней памяти.
В тех случаях, когда для разрабатываемых приложений не хватает резидентной памяти программ и памяти данных, к микроконтроллеру подключается дополнительная внешняя память. Известны два основных способа:
● подключение внешней памяти с использованием шинного интерфейса (как в микропроцессорных системах). Для такого подключения многие микроконтроллеры имеют специальные аппаратные средства;
● подключение памяти к устройствам ввода–вывода, При этом обращение к памяти осуществляется через эти устройства программными средствами. Такой способ позволяет использовать простые устройства ввода/вывода без реализации сложных шинных интерфейсов. Выбор способа зависит от конкретного приложения.
Читайте также: