Микроконтроллеры AVR: от простого к сложному (fb2)
- Микроконтроллеры AVR: от простого к сложному 6135K скачать: (fb2) - (epub) - (mobi) - М. С. Голубцов
Голубцов М.С
«Микроконтроллеры AVR: от простого к сложному»
Введение
Эта книга о микроконтроллерах семейства AVR, производимых известной фирмой Atmel Corporation (www.atmel.com).
Следует отметить, что перед вами не учебник и не инструкция по изготовлению полноценных систем на основе микроконтроллеров, хотя довольно подробно описываются основные их концепции. Нельзя рассматривать книгу также как справочник — в ней достаточно много материала, но тем не менее некоторые вопросы могут быть не освещены или освещены недостаточно подробно. Если необходима документальная информация, имеет смысл попутно с чтением книги обращаться к фирменным описаниям микросхем для уточнения. Например, в книге не рассматривается описание процесса программирования микроконтроллера, предполагается, что читатели воспользуются описанием несложного самодельного программатора и готовой программой к нему. Автор книги предоставляет все материалы, программы и схемы «как есть», без каких-либо гарантий правильности и соответствия фирменным описаниям и не несет никакой ответственности по материальному, или другим видам ущерба, причиненным в результате использования информации, приведенной в настоящей книге.
Прежде чем говорить о микроконтроллерах, давайте выясним, почему они играют такую большую роль в современном мире. Научно-технический прогресс неутомимо идет вперед, в результате не только в промышленной, но и в бытовой технике все шире используются встроенные компьютерные системы на основе микроконтроллеров. Они широко применяются в персональных компьютерах и их периферийных устройствах, стиральных машинах, музыкальных центрах и т. д. Средний импортный автомобиль имеет порядка 15 микроконтроллеров, управляющих различными системами автомобиля.
Основная цель книги — помочь разобраться в том, что такое однокристальный микроконтроллер, как он работает и как на его основе можно создавать разнообразные устройства, применяющиеся в технике, в быту, в повседневной практической деятельности.
Современный микроконтроллер — довольно сложное устройство, работу которого не удается описать в деталях вне связи его с дополнительными внешними устройствами. Поэтому в книге имеется достаточно много фрагментов реальных схем, а в 6-й главе — описания нескольких законченных устройств.
Автор надеется, что книга окажется полезной не только будущим конструкторам современного оборудования, но и всем тем, кто стремится расширить свои знания в области применения микропроцессорной техники.
Глава 1
Микроконтроллер
1.1. Знакомство с микроконтроллером
В этой главе мы кратко познакомимся с микроконтроллерами. Микроконтроллеры являются сердцем многих современных устройств и приборов, в том числе и бытовых. Самой главной особенностью микроконтроллеров, с точки зрения конструктора-проектировщика, является то, что с их помощью легче и зачастую гораздо дешевле реализовать различные схемы.
На рис. 1.1 изображена структурная схема типичного современного микроконтроллера.

Рис. 1.1. Структурная схема микроконтроллера
Из рисунка видно, что микроконтроллер может управлять различными устройствами и принимать от них данные при минимуме дополнительных узлов, так как большое число периферийных схем уже имеется непосредственно на кристалле микроконтроллера. Это позволяет уменьшить размеры конструкции и снизить потребление энергии от источника питания.
Для сравнения: при использовании традиционных микропроцессоров приходится все необходимые схемы сопряжения с другими устройствами реализовывать на дополнительных компонентах, что увеличивает массу, размеры и потребление электроэнергии.
Давайте рассмотрим типичные схемы, присутствующие в микроконтроллерах.
1. Центральное процессорное устройство (ЦПУ) — сердце микроконтроллера. Оно принимает из памяти программ коды команд, декодирует их и выполняет. ЦПУ состоит из регистров, арифметико-логического устройства (АЛУ) и цепей управления.
2. Память программ. Здесь хранятся коды команд, последовательность которых формирует программу для микроконтроллера.
3. Оперативная память данных. Здесь хранятся переменные программ. У большинства микроконтроллеров здесь расположен также стек.
4. Тактовый генератор. Этот генератор определяет скорость работы микроконтроллера.
5. Цепь сброса. Эта цепь служит для правильного запуска микроконтроллера.
6. Последовательный порт — очень полезный элемент микроконтроллера. Он позволяет обмениваться данными с внешними устройствами при малом количестве проводов.
7. Цифровые линии ввода/вывода. По сравнению с последовательным портом с помощью этих линий возможно управлять одновременно несколькими линиями (или проверять несколько линий).
8. Таймер. Используется для отсчета временных интервалов.
9. Сторожевой таймер. Это специальный таймер, предназначенный для предотвращения сбоев программы. Он работает следующим образом: после запуска он начинает отсчет заданного временного интервала. Если программа не перезапустит его до истечения этого интервала времени, сторожевой таймер перезапустит микроконтроллер. Таким образом, программа должна давать сторожевому таймеру сигнал — все в порядке. Если она этого не сделала, значит, по какой-либо причине произошел сбой.
1.2. Разработка конструкций на микроконтроллерах
Итак, теперь, когда мы имеем первоначальное представление о микроконтроллерах и о том, что можно сделать с их помощью, пришло время поговорить о создании конструкций на микроконтроллерах.
Один из вариантов последовательности действий при разработке конструкций на микроконтроллерах приведен ниже.
1. Во-первых, очень важно точно определить технические требования к конструкции, причем делать это следует письменно — обычно в процессе записи выявляется много нюансов, не сразу заметных при обдумывании конструкций.
2. Составить подробное описание конструкции так называемого верхнего уровня — на этом этапе еще неизвестно ни типа микроконтроллера, ни типа использованных микросхем и схемных решений, поэтому структурная схема представляет собой набор прямоугольников, подписанных наименованием узла, например АЦП. Составляется обобщенная блок-схема, описывающая работу программы. Если нужно — временные диаграммы.
3. Определиться с выбором аппаратных узлов (микросхем и т. д.) для схемы.
4. Выбрать тип микроконтроллера.
5. Убедиться в том, что микроконтроллер подходит для реализации схемы. Следует учитывать быстродействие микроконтроллера, наличие нужной периферии, число линий ввода/вывода, потребляемую мощность и другие, существенные для конкретной конструкции параметры. Не следует «бить из пушки по воробьям» — использовать более мощный микроконтроллер для простейшей задачи, с которой может справиться и более простой (и более дешевый). С другой стороны, не следует увлекаться слабыми микроконтроллерами, усложняя схему, добавляя схему увеличения числа выводов, так как достаточно часто (но не всегда) экономия, полученная за счет применения более дешевого микроконтроллера, полностью теряется из-за увеличившейся стоимости печатной платы (ведь ее размеры увеличились), стоимости дополнительных элементов и т. д.
6. Теперь следует определиться, какие инструменты (программы) будут использоваться для разработки программы для микроконтроллера. Это может быть транслятор языка ассемблер или компилятор языка высокого уровня, чаще всего С.
Комментарии к книге «Микроконтроллеры AVR: от простого к сложному», М. С. Голубцов
Всего 0 комментариев