Юрий Ревич - Занимательная электроника
- Название:Занимательная электроника
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2015
- Город:Санкт-Петербург
- ISBN:978-5-9775-3479-6
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Юрий Ревич - Занимательная электроника краткое содержание
На практических примерах рассказано о том, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. От физических основ электроники, описания устройства и принципов работы различных радиоэлектронных компонентов, советов по оборудованию домашней лаборатории автор переходит к конкретным аналоговым и цифровым схемам, включая устройства на основе микроконтроллеров. Приведены элементарные сведения по метрологии и теоретическим основам электроники. Дано множество практических рекомендаций: от принципов правильной организации электропитания до получения информации о приборах и приобретении компонентов применительно к российским условиям. Третье издание дополнено сведениями о популярной платформе Arduino, с которой любому радиолюбителю становятся доступными самые современные радиоэлектронные средства.
Для широкого круга радиолюбителей
Занимательная электроника - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Из семейств универсальных 8-разрядных микроконтроллеров, так сказать, «на все случаи жизни», наиболее распространены три: контроллеры классической архитектуры х51 (первый контроллер семейства 8051 был выпущен фирмой Intel еще в середине 1980-х), контроллеры PIC фирмы Microchip (идеально подходят для проектирования несложных устройств, особенно предназначенных для тиражирования), и рассматриваемые нами Atmel AVR .
* * *
Заметки на полях
В 1995 году два студента Норвежского университета науки и технологий в г. Тронхейме, Альф Боген и Вегард Воллен, выдвинули идею 8-разрядного RISC-ядра, которую предложили руководству Atmel. Имена разработчиков вошли в название архитектуры AVR: Alf + Vegard + RISC. В Atmel идея настолько понравилась, что в 1996 году был основан исследовательский центр в Тронхейме, и уже в конце того же года начат выпуск первого опытного микроконтроллера новой серии AVR под названием AT90S1200. Во второй половине 1997 года корпорация Atmel приступила к серийному производству семейства AVR.
У AVR-контроллеров «с рождения» есть несколько особенностей, которые отличают это семейство от остальных МК, упрощают его изучение и применение. Одним из существенных преимуществ AVR стало использование конвейера. В результате для AVR не существует понятия машинного цикла: большинство команд, как мы говорили, выполняется за один такт (для сравнения отметим, что пользующиеся большой популярностью МК семейства PIC выполняют команду за 4 такта). Правда, при этом пришлось немного пожертвовать простотой системы команд, есть некоторые сложности и в области операций с битами. Тем не менее, это не приводит к заметным трудностям при изучении AVR-ассемблера — наоборот, программы получаются короче и больше напоминают программу на языке высокого уровня (отметим, что AVR проектировались специально в расчете на максимальное приближение к структуре языка С ).
Другое огромное преимущество AVR-архитектуры — наличие 32 оперативных регистров, не во всем равноправных, но позволяющих в простейших случаях обходиться без обращения к оперативной памяти и, что еще важнее, без использования стека — главного источника ошибок у начинающих программистов (мало того, в младших моделях AVR стек даже недоступен для программиста). Для AVR не существует понятия «аккумулятора», ключевого для ряда других семейств. Это еще больше приближает структуру ассемблерных программ для AVR к программам на языке высокого уровня, где операторы работают не с ячейками памяти и регистрами, а с абстрактными переменными и константами.
Но это, конечно, не значит, что AVR — однозначно лучшее в мире семейство МК. У него есть и ряд недостатков (например, несовершенная система защиты энергонезависимой памяти данных — EEPROM, некоторые вопросы с помехоустойчивостью, излишние сложности в системе команд и структуре программ и т. п.). А учитывая, что любые универсальные современные МК позволяют делать все то же самое, вопрос выбора платформы — вопрос в значительной степени предпочтений и личного опыта разработчика.
Несомненно, истинным подарком для фирмы Atmel стала позиция итальянских инженеров, выбравших в 2004 году AVR для любительской платформы Arduino, отчего популярность этого семейства быстро выросла, и за его будущее можно не беспокоиться. Об Arduino мы будем подробно говорить в последних главах этой книги.
Линейка универсальных контроллеров AVR общего назначения делится на семейства: Classic, Mega и Tiny (есть и новейшее семейство Xmega , содержащее весьма «навороченные» кристаллы). МК семейства Classic (они именовались, как АТ908<���марка контроллера>) ныне уже не производятся, однако все еще распространены в литературе, т. к. для них наработано значительное количество программ. Чтобы пользователям не пришлось переписывать все ПО, фирма Atmel позаботилась о преемственности — большинство МК семейства Classic имеет функциональные аналоги в семействе Mega, например, AT90S8515 — ATmega8515, AT90S8535 — ATmega8535 и т. п. (только AT90S2313 имеет аналог в семействе Tiny — ATtiny2313).
Полная совместимость обеспечивается специальным установочным битом (из набора так называемых Fuse-битoв) , при программировании которого Mega-контроллер начинает функционировать, как Classic (подробнее об этом рассказано в главе 19 ). Для вновь разрабатываемых устройств обычно нет никакого смысла в использовании их в режиме совместимости, однако такой прием в ряде случаев может оказаться полезным для начинающих, поскольку программы для МК Classic устроены проще и часто встречаются в литературе.
Семейство Tiny (что в буквальном переводе означает «крохотный») предназначено для наиболее простых устройств. Часть МК этого семейства не имеет возможности программирования по последовательному интерфейсу, и потому мы их, за исключением ATtiny2313, не будем рассматривать в этой книге (это не значит, что остальных Tiny следует избегать — среди них есть очень удобные и функциональные микросхемы, нередко вообще не имеющие аналогов). У составляющего исключение МК ATtiny2313 отсутствует бит совместимости с «классическим» аналогом AT90S2313, одним из самых простых и удобных контроллеров Atmel , но при внимательном рассмотрении оказывается, что они и без такого бита совместимы «снизу вверх», — программы для «классического» 2313 практически полностью подходят и для Tiny2313 (см. главу 19 ).
Общая структура внутреннего устройства МК AVR приведена на рис. 18.9. Здесь показаны все основные компоненты AVR (за исключением некоторых специализированных) — в отдельных моделях некоторые компоненты могут отсутствовать или различаться по характеристикам, неизменным остается только общее 8-разрядное процессорное ядро (GPU, General Processing Unit ). Кратко рассмотрим наиболее важные компоненты, с большинством из которых мы познакомимся в дальнейшем подробнее.

Рис. 18.9. Общая структурная схема микроконтроллеров AVR
Начнем с памяти. В структуре AVR имеются три разновидности памяти: flash-память программ, ОЗУ (SRAM) для временного хранения данных и энергонезависимая память (EEPROM) для долговременного хранения констант и данных. Рассмотрим их по отдельности.
Встроенная flash-память программ в AVR-контроллерах имеет объем от 1 Кбайт у ATtiny11 до 256 Кбайт у ATmega2560. Первое число в наименовании модели содержит величину этой памяти в килобайтах из ряда: 1, 2, 4, 8, 16, 32, 64, 128 и 256 Кбайт. Так, ATtiny2313 имеет 2 Кбайт памяти, a ATmega8535 — 8 Кбайт.
Читать дальшеИнтервал:
Закладка: