Если вы молоды, то наверное даже не сталкивались с последовательным портом (или RS-232), т. к. его давно уже вытеснил USB-интерфейс. Внешний вид стандартного последовательного порта изображен на рис. 6.1.
Фирменные платы Arduino снабжены последовательным портом и подключаются к компьютеру с помощью 9-контактного разъема. В настоящее время еще можно встретить компьютеры, оснащенные такими портами, хотя давно существуют адаптеры от RS232 к USB. У микроконтроллера ATmega328, который установлен на
- 120 -
плате Arduino Uno, есть один аппаратный последовательный порт. Он соединен с контактами Тх (передача) и Rx (прием), к которым можно получить доступ на цифровых выводах 0 и 1. Как мы узнали в главе 1, плата Arduino снабжена загрузчиком, который позволяет программировать ее по последовательному интерфейсу.
Это как раз те выводы, которые "мультиплексированы" (т. е. выполняют более одной функции), они используются и как линии приема-передачи кабеля USB. Но последовательный порт и USB-интерфейс несовместимы. В Arduino эта проблема решается двумя способами. Первый - применение дополнительной микросхемыпреобразователя (так сделано на платах Arduino Uno). Второй способ- использование микроконтроллера, имеющего встроенный USB-интерфейс (например, микроконтроллер 32U4 в Arduino Leonardo ).
Рис. 6.1. Последовательный порт
6.2. Платы Arduino с внутренним или внешним преобразователем FTDI
На многих платах Arduino (и их клонах) установлена дополнительная интегральная схема для преобразования USB в последовательный порт. FTDI - популярный чип, выполняющий единственную функцию: конвертирование между последовательным портом и USB. Когда компьютер подключается к микросхеме FTDI, она появляется в системе как "Virtual Serial Port", и доступ к нему аналогичен 9-проводному порту прямо в вашем компьютере. Плата Arduino Nano с установленной микросхемой преобразователя FTDI изображена на рис. 6.2.
ПРИМЕЧАНИЕ
Для обеспечения правильного взаимодействия компьютера с адаптером FTDI необходимо установить драйверы. Найти последние версии драйверов для Windows, OS Х и Linux можно на странице http://www.ftdichip.com/DriversNCP.htm. Ссылка на данную страницу есть на сайте Exploring Arduino.
Иногда для уменьшения размера платы чип FTDI встраивают в кабель (USB-кабель с чипом FTDI изображен на рис. 6.3) или устанавливают на дополнительной плате адаптера (рис. 6.4).
Плата Arduino со съемным адаптером FTDI целесообразна для проектов, в которых нет необходимости подключаться к компьютеру через USB. В результате уменьшится стоимость и габариты готового устройства.
- 121 -
Микросхема FTDI
Рис. 6.2. Плата Arduino Nano с чипом FTDI
Рис. 6.3. Кабель FTDI
Рис. 6.4. Плата адаптера FTDI Sparkfun
Далее перечислены платы Arduino со встроенным чипом FTDI. Большинство из них уже не выпускается, тем не менее, продается еще много клонов этих плат:
• Arduino Nano;
• Arduino Extreme;
• Arduino NG;
• Arduino Diecimila;
• Arduino Duemilanove;
• Arduino Mega ( original).
А вот список плат, рассчитанных на работу с внешним адаптером FTDI:
• Arduino Pro;
• Arduino Pro Mini;
- 122 -
LilyPad Arduino;
Arduino Fio;
Arduino Mini;
Arduino Ethemet.
6.3. Платы Arduino с дополнительным микроконтроллером для преобразования USB в последовательный порт
Плата Arduino Uno была первой платой, где для преобразования USB в последовательный порт применен дополнительный контроллер. Функционирует все точно так же, но с небольшими техническими различиями. На рис. 6.5 изображен последовательный адаптер 8U2, установленный в Arduino Uno (в новых версиях используется преобразователь 16U2).
Микроконтроллер Atmel 8U2 или 16U2
Рис. 6.5. Чип 8U2 на плате Arduino Uno
Вот краткий перечень различий:
• в операционной системе Windows для плат с новым адаптером требуется специальный драйвер. Этот драйвер поставляется в комплекте с загруженной версией Arduino IDE (драйверы для операционных систем OS Х и Linux не нужны);
• использование второго микроконтроллера в качестве адаптера позволило при подключении передавать в компьютер идентификатор производителя и код продукта. Ранее при подключении платы Arduino к компьютеру она определялась
- 123 -
как последовательное устройство. Плата Arduino с адаптером 8U2 и 16U2 определяется компьютером как устройство Arduino;
вспомогательный микроконтроллер можно перепрограммировать ( он работает на прошивке LUF А, которая эмулирует конвертер USB), следовательно, есть возможность изменить прошивку, чтобы плата Arduino определялась, например, как джойстик, клавиатура или MIDI-устройство. При замене прошивки плату Arduino придется программировать через программатор, например AVR ISP MKII.
Вот список плат Arduino со вспомогательным микроконтроллером для преобразования USB в последовательный порт:
• Arduino Uno;
• Arduino Mega 2560;
• Arduino Mega ADK (на основе 2560);
• Arduino Due (эту плату можно запрограммировать непосредственно).
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии