MAX3421E: контроллер периферии/хоста USB с интерфейсом SPI Печать
Добавил(а) microsin   

MAX3421E это аппаратный контроллер для устройства USB или хоста USB, содержащий встроенные цифровые логические и аналоговые схемы, требуемые для реализации full-speed устройства USB или хоста USB, совместимого с режимами full-speed/low-speed стандарта USB rev 2.0. Встроенный трансивер реализует защиту от статического электричества (ESD) ±15kV и программируемые события соединения и отключения шины USB. Внутренняя подсистема последовательного интерфейса (serial interface engine, SIE) обрабатывает протокол USB на низком уровне, выполняя такие действия, как проверка ошибок и попытки повтора передач по шине. MAX3421E работает с набором регистров, доступных через интерфейс SPI, работающий на частоте до 26 МГц. Любой мастер шины SPI (это может быть микропроцессор, микроконтроллер, логическая схема ASIC, DSP и т. д.) может получить функционал периферийного устройства USB или хоста USB, просто используя свой 3-проводный или 4-проводный интерфейс SPI.

MAX3421E circuits

MAX3421E делает доступным обширный набор периферийных устройств USB для любой системы, содержащей микроконтроллер, ASIC или DSP, когда MAX3421E работает как хост USB. Для решений точка-точка, например, к встроенной системе можно подключить клавиатуру USB или мышь, и программное обеспечение firmware, работающее с MAX3421E через SPI, может быть при необходимости упрощено для поддержки только того устройства USB, которое необходимо.

Внутренние преобразователи уровня позволяют интерфейсу SPI работать с уровнями логики системы в диапазоне напряжений 1.4V .. 3.6V. Операции реального времени, связанные с протоколом USB, обрабатываются внутри MAX3421E с генерацией сигналов прерываний для мастера SPI, поэтому для мастера SPI не нужно использовать таймеры, чтобы удовлетворить требованиям по скорости реакции на события USB. Контроллер MAX3421E также имеет 8 входов и выходов общего назначения (general-purpose inputs / outputs, GPIO), так что любой микроконтроллер, который использует выводы I/O для реализации интерфейса SPI, может тем самым восстановить для ввода/вывода свои ножки и даже получить дополнительные порты GPIO (управляемые/опрашиваемые через SPI).

MAX3421E работает в расширенном диапазоне температур -40°C .. +85°C, и доступен в 32-выводных корпусах TQFP (5mm x 5mm) и TQFN (5mm x 5mm).

MAX3421E package pinout

Основные функциональные возможности MAX3421E:

• Для любой системе на основе микроконтроллера может быть предоставлен функционал USB (устройства или хоста).
• Программная совместимость с периферийным контролером USB MAX3420E с интерфейсом SPI.
• Удовлетворяет спецификации USB 2.0 (Full-Speed 12 мегабит для периферийного устройства USB, и Full-Speed 12 мегабит / Low-Speed 1.5 мегабит для хоста USB).
• Встроенный аппаратный трансивер сигналов шины USB.
• Программное / аппаратное управление внутренними резисторами D+ Pullup (режим устройства USB) и D+/D- Pulldown (режим хоста USB).
• Программируемый 3- или 4-проводный интерфейс SPI, работающий на частоте до 26 МГц.
• Трансляторы уровня и вход VL, позволяющий использовать независимые напряжения питания для логики интерфейса SPI.
• Внутренний компаратор, детектирующий уровень VBUS для поддержки приложений устройств USB с собственным встроенным питанием (Self-Powered Peripheral USB).
• Защита от статики (ESD Protection) для сигналов D+, D- и VBCOMP.
• Выход генерации прерывания (по уровню или по программируемому перепаду), что позволяет реализовать обмен через SPI не только по опросу, но и по прерываниям.
• 8 портов GPIO.
• Сигнал прерывания для выводов GPIO с программируемой полярностью перепада.
• Продвинутая подсистема обработки протокола USB (USB SIE).
• Автоматическая обработка управления потоком данных USB и двойная буферизация.
• Встроенная низкоуровневая обработка сигнализации по шине USB.
• Содержит встроенные таймеры для поддержки операций реального времени протокола USB, так что мастеру SPI не нужно создавать события таймера для опроса контроллера.
• Компактный корпус микросхемы TQFP32 и TQFN32 (размером 5mm x 5mm).

Области применения MAX3421E:

• Фотокамеры
• Пользовательские устройства USB
• Настольные маршрутизаторы
• Встраиваемые системы на микроконтроллерах и DSP
• Промышленные приборы, измерительная техника
• Медицинская техника
• Плееры MP3
• Наладонники (PDA)
• Системы обмена данными по электропроводке (PLC)
• Мультимедийные TV-приставки

Включает ли MAX3421E в себе функционал микроконтроллера?

Нет. Как и MAX3420E, контроллер MAX3421E разработан на совместную работу с любым внешним мастер-контроллером, таким как микроконтроллер, DSP или ASIC. MAX3421E соединяется с этим внешним контроллером как подчиненное устройство SPI, и поддерживает обмен по шине SPI на частоте до 26 МГц.

Является ли MAX3421E устройством USB On-The-Go (OTG)?

Не полностью. MAX3421E может работать в двух ролях шины USB (и как периферийное устройство, и как хост), так что у него присутствует основная часть реализации OTG. Хотя MAX3421E не содержит управления VBUS и другими специальными аппаратными возможностями, которые требуются от устройства OTG, эти функции могут быть добавлены во внешних схемах, и управляться через выводы GPIO контроллера MAX3421E.

Что означает "Smart SIE"?

Аббревиатура SIE означает Serial Interface Engine, т. е. подсистема последовательного интерфейса. SIE преобразует принятые сигналы и посылает их трансиверу USB в пакетах данных. Обычно SIE выполняет базовую обработку сигналов, как то:

• Генерация CRC и проверка на отсутствие ошибок.
• Генерация дополнительных бит (Bit stuffing).
• Генерация тактовых частот.
• Отправка и проверка пакетов подтверждения (handshake packets).

Словечко "smart" применительно к SIE означает, что подсистема SIE достаточно глубоко обрабатывает протокол USB, решая даже проблемы высокоуровневого протокола, так что работа программиста сильно упрощается.

Когда хост USB посылает запрос IN устройству USB, и принимает достоверные данные, но неправильное переключение данных, что должен делать при этом хост? Обычно SIE должно предоставить результаты (хорошие данные, плохое переключение) для микроконтроллера, и оставить решение этой проблемы на firmware, как это описано на 622-й странице спецификации стандарта USB.

Подсистема smart SIE контроллера MAX3421E делает несколько больше. MAX3421E посылает ACK handshake, но не сопровождает это своим собственным переключением данных или генерацией запроса прерывания RCVDAV (Receive Data Available), который указал бы мастеру, что принятые данные достоверны. Если подтверждение ACK пакета приходит с плохим значением переключения звучит для Вас парадоксально, то ознакомьтесь с подробностями в руководстве "MAX3421E Programming Guide" AN3785 (перевод этого апноута см. в статье [2]). Контроллер MAX3421E сам обрабатывает эту часть протокола USB, так что firmware мастера этого не касается.

Другой пример - хост MAX3421E, когда smart SIE автоматически генерирует каждую 1 миллисекунду маркеры фрейма (Start Of Frame, SOF). Мастер, подключенный к MAX3421E, посылает пакеты хоста записью в регистр HXFR. Если мастер записал регистр HXFR слишком поздно для фрейма, и не хватает времени для того, чтобы избежать коллизии с маркером SOF, то SIE автоматически откладывает передачу до следующего фрейма.

Чем MAX3421E электрически отличается от MAX3420E?

Оба устройства имеют 2 вывода питания, VCC и VL. Вывод VL предназначен для генерации порогового напряжения сигналов логики транслятора уровней микросхемы, что позволяет контроллерам работать в системах со смешанными напряжениями питания.

Если Вы сравните токи потребления ICC и IL для двух контроллеров MAX3421E и MAX3420E, то увидите, что они отличаются по следующим причинам:

• MAX3420E питает свой генератор, PLL и трансивер от VCC, и свою цифровую логику от VL.
• MAX3421E запитывает все внутренние узлы - генератор, PLL, трансивер и свою цифровую логику от VCC. В результате у него будет больше ток ICC, чем у MAX3420E.

Является ли MAX3421E pin-to-pin заменой для MAX3420E?

Нет. У MAX3421 больше сигнальных выводов, чем у MAX3420E, и у MAX3421E корпус TQFP (5mm x 5mm) меньше, чем корпус TQFP у MAX3420E (7mm x 7mm).

Совместимы ли программно контролеры MAX3421E и MAX3420E?

Да. Когда на MAX3421E подается питание или приходит сигнал сброса, то по умолчанию он переходит в режим периферийного устройства USB с тем же набором регистров и их содержимым, как и у MAX3420E.

Какие типы передач USB и какие скорости поддерживает MAX3421E в режиме хоста?

MAX3421E в режиме хоста работает на низкой (low-speed, 1.5 мегабит) или полной скорости (full-speed, 12 мегабит). На низкой скорости он поддерживает USB-передачи типа CONTROL, BULK и INTERRUPT. На полной скорости поддерживаются USB-передачи типов CONTROL, BULK, INTERRUPT и ISOCHRONOUS.

Может ли MAX3421E обмениваться данными с low-speed устройствами USB, подключенными к хабу?

Да. Подсистема smart SIE управляет подробностями обмена сигналов. Если firmware хоста установит бит HUBPRE в 1, то SIE автоматически отправляет full-speed пакет PRE в хаб перед возвратом к low-speed обмену сигналами с устройством.

Может ли MAX3421E определить, что к нему подключено - устройство USB или хост?

Да. Если дизайн предусматривает оба типа коннекторов USB, A и B, контроллер MAX3421E переводится в режим хоста (бит HOST == 1), подключаются внутренние DP/DM pulldown резисторы, и выводится питание 5V на вывод VBUS A-коннектора. Прерывание MAX3421E сигнализирует, что подключено устройство USB. На коннекторе B-подключите вывод VBUS ко входу VBCOMP MAX3421E (компаратор VBUS). Тогда если пользователь осуществляет подключение к PC, MAX3421E детектирует наличие напряжение на VBUS, и MAX3421E конфигурируется как периферийное устройство USB.

Можно ли электрически изолировать MAX3421E?

Да. Интерфейс SPI контроллера MAX3421E идентичен интерфейсу SPI контроллера MAX3420E. Пожалуйста, просмотрите секцию 3 апноута MAX3420E, часто задаваемые вопросы (Frequently Asked Questions, FAQ), где обсуждается этот вопрос.

Что добавлено в MAX3421E, когда он работает как устройство USB, чем он отличается от MAX3420E?

1. У MAX3421E добавлены 4 вывода входа общего назначения (GPIN), и 4 вывода общего назначения (GPOUT). В результате получается 8 портов на ввод и 8 на вывод.
2. У MAX3421E добавлено прерывание для 8 входов общего назначения. Каждый вывод имеет бит разрешения выдачи прерывания и связанный с ним бит настройки полярности перепада входного сигнала, по которому будет выдано прерывание.
3. У MAX3421E есть бит SEPIRQ. Этот бит позволяет выводу GPX предоставить второй выход прерывания (в дополнение к выходу INT), который активен только для прерываний GPIN.
4. MAX3421E позволяет программировать время, на которое вывод INT снимает сигнал и заново его выставляет для режима генерации прерывания по перепаду, когда одно прерывание очищено и ожидается обработка другого прерывания. У MAX3420E используется для этого интервала фиксированное время 10.6 мкс.

Предоставляет ли компания Maxim код примера mass storage?

Перейдите на страницу загрузки USB software download, чтобы получить последние доступные версии программного обеспечения (требуется регистрация).

Сертифицирован ли MAX3421E по стандарту USB?

Да, в качестве устройства USB. Сертификация хоста имеет относительно новую концепцию тестирования USB, и Maxim намерена сертифицировать MAX3421E в качестве хоста USB. Вы можете проверить наличие обновлений сертификатов USB на сайте компании Maxim, или подписаться на автоматическое получение обновлений на email, как только они станут доступны.

Примечание: многое, что относится к MAX3420E (работа SPI и внутренней аппаратуры, адресация регистров, режим устройства USB, управление ножками GPIO), справедливо и для MAX3421E, так что просмотрите также FAQ MAX3420E [3].

Файл Описание
AN3782.pdf FAQ, часто задаваемые вопросы о контроллере MAX3421E.
AN3785.pdf Руководство по программированию контроллера MAX3421E (русский перевод см. в статье [2]).
AN3803.pdf Практическая терминология USB.
AN3891.pdf Гальваническая развязка (изоляция) интерфейса USB.
AN3936.pdf Описание системы разработки Maxim USB Laboratory.
AN3937.pdf Настройка Maxim USB Laboratory.
Errata_MAX3421E.pdf Передачи OUT хоста ревизий 1 и 2 кристаллов MAX3421E.
MAX3421E.pdf Описание исправлений ревизий кристаллов MAX3421E.
MAX3421E_EVKIT-1_Software.zip Примеры кода для MAXIM USB Laboratory (рассчитано на Keil MCB2130 board и MAXIM MAX3421 EVKIT-1).
TUT5884.pdf Как превратить любой игровой контроллер в мышь USB.

[Ссылки]

1. MAX3421E: USB Peripheral/Host Controller with SPI Interface site:maximintegrated.com.
2. MAX3421E: руководство по программированию.
3. FAQ MAX3420E site:maximintegrated.com.
4. 161018MAX3421E.zip - документация, примеры кода.