Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВКР КОМПЛЕКС ЛАБОРАТОРНЫХ РАБОТ НА БАЗЕ МОДЕЛИ РУКИ INMOOVE.docx
Скачиваний:
236
Добавлен:
17.11.2017
Размер:
2.94 Mб
Скачать

8.2.4.4 Связь

На платформе Arduino Leonardo может устанавливать связь с компьютером, другими устройствами Arduino или микроконтроллерами несколькими способами. ATmega32U4 поддерживают последовательный интерфейс UART TTL (5 В), осуществляемый выводами 0 (RX) и 1 (TX). ATmega32U4 позволяет также организовать последовательное соединение с программами на стороне компьютера через USB так, чтобы они "общались" с платой через виртуальный COM порт. Leonardo c помощью стандартных драйверов USB COM (для Windows потребуется .inf файл) может подключаться как USB 2.0 устройтво.  Мониторинг последовательной шины (Serial Monitor) среды разработки Arduinoпозволяет посылать и получать текстовые данные при подключении к платформе. Светодиоды RX и TX на платформе будут мигать при передаче данных через USB подключение (но не при использовании последовательной передачи через выводы 0 и 1).

Библиотекой SoftwareSerial возможно создать последовательную передачу данных через любой из цифровых выводов Leonardo.

ATmega32U4 поддерживает интерфейсы I2C (TWI) и SPI. В Arduino включена библиотека Wire для удобства использования шины I2C. Для SPI может использоваться библиотека SPI.

8.2.4.5 Программирование

Платформа программируется посредством ПО Arduino. Из меню Tools > Board выбирается «Arduino Leonardo» (согласно установленному микроконтроллеру). Подробная информация находится в справочникеиинструкциях.

Микроконтроллер ATmega32U4 на Leonardo поставляется с записанным загрузчиком, опрощающим запись новых программ без использования внешних программаторов. Связь осуществляется протоколом AVR109.

Имеется возможность не использовать загрузчик и запрограммировать микроконтроллер через выводы ICSP (внутрисхемное программирование). Подробная информация находится в данной инструкции.

8.2.4.6 Автоматическая (программная) перезагрузка

Плата Leonardo разработана таким образом, чтобы перед записью нового кода перезагрузка осуществлялась самой программой Arduino на компьютере, а не нажатием кнопки на платформе. Перезагрузка срабатывает когда виртуальный CDC COM порт открывается со скоростью 1200 бод, а затем закрывается. Когда это происходит, микропроцессор уходит на перезагрузку, разрывая USB соединение. После перезагрузки стартует загрузчик (бутлодер) и остается активным примерно 8 секунд. Загрузчик также можно инициировать нажатием кнопки Reset. Обратите внимание, что при подачи питания контроллер сразу переходит к выполнению загруженной пользовательской программы без выполнения загрузчика.

8.2.4.7 Токовая защита разъема usb

В Arduino Leonardo встроен самовосстанавливающийся предохранитель (автомат), защищающий порт USB компьютера от токов короткого замыкания и сверхтоков. Хотя практически все компьютеры имеют подобную защиту, тем не менее, данный предохранитель обеспечивает дополнительный барьер. Предохранитель срабатывает при прохождении тока более 500 мА через USB порт и размыкает цепь до тех пор, пока нормальные значения токов не будут восстановлены.

8.2.4.8 Физические характеристики

Размер печатной платы Leonardo составляют 6.9 на 5.3 см. Разъем USB и силовой разъем выходят за границы данных размеров. Четыре отверстия в плате позволяют закрепить ее на поверхности. Расстояние между цифровыми выводами 7 и 8 равняется 0,4 см, хотя между другими выводами оно составляет 0,25 см.

Последовательный порт (serial port, COM port)- это коммуникационный порт компьютера. Последовательным он называется потому что биты по нему передаются "один-за-другим", то есть последовательно. Несмотря на то, что множество коммуникационных стандартов используют такую же последовательную схему передачи данных, название последовательный порт закрепилось за стандартом RS-232.

Для работы с последовательным интерфейсом в языке программирования Arduino есть специальный класс Serial. Он реализует набор функций по коммуникации между Arduino и компьютером или иным устройством.

Все платы Arduino имеют как минимум один последовательный порт, его часто называют UART или USART. Используются два цифровых пина 0 (RX) и 1 (TX), таким образом, если используется подключение по USB, использовать пины 0 и 1 для цифрового ввода/вывода нельзя.