В. Бродин, А. Калинин, В. Мальцев
Микроконтроллеры семейства 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 переводятся в высокоимпедансное состояние.
Эти небольшие ограничения компенсируются возможностью отладки в
турборежиме и небольшой ценой отладочного комплекса.
Литература
Ваш комментарий к статье | ||||