Atmega128

Микроконтроллер производится по технологии высокоплотной энергонезависимой памяти компании Atmel. Встроенная внутрисистемно программируемая флэш-память позволяет перепрограммировать память программ непосредственно внутри системы через последовательный интерфейс SPI с помощью простого программатора или с помощью автономной программы в загрузочном секторе. Загрузочная программа может использовать любой интерфейс для загрузки прикладной программы во флэш-память. Программа в загрузочном секторе продолжает работу в процессе обновления прикладной секции флэш-памяти, тем самым поддерживая двухоперационность: чтение во время записи. За счет сочетания 8-разр. RISC ЦПУ с внутрисистемно самопрограммируемой флэш-памятью в одной микросхеме ATmega128 является мощным микроконтроллером, позволяющим достичь высокой степени гибкости и эффективной стоимости при проектировании большинства приложений встроенного управления.mega128

ATmega128 поддерживается полным набором программных и аппаратных средств для проектирования, в т.ч.: Си-компиляторы, макроассемблеры, программные отладчики/симуляторы, внутрисистемные эмуляторы и оценочные наборы.

Совместимость ATmega103 и ATmega128

ATmega128 – микроконтроллер высокой сложности, где количество местоположений ввода-вывода составляет 64 местоположения, зарезервированных в наборе инструкций. Для гарантирования обратной совместимости с ATmega103 все местоположения ввода-вывода ATmega103 совпадают с ATmega128. Некоторые позиции ввода-вывода добавлены в расширенное пространство ввода-вывода, начиная с адреса $60 до $F, (т.е. во внутреннем ОЗУ ATmega103). Доступ к данным местоположениям осуществляется только с помощью инструкций LD/LDS/LDD и ST/STS/STD, а не с помощью IN и OUT. Перераспределение внутреннего пространства ОЗУ может стать проблемой для пользователей ATmega103. Кроме того, если в коде программы используются абсолютные адреса прерываний, то это также вызовет проблему, т.к. у ATmega128 увеличено число векторов прерываний. Для решения этих проблем может использоваться режим совместимости с ATmega103, для чего необходимо запрограммировать конфигурационный бит M103C. В данном режиме не доступны функции из расширенного пространства ввода-вывода, т.о. достигнуто расположение внутреннего ОЗУ как у ATmega103. Также удалены расширенные векторы прерываний.

ATmega128 полностью совместим по расположению выводов с ATmega103 и может быть установлен на существующую плату для ATmega103. См. рекомендации по применению “Замена ATmega103 на ATmega128”, где описывается, что необходимо знать при замене ATmega103 на ATmega128.

Режим совместимости с ATmega103

Если запрограммировать конфигурационный бит M103C, то ATmega128 будет функционировать в режиме совместимости с ATmega103, настраивая ОЗУ, линии ввода-вывода и векторы прерываний как описано выше. Однако, некоторые новые функции ATmega128 в этом режиме станут недоступными.

Данные функции перечислены ниже:

  • Один УСАПП вместо двух, только асинхронный режим. Доступны только 8 младших разрядов в регистре скорости связи.
  • Один 16-разр. таймер-счетчик с двумя регистрами сравнения вместо двух 16-разр. таймер-счетчиков с тремя регистрами сравнения.
  • Не поддерживается двухпроводной последовательный интерфейс.
  • Порт C действует только на вывод.
  • Порт G выполняет только альтернативные функции (не универсальный ввод-вывод).
  • Порт F действует только как цифровой ввод в дополнение к аналоговому вводу к АЦП.
  • Не поддерживаются возможности автономного программирования из загрузочного сектора.
  • Не возможно регулировать частоту внутреннего калиброванного RC-генератора.
  • Интерфейс внешней памяти не может освободить неиспользуемые адресные сигналы для задач универсального ввода-вывода, не конфигурируются различные паузы для разных диапазонов адресов внешней памяти.

Кроме того, для большей совместимости с ATmega103 выполнены другие незначительные изменения:

  • В регистре MCUCSR присутствуют только EXTRF и PORF.
  • Временная последовательность не требуется для изменения периода переполнения сторожевого таймера.
  • Запросы на внешние прерывания 3 — 0 генерируются только по уровню входного сигнала.
  • УСАПП не имеет буфера FIFO, поэтому, переполнение при приеме данных происходит раньше.

Неиспользуемые биты ввода-вывода у ATmega103 должны быть сброшены (запись 0) для гарантирования одинакового функционирования в составе ATmega128.

Даташит ATMEGA128Скачали 1483 раз

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *