RSS    

   Реферат: Разработка системы теплоснабжения

Микроконтроллеры AT90S1200 имеют FUSE-биты SPIEN и RCEN. Все остальные типы classicAVR конфигурируются при помощи FUSE-битов SPIEN и FSTRT. MegaAVR имеют четыре FUSE-бита: SPIEN, SUT0, SUT1 и EESAVE.

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

Таблица 4.2

Назначение FUSE-битов

Fuse-бит (значение по умолчанию) Значение Режим работы AVR
0 AVR тактируется внутренним RC-генератором. (работа AVR без каких-либо внешних элементов)
RCEN (1) 1 Тактирование при помощи внешнего кварцевого резонатора или генератора.
0 Разрешение последовательного программирования через SPI интерфейс
SPIEN (0) 1 Запрещение последовательного программирования через SPI интерфейс
0 Задержка старта AVR после сброса ~ 0.25мс
FSTRT (1) 1 Задержка старта AVR после сброса ~ 16 мс
00 Задержка старта AVR после сброса ~ 5 мс
01 Задержка старта AVR после сброса ~ 0.5 мс
SUT 0/1 (11) 10 Задержка старта AVR после сброса ~ 4.0мс
11 Задержка старта AVR после сброса ~ 16 мс
0 EEPROM не стирается во время цикла очистки энергонезависимой памяти
EESAVE (1) 1 EEPROM стирается во время цикла очистки энергонезависимой памяти

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

Для энергонезависимых FLASH и EEPROM блоков AVR предусмотрены параллельный и последовательный способы программирования, которые выполняются под управлением внешнего процессора, а для EEPROM-памяти также возможен способ программной перезаписи под управлением AVR. LOCK-биты могут программироваться как параллельно, так и последовательно. FUSE-биты у младших моделей AVR могут программироваться только последовательно, а у старших - и параллельно, и последовательно.

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

Последовательное программирование может выполняться прямо в микропроцессорной системе (In System Programming) через последовательный SPI-интерфейс, который использует всего четыре вывода AVR-микроконтроллера. Эта новая возможность является очень важной, так как позволяет обновлять программное обеспечение в уже функционирующей микропроцессорной системе.

4.3. Рекомендации по отладке

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

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

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

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

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

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

Базовые программные средства фирмы Атмел распространяются бесплатно, в то время как аппаратные средства имеют свою стоимость.

Следует отметить, что кроме бесплатных программных средств фирмы Атмел, позволяющих программировать только на языке ассемблера, фирмами IAR SYSTEMS, CMX CORPORATION, KANDA SYSTEMS Ltd. и другими разработаны средства поддержки программирования на языках высокого уровня С и BASIC, а также операционные системы реального времени. Эти более сложные и дорогостоящие продукты мы не обсуждаем, но информацию о них и демонстрационные версии можно получить в фирме ЭФО или в Корпорации "Точка Опоры".

Рассмотрим более подробно этапы подготовки программы для AVR Если Вы работаете в среде MS-DOS, то для выполнения первого и второго этапа Вам придется воспользоваться различными средствами. Для создания текста программы подойдет любой текстовый редактор DOS, который формирует на выходе ASCII-файлы, например, встроенный редактор Norton Commander, редактор Multi Edit и т.п. Для трансляции текста программы в коды фирмой Атмел предлагается DOS-версия программы-транслятора AVRASM.

Для работы в среде Windows 3.11/95/NT фирмой Атмел предлагается программа WAVRASM, которая позволяет выполнить создание текста программы и его трансляцию внутри одной оболочки и обеспечивает дополнительный сервис для быстрого поиска синтаксических ошибок в тексте программы.

Результатом Вашей работы на первом этапе является файл <имя_файла>.asm, который содержит текст программы (расширение имени файла обычно указывает на язык программирования) и является входным для программ-трансляторов, которые, в свою очередь, создают четыре новых файла: файл листинга (<имя_файла>.lst), объектный файл (<имя_файла>.obj), файл-прошивка FLASH-памяти (<имя_файла>.hex), файл-прошивка EEPROM-памяти (<имя_файла>.eep).

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

Объектный файл используется в дальнейшем как входной для программы-отладчика AVRSTUDIO и имеет специальный формат. Файлы прошивки FLASH и EEPROM блоков памяти предназначены для работы с любыми последовательными и параллельными программаторами AVR и имеют стандартные форматы.

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

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

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

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

Наиболее быстрый, не требующий пайки способ построения микропроцессорной системы на основе AVR - это приобретение комплекта AVR STARTER KIT фирмы Атмел, который содержит плату DEVELOPMENT BOARD, книгу "Development tool user's guide", дискеты с программным обеспечением, CD-ROM с полной документацией на все типы AVR и многочисленными примерами прикладных программ для AVR (содержимое дискет и CD-ROM диска можно также найти на данной web-странице). Плата DEVELOPMENT BOARD содержит панельки для подключения базовых типов AVR-микроконтроллеров в DIP-корпусах; источник питания; последовательный программатор, узел интерфейса RS-232 для связи с компьютером по асинхронному последовательному каналу; наборы из 8 светодиодов и из 8 кнопочных переключателей, которые можно подключать к выводам портов микроконтроллера; разъемы, через которые при помощи гибких кабелей можно наращивать микропроцессорную систему. Универсальность DEVELOPMENT BOARD удобна для обучения и для макетирования новых разработок.

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

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

Итак, если Вы решили работать не с платой DEVELOPMENT BOARD, а со своей собственной микропроцессорной системой, то Вам необходимо приобрести еще какое-либо программирующее устройство. Как упоминалось выше, существует два способа программирования AVR-микроконтроллеров: последовательное программирование через SPI-интерфейс и параллельное программирование.

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

Для программирования Вашей микропроцессорной системы по SPI-интерфейсу непосредственно в системе фирмой Атмел предлагается программа AVRPROG и программирующий SPI-кабель, в который встроен последовательный программатор.

Кроме того, функцией программирования по последовательному SPI-интерфейсу обладает параллельный программатор FLASHER. Способ отладки микропроцессорной системы при помощи SPI-интерфейса отличается своей дешевизной, но, однако, имеет и недостатки. Во-первых, каждый раз при внесении изменений в программу Вы перепрограммируете FLASH-память микроконтроллера, количество циклов перезаписи которой ограничено хоть и достаточно большим, но все же конечным числом. Во-вторых, описанный способ не дает возможности пошаговой отладки программы.

В связи с этим, фирмой Атмел разработаны более мощные, но и более дорогие внутрисхемные эмуляторы (in-circuit emulator) ICEPRO и megaICEPRO. Они представляют собой микропроцессорные устройства, которые с одной стороны связываются с Вашей микропроцессорной системой через панель, предназначенную для установки AVR-микроконтроллера, а с другой - с персональным компьютером и работают под управлением уже упоминавшейся программы фирмы Атмел AVRSTUDIO.

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

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

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

Фирма ЭФО предлагает два типа программаторов, поддерживающих программирование AVR-микроконтроллеров. Программатор FLASHER может выполнять как параллельное программирование, так и последовательное через SPI-интерфейс. Универсальный программатор СТЕРХ поддерживает лишь параллельное программирование.


Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

Обратная связь

Поиск
Обратная связь
Реклама и размещение статей на сайте
© 2010.