1.3. Микроконтроллеры семейства AVR
AVR — это новое семейство 8-разрядных RISC-микроконтроллеров фирмы Atmel. Эти микроконтроллеры позволяют решать множество задач встроенных систем. Они отличаются от других распространенных в настоящее время микроконтроллеров большей скоростью работы, большей универсальностью. Быстродействие данных микроконтроллеров позволяет в ряде случаев применять их в устройствах, для реализации которых ранее можно было применять только 16-разрядные микроконтроллеры, что позволяет ощутимо удешевить готовую систему. Кроме того, микроконтроллеры AVR очень легко программируются — простейший программатор можно изготовить самостоятельно буквально в течение 30 минут!
По заявлению фирмы-производителя микроконтроллеров (www.atmel.com) микроконтроллеры семейства AVR можно перепрограммировать до 1000 раз, причем непосредственно в собранной схеме.
Все это делает эти микроконтроллеры очень привлекательными для создания новых разработок.
Почему именно AVR?
Микроконтроллеры AVR разработаны фирмой Atmel и обладают следующими основными характеристиками:
• очень быстрая гарвардская RISC-архитектура загрузки и выполнения большинства инструкций в течение ОДНОГО цикла тактового генератора. При этом достигается скорость работы примерно 1 MIPS на МГц. Частота тактового генератора многих типов микроконтроллеров AVR может достигать 10…16 МГц (10…16 MIPS!) (MIPS — Millions Instructions per Second — миллионов операций в секунду). Отсутствует внутреннее деление частоты, как, например, в микроконтроллерах PIC. Таким образом, если использован кварцевый резонатор с частотой 16 МГц, микроконтроллер будет работать с быстродействием почти 16 MIPS;
• программы содержатся в электрически перепрограммируемой постоянной памяти программ FLASH ROM. Эта память может быть перепрограммирована до 1000 раз. Это облегчает настройку и отладку систем. Кроме того, возможность внутрисхемного программирования позволяет не вынимать микроконтроллер из целевой схемы в процессе программирования, что значительно ускоряет процесс разработки систем на основе этих микроконтроллеров;
• система команд микроконтроллеров AVR изначально проектировалась с учетом особенностей языка программирования высокого уровня С, что в результате позволяет получать после компиляции программ на С гораздо более эффективный код, чем для других микроконтроллеров. А это уже выигрыш и в размере полученного кода (в объеме памяти на кристалле), и в скорости работы микроконтроллера;
• микроконтроллеры AVR имеют 32 регистра, все из которых напрямую работают с АЛУ. Это значительно уменьшает размер программ. В других микроконтроллерах, как правило, для осуществления, например, сложения один из операндов обязательно должен находиться в специальном регистре — аккумуляторе. Таким образом, необходимо сначала его туда занести, затем после выполнения операции результат из аккумулятора нужно переписать в регистр для хранения результата. Итого получается уже три команды. В микроконтроллерах AVR то же самое займет всего одну команду;
• очень небольшое потребление энергии и наличие нескольких режимов работы с пониженным потреблением энергии делает эти микроконтроллеры идеальными для применения в конструкциях, питающихся от батареек;
• наличие дешевых и простых в использовании программных средств. Многие полноценные программы доступны в свободно распространяемом варианте, как, например, отладчик 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 как к справочному пособию при возникновении вопросов и разборе работы той или иной схемы.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОК