Микроконтроллеры для систем автоматики - часть 27

 

  Главная      Учебники - Производство     

 

поиск по сайту           правообладателям

 

 

 

 

 

 

 

 

 

содержание   ..  25  26  27  28   ..

 

 

Микроконтроллеры для систем автоматики - часть 27

 

 

 

107 

Во время операции очистки кристалла (Chip erase) стираются все ячейки FLASH и 

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

У  контроллера  ATmega163  имеется FUSE бит EESAVE, программирование 

которого приводит к тому, что при выполнении операции Chip erase содержимое EEPROM 
сохраняется. 

П

О С Л Е Д О В А Т Е Л Ь Н О Е   П Р О Г Р А М М И Р О В А Н И Е

 

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

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

 

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

ATmega163 

Здесь для программирования используется последовательный SPI интерфейс при 

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

При  записи  последовательно  поступающих  данных  в  микроконтроллер  данные 

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

Для  программирования  и  проверки  микроконтроллера ATMEGA163  в 

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

Таблица 15.4. 

Инструкции последовательного программирования микроконтроллера ATmega163 

Формат команды 

Команда 

Байт 1 

Байт 2 

Байт 3 

Байт 4 

Операция 

 

108 

Programming 

Enable  

1010 1100 0101 0011 

xxxx xxxx 

xxxx xxxx  

Включение 

последовательного 

программирования 

после сброса 

импульсом #RESET 

Chip Erase   1010 1100   100x xxxx 

xxxx xxxx 

xxxx xxxx 

Очистка кристалла 

EEPROM и Flash. 

Read 

Program 

Memory  

0010 H000  xxxa aaaa   bbbb bbbb   oooo oooo  

Чтение байта H 

(старший или 

младший) команды 

из памяти программ 

с заданным адресом 

a:b. 

Load Program 

Memory Page  

0100 H000   xxxx xxxx 

 xxbb bbbb  

iiii iiii  

Загрузка байта H 

(старший или 

младший) данных i в 

страницу памяти 

программ по адресу 

b. 

Write Program 

Memory Page  

0100 1100 xxxa 

aaaa   bbxx xxxx  

iiii iiii 

Запись страницы 

памяти программ с 

адресом a:b. 

Read 

EEPROM 

Memory  

1010 0000  xxxx xxxa   bbbb bbbb   oooo oooo 

Чтение данных из 

EEPROM по адресу 

a:b. 

Write 

EEPROM 

Memory  

1100 0000   xxxx xxxa 

bbbb bbbb 

 iiii iiii 

Запись i в EEPROM 

по адресу a:b. 

Read Lock 

Bits  

0101 1000  

xxxx xxxx 

 xxxx xxxx   xx65 4321  Чтение Lock bits. ‘0’ 

= programmed, ‘1’ = 

unprogrammed. 

Write Lock 

Bits  

1010 1100  

111x xxxx 

 xxxx xxxx   1165 4321 

Запись Lock bits. 

Установка бит 6 - 1 = 

’0’ приводит к 

программированию 

Lock bits 

15.2. Программно-аппаратные средства поддержки программирования 

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

компьютере и состоит из следующих этапов: 

º 

создание текста программы; 

º 

трансляция текста в машинные коды и исправление синтаксических ошибок; 

º 

отладка программы, то есть устранение логических ошибок; 

º 

окончательное программирование микроконтроллера. 

Каждый из этапов требует использования специальных программных и аппаратных 

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

 

109 

виде  интегрированной  отладочной  среды  и  могут  распространяться  бесплатно,  условно-
бесплатно или на платной основе. 

Текст  программы,  создаваемый  на  первом  этапе проектирования оформляется в 

виде файла на языке ассемблера (c расширением .asm). Этот файл является входным для 
программ-трансляторов,  которые,  в  свою  очередь,  создают  новые  файлы, 
ориентированные на использование с конкретными отладочными средствами. Обычно это:  

º 

файл-листинг (с расширением .lst),  

º 

объектный файл (с расширением .obj),  

º 

файл-прошивка FLASH-памяти (с расширением .hex),  

º 

файл-прошивка EEPROM-памяти (с расширением .eep). 

Файл-листинг - это  отчет  транслятора  о  своей  работе.  В  нем  приводится 

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

Объектный  файл,  создаваемый  программой  ассемблером,  используется  в 

дальнейшем как входной для программы-отладчика и имеет специальный формат. 

Файлы прошивки FLASH и EEPROM блоков памяти предназначены для работы с  

последовательными и параллельными программаторами и имеют стандартные форматы.  

Кроме языка ассемблера, для программирования встраиваемых микропроцессоров  

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

Отладка  программ  микроконтроллеров  может  выполняться  двумя  основными 

способами:  на  персональном  компьютере  при  помощи  программы-симулятора  или  в 
реальной микропроцессорной системе. 

Два эти способа взаимно дополняют друг друга.  
Программы-симуляторы  отображают  на  экране  компьютера  программу 

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

Внутрисхемные  эмуляторы  являются  специальными  схемами,  которые  с  одной 

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

Окончательная  отладка  программного  обеспечения  производится  в  рабочей 

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

 

110 

микропроцессорных  систем  на  основе AVR-микроконтроллеров  фирма Atmel выпускает 
стартовый набор AVR STARTER KIT типа  STK500.  

Набор STK500 содержат  небольшую  печатную  плату  Development Board,  кабель 

для последовательного программирования через COM-порт компьютера, CD-ROM с полной 
документацией  на  все  типы  микроконтроллеров  и  многочисленными  примерами 
прикладных программ (рис. 15.1).  

 

Рис. 15.1. Набор STK500 фирмы Atmel 

Плата Development Board  из набора STK500 (рис. 15.2)  имеет следующие узлы: 

º 

встроенный стабилизатор напряжения питания;  

º 

сокеты для установки различных типов микроконтроллеров в DIP-корпусах;  

º 

разъем для последовательного программирования; 

º 

узел интерфейса RS-232; 

º 

набор  из 8 светодиодов,  которые  можно  подключать  к  выводам  портов 
микроконтроллера; 

º 

набор  из 8 кнопочных  переключателей,  которые  можно  подключать  к 
выводам портов микроконтроллера; 

º 

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

 

 

 

 

 

 

 

содержание   ..  25  26  27  28   ..