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

В отличие от других компаний (Microchip, NEC, Motorola и т.д.) компания Atmel Corp. - один из мировых лидеров в производстве широкого спектра микросхем энергонезависимой памяти, FLASH-микроконтроллеров и микросхем программируемой логики, взяла старт по разработке RISC-микроконтроллеров в середине 90-х годов, используя все свои технические решения, накопленные к этому времени.

Концепция новых скоростных микроконтроллеров была разработана группой разработчиков исследовательского центра Atmel в Норвегии, инициалы которых затем сформировали марку AVR. Первые микроконтроллеры AVR AT90S1200 появились в середине 1997 г. и быстро снискали расположение потребителей [11].

AVR-архитектура, на основе, которой построены микроконтроллеры семейства AT90S, объединяет мощный гарвардский RISC-процессор с раздельным доступом к памяти программ и данных, 32 регистра общего назначения, каждый из которых может работать как регистр- аккумулятор, и развитую систему команд фиксированной 16-бит длины. Большинство команд выполняются за один машинный такт с одновременным исполнением текущей и выборкой следующей команды, что обеспечивает производительность до 1 MIPS на каждый МГц тактовой частоты.

32 регистра общего назначения образуют регистровый файл быстрого доступа, где каждый регистр напрямую связан с АЛУ. За один такт из регистрового файла выбираются два операнда, выполняется операция, и результат возвращается в регистровый файл. АЛУ поддерживает арифметические и логические операции с регистрами, между регистром и константой или непосредственно с регистром.

Регистровый файл также доступен как часть памяти данных. Шесть из 32-х регистров могут использоваться как три 16-разрядных регистра-указателя для косвенной адресации. Старшие микроконтроллеры семейства AVR имеют в составе АЛУ аппаратный умножитель.

Базовый набор команд AVR содержит 120 инструкций. Инструкции битовых операций включают инструкции установки, очистки и тестирования битов.

Все микроконтроллеры AVR имеют встроенную FLASH память с возможностью внутрисхемного программирования через последовательный интерфейс SPI.

Периферия МК AVR включает: таймеры-счётчики, широтно-импульсные модуляторы, поддержку внешних прерываний, аналоговые компараторы, 10-разрядный 8-канальный АЦП, параллельные порты (от 3 до 48 линий ввода и вывода), интерфейсы UART, IIC и SPI, сторожевой таймер и устройство сброса по включению питания. Все эти качества превращают AVR-микроконтроллеры в мощный инструмент для построения современных, высокопроизводительных и экономичных контроллеров различного назначения.

AVR-микроконтроллеры поддерживают спящий режим и режим микропотребления. В спящем режиме останавливается центральное процессорное ядро, в то время как регистры, таймеры-счётчики, сторожевой таймер и система прерываний продолжают функционировать. В режиме микропотребления сохраняется содержимое всех регистров, останавливается тактовый генератор, запрещаются все функции микроконтроллера, пока не поступит сигнал внешнего прерывания или аппаратного сброса. В зависимости от модели, AVR-микроконтроллеры работают в диапазоне напряжений 2,7–6 В либо 4–6 В (исключение составляет ATtiny12V с напряжением питания 1,2 В).

Средства отладки. Atmel предлагает программную среду AVR-studio для отладки программ в режиме симуляции на программном отладчике, а также для работы непосредственно с внутрисхемным эмулятором. AVR-studio доступен с WEB-страницы Atmel L, содержит ассемблер и предназначен для работы с эмуляторами ICEPRO и MegaICE. Ряд компаний предлагают свои версии Си-компиляторов, ассемблеров, линковщиков и загрузчиков для работы с микроконтроллерами семейства AVR. Как и продукция Microchip, микроконтроллеры Atmel широко применяются в России и, как следствие, программируются многими отечественными программаторами. Ряд российских фирм предлагает также различные аппаратные средства отладки AVR-микроконтроллеров.

Они привлекают внимание разработчиков наилучшим соотношением показателей быстродействие/энергопотребление, удобными режимами программирования, доступностью программно-аппаратных средств поддержки и широкой номенклатурой выпускаемых кристаллов. Линия микроконтроллеров к настоящему времени насчитывает большое количество МК различных типов, которые объединены в следующие группы [6, 8, 11]:

· Tiny AVR - низкостоимостные микроконтроллеры в 8-выводном исполнении имеют встроенную схему контроля напряжения питания, что позволяет обойтись без внешних супервизорных микросхем (см. приложение 1,табл. П1).

· Classic AVR - основная линия микроконтроллеров с производительностью отдельных модификаций до 16 MIPS, FLASH программ 2–8 Кбайт, ЕEPROM данных 64–512 байт, SRAM 128–512 байт (см. приложение 1, табл. П2).

· mega AVR с производительностью 1–16 MIPS для сложных приложений, требующих большого объема памяти, FLASH программ 4–128 Кбайт, ЕEPROM данных 64–512 байт, SRAM 2–4 Кбайт, встроенный 10-разрядный 8-канальный АЦП, аппаратный умножитель 8x8 (см. приложение 1,табл. П3).

· Микроконтроллеры picoPower. Большинство существующих микроконтроллеров постепенно будут переведены на технологию picoPower, после чего можно будет воспользоваться преимуществами их сверхмалого потребления (см. приложение 1,табл. П4).

В каждую серию входят микроконтроллеры нескольких типов. Микроконтроллеры серии АТ90 по своим структурным характеристикам (объем памяти, состав периферийных устройств) близки к микро - контроллерам семейств АТ89 фирмы Atmel и MCS-51 фирмы Intel. По своим вычислительным возможностям они занимают среднее положение между микроконтроллерами серий ATtiny и ATmega. Микроконтроллеры серии ATtiny имеют наименьшие, а микроконтроллеры серии ATmega -наибольшие вычислительные возможности в семействе AVR ((см. приложение 1,табл. П3).

Области применения AVR многогранны. Для семейства «tiny» - это интеллектуальные автомобильные датчики различного назначения, игрушки, игровые приставки, материнские платы персональных компьютеров, контроллеры защиты доступа в мобильных телефонах, зарядные устройства, детекторы дыма и пламени, бытовая техника, разнообразные инфракрасные пульты дистанционного управления. Для семейства «classic» - это модемы различных типов, современные зарядные устройства, изделия класса Smart Cards и устройства чтения для них, спутниковые навигационные системы для определения местоположения автомобилей на трассе, сложная бытовая техника, пульты дистанционного управления, сетевые карты, материнские платы компьютеров, сотовые телефоны нового поколения, а также различные и разнообразные промышленные системы контроля и управления. Для «mega» AVR - это аналоговые (NMT, ETACS, AMPS) и цифровые (GSM, CDMA) мобильные телефоны, принтеры и ключевые контроллеры для них, контроллеры аппаратов факсимильной связи и ксероксов, контроллеры современных дисковых накопителей, CD-ROM и т.д.

AVR - это относительно молодой продукт корпорации Atmel. В этой линии микроконтроллеров общего назначения постоянно появляются новые кристаллы. Например, корпорация Atmel выпустила новый микроконтроллер AVR tiny43U с ультранизким питающим напряжением 0.7В. Благодаря встроенному импульсному повышающему преобразователю, микроконтроллер может работать от 0.7В и идеально подходит для приложений с батарейным питанием и содержит: 4K Flash-памяти программ, 64 Байт EEPROM, 256 Байт SRAMУ, два 8-разрядных таймера счетчика, сторожевой таймер, аналоговый компаратор, BOD, датчик температуры, 10-разрядный АЦП, интерфейсы SPI, USI, debugWire. Микроконтроллер будет выпускаться в корпусах SOIC20 и MLF20.

Обновляются версии уже существующих микроконтроллеров. Так, корпорация Atmel выпустила новые версии микроконтроллеров AVR ATmega164PA, ATmega64A, ATmega324PA, ATmega48/88PA, - на замену микроконтроллерам ATmega164P, ATmega64. ATmega324P и ATmega48/88P. В новых микроконтроллерах, имеющих в наименовании суффикс «A», переработана топология металлизированных слоев кристалла таким образом, чтобы уменьшить энергопотребление микросхемы, но при этом сохранить полную обратную совместимость. Новые микросхемы имеют меньший ток потребления как в активном режиме работы микросхем (улучшение параметра от 25%), так и в режимах энергосбережения (от 17%).

Быстродействие и потребляемая мощность всегда были ключевыми элементами развития микроконтроллеров AVR, начиная с выпуска первого микроконтроллера AT90S1200 в 1997 году.

Непрерывный рост числа приложений с питанием от батарей или сигнальных линий требует непрерывного совершенствования решений с точки зрения их энергопотребления.

В 2006 году компания Atmel представила новое семейство экономичных AVR-контроллеров. Семейство получило обозначение picoPower. Контроллеры этого семейства способны длительное время работать от батарейного источника питания в таких приложениях, как приборы с ЖКИ, управление освещением, системы безопасности, бытовая автоматизация. Новые AVR-микроконтроллеры являются обновленной версией популярных микроконтроллеров серий ATmega. В обозначении этих микросхем появится суффикс «P». Новые микросхемы являются совместимыми функционально и pin-to-pin с микросхемами ATmega без суффикса «P». Первыми микроконтроллерами этой серии стали ATmega169P с 4×25-сегментным контроллером ЖКИ и ATmega165P - микроконтроллер общего применения.

Характеристики микроконтроллеров этой серии приведены в табл. П4, приложение 1.

Микросхемы, выполненные по технологии picoPower, обладают рядом преимуществ, которые позволяют экономить расходуемую энергию в активном и энергосберегающем режимах:

· напряжение питания от 1,8 В;

· минимизированный ток утечки;

· автоматически отключаемый модуль слежения за уровнем напряжения питания;

· часовой кварцевый генератор 32 768 Гц с повышенной экономичностью;

· сниженная потребляемая мощность модуля Flash-памяти;

· отключение цифровых портов ввода/вывода в аналоговом режиме;

· интеллектуальное управление потребляемой мощностью;

· расширенные возможности по управлению тактированием периферийных модулей.

В отличие от микроконтроллеров прежних поколений, технология picoPower подразумевает напряжение 1,8 В для питания абсолютно всех модулей кристалла, включая аналоговые модули (АЦП, компаратор, источник опорного напряжения), а также модулей памяти (Flash-ПЗУ, EEPROM и ОЗУ).

Для управления потребляемой мощностью контроллер имеет шесть режимов энергосбережения:

· Холостой режим (Idle mode) - в этом режиме блокируется подача тактовых импульсов на CPU и Flash-память.

· Режим снижения шума АЦП (ADC noise reduction mode)- холостой режим, плюс блокируется тактирование портов ввода/вывода.

· Расширенный дежурный режим (Extended Standby mode) - режим снижения шума АЦП, плюс запрещается работа АЦП и EEPROM.

· Дежурный режим (Standby mode) - расширенный дежурный режим, плюс запрещается работа таймера 2.

· Режим отключения (Power Down mode) - дежурный режим, плюс запрещается работа генератора.

· Экономичный режим (Power Save mode) - самый низкопотребляющий режим, активны только асинхронные модули - прерывания и порт TWI.

Совокупность мер по уменьшению тока потребления, как в активном режиме, так и в режимах ожидания позволила создать производительный процессор, который отличается малыми токами потребления. Для систем с автономным питанием наиболее популярны микроконтроллеры со сверхнизким потреблением, среди которых можно выделить продукцию компаний Texas Instruments Inc (серия MSP430), Microchip (серия nanoWatt), Renessas (серия H8/38076R) и Atmel (серия picoPower).

Поскольку микроконтроллеры серии picoPower являются совместимыми pin-to-pin и функционально со своими собратьями семейства ATmega, переход на новые микроконтроллеры достаточно прост. Основное различие заключается в том, что появился новый регистр управления снижением потребляемой мощности.

Линейка микроконтроллеров picoPower включает в себя устройства, которые могут использоваться в автомобилестроении: ATmega164P, ATmega324P и ATmega644P. Они прошли сертификацию по стандарту AEC-Q100 (возможность эксплуатации в жестких условиях) и доступны как в общем, так и в автомобильном исполнении. Во втором случае рабочий температурный диапазон этих контроллеров- от –40 до + 125 °С, а диапазон рабочих напряжений - от 2,7 до 5,5 В.

Микроконтроллеры со встроенным драйвером ЖКИ поддерживают такие возможности, как экономичная генерация сигналов управления ЖКИ, встроенное управление контрастностью, гибкий выбор длительностей сигналов управления и частоты обновления, формирование напряжения питания ЖКИ и продолжение работы после перевода микроконтроллера в экономичный режим работы. По сравнению с существующими аналогичными решениями наличие встроенного источника питания позволит снизить количество внешних компонентов. Для работы с 3,3-вольтовыми ЖКИ потребуется один внешний конденсатор и источник питания напряжением не менее 1,8 В. В типичных приложениях с ЖКИ технология picoPower совместно со встроенным контроллером ЖКИ позволят на годы продлить ресурс батареи питания. При этом себестоимость конечного изделия будет ниже за счет уменьшения количества внешних компонентов.

Технология picoPower стала результатом многолетних исследований и разработок компании Atmel. PicoPower позволяет микроконтроллерам AVR достичь наименьшего в промышленности уровня потребления: 650 нА с работающим счетчиком реального времени и 100 нА в режиме отключения.

AVR, пожалуй, одно из самых интересных направлений, развиваемых корпорацией Atmel. Они представляют собой мощный инструмент для создания современных высокопроизводительных и экономичных многоцелевых контроллеров. На настоящий момент соотношение «цена - производительность - энергопотребление» для AVR является одним из лучших на мировом рынке 8-разрядных микроконтроллеров. Объемы продаж AVR в мире удваиваются ежегодно. В геометрической прогрессии растет число сторонних фирм, разрабатывающих и выпускающих разнообразные программные и аппаратные средства поддержки разработок для них. Можно считать, что AVR постепенно становится еще одним индустриальным стандартом среди 8-разрядных микроконтроллеров общего назначения.

Поэтому, для изучения системы команд, способов адресации, основ программирования и принципа работы МК и его периферийных модулей в учебном пособии рассматривается микроконтроллер нового поколения ATmega128, так как в нем присутствует весь набор периферийных модулей.

 

2.1. Микроконтроллер фирмы Atmel ATmega128[1]

 

Цель данного раздела - ознакомление студентов различных специальностей с общими принципами построения современных 8-разрядных МК, основами программирования и программными средствами отладки МК на примере. Работа задумана одновременно как учебное пособие для студентов и как справочное руководство по применению МК фирмы Atmel.

Рассмотрим отличительные особенности МК и периферийные модули, которые входят в состав микросхемы ATmega128 [6, 11].

ATmega128 – маломощный 8-разрядный КМОП микроконтроллер, основанный на расширенной AVR RISC-архитектуре. За счет выполнения большинства инструкций за один машинный цикл ATmega128 достигает производительности 1 млн. операций в секунду/МГц, что позволяет проектировщикам систем оптимизировать соотношение энергопотребления и быстродействия.

Отличительные особенности:

- Высокопроизводительный, маломощный 8-разрядный AVR-микроконтроллер с развитой RISC-архитектурой;

- 133 мощных инструкций, большинство из которых выполняются за один машинный цикл;

- 32 восьмиразрядных регистров общего назначения + регистры управления встроенной периферией;

- Полностью статическая работа;

- Производительность до 16 млн. операций в секунду при тактовой частоте 16 МГц;

- Встроенное умножающее устройство выполняет умножение за два машинных цикла;

- Энергонезависимая память программ и данных;

- Износостойкость 128-ми кбайт внутрисистемно перепрограммируемой флэш-памяти: 1000 циклов запись/стирание;

- Опциональный загрузочный сектор с отдельной программируемой защитой;

- Внутрисистемное программирование встроенной загрузочной программой;

- Гарантированная двухоперационность: возможность чтения во время записи;

- Износостойкость 4 кбайт EEPROM: 100 000 циклов запись/стирание;

- Встроенное статическое ОЗУ емкостью 4 кбайт;

- Опциональная возможность адресации внешней памяти размером до 64 кбайт;

- Программируемая защита кода программы;

- Интерфейс SPI для внутрисистемного программирования;

- Интерфейс JTAG (совместимость со стандартом IEEE 1149.1);

- Граничное сканирование в соответствии со стандартом JTAG;

- Обширная поддержка функций встроенной отладки;

- Программирование флэш-памяти, EEPROM, бит конфигурации и защиты через интерфейс JTAG;

Отличительные особенности периферийных устройств.

-Два 8-разрядных таймера-счетчика с раздельными предделителями и режимами сравнения.

-Два расширенных 16-разрядных таймера-счетчика с отдельными предделителями, режимами сравнения и режимами захвата.

-Счетчик реального времени с отдельным генератором.

-Два 8-разрядных каналов ШИМ.

-6 каналов ШИМ с программируемым разрешением от 2 до 16 разрядов.
– Модулятор выходов сравнения.

-8 мультиплексированных каналов 10-разрядного аналогово-цифрового преобразования.

-Двухпроводной последовательный интерфейс, ориентированный не передачу данных в байтном формате.

-Два канала программируемых последовательных УСАПП (USART).

-Последовательный интерфейс SPI с поддержкой режимов ведущий/подчиненный.

-Программируемый сторожевой таймер со встроенным генератором.

-Встроенный аналоговый компаратор.

Специальные возможности микроконтроллера:

-Сброс при подаче питания и программируемая схема сброса при снижении напряжения питания;

-Встроенный калиброванный RC-генератор;

-Внешние и внутренние источники прерываний;

-Шесть режимов снижения энергопотребления: холостой ход (Idle), уменьшение шумов АЦП, экономичный (Power-save), выключение (Power-down), дежурный (Standby) и расширенный дежурный (Extended Standby);

-Программный выбор тактовой частоты;

-Конфигурационный бит для перевода в режим совместимости с ATmega103;

-Общее выключение подтягивающих резисторов на всех линиях портов ввода-вывода.

-Ввод-вывод и корпуса: 53 –программируемые многофункциональные линии ввода-вывода (табл. 2.1), 64-выв. корпус TQFP (рис. 2.1);

-Рабочие напряжения: 2.7 - 5.5В для ATmega128L, 4.5 - 5.5В для ATmega128;

-Градации по быстродействию: 0 - 8 МГц для ATmega128L, 0 - 16 МГц для ATmega128.

Функциональная схема МК ATmega128. Ядро AVR сочетает богатый набор инструкций с 32 универсальными рабочими регистрами. Все 32 регистра непосредственно подключены к арифметико-логическому устройству (АЛУ), который позволяет указать два различных регистра в одной инструкции и выполнить ее за один цикл. Данная архитектура обладает большей эффективностью кода за счет достижения производительности, которая в 10 раз выше по сравнению с обычными CISC-микроконтроллерами.

 

Рис. 2.1. Расположение выводов МК ATmega 128

 

ATmega128 содержит следующие элементы: 128 кбайт внутрисистемно программируемой флэш-памяти с поддержкой чтения во время записи, 4 кбайт EEPROM, 4 кбайт статического ОЗУ, 53 линии универсального ввода-вывода, 32 универсальных рабочих регистра, счетчик реального времени (RTC), четыре гибких таймера-счетчика с режимами сравнения и ШИМ, 2 USART, IIC двухпроводной последовательный интерфейс (TWI) ориентированный на передачу байт, 8-канальный 10-разрядный АЦП с опциональным дифференциальным входом с программируемым коэффициентом усиления, программируемый сторожевой таймер с внутренним генератором, последовательный порт SPI, испытательный интерфейс JTAG совместимый со стандартом IEEE 1149.1, который также используется для доступа к встроенной системе отладке и для программирования, а также шесть программно выбираемых режимов уменьшения мощности. Режим холостого хода (Idle) останавливает CPU, но при этом поддерживая работу статического ОЗУ, таймеров-счетчиков, SPI-порта и системы прерываний. Режим выключения (Powerdown) позволяет сохранить содержимое регистров, при остановленном генераторе и выключении встроенных функций до следующего прерывания или аппаратного сброса. В экономичном режиме (Power-save) асинхронный таймер продолжает работу, позволяя пользователю сохранить функцию счета времени в то время, когда остальная часть контроллера находится в состоянии сна. Режим снижения шумов АЦП (ADC Noise Reduction) останавливает процессор и все модули ввода-вывода, кроме асинхронного таймера и АЦП для минимизации импульсных шумов в процессе преобразования АЦП. В дежурном режиме (Standby) кварцевый/резонаторный генератор продолжают работу, а остальная часть микроконтроллера находится в режиме сна. Данный режим характеризуется малой потребляемой мощностью, но при этом позволяет достичь самого быстрого возврата в рабочий режим. В расширенном дежурном режиме (Extended Standby) основной генератор и асинхронный таймер продолжают работать.

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

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

Таблица 2.1. Описание выводов МК ATmega128

VCC Напряжение питания цифровых элементов
GND Общий
Порт A (PA7..PA0) Порт A – 8-разрядный порт двунаправленного ввода-вывода с внутренними подтягивающими к плюсу резисторами (выбираются раздельно для каждого разряда). Выходные буферы порта A имеют симметричную выходную характеристику с одинаковыми втекающим и вытекающим токами. При вводе, линии порта А будут действовать как источник тока, если внешне действует низкий уровень и включены подтягивающие резисторы. Выводы порта A находятся в третьем (высокоимпедансном) состоянии при выполнении условия сброса, даже если синхронизация не запущена. Порт А также выполняет некоторые специальные функции ATmega128, описываемых далее.
Порт В (PВ7..PВ0) Порт B – 8- разрядный порт двунаправленного ввода-вывода с внутренними подтягивающими к плюсу резисторами (выбираются раздельно для каждого разряда). Выходные буферы порта В имеют симметричную выходную характеристику с одинаковыми втекающим и вытекающим токами. При вводе, линии по9рта B будут действовать как источник тока, если внешне действует низкий уровень и включены подтягивающие резисторы. Выводы порта B находятся в третьем (высокоимпедансном) состоянии при выполнении условия сброса, даже если синхронизация не запущена. Порт В также выполняет некоторые специальные функции ATmega128, описываемых далее.
Порт C (PC7..PC0) Порт C – 8- разрядный порт двунаправленного ввода-вывода с внутренними подтягивающими к плюсу резисторами (выбираются раздельно для каждого разряда). Выходные буферы порта C имеют симметричную выходную характеристику с одинаковыми втекающим и вытекающим токами. При вводе, линии порта C будут действовать как источник тока, если внешне действует низкий уровень и включены подтягивающие резисторы. Выводы порта C находятся в третьем (высокоимпедансном) состоянии при выполнении условия сброса, даже если синхронизация не запущена. Порт C также выполняет некоторые специальные функции ATmega128, описываемых далее. В режиме совместимости с ATmega103 порт C действует только на вывод, а при выполнении условия сброса линии порта C не переходят в третье состояние.
Порт D (PD7..PD0) Порт D – 8- разрядный порт двунаправленного ввода-вывода с внутренними подтягивающими к плюсу резисторами (выбираются раздельно для каждого разряда). Выходные буферы порта D имеют симметричную выходную характеристику с одинаковыми втекающим и вытекающим токами. При вводе, линии порта D будут действовать как источник тока, если внешне действует низкий уровень и включены подтягивающие резисторы. Выводы порта D находятся в третьем (высокоимпедансном) состоянии при выполнении условия сброса, даже если синхронизация не запущена. Порт D также выполняет некоторые специальные функции ATmega128, описываемых далее.
Порт E (PE7..PE0) Порт E – 8- разрядный порт двунаправленного ввода-вывода с внутренними подтягивающими к плюсу резисторами (выбираются раздельно для каждого разряда). Выходные буферы порта E имеют симметричную выходную характеристику с одинаковыми втекающим и вытекающим токами. При вводе, линии порта E будут действовать как источник тока, если внешне действует низкий уровень и включены подтягивающие резисторы. Выводы порта E находятся в третьем (высокоимпедансном) состоянии при выполнении условия сброса, даже если синхронизация не запущена. Порт E также выполняет некоторые специальные функции ATmega128, описываемых далее.
Порт F (PF7..PF0) Порт F действует как аналоговый ввод аналогово-цифрового преобразователя. Порт F также может использоваться как 8- разрядный порт двунаправленного ввода-вывода, если АЦП не используется. К каждой линии порта может быть подключен встроенный подтягивающий к плюсу резистор (выбирается раздельно для каждого бита). Выходные буферы порта F имеют симметричную выходную характеристику с одинаковыми втекающим и вытекающим токами. При вводе, линии порта F будут действовать как источник тока, если внешне действует низкий уровень и включены подтягивающие резисторы. Выводы порта F находятся в третьем (высокоимпедансном) состоянии при выполнении условия сброса, даже если синхронизация не запущена. Если активизирован интерфейс JTAG, то подтягивающие резисторы на линиях PF7(TDI), PF5(TMS) и PF4(TCK) будут подключены, даже если выполняется Сброс. Вывод TDO находится в третьем состоянии, если не введено состояние TAP, при котором сдвигаются выводимые данные. Порт F также выполняет функции интерфейса JTAG. В режиме совместимости с ATmega103 порт F действует только на ввод.
Порт G (PG4..PG0) Порт G – 5- разрядный порт двунаправленного ввода-вывода с внутренними подтягивающими к плюсу резисторами (выбираются раздельно для каждого разряда). Выходные буферы порта G имеют симметричную выходную характеристику с одинаковыми втекающим и вытекающим токами. При вводе, линии порта G будут действовать как источник тока, если внешне действует низкий уровень и включены подтягивающие резисторы. Выводы порта G находятся в третьем (высокоимпедансном) состоянии при выполнении условия сброса, даже если синхронизация не запущена. Порт G также выполняет некоторые специальные функции ATmega128. В режиме совместимости с ATmega103 данные выводы используются как стробирующие сигналы интерфейса внешней памяти, а также как вход генератора 32 кГц, а при действии сброса они асинхронно принимают следующие состояния: PG0=1, PG1=1 и PG2=0, даже если синхронизация не запущена. PG3 и PG4 – выводы генератора.
RESET Вход сброса. Если на этот вход приложить низкий уровень необходимой длительностью, то будет генерирован сброс независимо от работы синхронизации. Минимальная длительность внешнего импульса сброса 50 nc. Действие импульса меньшей продолжительности не гарантирует генерацию сброса.
XTAL1 Вход инвертирующего усилителя генератора и вход внешней синхронизации.
XTAL2 Выход инвертирующего усилителя генератора.
AVCC Вход питания порта F и аналогово-цифрового преобразователя. Он должен быть внешне связан с VCC, даже если АЦП не используется. При использовании АЦП этот вывод связан с VCC через фильтр низких частот.
AREF Вход подключения источника опорного напряжения АЦП.
PEN Вход разрешения программирования для режима последовательного программирования через интерфейс SPI. Если во время действия сброса при подаче питания на этот вход подать низкий уровень, то микроконтроллер переходит в режим последовательного программирования через SPI. В рабочем режиме PEN не выполняет никаких функций.