В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

 
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации





Главная страница > Применение > Микроконтроллеров > AVR
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации


AVR088

Рекомендации по переходу между микроконтроллерами ATmega8535 и ATmega16

Введение

В данном документе приведены рекомендации для пользователей микроконтроллеров ATmega8535 для перехода на микроконтроллер ATmega16. Кроме того, эта информация будет полезна для пользователей, осуществляющих обратный переход с ATmega16 на ATmega8535. Для пользователей микроконтроллера AT90S8535 разработано отдельное руководство AVR086 «Замена A90S8535 на ATmega8535».

Помимо описываемых в этом документе отличий у ATmega16 имеется следующая особенность:

  • Интерфейс JTAG (разрешен по умолчанию)
  • Электрические характеристики данных микроконтроллеров также отличаются. Для получения более детальной информации необходимо изучить документацию на микроконтроллеры.
  • Размер памяти
    Некоторые типы памяти больше у ATmega16. В таблице 1 приведено сравнение размеров различных типов памяти.

Таблица 1 – Сравнение размеров памяти

      ATmega8535 ATmega16
    Флэш-память 8 кбайт 16 кбайт
    ОЗУ 512 байт 1 кбайт
    ЭСППЗУ 512 байт 512 байт

Также отличаются размеры загрузочного сектора (Boot Loader). Необходимо обратить внимание на следующее:

  • Размер страницы флэш-памяти 64 слова у ATmega16 взамен 32 слов ATmega8535.
  • Секция No-Read-While-Write (нет_чтения_во_время_записи) начинается с адреса 0x1C00, а не с 0xC00.

Векторы прерываний и относительные переходы/вызовы процедур

ATmega8535 использует 1-словные векторы прерывания, а ATmega16 - 2-словные векторы. 1-словный вектор может содержать только инструкцию относительного перехода RJMP, которая в свою очередь не способна адресоваться в пределах всего размера памяти ATmega16 (8 кслов).

Команды RJMP/RCALL способны адресоваться в любом направлении памяти в пределах 2 кслов за счет циклического перехода в начало при достижении конца (4 кслов) флэш-памяти ATmega8535, тем самым охватывая весь диапазон памяти. Команды циклических переходов RJMP/RCALL должны быть заменены на JMP/CALL для адресации в пределах 8 кслов флэш-памяти ATmega16.

Компилятор или ассемблер учитывают данные отличия, пропуская правильно указанные команды или выдавая сообщение об ошибке в противном случае.

Таблицы прерываний эквивалентны.

Конфигурационные биты

Отличие состоит в двух конфигурационных битах, как показано в таблице 2.

Таблица 2 – Расположение конфигурационных бит

Номер позиции бита ATmega8535 ATmega16
Старший конфигурационный байт 7 S8535C OCDEN
6 WDTON JTAGEN
5 SPIEN SPIEN
4 CKOPT CKOPT
3 EESAVE EESAVE
2 BOOTSZ1 BOOTSZ1
1 BOOTSZ0 BOOTSZ0
0 BOOTRST BOOTRST
Младший конфигурационный байт   7   BODLEVEL BODLEVEL
6 BODEN BODEN
5 SUT1 SUT1
4 SUT0 SUT0
3 CKSEL3 CKSEL3
2 CKSEL2 CKSEL2
1 CKSEL1 CKSEL1
0 CKSEL0 CKSEL0

Дополнительная информация

При использовании ATmega16 необходимо также учесть следующее:

  • Сторожевой таймер реализован без уровней безопасности, что означает возможность изменения установок предделителя без временной последовательности, как у ATmega8535.
  • Не реализован режим постоянного включения сторожевого таймера
  • Обратите внимание, что при запуске встроенной отладочной системы основной тактовый генератор продолжит свою работу даже в режимах сна (sleep). Это потребует существенного общего потребления тока. Поэтому, по мере необходимости разрешайте/запрещайте работу этой системы с помощью конфигурационного бита OCDEN.

наливные полы, полиуретановые полы