USB Host Shield
Зміст
Загальні відомості
USB Host Shield містить всю необхідну цифрову логіку і схеми необхідні для підключення різних USB пристроїв версії до плати Arduino. Цей шілд дозволяє вашій платі Ардуіно виступати як USB-хост пристрій. Програмне забезпечення написано велика кількість бібліотек і є підтримка від Google ADK.
Характеристики
- Робоча температура: від -40 °C до +80 °C
- Напруга живлення: 5/3.3 В
- Швидкість передачі даних: від 1.5 Мб/с до 12 Мб/с
Підключення модуля
USB Host Shield розроблений на мікросхемі програмно-керованого USB-контролера Max3421E.
Обмін даними між мікросхемою Max3421E (в складі USB Host Shield v.3) і мікропроцесором Atmega (в складі Arduino / Freeduino) здійснюється по SPI інтерфейсу. Для обміну даними задіюються п'ять виводів плати Arduino / Freeduino: SCK, MISO, MOSI, SS для організації SPI інтерфейсу, і вивід INT для організації переривань. Сигнали SCK, MISO, MOSI підключені до виводів 13, 12, 11 плати Arduino / Freeduino. Для сумісності зі сторонніми платами Mega можливе підключення цих сигналів через роз'єм ICSP.
Для апаратної сумісності з іншими модулями і версіями плат сигнали SS і INT можуть бути переключені на будь-який з пінів 10, 9 або 8 плати Arduino / Freeduino за допомогою групи перемичок JSS і JINT. За замовчуванням в бібліотеці USB Host Library прийнято, що сигнал SS підключений до піну 10, а сигнал INT до піну 9.
Розпіновка USB Host Shild
- Паяльні перемички живлення, 3,3 і 5В. Використовуються при конфігурації живлення. При використанні офіційних плат Arduino, таких як Arduino Uno, Mega і Mega 2560, обидві перемички закриваються.
- Піни живлення (power), RESET, 3.3V, 5V і GROUND (земля) використовуються для з'єднання з пінами живлення плати Arduino.
- Аналогові Піни шілдом не використовуються. Вони призначені для спрощення монтажу та забезпечення передачі для шілдів, встановлених поверх USB-шілда в збірці.
- Піни GPIN, вісім 3,3 універсальних цифрових пінів входу MAX3421E. В основному використовуються для взаємодії з кнопками, поворотними регуляторами і подібним. Також ці піни можуть бути запрограмовані як джерело переривань MAX3421E.
- Роз'єм ICSP використовується шілдом для відправки / отримання даних по шині SPI. Використовуються сигнали SCK, MOSI, MISO і RESET.
- Піни GPOUT, вісім 3,3В універсальних цифрових пінів виходу MAX3421E. Можуть бути використані по різному.
- Цифрові піни 0-7, також як і аналогові піни не використовуються шілдом і надані тільки для зручності.
- Інтерфейсні колодки MAX3421E використовуються для спрощення модифікацій шілда. Колодки SS і INT з'єднуються з пінами 10 і 9 Arduino за допомогою перемичок. Якщо піни Arduino зайняті іншим шілдом, відповідні колодки з'єднуються з відповідними пінами входу / виходу. Контакт GPX не використовується і є доступним для полегшення подальшого розширення. Він може бути використаний як другий пін переривання MAX3421E.
- Перемички потужності живлення VBUS і колодка живлення VBUS використовуються при просунутої налаштування живлення.
Схема живлення
Схема живлення USB Host Shield v.3. здійснює подачу 3.3В на мікросхему Max3421E і узгодження сигнальних рівнів напруг 5В мікросхеми Atmega на платі Arduino / Freeduino і 3.3В мікросхеми Max3421E модуля USB Host Shield v.3.
Схема стабілізованого живлення 3.3В зібрана на лінійному стабілізаторі напруги MC33269D-3.3. Живлення 5В на вхід стабілізатора MC33269D-3.3 подається з плати Arduino / Freeduino.
Узгодження рівнів напруги 3.3В і 5В реалізовано на двох мікросхемах:
- 74AHC125 - перетворювач рівнів з 5В до 3.3В для сигналів SCK, MOSI, SS, RESET.
- 74HCТ125 - перетворювач рівнів з 3.3В до 5В для сигналів MISO, INT, GPX. Додатковий сигнал GPX може бути при необхідності задіяний в Ваших розробках самостійно.
Можливий вибір джерела живлення 3.3В від стабілізатора MC33269D-3.3 USB Host Shield або від вбудованого в плату Arduino / Freeduino за допомогою перемички SJPWR.
Крім того, можлива робота з платами Arduino / Freeduino з напругою живлення ATmega 3.3В. У такому випадку відпадає необхідність у перетворенні рівнів напруги, тому що сигнали плати Arduino / Freeduino також мають рівень 3.3В. Для передачі сигналів 3.3В без їх перетворення передбачено сім джамперів:
- SJ4 (MISO)
- SJ5 (INT)
- SJ6 (GPX)
- SJ7 (SCK)
- SJ9 (SS)
- SJ8 (Reset)
- SJ10 (MOSI).
Замикання джамперів шунтирует входи / виходи мікросхеми 74AHC125 і 74HCТ125 і сигнали 3.3В передаються безпосередньо. Мікросхеми 74AHC125 і 74HCТ125 можуть бути випаяні.
USB Host Shield забезпечує живлення периферійних USB пристроїв постійною напругою 5В, проте з метою зменшення енерговитрат для деяких периферійних пристроях USB можлива напруга живлення 3.3В. З цією метою передбачено вибірживлення на шині USB за допомогою джампера JBUS, який за замовчуванням підключений в положення 5В.
Принципова схема
Бібліотека USB Host Library
Підтримка пристроїв
В даний час бібліотека USB Host Library, розроблена для подібних модулів, підтримує ряд функціоналу наступних пристроїв:
- HID пристрої, такі як клавіатури, миші, джойстики та ін.
- Ігрові контролери - Sony PS3, Nintendo Wii, Xbox360
- Послідовні порти - FTDI, PL-2303, ACM, а також деяких стільникових телефонів і GPS приймачів.
- ADK-Android телефони та планшети
- Цифрові фотоапарати - Canon EOS, Powershot, Nikon
- Ряд пристроїв зберігання даних, такі як USB флеш накопичувачі, зовнішні жорсткі диски
- Ряд Bluetooth адаптерів
Доступність
Бібліотека USB Host Library доступна на сторінці розробника, в тому числі, у вигляді архіву.
Вона сумісна з ПО Arduino версії 1.0.5 (також передбачається сумісність і з більш пізніми версіями).
Бібліотека досить "об'ємна", оскільки підтримує велику кількість різної периферії, і крім того, може компілюватися не тільки для Arduino-сумісних пристроїв. В силу цього, для вирішення багатьох завдань, пов'язаних з обміном даними по USB може знадобитися глибоке розуміння стандартів USB і навички програмування C / C ++ на рівні вище початкового.
До бібліотеки додаються приклади, що пояснюють роботу з нею.
Приклад підключення маніпулятора типу миша і обробки подій руху миші і натиснення на клавіші.
Перелік посилань
- https://arduino.ua/prod173-Arduino_USB_Host_Shield
- https://ru.wikipedia.org/wiki/Arduino#Периферия
- http://freeduino.ru/arduino/USB-Host-shield.html
- https://uamper.com/USB-host-Shield-Arduino-%D0%BD%D0%B0-MAX3421
- https://www.circuitsathome.com/mcu/usb-host-library-3-0-alpha-is-out/
- http://www.progdron.com/arduino-shield/arduino-shield/367-plata-rasshireniya-usb-host-shield.html
Valentyn Dorofei