60 www.finestreet.ru компоненты интерфейсы
Роман АЛЕКСАНДРОВ
Компоненты
для USB On-the-Go
В статье пойдет речь о компонентах, поддерживающих довольно молодой стандарт — ЫБВ Оп-гИе-Оо, который обеспечивает возможность обмена информацией между устройствами без помощи компьютера.
Популярности шины USB может позавидовать любой стандарт последовательной передачи данных. Первоначально интерфейс USB предназначался для подключения периферийных устройств к настольным компьютерам и ноутбукам, которые исполняли роль USB-хоста, полностью управляющего всем транспортом по шине. Очевидно, при такой топологии невозможно соединить между собой два компьютера напрямую при помощи интерфейса USB. Так же не было никакой возможности соединять напрямую между собой, например, цифровую камеру и принтер. Поэтому никого не удивляет факт появления расширения спецификации USB — On-the-Go (OTG), позволяющей осуществлять описанные выше и ранее недоступные одноранговые соединения.
Спецификация On-the-Go позволяет любому из соединенных устройств быть управляющим на шине. Кроме того, контроллеры USB OTG потребляют на порядок меньшую мощность по сравнению с USB 2.0 и имеют миниатюрные соединители, что делает их идеальным решением для использования в автономных устройствах. OTG-устройства имеют ограниченную функциональность USB-хоста. В какой аппаратуре используется USB OTG? Это цифровые диктофоны, камеры, MP3-плееры, карманные компьютеры, более экзотичными применениями являются маршрутизаторы и различные приборы для Интернета (микровебсерверы и т. п.). Основные области применения стандарта USB OTG приведены на рис. 1.
Обзор областей применения технологии USB OTG
Попробуем свести основные сценарии применения в таблицу 1. Активное участие и поддержку OTG обеспечили и обеспечивают такие гиганты ИТ-индустрии, как Palm, TI, Philips, Hewlett-Packard, Motorola, Nokia, Intel, NEC, Microsoft, Ericsson, Qualcomm. В соответствующих кругах до сих пор ведутся споры о месте USB OTG в букете других технологий, позволяющих устройствам обмениваться между собой без посторонней помощи. Одни считают, что OTG задумыва-
Рис. 1. Области применения стандарта USB On-the-Go
Таблица 1. Сценарии применения технологии USB OTG
Объект Сценарии
Сотовый телефон Можно соединить с: • другим сотовым телефоном для обмена музыкой, графикой, синхронизации телефонных книг и настроек • КПК для обмена файлами, подключения к Интернет (телефон используется как модем) • цифровой камерой для загрузки картинок, размещения их на web-ресурсах, отправки по электронной почте • MP3-плеером для обмена музыкой • сканером для ввода изображений в телефон • переносным накопителем (жесткий диск, диктофон, MP3-плеер, используя их как средство переноса файлов) для обмена файлами, резервного копирования настроек телефона, его телефонной книги
Цифровой фотоаппарат Можно соединить с: • другим цифровым фотоаппаратом для обмена изображениями • сотовым телефоном для загрузки рисунков на web-ресурсы и отправки их по электронной почте • принтером • проектором для демонстрации фотографий
MP3-плеер и диктофон Можно соединить с: • другим MP3-плеером для обмена файлами • проигрывателем компакт-дисков для закачки файлов • внешними колонками для коллективного прослушивания записей • портативными накопителями для обмена файлами
Персональный компьютер Можно соединить с: • сотовым телефоном для синхронизации телефонных книг, резервного копирования настроек и др. данных телефона, использования телефона в качестве модема для доступа к сети Интернет • КПК для синхронизации данных, обмена файлами, резервного копирования • цифровым фотоаппаратом для сохранения изображений в компьютере, их последующей обработки, публикации • портативными накопителями для хранения данных и резервного копирования • MP3-плеером для обмена файлами
Цифровая видеокамера Можно соединить с: • сотовым телефоном для обмена файлами • КПК для обмена файлами, серфинга по web-ресурсам • цифровым фотоаппаратом для обмена изображениями
Цифровой осциллограф, логический анализатор Можно соединить с: • сотовым телефоном для передачи данных • КПК для обмена данными, сохранения результатов измерений • цифровым фотоаппаратом для обмена осциллограммами сигналов • принтером • проектором для демонстрации и точного анализа результатов измерений
КПК Можно соединить с: • клавиатурой для облегчения ввода текстовой информации • другим КПК для обмена файлами • цифровым фотоаппаратом для обмена изображениями • портативными накопителями для хранения информации, резервного копирования данных • принтером • сотовым телефоном для обмена файлами • MP3-плеером и диктофоном для обмена файлами
Портативный жесткий диск Можно соединить с: • цифровой видеокамерой для сохранения видео • MP3-плеером для хранения музыкальных файлов • цифровым фотоаппаратом для хранения изображений
CarKit Можно соединить с: • MP3-плеером для проигрывания звуковых файлов стереосистемой автомобиля • сотовым телефоном для обеспечения функции комплекта «свободные руки»
лась как конкурент таких технологий, как Bluetooth или IEEE 1394. Их оппоненты думают, что эти технологии дополняют друг друга. Впрочем, с массовым распространением Wireless USB, быть может, ситуация коренным образом изменится.
Описание особенностей стандарта
Рассмотрим особенности этой архитектуры и ее отличия от привычного всем USB 2.0. На рис. 2 показана типовая схема включения обычного USB-контроллера, которая включает цепи согласования, стабилизации напряжения и защиты от статического электричества.
Из схемы видно, что такой контроллер может работать на низкой или полной скорости. Приведенный на рисунке контроллер может быть микроконтроллером или системой на кристалле с интегрированным интерфейсом USB, либо просто USB-контроллером с последовательным интерфейсом SIE (Serial Interface Engine). Для расширения USB On-the-Go трансивер должен поддерживать как возможности функции, так и возможности хоста. Для обеспечения работы контроллера как хоста необходимо добавить «опускающие» на общий провод резисторы на линии D+ и D- (рис. 2) и обеспечить питание
USB-
контроллер
стабилизатор напряжения 3,3 В
ESD
VBUS
GND
D+
D—
В-
устройство
А-
устройство
Vbus
D+
D—
GND
Default Host end
Рис. 2. Типовая схема включения USB-контроллера
на шину по выводу Vbus. Кроме этого, как говорилось выше, контроллер должен обеспечить протокольную часть работы хоста. Это, например, необходимость посылки пакетов SOF (Start of Frame), управление работой устройств на шине посредством управляющих транзакций (пакеты SETUP), обеспечение обмена данными между устройствами (маркеры IN и OUT). Кроме этого, необходимо также обеспечивать сбросы по шине USB и управление питанием. В момент подключения хост называется А-устройством (A-Device), а функция — B-устройством (B-Device). Впоследствии роли могут поменяться, что необходимо, например, если принтер и камера подключены неправильно, то есть принтер подключен как хост, а камера как функция. Если принтер не может выполнять задачи хоста, происходит смена состояний. Для этого предусмотрен Host Negotiation Protocol (HNP). Начальная же конфигурация определяется ориентацией соединяющего кабеля (рис. 3).
Рис. 3. Соединение двух OTG-устройств
В OTG-устройствах используются гнезда типа mini-AB. Для возможности определения, каким образом подключен кабель, используется пятый штырек ID (рис. 3). В этом кратком рассмотрении особенностей OTG нельзя обойти стороной SRP (Session Request Protocol). Он позволяет В-устройству осуществить запрос к А-устройству для подачи напряжения на шину Vbus и начала новой сессии. Сессия в OTG определяется как время, в течение которого А-устройство выдает напряжение на шину. Необходимо также помнить, что А-устройство всегда должно обеспечивать шину напряжением Vbus, даже в тех случаях, когда оно имеет статус функции. А-устройство полностью управляет мощностью по шине USB, поэтому в моменты, когда обмен не требуется, может выключать напряжение Vbus, тем самым экономя потребляемую энергию. Это очень важное свойство, так как сам замысел OTG заключался в соединении между собой устройств с автономным питанием, для которых вопрос экономии потребляемой от батарей энергии является ключевым. В качестве примера на рис. 4 приведена схема подключения двух сотовых телефонов для обмена информацией.
Несмотря на заманчивые перспективы и невысокую стоимость новой технологии, OTG пока не стала повальным увлечением. Тем не менее она стабильно расширяет свои позиции и неуклонно внедряется во множество современных устройств, что позволяет делать предположения о серьезном будущем этой технологии. На этапе разработки спецификации самая активная поддержка осуществлялась производителями сотовых телефонов — компаниями Motorola и Qualcomm. Последняя разработала ряд чипсетов для сотовых телефонов с поддержкой OTG. В качестве примера можно привести чипсет MSM6275.
сотовый телефон
сотовый телефон
Vbus ^ ^ SRP-импульс |—►
Vbus
-±- 5В —8МА
Рис. 4. Соединение между собой двух USB OTG-телефонов
Помимо встроенной поддержки USB On-the-Go, он поддерживает следующие стандарты телекоммуникации: WCDMA (UMTS) R99, HSDPA (категории 11/12, скорость передачи данных до 1,8 Мбит/с), GSM/GPRS класса B и EGPRS (Multislot, класс 10). В чипсете используется высокопроизводительное ядро ARM926EJ-S, имеющее модуль MMU (Memory Management Unit). Это позволяет работать не только с операционными системами реального времени (ОСРВ), но и с такими, как Linux и Windows CE. Кроме того, чипсет включает в себя два цифровых сигнальных процессора, имеется поддержка широкого спектра памяти: NAND и NOR флэш-памяти, а также SDRAM и PSRAM. Все это помещено в миниатюрный корпус типа CSP размером 14x14 мм с 409 выводами.
Обзор компонентов USB OTG
В целом, все компоненты с поддержкой USB OTG можно разбить на две большие группы: микроконтроллеры и чипсеты с интегрированным интерфейсом USB OTG, а также трансиверы с различными интерфейсами управления и обмена данными. Сравнивать эти два класса устройств довольно сложно, поскольку каждый из них имеет свой круг задач. В целом же можно сказать, что если компоненты второго класса помогают с небольшими затратами интегрировать интерфейс USB OTG в функционально законченное устройство, то микросхемы первого идеальны для применения в массовых разработках, где USB OTG планировался в самом начале проектирования устройства. Другим удобным средством обеспечения поддержки OTG устройствами, ранее его не поддерживающими, являются так называемые мосты, например, USB — USB OTG. Немного особняком стоят микросхемы физического уровня USB OTG и, например, микросхемы управления потребляемой по шине мощности, цепи согласования и защиты, которые можно выделить в отдельную категорию «вспомогательных компонентов».
Трансиверы USB OTG
Одним из производителей, активно поддерживающих технологию USB OTG, является компания Philips. Среди ее продукции можно выделить трансиверы и контроллеры с интегрированным интерфейсом. Не обошла вниманием Philips и упоминавшиеся ранее мосты, но об этом немного позднее. Компания Philips в своих трансиверах USB OTG использует разработанный Intel и являющийся стандартом де-факто интерфейс UTMI с его расширением ULPI, позволяющим сократить число необходимых выводов. К этому классу компонентов, например, относится микросхема ISP1301, которая представляет собой трансивер, совместимый с USB 2.0 и USB OTG 1.0a. Им поддерживаются скорости
62
компоненты
C2
C1
SCL SDA< ADR/PSW INT_N <
OE_N/INT_N DAT /VP 4 SEO/VM RCV< VP< VM< SPEED SUSPEND
RESET N-
24
20
22
21
DC-DC преобразователь 3,3 В
23
CHARGE PUMP .19
ISP1301
«—►
VBUS -компараторы
последо-
вательный
контроллер
детектор сигнала ID
поднимающие и опускающие резисторы
детектор прерывания от Carkit
USB
трансивер
exopsed die pad
IS] IZI
DGND AGND
---OGND
^ vbus
► ID
-> DM -► DP
Рис. 5. Блок-схема трансивера ISP1301
SDA
SCL
INTN
контроллер
OTG
OE_N
SEO
DAT
C5 -L 0,1 |iF
C1 -Г 1mF
П R9
N 100 kOm
'----- ADR /I
C10 0,1 nF
ADR/PSW ^DD lgc
SDA CGND
C2
INT N VjjAT
ISP1301
REG<3V3J ID
SUSPEND AGND
VM DM
VP DAT/VP
SEO/VM
DGND
“=LC4
_П~0,1
HF
1
I
C2 0,1 nF
R6 33 Om
------CD-
-CD-
R7
33 1 Om
__C6 _Lc7_Lc7 _|_C6
ПГ°'1 T 22 “I-22 —g— 4,7 pF
розетка USB mini-AB
Рис. 6. Пример схемы включения трансивера ISP1301
Full Speed (12 Мбит/с) и Low Speed1 (1,5 Мбит/с). Архитектура трансивера оптимизирована для применения в переносных устройствах, таких как мобильные телефоны, цифровые фото- и видеокамеры, PDA, MP3-плееры и дик-
1 Далее по тексту устройства с поддержкой Full Speed будем называть «полноскоростными устройствами», а Low Speed — низкоскоростными
тофоны. Для доступа к статусным и командным регистрам ОТО предусмотрен последовательный интерфейс 12С. Потребляемый микросхемой в выключенном состоянии ток не превышает 20 мкА. Напряжение питания микросхемы может находиться в широком диапазоне 2,7-4,5 В, а напряжение цифрового интерфейса ввода-вывода — в диапазоне 1,65-3,6 В. Трансивер помещен в миниатюрный
корпус HVQFN24 размерами всего 4x4 мм2. Рабочий диапазон температур микросхемы — от -40 до +85 °С. Блок-схема трансивера приведена на рис. 5, а пример схемы включения — на рис. 6.
Трансивер ISP1302 является гибким, недорогим решением для добавления опции USB в мобильные телефоны с поддержкой функций OTG и Car-Kit. Его параметры во многом схожи с параметрами трансивера ISP1301. Структурная схема трансивера ISP1302 приведена на рис. 7.
Как и рассмотренные выше микросхемы, этот трансивер совместим с USB OTG версии 1.0а, а также поддерживает интерфейс мини-USB Car-Kit в соответствии с CEA-936-A. Скорости передачи — Full и Low Speed. В отношении OTG поддерживаются протоколы как HNP, так и SRP. Трансивер потребляет небольшую мощность (в выключенном режиме — всего 20 мкА). Работает микросхема при температуре от -40 до +85 °С. Для управления трансивером и проверки текущего статуса предусмотрен доступ ко внутренним регистрам посредством интерфейса I2C с максимальной частотой 400 кГц. Кроме того, трансивер поддерживает режим «data-during-audio», позволяющий не разрывая сеанса связи передавать вспомогательную информацию, например номер звонящего и т. п. Приятной особенностью также является наличие встроенного автоматического преобразователя уровней. Это особенно актуально для этой области применения, ведь процессор телефона чаще питается напряжением 2,5 В, а по спецификации USB на линиях D+ и D-напряжение достигает 3,3 В. Подключение без преобразователя уровней сигналов повредит телефон, а использование внешних микросхемных преобразователей уровней усложняет конструкцию и увеличивает ее цену.
Трансиверы Philips USB OTG ISP1504 и ISP1506 снабжены интерфейсом ULPI, который позволяет легко подключать их к микропроцессору или ASIC. Для этого используется минимальное число выводов (12 и 8, в зависимости от конкретного типа микросхемы). Структурная схема трансиверов этого класса и способ подключения к микроконтроллеру показаны на рис. 8. Трансиверы полностью совместимы со стандартом USB 2.0, поддерживают все скорости передачи, в том числе и 480 Мбит/с, соответствуют спецификации USB OTG версии 1.0а. Удобно и то, что в этих микросхемах имеются все аналоговые цепи, необходимые для функционирования физического уровня USB (например, цепи ФАПЧ). Это позволяет снизить число «обвязочных» компонентов. Наличие встроенной ФАПЧ обеспечивает возможность синхронизации от любого источника тактовых импульсов с частотой 12, 13, 19,2 или 26 МГц. Несомненно, достоинствами микросхем этой серии являются также широкий диапазон напряжения питания (3-4,5 В) и возможность приведения напряжений ввода-вывода к любому
интерфейсы компоненты 63
ADR/PSW , SDA -SCL -RESET_N -INT N -SERVICE_N -OE N/INT N -RCV -
SEO/VM -DAT/VP -
2
3
4
5 8 9 12
Level
Shifter
13
14
DC-DC преобразователь 3,3 В
VBUS Charge Pump
последо-
вательный
контроллер
VBUS
компаратор
детектор
прерывания
управление
аудио-
данными
поднимающие и опускающие резисторы
полосовой
аудио-
фильтр
■ DP - DM
SPKR_L - SPKR_R/MIC
CLOCK D0-D7 -О DIR .4 STP-^ NXT«4
RESET -►
XI -X
xo-4
ISP1504
интерфейс ULPI
параллельно-
последовательный
преобразователь
USB-данных
последовательно-
параллельный
преобразователь
USB-данных
согласующие
резисторы
сброс по включению
5>
общий сброс
кварцевый
генератор
внутреннее питание
внутреннее питание
модуль OTG
5V CHARGE PUMP SUPPL
< ID
детектор
перегрузки
потоку
>■
стабилизатор внутреннее
напряжения
■ СА - СВ
► PSW_N
Рис. 7. Блок-схема трансивера ISP1302
Рис. 9. Блок-схема USB OTG трансивера ISP1504
уровню в пределах 1,65-3,6 В. Это позволяет без использования внешних преобразователей уровней использовать трансиверы в устройствах со смешанным питанием. Завершая перечисление достоинств этих микросхем, отметим их весьма миниатюрные корпуса: HVQFN32 (5x5 мм2) и HVQFN24 (4x4 мм2).
Режим энергосбережения обеспечивает потребление тока не более 100 мкА, а в рабочем режиме потребляемый ток составляет всего 50 мА. Это позволяет использовать трансиверы в устройствах с автономным питанием. Для микросхемы ISP1504 хотелось бы также подчеркнуть наличие встроенной защиты от превышения потребляемого по шине USB тока. Более подробная блок-схема наиболее популярного трансивера ISP1504 приведена на рис. 9.
Еще одним интересным трансивером является ISP1109. В отличие от рассмотренных ранее, ISP1109 поддерживает только протокол SRP. Полезна поддержка этим трансивером технологии Car-Kit. Микросхема обеспечивает передачу данных на полной (12 Мбит/с) и низкой (1,5 Мбит/с) скорости. Для доступа к внутренним управляющим и статусным регистрам может быть задействован SPI (максимальная скорость до 26 МГц) и I2C (максимум 400 кГц). Напряжение питания трансивера может находиться в диапазоне 3-5,25 В. Удобно, что для цифрового интерфейса может быть задано напряжение от 1,65 до 3,6 В. В выключенном режиме микросхема потребляет ток менее 20 мкА. Основную область
применения трансивера производитель позиционирует в секторе производства мобильных телефонов, что, однако, не закрывает ему дорогу для использования в других приложениях. Необходимо также отметить, что для облегчения разработки и внедрения устройств с поддержкой технологии USB OTG компания Philips предлагает набор разработчика. Его использование позволит с минимальными затратами времени выпустить новое изделие на рынок.
Среди решений USB OTG компании Maxim можно отметить трансиверы MAX3301E и MAX3353E. Производитель позиционирует их для применения в мобильных устройствах, таких как КПК, сотовые телефоны, ци-
фровые камеры, МР3-плееры и цифровые диктофоны. Эти трансиверы совместимы со спецификацией ШВ 2.0, поддерживают низкую и полную скорости передачи данных. Поддержка ОТО — полная, поддерживаются протоколы как ИЫР, так и 8ИР. Для доступа к регистрам предусмотрен двухпроводной последовательный интерфейс 12С. Напряжение питания может находиться в диапазоне 2,6-5,5 В. Как и во многих трансиверах других производителей, МАХ3301Е имеет встроенный преобразователь уровней цифрового интерфейса, позволяющий использовать любое напряжение в диапазоне 1,65-3,6 В. Блок-схема трансивера МАХ3301 приведена на рис. 10.
OTG/хост/
функция
8/12
сигналь.
к==^
интерфейс
ULPI
ISP1504/5/6
ULPI TRANCEIVER
ULPI-
логика
HI-SPEED USB ATX
PoR
PLL
USB
LINK SIDE
PHY SIDE
Рис. 8. Структурная схема трансиверов серии ^1504/5/6 и способ их подключения к процессору
64 компоненты интерфейсы
Рис. 11. Схема включения трансивера MAX3353
Mini-Aß
TD6100 трансивер
последовательный
контроллер
ядро USB OTG
процессор флэш периферия
Рис. 12. Схема использования трансивера TD6100
Использование трансивера MAX3353 не представляет трудностей, для этого требуется минимум внешних компонентов (рис. 11).
Обе микросхемы имеют защиту от статического разряда до ±15 кВ, способны работать в широком диапазоне температур: -40.. .+85 °С. Выпускаются они в миниатюрных корпусах UCSP и QFN32 размером всего 5x5 мм.
Другим производителем трансиверов USB OTG является фирма TransDimension, которая предлагает полноскоростной (поддерживается и низкая скорость) трансивер TD6100 с высоким током по шине (до 100 мА). Среди особенностей прибора можно назвать удобство сопряжения с системами-на-крис-талле. TransDimension использует в трансиверах собственное полноскоростное IP-ядро. Функциональная схема включения трансивера в систему приведена на рис. 12, а его архитектура — на рис. 13.
Как и в большинстве рассмотренных трансиверов, в TD6100 для доступа к регистрам используется последовательный интерфейс I2C (400 кГц). Необходимо также отметить, что этот трансивер имеет встроенную поддержку технологии — аналоговый Car-Kit (по стандарту CEA-936A). Питать микросхему можно любым напряжением из диапазона 2,7-4,5 В, а встроенные преобразователи уровней позволяют в качестве напряжения на линиях цифрового интерфейса использовать любое значение из промежутка 1,65-3,6 В. Немаловажно, что в выключенном состоянии трансивер потреб-
ляет весьма малый ток 20 мкА. Микросхема поставляется в корпусе QFN28 размерами 4x5 мм2.
В таблице 2 приведены основные параметры рассмотренных трансиверов.
Контроллеры USB OTG
Другой класс устройств USB OTG, который мы рассмотрим, — контроллеры с интегрированным интерфейсом.
В линейке своих продуктов с поддержкой технологии USB OTG компания Philips не обошла стороной и двухролевые OTG-устройства. Примером могут служить контроллеры ISP1362 и ISP1761, предназначенные в первую очередь для использования во встраиваемых системах. Первый из них обеспечивает скорость передачи данных до 12 Мбит/с через 14 программируемых конечных точек (endpoint), второй поддерживает скорости вплоть
ADR0----
ADR1----
SCL-----
SDA-4— INTN •*-
OE_INT_N <-DAT_VP М~ SE0_VM-<-
RCV-Ч-RESET_N----
VDDL VREC(3V3) EXT_CPCNT VBAT TEST
последова-
тельный
> UART
<--►
USB трансивер (Low & Full speed)
г і k і \ 1
f i r
3.3 В DC-DC п реобразо вател ь Vbus Charge Pump
VBUS 4 ►
Vbus
компаратор
детектор —^ сигнала ID
подтяги-
вающие/
опускающие
резисторы
CGND AGND
ID
н«—►
DM
-4—►
Рис. 13. Архитектура трансивера TD6100
до 480 Мбит/с. Два USB-порта позволяют контроллеру работать в одном из трех режимов:
• On-The-Go;
• только хост (два порта);
• одновременно хост и функция. Архитектура контроллера ISP1362 приведена на рис. 14, а вариант одного из возможных применений — на рис. 15. USB-хост этого контроллера выполнен в соответствии с запатентованной архитектурой, которая позволяет снизить до минимума вмешательство процессора. Контроллер работает таким образом, чтобы максимизировать число транзакций за фрейм, что позволяет полностью использовать полосу 12 Мбит/с. Кроме того, контроллер снабжен буферами ОЗУ размером 4096 байт для хоста и 2462 байт для функций. Удобно также то, что для работы контроллеру требуется один источник синхроимпульсов частотой 12 МГц, что позволяет улучшить ЭМС устройства. Контроллер имеет 16 линий ввода-вывода, а также прямой высокоскоростной2 интерфейс с наиболее распространенными RISC-процессорами: Hitachi SH-3, Intel StrongARM, Philips XA, Fujitsu SPARClite, NEC и Toshiba MIPS, ARM7/9, Motorola DragonBall и PowerPC.
Другой контроллер этой фирмы — ISP1761 — имеет три порта. Порт 1 может быть сконфигурирован либо как функция (нисходящий), либо как восходящий порт OTG, порты 2 и 3 всегда функционируют как нисходящие порты. Порт 1 — двухролевой. Итак, благодаря наличию нескольких портов контроллер ISP1761 может работать в одном из трех режимов:
• порт 1 работает как OTG, а порты 2 и 3 — как порты хост-контроллера;
• порты 1, 2 и 3 функционируют как порты хост-контроллера;
• порт 1 работает как периферийный, а порты 2 и 3 — как порты хост-контроллера.
2 Скорость обмена между процессором и ISP1362 достигает 10 Мбайт/с
Таблица 2. Сводная таблица базовых параметров USB OTG трансиверов
Трансивер Напр. питания, В Потр. ток раб. режим/ выкл. состояние Цифровой интерфейс, В Интер- фейс Скорости Под- держка OTG Встроенный charge pump Темпера- тура, °С ESD Корпус
ISP1301 2,7-4,5 100 мА/ 20 мкА 1,65-3,6 ULPI, I2C Full Speed Low Speed HNP 8 мА -40...+85 ±8 кВ HVQFN24 (4x4 мм2)
ISP1302 3,0-4,5 -/20 мкА 1,65-3,6 I2C Full Speed Low Speed HNP, SRP 50 мА -40...+85 ±12 кВ HVQFN24 (4x4 мм2)
ISP1504 3,0-4,5 50 мА/ 100 мкА 1,65-3,6 ULPI High Speed Full Speed Low Speed HNP, SRP Да -40...+85 Нет данных HVQFN32 (5x5 мм2); HVQFN24 (4x4 мм2)
ISP1506 3,0-4,5 50 мА/ 100 мкА 1,65-1,95 ULPI High Speed Full Speed Low Speed HNP, SRP Да -40...+85 Нет данных HVQFN32 (5x5 мм2); HVQFN24 (4x4 мм2)
ISP1109 3,0-5,25 100 мА/ 20 мкА 1,65-3,6 SPI, I2C Full Speed Low Speed SRP - -40...+85 ±12 кВ HVQFN32 (5x5 мм2)
MAX3301 3,0-4,5 10 мА/ 10 мкА 1,65-3,6 I2C Full Speed Low Speed HNP, SRP 8 мА -40...+85 ±15 кВ EPQFN32; UCSP25
MAX3353 2,6-5,5 25 мА/ 2 мкА 1,65-Vcc I2C Нет данных HNP, SRP 8 мА -40...+85 ±15 кВ TSSOP16; UCSP20
TD6100 2,7-4,5 100 мА/ 20 мкА 1,65-3,6 I2C Full Speed Low Speed HNP, SRP 100 мА -40...+85 Нет данных QFN28 (4x5 мм2)
H_SUSPEND/ H WAKEUP
16,
DOTOD15
RD -CS WR АО А1 -DACK1 -DACK2. DREQ1 -DREQ2 INT1 -INT2 -
12MHz CLKOUT
ґйь +
интерфейс
шины
сброс ПО ^ internal НС буферная ФАПЧ
включению память
ЕЕ
ADVANCED HOST CONTROLLER
контроллер
OTG
контроллер
устройства
DC BUFFEER MEMORY
D_SUSPEND/
D_WAKEUP
to system clock
защита перегрузки по току
CHARGE
PUMP
USB
трансивер
OTG
трансивер
FF
GL OTGMODE ID CP CAP2CP CAP1
VDD_5V . H_PSW1 • H_PSW2 H_OC1 H_OC2
H_DM H CP
• OTG_DM
• OTG DP
Рис. 14. Архитектура контроллера ISP1362
цифровая камера
Рис. 15. Применение контроллера ISP1362
66 компоненты интерфейсы
процессор устройства {16-bit Bus)
D[31:16]—
D(15:0)
Addr
Control Signal
сигналы USB к ►'
OTG Signals к ►'
выборочно
Charge-
Pump
іьіборочно
Рис. 17. Схема включения контроллера AT43USB380
системным процессор
операционная система
драйверы класса устройства USB
накопители
( мДЙ?“иГ£фК. ) ( "P"HTeP ) (другиеива-усгройсгва)
API системного интерфейса AT43USB380 (OTG, хоста и функции)
Встраиваемое, ОС, USB микропрограммное обеспечение
драйвер системного интерфейса
служба передачи данных
управление
дескрипторами
стек USB-хоста
( перенумерация'] ( управление ^(^становление очередности] ^ устройств транзакциями J^обслуживания фреймовJ
( управление С драйвер II протокол j
статусом 1 концентратора II OTG J
кропрограммное обеспечение, архитектура которого приведена на рис. 18:
• микропрограммный стек USB, включающий реализации хоста, функции, концентратора и OTG (реализации протоколов SRP и HNP);
• ANSI Си-совместимая библиотека API, которая необходима при создании блоков драйвера USB-устройства;
• Драйверы стандартных классов USB представлены в виде совместимой с ANSI Си библиотекой API.
Для облегчения разработки устройств на основе AR43USB380 компания Atmel предлагает набор разработчика AT43DK380 (рис. 19):
жесткий диск
D С
Рис. 18. Архитектура микропрограммного обеспечения USB OTG
Как и рассмотренный выше КР1362, этот контроллер поддерживает интерфейс с наиболее популярными процессорами, а также имеет конфигурируемую 16/32-битную шину данных для подключения внешней памяти.
Не осталась в стороне от поддержки ОТО в своих микроконтроллерах и компания А1ше1. Примером может служить полноскоростной сопроцессор ШВ 2.0 для встраиваемых приложений АТ43ШВ380, структура которого показана на рис. 16.
Сопроцессор имеет 32/16/8-битный интерфейс с поддержкой режима прямого доступа к памяти ЭМА для связи с системным процессором. Контроллер поддерживает три режима работы:
• ОиЧЬе-Оо;
• хост;
• функция.
Важным преимуществом устройства является малая требовательность к системным ресурсам: перенумерация происходит без вмешательства процессора, диспетчеризация ШВ-фреймов и управление транзакциями по шине также осуществляются без прерывания системного процессора. Использование АТ43ШВ380 не представляет сложностей (рис. 17) и требует минимума внешних компонентов.
Немаловажным фактором при разработке устройства является и доступность демонстрационного программного обеспечения либо каркасов и заготовок для реализации своего собственного. Компания А1ше1 с сопроцессором АТ43ШВ380 предоставляет ми-
Рис. 20. Архитектура контроллера TD243
• Плата на основе АТ43ШВ380, которая содержит:
- процессор ОТО/хост/функции;
- 1 Мбайт флэш-ИОМ (расширяется до 2 Мбайт);
- 2 Мбайт статического ОЗУ;
- 4-портовый полноскоростной ШВ-кон-центратор;
- ІТАО;
- разъем для подключения 32/16/8-битного процессора.
• Дочерняя плата с установленным системным процессором с ядром АИМ7ТОМІ.
• Программное обеспечение и средства диагностики и отладки.
Заслуживает пристального внимания и полноскоростной контроллер ТБ243 компании ТгашОітешіоп, который представляет собой двухролевой трехпортовый ШВ-контроллер с поддержкой ОТО. Два порта работают в режиме ШВ-хоста, а третий может работать либо как порт хоста, периферии, либо как ОТО-порт. Архитектура ТБ243 приведена на рис. 20.
Контроллер ТБ243 может быть напрямую подключен к большинству популярных про-цессоров3, снабжен буферами конечных то-чек4, что в итоге позволило снизить нагрузку на процессор. Напряжение питания микросхемы — 3,3 В. Для функционирования контроллеру необходим источник тактовых импульсов частотой 6, 12, 24 или 48 МГц. Программная поддержка контроллера ШВЫпк ОТО включает стек хоста, функции, а также обеспечивает полную поддержку ОТО. Пакет ШВЬіпк ОТО доступен для многих операционных систем реального времени5 и различных процессоров.
Другим интересным контроллером ШВ ОпЧЬе-Оо с поддержкой высокой и полной скорости является трехпортовый ТБ1120. Работать он может в следующих режимах:
• один порт в режиме ОТО, другой в режиме хоста;
• один порт в режиме функции, два других — в режиме хоста (один на высокой скорости — 480 Мбит/с, два других — на полной — 12 Мбит/с).
Структурная схема контроллера ТБ1120
приведена на рис. 21. Он может быть подключен к большинству процессоров, имеет низкое энергопотребление (до 80 мА), и поставляется в миниатюрных корпусах ТБ-ВОА84 (7x7 мм2) и LQFP100 (12x12 мм2). Для рабо-
Таблица 3. Режимы функционирования УБВ-контроллера
Конфигурация портов Порт 1А Порт 2А
OTG OTG -
OTG + 1 хост OTG хост
OTG + 1 периферийный OTG периферийный
1 хост + 1 периферийный хост периферийный
1 хост + 1 периферийный периферийный хост
2 хоста хост хост
1 хост хост -
1 хост - хост
2 периферийный периферийный периферийный
1 периферийный периферийный -
1 периферийный - периферийный
Рис. 21. Структура контроллера TD1120
GP!0(24:0)
Рис. 22. Блок-схема контроллера CY7C67200
ты ему необходим источник синхроимпульсов частотой 12 или 30 МГц.
Еще один контроллер, поддерживающий USB OTG — мощный и гибкий двухролевой USB-контроллер CYC67200 компании Cypress (рис. 22).
Он имеет встроенное 16-битное ядро RISC-процессора с максимальной частотой 48 МГц. Для тактирования контроллера необходим источник с частотой синхроимпульсов 12 МГц. Размер масочного ПЗУ6 равен 4096x16 бит, а объем ОЗУ составляет 8192x16 бит. ОЗУ может быть использовано для хранения программного кода или данных. USB-контроллер может работать в следующих режимах (табл. 3).
Микросхема может питаться любым напряжением в диапазоне 2,7-3,6 В, потребляет небольшую мощность (в рабочем режиме потребляемый ток не превышает 50 мА) и поставляется в миниатюрном корпусе с шариковыми выводами FBGA48.
Мосты USB OTG
Как уже говорилось в начале статьи, помимо трансиверов и контроллеров существует еще один интересный (особенно российскому разработчику) класс устройств — мосты. Ярким представителем этой категории является мост USB — USB OTG компании Philips —
3 Имеется высокоскоростной интерфейс dual-DMA, скорость передачи данных для 16-битной шины достигает 25 Мбайт/с, а для 32-битной — 50 Мбайт/с.
4 Максимальное число конечных точек (end-point) этого контроллера равно 8.
5 Доступно ПО для WinCE, Linux, VxWorks, Nucleus, LynxOS, QNX, pSOS, PowerTV, SMX, AMX, ThreadX, VRTX, ITRON, Symbian OS и MS-DOS.
6 Уже содержит в себе BIOS, поддерживающий обмен по UART, I2C, USB, а также интерфейс с EEPROM, внешним ПЗУ.
КПК, перснальный цифровой секретарь
О
USB кабель
ISP126X
мост
USB жесткий диск
USB кабель
Рис. 23. Использование моста для соединения двух устройств, не поддерживающих спецификацию УБВ ОТО
ISP1261. Он позволяет соединять между собой два устройства класса функции, не поддерживающие стандарт OTG. Пример реализации такой концепции приведен на рис. 23.
Для организации моста может быть использована одна из трех ключевых технологий: PAHC (Philips Advanced Host Controller), протокол SEOC (Software Emulated OTG controller — программно-эмулируемый OTG-контроллер) или программное обеспечение VHAL (Virtual Hardware Abstract Layer). Рассмотрим их по порядку. PAHC представляет собой ядро встраиваемого USB хост-контроллера (микросхема ISP1362, рассмотренная нами выше).
Другая возможность — протокол SEOC. Он основан на стандартном механизме передачи данных USB Bulk. Этот протокол позволяет периферийному устройству USB получить доступ к регистрам и памяти, доступной удаленно через USB. Это можно проиллюстрировать следующим образом (рис. 24).
SEOCProtocol Engine непрерывно шлет маркеры IN периферийному USB-устройству. Когда периферийному устройству необходимо получить доступ к регистрам или памяти, оно отвечает пакетом DATA. После этого SEOCProtocol Engine проверяет, какого рода доступ необходим периферийному устройству, и предоставляет его. На запросы чтения SEOCProtocol Engine формирует пакеты типа OUT-DATA, содержащие результат операции чтения периферийного устройства.
Третья возможность — задействовать VHAL, который представляет собой программный уровень, необходимый периферийному устройству для того, чтобы выполнять роль USB-хоста. VHAL отображает удаленное аппаратное обеспечение как виртуальное локальное «железо», используя при этом протокол SEOC, запущенный на периферийном устройстве. На рис. 25 показано, как VHAL обеспечивает виртуальное подключение
к удаленному аппаратному обеспечению, используя существующую инфраструктуру периферийных ШВ-устройств. В данном случае удаленное «железо» — это ОТО-кон-троллер.
Микросхема КР1261 обеспечивает функциональность протокола 8ЕОС7, ее упрощенная структурная схема приведена на рис. 26. Дляуспешного использования КР1261 необходимо обеспечить следующие минимальные системные требования:
• должны присутствовать управляющие конечные точки;
• требуется конечная точка Ви1к-ВД, минимальный размер 64 байта;
• требуется конечная точка Ви1к-ОИТ, минимальный размер 64 байта;
• желательна конечная точка Ви1к-ОиТ размером 16 байт.
К порту 2 подключают периферийное устройство, которое должно выполнять роль хоста (назовем его псевдо-хостом). К порту 1 подключается устройство, к которому желает получить доступ псевдо-хост. Как видно из приведенной информации, использование такого моста не представляет никакой сложности. Область применения его также весьма широка: доработка готовых изделий на этапе эксплуатации, а также создание на его основе кабеля-переходника для соединения устройств с его помощью. ■
7 Другими словами, ISP1261 -протокола SEOC.
- аппаратная реализация
операционная система
стек хоста
стек устройства и аппаратного обеспечения устройства
виртуальное
соединение
аппаратное обеспечение OTG-контроллера
аппаратное обеспечение хоста
Рис. 25. Пример работы VHAL
Рис. 26. Структурная схема ISP1261