Комплекс средств программирования и отладки для микроконтроллеров AVR
 

В. Бродин, А. Калинин, В. Мальцев

Комплекс средств программирования и отладки для микроконтроллеров AVR

    Микроконтроллеры семейства AVR фирмы ATMEL, появившиеся на мировом рынке в 1997 г., имеют современную RISC-архитектуру, которая в сочетании с технологией flash-памяти обеспечивает очень хорошие показатели по таким критериям, как скорость выполнения кода программы, эффективность генерации кода при использовании языков высокого уровня (поддержка системой команд), низкая цена.
    Высокие характеристики семейства AVR обеспечиваются следующими особенностями архитектуры:

  • раздельная память программ и данных (гарвард-ская архитектура). В качестве памяти программ (объемом до 128 Кбайт) используется внутренняя flash-память. Она организована в виде матрицы 16-разрядных ячеек и может загружаться программатором, либо через порт SPI;
  • система команд AVR включает 89 или 120 инструкций. Все инструкции 16- и 32-разрядные;
  • 16-разрядные память программ и шина команд вместе с одноуровневым конвейером позволяют выполнять большинство инструкций за один такт синхрогенератора (50 нс при частоте FOSC = 20 МГц);
  • память данных имеет 8-разрядную организацию. Младшие 32 адреса пространства данных занимают регистры общего назначения, далее следуют 64 адреса внутренних регистров ввода/вывода, затем внутренняя память данных объемом до 4 Кбайт. Возможно применение внешней памяти данных объемом до 64 Кбайт;
  • блоки ввода/вывода, подключенные к внутренней шине данных. В их перечень входят параллельные порты (с током до 20 мА), АЦП и аналоговый компаратор, таймеры-счетчики, сторожевой таймер, по-следовательные интерфейсы SPI и UART, блок прерываний. Конкретный набор блоков определяется типом микроконтроллера;
  • внутренняя энергонезависимая память типа EEPROM объемом до 4 Кбайт. Представляет собой самостоятельную матрицу, обращение к которой осуществляется через специальные регистры ввода/вывода.

    Важным преимуществом микроконтроллеров AVR является их совместимость по функциям выводов с микроконтроллерами архитектуры MCS-51. Это позволяет во многих случаях увеличить производительность имеющейся системы управления посредством замены микроконт-роллера, разработки и отладки рабочей программы.
    Ниже в таблице приведены параметры некоторых микроконтроллеров семейства AVR. В верхней части таблицы указаны поставляемые микросхемы, а в нижней — перспективные.

Таблица. Микроконтроллеры семейства AVR

Тип Flash EEPROM RAM Посл Таймера Аналог Корпуса
90S1200 1K 64 0 ISP WDT
T-1
- PDIP20
SOIC20
SSOP20
90S2313 2K 128 128 ISP
UART
WDT
T-2
Comp PDIP20
SOIC20
90S2323 2K 128 128 ISP WDT
T-1
- PDIP8
SOIC8
90S2343 2K 128 128 ISP WDT
T-1
- PDIP8
SOIC8
90S4414 4K 256 256 ISP
UART
WDT
T-2
Comp PDIP40
PLCC44
TQFP44
90S4434 4K 256 256 ISP
UART
WDT
T-3
PWM-3
Comp
ADC
10bitX8ch
PDIP40
PLCC44
TQFP44
90S8535 8K 512 512 ISP
UART
WDT
T-3
PWM-3
Comp
ADC
10bitX8ch
PDIP40
PLCC44
TQFP44
90S8515 8K 512 512 ISP
UART
WDT
T-2
PWM-2
Comp PDIP40
PLCC44
TQFP44
mega 103 128K 4K 4K ISP
UART
WDT
T-3
PWM-2
Comp
ADC
10bitX8ch
TQFP64
mega 603 64K 2K 4K ISP
UART
WDT
T-3
PWM-2
Comp
ADC
10bitX8ch
TQFP64

   Для внедрения микроконтроллеров AVR в практику разработчиков фирма ATMEL бесплатно распространяет инструментальные программы, работающие как в среде MS-DOS, так и в среде Windows. На этапе знакомства с новой архитектурой мы опробовали макроассемблер AVRASM V1.21. Первые впечатления можно сформулировать следующим образом:

  • макроассемблер AVRASM достаточно прост в изучении, снабжен подробной документацией;
  • макроассемблер выполнен в виде самостоятельной программы, поддерживает микроконтроллеры AT1200, AT90S2313, AT90S2323, AT90S4414, AT90S8515, ATmega103.
    Имеются следующие ограничения рассматриваемой версии транслятора:
  • программирование возможно только в абсолютных адресах, нет возможности раздельной трансляции модулей;
  • отсутствуют директивы резервирования памяти;
  • формируемый объектный модуль не содержит информации о символических именах и макрорасширениях.

    Отладчик AVR-Studio функционирует только в среде Windows. При отладке систем в реальном времени он способен управлять внутрисхемным эмулятором, но цена эмулятора составляет около $2500 [1].
    В лаборатории “Микропроцессорные системы МИФИ” было решено создать недорогой аппаратно-программный комплекс средств отладки для микроконтроллеров AVR, используя особенности этой архитектуры.
    Аппаратная компонента комплекса представляет собой эмулирующий модуль для линии classic (рисунок). Он включает микроконтроллер AT90S8515 и супервизор на основе ПЛИС ATF1504 (типа CPLD).
    Супервизор осуществляет связь с инструментальным компьютером и на основе команд отладки выполняет операции управления и наблюдения: запуск программы пользователя на выполнение, останов, передачу информации о состоянии ресурсов микроконтроллера и т. п. Микроконтроллер AVR выполняет функции имитирующего процессора, в его flash-памяти кроме рабочей программы находится программа-монитор. Команды монитора непосредственно управляют микроконтроллером при выполнении служебных операций. Загрузка flash-памяти программ осуществляется после перетрансляции рабочей программы (при ее отладке на аппаратуре) или при установке новых контрольных точек.

Рисунок. Эмулирующий модуль для микроконтроллеров AVR

    Программная компонента комплекса представляет собой интегрированную систему “ТурбоАссемблер-AVR”, функционирующую в среде MS-DOS. Она включает редактор текста, полноразмерный макроассемблер, редактор связей и символический отладчик. Обеспечивается формирование перемещаемого кода и раздельная трансляция. Эта система способна работать как самостоятельно, так и вместе с эмулирующим модулем.
    Для создания сложных многомодульных программ в систему встроен менеджер проекта. Пользователь должен указать список транслируемых файлов и их местонахождение. Если программа состоит из одного файла, загруженного в окно редактора, то проект по умолчанию состоит из этого единственного файла.
    Символический отладчик позволяет программисту вести отладку программы непосредственно в исходном тексте, просматривать и изменять при остановах значения переменных, обращаясь к ним по именам. Общепринятые режимы отладки: выполнение программы по шагам, прогон с остановами в контрольных точках — обеспечиваются как при автономной работе системы программирования, так и при работе с аппаратурой.
    Ограничениями такого подхода к построению инструментальной системы являются:

  • некоторый временной интервал при перезагрузке flash-памяти;
  • недоступность для пользователя старших адресов flash-памяти, занятых под монитор;
  • резервирование нескольких старших байтов внутреннего ОЗУ данных для служебных целей;
  • при останове биты PB5-PB7 переводятся в высокоимпедансное состояние.

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

Литература

  • Королев Н. RISC-микроконтроллеры фирмы Atmel// Chip News. — 1998. — № 2. — С. 21–22.
  • Королев Н.В., Королев Д.Н. AVR: новые 8-разрядные RISC-микроконтроллеры фирмы Atmel// Микропроцессор Ревю. — 1998. — № 1.


МИФИ, Лаборатория «Микропроцессорные системы»
Тел. (095) 323-9357
E-mail:mpsis@d406.micro.mephi.ru
Website: http://msl.gaw.ru


 


Автор документа: Сергей Гаврилюк , http://www.gaw.ru"
Дата публикации: 08.08.2007
Дата редактирования: 18.04.2008
Кол-во просмотров 3272
 
 Все новости одной лентой