Proteus VSM. Модель микроконтроллеров Atmel AVR

Введение

Модель AVR для Proteus VSM может имитировать поведение следующих микроконтроллеров от Atmel:

ATTINY10
ATTINY11
ATTINY12
ATTINY13
ATTINY15
ATTINY24
ATTINY25
ATTINY44
ATTINY45
ATTINY84
ATTINY85
ATTINY261
ATTINY461
ATTINY861
ATTINY2313
AT90S2323
AT90S2313
AT90S2333
AT90S2343
AT90S4433
AT90S4434
AT90S8515
AT90S8535
ATMEGA8
ATMEGA16
ATMEGA32
ATMEGA48
ATMEGA64
ATMEGA88
ATMEGA103
ATMEGA128
ATMEGA168
ATMEGA640
ATMEGA644
ATMEGA1280
ATMEGA1281
ATMEGA2560
ATMEGA48P
ATMEGA88P
TMEGA164P
ATMEGA168P
ATMEGA324P
ATMEGA328P
ATMEGA644P

Поддержка компиляторов

Отладка на уровне исходников поддерживается:

  • для WINAVR/GNU, Imagecraft и CodeVision ‘C’ компиляторов через COFF загрузчик;
  • для IAR ‘C’ компилятора через UBROF загрузчик.

Последнее изменение данного файла помощи было 16 мая 2008 года.

Свойства модели

Модель AVR может быть настроена через ряд свойств, описанных ниже. Заметьте, что не все свойства имеют значение для установленной модели, и только те свойства, которые имеют значение для конкретного устройства, будут показаны в диалоговом окне устройства Редактировать Компонент (Edit Component).

СвойствоЗначение по умолчаниюОписание
ProgramУстанавливает один или более файлов программы для загрузки во внутреннюю память программ модели. Эти файлы могут быть в формате Intel Hex (.HEX), в формате IAR UBROF (.D90), или в фомате COFF (.COF). Расширение файла должно быть задано, какое оно есть на самом деле, так как оно используется для определения фомата файла.
Clock1MHzУстанавливает тактовую частоту микроконтроллера. В целях эффективности тактовая схема не моделируется, и величина тактовой частоты микроконтроллера определяется только этим значением.
Suspend on stop (приостанавливать при стопе)TRUEПриостанавливает моделирование модели, когда встречается инструкция STOP.
Simulate power on reset delay (имитировать задержку при сбросе и включении)FALSEЕсли TRUE, модель имитирует 4064 цикла задержки при сбросе и включении. Иначе модель выполняет последовательность сброс/вектор как только увидит, что на выводе сброс уровень логической 1.
Force breakpoints on adc samples (ускорить прерывания при измерениях АЦП)FALSEЕсли TRUE, модель ускоряет смешанный режим моделирования прерываний каждый раз, когда АЦП необходимо измерить входное напряжение. Иначе модель интерполирует значение отсчета. Это более правильно, если ваша программа не делает вещи, которые воздействуют на входные аналоговые напряжения, измеряемые АЦП. Если АЦП запущен в непрерывном режиме, установка данной опции заметно замедлит моделирование.
Log events in simulation log window (вносить события в окно журнала моделирования)FALSEКогда TRUE, модель пишет диагностику системы в журнал моделирования.
Eeprom write delay (задержка записи EEPROM)4msЭто свойство устанавливает задержку, используемую между записями в EEPROM.
Initial contents of eeprom (начальное содержимое EEPROM)Это свойство позволяет Вам загрузить бинарный файл начального содержимого EEPROM.
Watchdog clock (тактовая частота сторожевого таймера)1MHzУстанавливает тактовую частоту сторожевого таймера.
External reset enabled (включение внешнего сброса)TRUEЭта опция передается в fuse-бит RSDSBL в микроконтроллерах ATTINY. Когда выключена, вывод RESET может быть использован как вход или вход/выход (зависит от микроконтроллера).
Clock select options (опции выбора тактового генератора)Internal OscillatorЭти опции передаются в fuse-биты CKSEL в микроконтроллерах ATTINY. Выводы, зависящие от конфигурации этой опции, могут стать доступными для ввода/вывода. Оптимальная конфигурация для ввода/вывода — это значение по умолчанию.

Основные ограничения модели

В текущей версии не моделируются следующие функциональные возможности устройств:

  • Сброс при понижении питания не выполняется.
  • Изменение напряжения источника питания не поддерживается.
  • Интерфейс JTAG не поддерживается.
  • Внешнее программирование памяти не поддерживается.
  • Зависимость электрических характеристик от температуры не выполняется.

Ограничения модели для Mega 8/16/32

В текущей версии модели Mega 8/16/32 не моделируются следующие функциональные возможности:

  • USART моделируется только как UART. Также дополнительные свойства UART, такие как четность и двойная скорость, не моделируются.
  • Значение регистра OSCCAL ни на что не влияет; тактовая частота устанавливается только свойством CLOCK.
  • Значение регистра XDIV ни на что не влияет; тактовая частота устанавливается только свойством CLOCK.
  • Влияние битов блокировки загрузки не моделируется.
  • Интерфейс JTAG не моделируется.

Планируется полное моделирование USART в следующей версии.

Ограничения модели для Mega 64/128

В текущей версии модели Mega 64/128 не моделируются следующие функциональные возможности:

  • USART моделируется только как UART. Также дополнительные свойства UART, такие как четность и двойная скорость, не моделируются.
  • Значения регистров OSCCAL и XDIV ни на что не влияют; тактовая частота устанавливается только свойством CLOCK.
  • Влияние битов блокировки загрузки не моделируется.
  • Влияние битов спящего режима SM0 и SM2 не моделируется; моделирование инструкции sleep аппроксимируется к любому из двух режимов (“ожидание” или “энергосбережение”), в зависимости установлен ли бит SM1 в 0 или в 1.
  • Интерфейс JTAG не моделируется.

Планируется полное моделирование USART в следующей версии.

COFF загрузчик

Формат COFF — всеобщий формат отладки, используемый инструментами, включенными в AVR Studio. Файлы COFF для AVR имеют расширение “.COF” и содержат полную отладочную информацию, включая адреса строк исходников и переменные данные. Чтобы загрузить файл COFF в модель, Вам необходимо в свойство Program установить полное имя файла и расширение. Например:

PROGRAM=MYFILE.COF

Обратите внимание, что файл COFF содержит абсолютные пути к исходным ‘C’ файлам, и могут возникнуть проблемы, если проект был перемещен из одного каталога в другой.

Будущая версия возможно поддержит отладку виртуального железа VSM напрямую из AVR Studio 4.

IAR UBROF загрузчик

Формат UBROF принадлежит IAR Systems и это основной отладочный формат, используемый во всем ряду компиляторов IAR. Файлы UBROF имеют расширение “.D90” и содержат полную отладочную информацию, включая адреса строк исходников и переменные данные. Чтобы загрузить файл UBROF в модель, Вам необходимо в свойство Program установить полное имя файла и расширение. Например:

PROGRAM=MYFILE.D90

Обратите внимание, что файл COFF содержит абсолютные пути к исходным ‘C’ файлам, и могут возникнуть проблемы, если проект был перемещен из одного каталога в другой. Решение — перекомпилировать проект с IAR workbench.

Обратите внимание, что Proteus поддерживает UBROF 8 или более ранний, поэтому Вам необходимо установить опции XLINK в вашем проекте для создания выходного файла типа UBROF 8 (forced).

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

Данный раздел переведен из Help’а Proteus’а версии 7.5

Теги

ATmegaATtinyAVRCADCAD / САПР (система автоматизированного проектирования)MCUProteus VSMМикроконтроллерМоделирование