Микроконтроллеры AVR: от простого к сложному - страница 4
• наличие дешевых и простых в использовании программных средств. Многие полноценные программы доступны в свободно распространяемом варианте, как, например, отладчик AVR Studio, ассемблер Wavrasm, множество версий программаторов и даже компилятор языка С — avr gcc. Некоторые из этих программ имеются на компакт-диске, прилагаемом к книге;
• узлы PWM (широтно-импульсная модуляция), таймеры/счетчики, аналоговый компаратор и последовательный порт UART встроены в микроконтроллеры и могут управляться с помощью прерываний, что значительно упрощает работу с ними;
• имеются относительные команды переходов и ветвлений, что позволяет получать перемещаемый код;
• отсутствует необходимость переключать страницы памяти (в отличие, например, от микроконтроллеров PIC);
• все микроконтроллеры AVR имеют электрически перепрограммируемую постоянную память данных EEPROM, которая может быть перепрограммирована более 100 000 раз!
Имеется три подсемейства микроконтроллеров AVR:
1. tiny AVR — недорогие миниатюрные микроконтроллеры в 8-выводном исполнении;
2. Classic AVR — основная линия микроконтроллеров с производительностью отдельных модификаций до 16 MIPS, FLASH-памятью программ 2…8 Кб, памятью данных EEPROM 64…512 байт, оперативной памятью данных SRAM 128…512 байт;
3. mega AVR с производительностью 4… 16 MIPS для сложных приложений, требующих большого объема памяти, FLASH-памятью программ до 128 Кб, памятью данных EEPROM 64…512 байт, оперативной памятью данных SRAM 2…4 Кб, встроенным 10-разрядным 8-канальным АЦП, аппаратным умножителем 8x8.
Интересной особенностью семейства микроконтроллеров AVR является то, что система команд всего семейства совместима при переносе программы со слабого на более мощный микроконтроллер.
На рис. 1.2 и 1.3 приведены таблицы с характеристиками имеющихся в настоящее время и анонсированных к выпуску микроконтроллеров семейства AVR.
По мнению автора, AT90S2313 — наиболее удобный микроконтроллер для первоначального знакомства. Он имеет почти все базовые периферийные устройства, присутствующие в микроконтроллерах серии AVR и отличается от более мощных только меньшим числом линий ввода/вывода, размером памяти программ, данных, числом таймеров (тем не менее он имеет два таймера: 8- и 16-разрядный).
Рис. 1.2.Характеристики микроконтроллеров семейства AVR
Рис. 1.3.Характеристики микроконтроллеров семейства AVR (продолжение)
В результате вполне справедливо будет сказать, что, изучив в достаточной степени микросхему AT90S2313, читатели легко смогут использовать более мощные микроконтроллеры. Микроконтроллер AT90S1200 не подходит для этой цели по причине отсутствия у него оперативной памяти данных — SRAM, что значительно отличает его возможности от остальных микроконтроллеров семейства.
По этой причине во второй главе приводится достаточно подробное описание микроконтроллера AT90S2313. Совсем нет необходимости изучать эту главу страница за страницей, хотя прочесть хотя бы обзорно ее стоит. Те, кто хочет поскорее перейти к практическому изготовлению каких-либо схем, могут просмотреть главу 4, где описаны программы для работы с микроконтроллерами семейства AVR, и переходить к главам 5 и 6, содержащим описания фрагментов схем и завершенных схем. В дальнейшем можно обращаться к главе 2 как к справочному пособию при возникновении вопросов и разборе работы той или иной схемы.
Глава 2
Описание микроконтроллера AT90S2313 фирмы Atmel
AT90S2313 — современный 8-битовый КМОП-микроконтроллер. AT90S2313 имеет производительность около 1 MIPS на мегагерц за счет того, что почти все команды он выполняет за один период тактового генератора.
Микроконтроллеры семейства AVR построены на основе расширенной RISC-архитектуры, объединяющей развитый набор команд и 32 регистра общего назначения. Все 32 регистра непосредственно подключены к арифметико-логическому устройству (АЛУ), что дает доступ к любым двум регистрам в течение одного машинного цикла. Подобная архитектура обеспечивает почти десятикратный выигрыш в производительности по сравнению с традиционными микроконтроллерами, например, серии 8051.