Компоненты для USB On-the-Go

№ 1’2006
В статье пойдет речь о компонентах, поддерживающих довольно молодой стандарт — USB On(the(Go, который обеспечивает возможность обмена информацией между устройствами без помощи компьютера.

В статье пойдет речь о компонентах, поддерживающих довольно молодой стандарт — 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 On-the-Go
Рис. 1. Области применения стандарта USB On-the-Go

Обзор областей применения технологии USB OTG

Попробуем свести основные сценарии применения в таблицу 1. Активное участие и поддержку OTG обеспечили и обеспечивают такие гиганты ИТ-индустрии, как Palm, TI, Philips, Hewlett-Packard, Motorola, Nokia, Intel, NEC, Microsoft, Ericsson, Qualcomm. В соответствующих кругах до сих пор ведутся споры о месте USB OTG в букете других технологий, позволяющих устройствам обмениваться между собой без посторонней помощи. Одни считают, что OTG задумывалась как конкурент таких технологий, как Bluetooth или IEEE 1394. Их оппоненты думают, что эти технологии дополняют друг друга. Впрочем, с массовым распространением Wireless USB, быть может, ситуация коренным образом изменится.

Таблица 1. Сценарии применения технологии USB OTG
Сценарии применения технологии USB OTG

Описание особенностей стандарта

Рассмотрим особенности этой архитектуры и ее отличия от привычного всем USB 2.0. На рис. 2 показана типовая схема включения обычного USB-контроллера, которая включает цепи согласования, стабилизации напряжения и защиты от статического электричества.

Типовая схема включения USB-контроллера
Рис. 2. Типовая схема включения USB-контроллера

Из схемы видно, что такой контроллер может работать на низкой или полной скорости. Приведенный на рисунке контроллер может быть микроконтроллером или систеой на кристалле с интегрированным интерфейсом USB, либо просто USB-контроллером с последовательным интерфейсом SIE (Serial Interface Engine). Для расширения USB On-the-Go трансивер должен поддерживать как возможности функции, так и возможности хоста. Для обеспечения работы контроллера как хоста необходимо добавить «опускающие» на общий провод резисторы на линии D+ и D– (рис. 2) и обеспечить питание на шину по выводу Vbus. Кроме этого, как говорилось выше, контроллер должен обеспечить протокольную часть работы хоста. Это, например, необходимость посылки пакетов SOF (Start of Frame), управление работой устройств на шине посредством управляющих транзакций (пакеты SETUP), обеспечение обмена данными между устройствами (маркеры IN и OUT). Кроме этого, необходимо также обеспечивать сбросы по шине USB и управление питанием. В момент подключения хост называется А-устройством (A-Device), а функция — B-устройством (B-Device). Впоследствии роли могут поменяться, что необходимо, например, если принтер и камера подключены неправильно, то есть принтер подключен как хост, а камера как функция. Если принтер не может выполнять задачи хоста, происходит смена состояний. Для этого предусмотрен Host Negotiation Protocol (HNP). Начальная же конфигурация определяется ориентацией соединяющего кабеля (рис. 3).

Соединение двух OTG-устройств
Рис. 3. Соединение двух OTG-устройств

В OTG-устройствах используются гнезда типа mini-AB. Для возможности определения, каким образом подключен кабель, используется пятый штырек ID (рис. 3). В этом кратком рассмотрении особенностей OTG нельзя обойти стороной SRP (Session Request Protocol). Он позволяет В-устройству осуществить запрос к А-устройству для подачи напряжения на шину Vbus и начала новой сессии. Сессия в OTG определяется как время, в течение которого А-устройство выдает напряжение на шину. Необходимо также помнить, что А-устройство всегда должно обеспечивать шину напряжением Vbus, даже в тех случаях, когда оно имеет статус функции. А-устройство полностью управляет мощностью по шине USB, поэтому в моменты, когда обмен не требуется, может выключать напряжение Vbus, тем самым экономя потребляемую энергию. Это очень важное свойство, так как сам замысел OTG заключался в соединении между собой устройств с автономным питанием, для которых вопрос экономии потребляемой от батарей энергии является ключевым. В качестве примера на рис. 4 приведена схема подключения двух сотовых телефонов для обмена информацией.

Соединение между собой двух USB OTG-телефонов
Рис. 4. Соединение между собой двух USB OTG-телефонов

Несмотря на заманчивые перспективы и невысокую стоимость новой технологии, OTG пока не стала повальным увлечением. Тем не менее она стабильно расширяет свои позиции и неуклонно внедряется во множество современных устройств, что позволяет делать предположения о серьезном будущем этой технологии. На этапе разработки спецификации самая активная поддержка осуществлялась производителями сотовых телефоновкомпаниями Motorola и Qualcomm. Последняя разработала ряд чипсетов для сотовых телефонов с поддержкой OTG. В качестве примера можно привести чипсет MSM6275. Помимо встроенной поддержки 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 размером 14×14 мм с 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. Им поддерживаются скорости Full Speed (12 Мбит/с) и Low Speed1 (1,5 Мбит/с). Архитектура трансивера оптимизирована для применения в переносных устройствах, таких как мобильные телефоны, цифровые фото- и видеокамеры, PDA, MP3-плееры и диктофоны. Для доступа к статусным и командным регистрам OTG предусмотрен последовательный интерфейс PC. Потребляемый микросхемой в выключенном состоянии ток не превышает 20 мкА. Напряжение питания микросхемы может находиться в широком диапазоне 2,7–4,5 В, а напряжение цифрового интерфейса ввода-вывода — в диапазоне 1,65–3,6 В. Трансивер помещен в миниатюрный корпус HVQFN24 размерами всего 4×4 мм2. Рабочий диапазон температур микросхемы — от –40 до +85 °С. Блок-схема трансивера приведена на рис. 5, а пример схемы включения — на рис. 6.

Блок-схема трансивера ISP1301
Рис. 5. Блок-схема трансивера ISP1301
Пример схемы включения трансивера ISP1301
Рис. 6. Пример схемы включения трансивера ISP1301

1Далее по тексту устройства с поддержкой Full Speed будем называть «полноскоростными устройствами», а Low Speed — низкоскоростными

Трансивер ISP1302 является гибким, недорогим решением для добавления опции USB в мобильные телефоны с поддержкой функций OTG и Car-Kit. Его параметры во многом схожи с параметрами трансивера ISP1301. Структурная схема трансивера ISP1302 приведена на рис. 7.

Блок-схема трансивера ISP1302
Рис. 7. Блок-схема трансивера ISP1302

Как и рассмотренные выше микросхемы, этот трансивер совместим с USB OTG версии 1.0а, а также поддерживает интерфейс мини-USB Car-Kit в соответствии с CEA-936-A. Скорости передачи — Full и Low Speed. В отношении OTG поддерживаются протоколы как HNP, так и SRP. Трансивер потребляет небольшую мощность (в выключенном режиме — всего 20 мкА). Работает микросхема при температуре от –40 до +85 °С. Для управления трансивером и проверки текущего статуса предусмотрен доступ ко внутренним регистрам посредством интерфейса I2C с максимальной частотой 400 кГц. Кроме того, трансивер поддерживает режим «data-duringaudio», позволяющий не разрывая сеанса связи передавать вспомогательную информацию, например номер звонящего и т. п. Приятной особенностью также является наличие встроенного автоматического преобразователя уровней. Это особенно актуально для этой области применения, ведь процессор телефона чаще питается напряжением 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 В) и возможность приведения напряжений ввода-вывода к любомууровню в пределах 1,65–3,6 В. Это позволяет без использования внешних преобразователей уровней использовать трансиверы в устройствах со смешанным питанием. Завершая перечисление достоинств этих микросхем, отметим их весьма миниатюрные корпуса: HVQFN32 (5×5 мм2) и HVQFN24 (4×4 мм2).

Структурная схема трансиверов серии ISP1504/5/6
Рис. 8. Структурная схема трансиверов серии ISP1504/5/6 и способ их подключения к процессору

Режим энергосбережения обеспечивает потребление тока не более 100 мкА, а в рабочем режиме потребляемый ток составляет всего 50 мА. Это позволяет использовать трансиверы в устройствах с автономным питанием. Для микросхемы ISP1504 хотелось бы также подчеркнуть наличие встроенной защиты от превышения потребляемого по шине USB тока. Более подробная блок-схема наиболее популярного трансивера ISP1504 приведена на рис. 9.

Блок-схема USB OTG трансивера ISP1504
Рис. 9. Блок-схема USB OTG трансивера ISP1504

Еще одним интересным трансивером является 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. Производитель позиционирует их для применения в мобильных устройствах, таких как КПК, сотовые телефоны, цифровые камеры, MP3-плееры и цифровые диктофоны. Эти трансиверы совместимы со спецификацией USB 2.0, поддерживают низкую и полную скорости передачи данных. Поддержка OTG — полная, поддерживаются протоколы как HNP, так и SRP. Для доступа к регистрам предусмотрен двухпроводной последовательный интерфейс PC. Напряжение питания может находиться в диапазоне 2,6–5,5 В. Как и во многих трансиверах других производителей, MAX3301E имеет встроенный преобразователь уровней цифрового интерфейса, позволяющий использовать любое напряжение в диапазоне 1,65–3,6 В. Блок-схема трансивера MAX3301 приведена на рис. 10.

Блок-схема трансивера MAX3301
Рис. 10. Блок-схема трансивера MAX3301

Использование трансивера MAX3353 не представляет трудностей, для этого требуется минимум внешних компонентов (рис. 11).

Схема включения трансивера MAX3353
Рис. 11. Схема включения трансивера MAX3353

Обе микросхемы имеют защиту от статического разряда до ±15 кВ, способны работать вшироком диапазоне температур: –40…+85 °С. Выпускаются они в миниатюрных корпусах UCSP и QFN32 размером всего 5×5 мм.

Другим производителем трансиверов USB OTG является фирма TransDimension, которая предлагает полноскоростной (поддерживается и низкая скорость) трансивер TD6100 с высоким током по шине (до 100 мА). Среди особенностей прибора можно назвать удобство сопряжения с системами-на-кристалле. TransDimension использует в трансиверах собственное полноскоростное IP-ядро. Функциональная схема включения трансивера в систему приведена на рис. 12, а его архитектура — на рис. 13.

Схема использования трансивера TD6100
Рис. 12. Схема использования трансивера TD6100
Архитектура трансивера TD6100
Рис. 13. Архитектура трансивера TD6100

Как и в большинстве рассмотренных трансиверов, в TD6100 для доступа к регистрам используется последовательный интерфейс PC (400 кГц). Необходимо также отметить, что этот трансивер имеет встроенную поддержку технологии—аналоговый Car-Kit (по стандарту CEA-936A). Питать микросхему можно любым напряжением из диапазона 2,7–4,5 В, а встроенные преобразователи уровней позволяют в качестве напряжения на линиях цифрового интерфейса использовать любое значение из промежутка 1,65–3,6 В. Немаловажно, что в выключенном состоянии трансивер потребляет весьма малый ток 20 мкА. Микросхема поставляется в корпусе QFN28 размерами 4×5 мм2.

В таблице 2 приведены основные параметры рассмотренных трансиверов.

Таблица 2. Сводная таблица базовых параметров USB OTG трансиверов
Сводная таблица базовых параметров USB OTG трансиверов

Контроллеры USB OTG

Другой класс устройств USB OTG, который мы рассмотрим, — контроллеры с интегрированным интерфейсом.

В линейке своих продуктов с поддержкой технологии USB OTG компания Philips не обошла стороной и двухролевые OTG-устройства. Примером могут служить контроллеры ISP1362 и ISP1761, предназначенные в первую очередь для использования во встраиваемых системах. Первый из них обеспечивает скорость передачи данных до 12 Мбит/с через 14 программируемых конечных точек (endpoint), второй поддерживает скорости вплоть до 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.

Архитектура контроллера ISP1362
Рис. 14. Архитектура контроллера ISP1362
Применение контроллера ISP1362
Рис. 15. Применение контроллера ISP1362

2Скорость обмена между процессором и ISP1362 достигает 10 Мбайт/с

Другой контроллер этой фирмы — ISP1761 — имеет три порта. Порт 1 может быть сконфигурирован либо как функция (нисходящий), либо как восходящий порт OTG, порты 2 и 3 всегда функционируют как нисходящие порты. Порт 1 — двухролевой. Итак, благодаря наличию нескольких портов контроллер ISP1761 может работать в одном из трех режимов:

  • порт 1 работает как OTG, а порты 2 и 3 — как порты хост-контроллера;
  • порты 1, 2 и 3 функционируют как порты хост-контроллера;
  • порт 1 работает как периферийный, а порты 2 и 3 — как порты хост-контроллера.

Как и рассмотренный выше ISP1362, этот контроллер поддерживает интерфейс с наиболее популярными процессорами, а также имеет конфигурируемую 16/32-битную шину данных для подключения внешней памяти.

Не осталась в стороне от поддержки OTG в своих микроконтроллерах и компания Atmel. Примером может служить полноскоростной сопроцессор USB 2.0 для встраиваемых приложений AT43USB380, структура которого показана на рис. 16.

Блок-схема USB OTG сопроцессора AT43USB380
Рис. 16 Блок-схема USB OTG сопроцессора AT43USB380

Сопроцессор имеет 32/16/8-битный интерфейс с поддержкой режима прямого доступа к памяти DMA для связи с системным процессором. Контроллер поддерживает три режима работы:

  • On-the-Go;
  • хост;
  • функция.

Важным преимуществом устройства является малая требовательность к системным ресурсам: перенумерация происходит без вмешательства процессора, диспетчеризация USB-фреймов и управление транзакциями по шине также осуществляются без прерывания системного процессора. Использование AT43USB380 не представляет сложностей (рис. 17) и требует минимума внешних компонентов.

Схема включения контроллера AT43USB380
Рис. 17. Схема включения контроллера AT43USB380

Немаловажным фактором при разработке устройства является и доступность демонстрационного программного обеспечения либо каркасов и заготовок для реализации своего собственного. Компания Atmel с сопроцессором AT43USB380 предоставляет микропрограммное обеспечение, архитектура которого приведена на рис. 18:

  • микропрограммный стек USB, включающий реализации хоста, функции, концентратора и OTG (реализации протоколов SRP и HNP);
  • ANSI Cи-совместимая библиотека API, которая необходима при создании блоков драйвера USB-устройства;
  • Драйверы стандартных классов USB представлены в виде совместимой с ANSI Си библиотекой API.
Архитектура микропрограммного обеспечения USB OTG
Рис. 18. Архитектура микропрограммного обеспечения USB OTG

Для облегчения разработки устройств на основе AR43USB380 компания Atmel предлагает набор разработчика AT43DK380 (рис. 19):

  • Плата на основе AT43USB380, которая содержит:
    • процессор OTG/хост/функции;
    • 1 Мбайт флэш-ROM (расширяется до 2 Мбайт);
    • 2 Мбайт статического ОЗУ;
    • 4-портовый полноскоростной USB-концентратор;
    • JTAG;
    • разъем для подключения 32/16/8-битного процессора.
  • Дочерняя плата с установленным системным процессором с ядром ARM7TDMI.
  • Программное обеспечение и средства ди-
    агностики и отладки.
Внешний вид набора разработчика AT43DK380
Рис. 19. Внешний вид набора разработчика AT43DK380

Заслуживает пристального внимания и полноскоростной контроллер TD243 компании TransDimension, который представляет собой двухролевой трехпортовый USB-контроллер с поддержкой OTG. Два порта работают в режиме USB-хоста, а третий может работать либо как порт хоста, периферии, либо как OTG-порт. Архитектура TD243 приведена на рис. 20.

Архитектура контроллера TD243
Рис. 20. Архитектура контроллера TD243

Контроллер TD243 может быть напрямую подключен к большинству популярных процессоров3, снабжен буферами конечных точек4, что в итоге позволило снизить нагрузку на процессор. Напряжение питания микросхемы — 3,3 В. Для функционирования контроллеру необходим источник тактовых импульсов частотой 6, 12, 24 или 48 МГц. Программная поддержка контроллера USBLink OTG включает стек хоста, функции, а также обеспечивает полную поддержку OTG. Пакет USBLink OTG доступен для многих операционных систем реального времени5 и различных процессоров.

Другим интересным контроллером USB On-the-Go с поддержкой высокой и полной скорости является трехпортовый TD1120. Работать он может в следующих режимах:

  • один порт в режиме OTG, другой в режиме хоста;
  • один порт в режиме функции, два других — в режиме хоста (один на высокой скорости — 480 Мбит/с, два других — на полной — 12 Мбит/с).

Структурная схема контроллера TD1120 приведена на рис. 21. Он может быть подключен к большинству процессоров, имеет низкое энергопотребление (до 80 мА), и поставляется в миниатюрных корпусах TF-BGA84 (7×7 мм2) и LQFP100 (12×12 мм2). Для работы ему необходим источник синхроимпульсов частотой 12 или 30 МГц.

Структура контроллера TD1120
Рис. 21. Структура контроллера TD1120

Еще один контроллер, поддерживающий USB OTG — мощный и гибкий двухролевой USB-контроллер CYC67200 компании Cypress (рис. 22).

Блок-схема контроллера CY7C67200
Рис. 22. Блок-схема контроллера CY7C67200

Он имеет встроенное 16-битное ядро RISC-процессора с максимальной частотой 48 МГц. Для тактирования контроллера необходим источник с частотой синхроимпульсов 12 МГц. Размер масочного ПЗУ6 равен 4096×16 бит, а объем ОЗУ составляет 8192×16 бит. ОЗУ может быть использовано для хранения программного кода или данных. USB-контроллер может работать в следующих режимах (табл. 3).

Таблица 3. Режимы функционирования USB-контроллера
Режимы функционирования USB-контроллера

Микросхема может питаться любым напряжением в диапазоне 2,7–3,6 В, потребляет небольшую мощность (в рабочем режиме потребляемый ток не превышает 50 мА) и поставляется в миниатюрном корпусе с шариковыми выводами FBGA48.

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 OTG

Как уже говорилось в начале статьи, помимо трансиверов и контроллеров существует еще один интересный (особенно российскому разработчику) класс устройств — мосты. Ярким представителем этой категории является мост USB — USB OTG компании Philips — ISP1261. Он позволяет соединять между собой два устройства класса функции, не поддерживающие стандарт OTG. Пример реализации такой концепции приведен на рис. 23.

Использование моста для соединения двух устройств
Рис. 23. Использование моста для соединения двух устройств, не поддерживающих спецификацию USB OTG

Для организации моста может быть использована одна из трех ключевых технологий: 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, содержащие результат операции чтения периферийного устройства.

Иллюстрация работы протокола SEOC
Рис. 24. Иллюстрация работы протокола SEOC

Третья возможность — задействовать VHAL, который представляет собой программный уровень, необходимый периферийному устройству для того, чтобы выполнять роль USB-хоста. VHAL отображает удаленное аппаратное обеспечение как виртуальное локальное «железо», используя при этом протокол SEOC, запущенный на периферийном устройстве. На рис. 25 показано, как VHAL обеспечивает виртуальное подключение к удаленному аппаратному обеспечению, используя существующую инфраструктуру периферийных USB-устройств. В данном случае удаленное «железо» — это OTG-контроллер.

Пример работы VHAL
Рис. 25. Пример работы VHAL

Микросхема ISP1261 обеспечивает функциональность протокола SEOC7, ее упрощенная структурная схема приведена на рис. 26. Для успешного использования ISP1261 необходимо обеспечить следующие минимальные системные требования:

  • должны присутствовать управляющие конечные точки;
  • требуется конечная точка Bulk-IN, минимальный размер 64 байта;
  • требуется конечная точка Bulk-OUT, минимальный размер 64 байта;
  • желательна конечная точка Bulk-OUT размером 16 байт.
Структурная схема ISP1261
Рис. 26. Структурная схема ISP1261

К порту 2 подключают периферийное устройство, которое должно выполнять роль хоста (назовем его псевдо-хостом). К порту 1 подключается устройство, к которому желает получить доступ псевдо-хост. Как видно из приведенной информации, использование такого моста не представляет никакой сложности. Область применения его также весьма широка: доработка готовых изделий на этапе эксплуатации, а также создание на его основе кабеля-переходника для соединения устройств с его помощью.

7Другими словами, ISP1261 — аппаратная реализация протокола SEOC.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *