рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Способы программирования энергонезависимой памяти

Способы программирования энергонезависимой памяти - раздел Высокие технологии, Архитектура микроконтроллера   В Процессе Программирования Микроконтроллеров Разработанная П...

 

В процессе программирования микроконтроллеров разработанная пользователем программа заносится в энергонезависимую память. При этом выполняются операции по стиранию, чтению и записи различных элементов памяти кристалла. Типовыми операциями являются:

0 операция "Chip erase" (стирание кристалла);

0 чтение/запись FLASH-памяти программ;

0 чтение/запись EEPROM памяти данных;

0 чтение/запись конфигурационных FUSE-битов;

0 чтение/запись LOCK-битов защиты программной информации;

0 чтение SYGNATURE-битов идентификации кристалла;

 

Микроконтроллеры обычно поставляются со стертыми встроенными FLASH и EEPROM блоками памяти (содержимое всех ячеек = $FF), готовыми к программированию. Программирование кристалла, как правило, может выполняться различными способами:

0 Параллельное программирование - информация заносится в энергонезависимую память через параллельные порты ввода/вывода. Обычно эта операция выполняется на специальных приборах - программаторах.

0 Последовательное программирование - информация заносится в энергонезависимую память через схему последовательного интерфейса. Операция, как правило, может выполняться непосредственно в микропроцессорной системе (In System Programming).

0 Самопрограммирование может осуществляться самим микроконтроллером под управлением программы, записанной в Boot Program Section флэш- памяти программ.

Параллельное программирование

 

При параллельном программировании информация поступает на микроконтроллер в параллельном коде через один из его портов. Ряд других контактов микроконтроллера используется для управления записью и чтением данных. На рис. 15.1. показана схема подключения микроконтроллера АТтеgа163 при параллельном программировании.

 

 
 

 


Рис. 15.1. Параллельное программирование микроконтроллера ATmegal63

 

Для перевода устройства в режим параллельного программирования необходимо:

0 Подать напряжение 4.5 - 5.5V на контакт Vcc.

0 Установить на контактах #RESET, BS0 и BS1 сигнал низкого уровня на время не менее 100 нc.

0 Подать напряжение 11.5 - 12.5V на контакт #RESET.

В каждом такте программирования импульс синхронизации длительностью не менее 500 не подается на контакт XTAL1. Совокупность остальных сигналов (табл. 15.1 и табл. 15.2) описывает операцию, выполняемую в момент прихода синхроимпульса. В зависимости от сочетания сигналов информация на линиях порта В микроконтроллера, может быть восприняты как команда управления процессом записи, как данные или как один из байтов адреса ячейки памяти.

 

 

Таблица 15.1. Назначение сигналов при параллельном программировании

 

Наименование сигнала в режиме программирования Контакт Вход/ выход (I/O) Функция сигнала
RDY/BSY PD1 О 0: Программирование, 1: Чтение команды
ОЕ PD2 I Включение выхода (активный низкий уровень)
WR PD3 I Импульс записи (активный низкий уровень)
BS1 PD4 I Выбор байта 1 ('0' - младший байт, '1' - старший байт)
ХАО PD5 I Операция (бит 0)
ХА1 PD6 I Операция (бит 1)
PAGEL PD7 I Загрузка страницы памяти программ
BS2 РАО I Выбор байта 2 ('0' - младший байт, '1' - старший байт)
DATA PB7 Двунаправленный ввод/вывод (вывод при OE=0)

 

Таблица 15.2. Выбор операции при параллельном программировании

 

ХА1 ХАО Операция при импульсе на входе XTAL1
Загрузка адреса Flash или EEPROM памяти (байт адреса задается сигналом BS1)
Загрузка данных (байт адреса задается сигналом BS1
Загрузка команды
Ожидание

 

В таблице 15.3 приведены команды параллельного программирования микроконтроллера АТтеgа163, различаемые микроконтроллером при выполнении операции «Загрузка команды» (ХА1=1, ХА0=0).

 

Таблица 15.3. Команды параллельного программирования микроконтроллера АТтеgа163

 

Байт Команда
1000 0000 Очистка кристалла
0100 0000 Запись Fuse битов
0010 0000 Запись Lock битов
0001 0000 Запись Flash памяти
0001 0001 Запись EEPROM
00001000 0000 0100 Чтение байта Signature Чтение Fuse и Lock битов
0000 0010 Чтение Flash памяти
0000 0011 Чтение EEPROM

FLASH и EEPROM блоки памяти программируются байт за байтом.

 

Во время операции очистки кристалла (Chip erase) стираются все ячейки FLASH и EEPROM памяти, а также LOCK-биты. Причем LOCK-биты стираются только после того, как будет очищена вся память программ. На состояние FUSE-бит операция Chip erase не оказывает воздействия.

У контроллера АТтеgа163 имеется FUSE бит EESAVE, программирование которого приводит к тому, что при выполнении операции Chip erase содержимое EEPROM сохраняется.

Последовательное программирование

 

При последовательном программировании значительно меньше контактов микроконтроллера и не требуется источника высокого напряжения. На рис. 15.2 показана схема включения микроконтроллера в режиме последовательного программирования.

 
 

 


Рис. 15.2. Последовательное программирование микроконтроллера АТтеда163

 

Здесь для программирования используется последовательный SPI интерфейс при подключении контакта Vcc к источнику питания 5В, а контактов GND и #RESET - к земле. Последовательный интерфейс использует контакты SCK (синхронизация), MOSI (ввод) и MISO (вывод).

При записи последовательно поступающих данных в микроконтроллер данные синхронизируются по переднему фронту сигнала SCK. При чтении данных с микроконтроллера данные синхронизируются по заднему фронту SCK.

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

Таблица 15.4. Инструкции последовательного программирования микроконтроллера АТтеgа163

 

 

 

 


Programming Enable 0101 0011 xxxxxxxx xxxxxxxx Включение последовательного программирования после сброса импульсом #RESET
Chip Erase 100ххххх xxxxxxxx xxxxxxxx Очистка кристалла EEPROM и Flash.
Read Program Memory 0010 H000 xxxa aaaa bbbb bbbb 0000 0000 Чтение байта H (старший или младший) команды из памяти программ с заданным адресом a:b.
Load Program Memory Page 0100 H000 xxxxxxxx xxbb bbbb iiii iiii Загрузка байта H (старший или младший) данных i в страницу памяти программ по адресу b.
Write Program Memory Page xxxa aaaa bbxxxxxx iiii iiii Запись страницы памяти программ с адресом a:b.
Read EEPROM Memory 1010 0000 xxxxxxxa bbbb bbbb OOOO oooo Чтение данных из EEPROM по адресу a:b.
Write EEPROM Memory 1100 0000 xxxxxxxa bbbb bbbb iiii iiii Запись i в EEPROM по адресу a:b.
Read Lock Bits 0101 1000 xxxxxxxx xxxxxxxx xx65 4321 Чтение Lock bits. '0' = programmed, '1' = unprogrammed.
Write Lock Bits 111XXXXX xxxxxxxx 1165 4321 Запись Lock bits. Установка бит 6 -1 = '0' приводит к программированию Lock bits

– Конец работы –

Эта тема принадлежит разделу:

Архитектура микроконтроллера

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

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Способы программирования энергонезависимой памяти

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРА
  Контроллером в технике регулирования считается управляющее устройство, осуществляющее регулирующие или контролирующие функции в системе. Контроллер, реализованный на одном кристалле

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

Масочная память
  Масочная память (maskROM) программируется с помощью фотошаблонов (масок) на стадии изготовления микроконтроллера. Т.е. контроллер с масочной памятью изготавливается с

Однократно программируемая память
  Однократно программируемая память (OTPROM - One Time Programmable ROM) no принципу построения и функционирования аналогична масочной, но она поставляется изготовителем микрок

Репрограммируемая память
  Репрограммируемая память (EPROM - Erasable PROM) аналогична OTPROM, но допускает стирание информации и повторное программирование. Стирание информации в памяти осуществляется

Память с электрическим стиранием
  Память с электрическим стиранием (EEPROM - Electrically EPROM) программируется пользователем и может многократно стираться. Стирание и повторное программирование EEPROM осуще

Флэш - память
  Флэш-память (Flash memory) относится к классу EEPROM, но использует особую технологию построения запоминающих ячеек. В отличие от EEPROM, она может стираться только целиком,

Статическая память
  Статическая память (SRAM - Static Random Access Memory) энергозависима. Она обеспечивает хранение информации только при наличии напряжения питания не менее определенной велич

Специализированные ячейки флэш-памяти
  В энергонезависимой flash-памяти микроконтроллеров могут присутствовать специализированные биты и байты, предназначенные для защиты программы пользователя и конфигурирования изделия

Основные элементы
  Каждый производитель микроконтроллеров для серии выпускаемых им изделий разрабатывает и патентует своё оригинальное процессорное ядро (MCU - Microprocessor Core Unit). Однако

Регистр инструкций
  Регистр инструкций (IR - Instruction register) - регистр, предназначенный для хранения считанной из памяти программ инструкции. Считанная из памяти программ инструкция декоди

Арифметико-логическое устройство
  Арифметико-логическое устройство (ALU - Arithmetic Logic Unit) - логическая схема, непосредственно осуществляющая преобразование одной или двух переменных в соответствии с ин

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

Регистр состояния
  Регистр состояния (Status register) предназначен для хранения отдельных признаков результата, полученного при выполнении различных арифметических и логических операций в ариф

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

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

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

ЯЗЫК АССЕМБЛЕРА
  Язык ассемблера (assembler language) - язык программирования микропроцессорных систем, ориентированный на определенную архитектуру системы. Программа, написанная на языке асс

Выражения
  Программа на языке ассемблера состоит из отдельных строк. Строка кода не должна быть длиннее 120 символов. Ассемблер Atmel AVR не различает строчные и заглавные буквы. Люба

Операнды
  Операндами языка ассемблера могут быть:   0 Определяемые пользователем метки. Метка может располагаться перед командой/директивой и

Функции
  Функции, определенные в языке ассемблера 0 low(expression) возвращает младший байт выражения; 0 high(expression) возвращает второй байт выраж

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

ТАКТОВЫЙ ГЕНЕРАТОР
  Работа процессорного ядра синхронизируется тактовым генератором. Именно период работы генератора определяет время, необходимое для выполнения элементарных операций в ядре. Простейши

Источники сброса
  Причинами (источниками) сброса могут являться различные воздействия: включение питания и кратковременные его изменения, сигналы формируемые аппаратно вне и внутри микроконтроллера,

Сторожевой таймер
  Сторожевой таймер (Watchdog) синхронизирован от отдельного внутреннего генератора на кристалле, работающего с частотой 1 МГц (при напряжении питания Vcc=5 В). Задерж

Алгоритм обработки прерываний
  Сигнал запроса на прерывание вырабатывается периферийным устройством при его готовности к обмену информацией. Сигнал может появиться в произвольный момент времени. Процессо

Вектора прерываний
  Идентификация источника прерывания в системе может выполняться как программными, так и аппаратными средствами. В первом случае, источник прерывания фиксируется установкой ф

ЭНЕРГОНЕЗАВИСИМАЯ ПАМЯТЬ ДАННЫХ
  Энергонезависимая память типа EEPROM отличается от памяти данных типа SRAM существенно большим временем чтения и записи информации. Время обращения при записи обычно составляет неск

ПОРТЫ ВВОДА-ВЫВОДА
9.1. Организация ввода/вывода   Порты ввода-вывода обеспечивают ввод и вывод данных в параллельном формате. Обычно порты ввода-вывода выполняются 8-разряд

Алгоритмы обмена данными
  Порты ввода-вывода предназначены для связи микроконтроллера с различными объектами и могут реализовывать различные алгоритмы обмена данными: 0 асинхронный программный обм

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

Управление аналого-цифровым преобразователем
  В состав микроконтроллеров обычно включают 8 - 16-битные многоканальные преобразователи с большим набором встроенных функций. При этом все функции преобразователя программируются и

АНАЛОГОВЫЕ КОМПАРАТОРЫ
Аналоговые компараторы осуществляют сравнение двух напряжений. Результатом сравнения является логический сигнал, фиксирующий момент равенства входных сигналов. Выход компаратора может быть использо

ТАЙМЕРЫ-СЧЕТЧИКИ
  Большинство задач управления решаются в реальном времени. При этом микроконтроллер должен в определенные моменты времени выполнять определенные действия с объектом. Типовыми задачам

Простейший 8-битный счетчик
  8-разрядный таймер/счетчик 0 (Timer/Counter0) тактируется сигналом синхронизации процессорного ядра (СК) или от встроенного предделителя (Preskaller), или от внешнего контакт

Захват, сравнение и широтно-импульсная модуляция
  16-битный таймер/счетчик Timer/Counter1 микроконтроллера ATmega163 доступен процессорному ядру для чтения и записи, он может считать импульсы синхронизации CK, импульс

Часы реального времени
  Часы реального времени RTC (Real Time Clock) являются разновидностью таймера/счетчика. Задачей RTC в схеме микроконтроллера обычно считается формирование интервалов времени р

Интерфейс UART
  Асинхронный последовательный интерфейс UART (Universal Asynchronous Receiver Transmitter - универсальный асинхронный приемопередатчик) обеспечивает полудуплексный режим обмен

Интерфейс SPI
  Последовательный периферийный интерфейс SPI (Serial Peripheral Interface) предложен фирмой Motorola. Он обеспечивает полный дуплексный обмен данными между двумя контроллерами

РЕЖИМЫ ЭНЕРГОСБЕРЕЖЕНИЯ
  Одним из основных показателей микроконтроллера является энергопотребление. Величина энергопотребления характеризуется напряжением питания микроконтроллера и потребляемым током.

Режим Idle
  Если биты SM1/SM0 находятся в состоянии 00, то команда SLEEP переводит микроконтроллер в режим ожидания Idle. В этом режиме его ток потребления уменьшается примерно в 2,5 раз

Режим ADC Noise Reduction
  Когда SM1/SM0 биты установлены в 01, команда SLEEP заставит микроконтроллер ввести режим шумоподавления ADC Noise Reduction. В этом режиме процессорное ядро останавливается,

Программно-аппаратные средства поддержки программирования
  Подготовка программ для микроконтроллера выполняется на персональном компьютере и состоит из следующих этапов: 0 создание текста программы; 0

ПРИЛОЖЕНИЯ
Приложение 1. Корпуса микроконтроллера ATmega163 Корпус DIP (Dual In Line pin Package)    

ГЛОССАРИЙ ТЕРМИНОВ И СОКРАЩЕНИЙ
  ALU Arithmetic Logic Unit Арифметико-логическое устройство   AND AND

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги