Изучаем Arduino: инструметы и методы технического волшебства - [84]

Шрифт
Интервал

В большинстве случае, на первой странице говорится об особенностях данного микроконтроллера.

Даже беглый взгляд на первую страницу дает много информации о микроконтроллере. Мы видим, что микроконтроллер имеет 32 Кбайт программируемой флэшпамяти, может быть перепрограммирован примерно 10 000 раз, напряжение питания составляет от 1,8 до 5,5 В (в случае Arduino 5 В). Здесь также можно найти сведения о числе входов-выходов, поддержке специальных интерфейсов (SPI, I>2C), разрядности аналого-цифрового преобразователя (АЦП).

- 328 -

Рис. П.1. Первая страница технического описания микроконтроллера ATmega 328Р Документация на микроконтроллер ATmega и схема платы Arduino

- 329 -

На самом деле техническое описание насчитывает сотни страниц, я хочу отметить только наиболее важные темы, на которые следует обратить внимание. Техническое описание, как правило, снабжено PDF-закладками, обеспечивающими быстрый поиск нужной информации.

Особый интерес представляет информация о портах ввода-вывода, таймерах, различных аппаратных интерфейсах. В качестве примера рассмотрим рисунок 13-1 из раздела I/O-Ports технического описания, который приведен здесь на рис. П.2. Схемы, подобные этой, присутствуют во всем техническом описании и позволяют глубже понять принцип действия платы Arduino. На приведенной схеме видно, что все контакты ввода-вывода снабжены защитными диодами, предотвращающими появление на выводе отрицательного напряжения. Важную роль играет и конденсатор C>pin, определяющий интервалы времени фронта и спада.

Рис. П.2. Фрагмент технического описания ATmega 328Р: схема контакта ввода-вывода

Цоколевка микросхемы ATmega 328Р

Все технические описания содержат цоколевку, которая четко иллюстрирует функции каждого вывода. Выводы микроконтроллеров могут выполнять несколько функций, поэтому изучение цоколевки помогает уяснить назначение того или иного контакта. Рассмотрим цоколевку ATmega 328Р (рис. П.3). Изучив цоколевку микроконтроллера ATmega, легче будет понять схему Arduino Uno, которую мы рассмотрим в следующем разделе.

Обратите внимание, что расположение выводов на рис. П.3 и на самом микроконтроллере идентично. Полукруг (метка) в верхней части соответствует аналогичному полукругу на корпусе микросхемы и позволяет определить местоположение вывода 1.

Возможно, вы заметили аббревиатуры, не встречавшиеся ранее. Рассмотрим некоторые из них:

• VCC - источник питания микросхемы (в случае Arduino 5 В);

• AVCC - отдельное напряжение питания для АЦП (в случае Arduino 5 В);

- 330 -

Рис. П.3. Цоколевка микроконтроллера ATmega 328Р

Рис. П.4. Схема подключения выводов ATmega 328p к пронумерованным контактам Arduino Документация на микроконтроллер ATmega и схема ппаты Arduino

- 331 -

Остальные выводы контроллера - вводы-выводы общего назначения. Каждый из них сопоставляется с уникальным номером контакта в программном обеспечении Arduino, так что вам не придется помнить букву и номер порта. Названия в скобках представляют собой запись альтернативных функций для каждого вывода. Например, выводы PDO и PD 1 также являются контактами универсального синхронно-асинхронного приемопередатчика Rx и Тх соответственно. Выводы РВ6 и РВ7 служат для подключения внешнего кварцевого резонатора. На плате Arduino Uno к ним подключен кварцевый резонатор 16 МГц и вы не можете их использовать в качестве контактов ввода-вывода. Если у вас возникли проблемы с расшифровкой названий, дополнительную информацию можно отыскать в тех разделах технического описания, где приведена терминология. На сайте Arduino в разделе http://arduino.cc/en/Hacking/PinMapping168 можно найти схему подключения выводов ATmega к пронумерованным контактам платы Arduino (рис. П.4).

Принципиальная схема Arduino

Один из лучших способов изучения проектирования - анализ схем существующих продуктов, например, Arduino. На рис. П.5 изображена принципиальная схема платы Arduino Uno.

Можете ли вы, глядя на рис. П.5, установить соответствие элементов схемы и реальной платы Arduino? Начните с микроконтроллера (MCU) (элемент ZU4 на схеме) и проследите, как связаны выводы ATmega 328p с контактами разъема. Нетрудно убедиться, что выводы ATmega соответствуют контактам, доступным в интегрированной среде разработки (IDE) Arduino. Ранее мы отмечали, что выводы PDO и PD 1 подключены к контактам USART Rx и Тх. По схеме Arduino можно увидеть, что эти выводы подключены к соответствующим контактам контроллера 16U2 (конвертер USB в последовательный порт). Вы также знаете, что к контакту 13 Arduino подключен светодиод. Из схемы видно, что контакт 13 подключен к выводу PBS на ATmega. Но где же светодиод? Обозначив провода специальными метками, можно указать связь между ними в разных частях схемы без соединения линиями. На первый взгляд это может показаться непонятным. Внимательно посмотрев на вывод PBS, можно заметить, что провод, идущий из MCU, помечен как SCK, а в верхней части схемы есть провод, тоже помеченный SCK и подключенный к светодиоду. Такие обозначения соединительных проводов встречаются на большинстве принципиальных схем. Уяснив общий принцип, продолжайте анализировать схему Arduino, пока не поймете назначение всех соединений.