Видеомост с интерфейсом USB3 на базе ПЛИС решает проблему совместимости между персональными компьютерами и источниками мультимедийного контента высокой четкости

Опубликовано в номере:
PDF версия

Введение

Сегодня появилось простое решение, позволяющее преодолеть несовместимость между распространенным в современных ПК интерфейсом ввода/вывода USB3 и цифровыми мультимедийными интерфейсами, в частности HDMI и SDI, которые доминируют в аудиовизуальной аппаратуре. До настоящего момента различия в форматах кадров и механизмах передачи сигналов затрудняли обмен несжатым аудиовизуальным контентом высокой четкости между видеокамерами, датчиками изображения и другими источниками аудио- и видеосигналов. Проблема упрощения передачи видео высокой четкости по интерфейсу USB приобретает все большую актуальность в современных условиях, когда персональные компьютеры становятся неотъемлемым компонентом множества изделий промышленного, коммерческого и потребительского назначения. К ним относятся системы машинного зрения (видеокамеры с интерфейсом USB3, в том числе ночного видения), средства производства видеопродукции (видеоконвертеры и устройства видеозахвата), цифровые рекламно-информационные панели, системы видеонаблюдения и даже потребительские мобильные устройства.

Макетная плата типового видеомоста с интерфейсом USB3 на базе ПЛИС

Рис. 1. Макетная плата типового видеомоста с интерфейсом USB3 на базе ПЛИС

В статье описан метод инкапсуляции, позволяющий организовать в канале USB прозрачный конвейер практически для любого мультимедийного потока, а также вариант реализации этого метода на базе нового поколения малогабаритных, недорогих и экономичных ПЛИС. В качестве практического примера, подходящего для многих приложений в сегментах потребительской электроники, видеовещания, машинного зрения и видеонаблюдения, будет рассмотрена представленная на рис. 1 макетная плата типового видео-моста с интерфейсом USB31.

Проблема совместимости интерфейсов

Применение мостов с интерфейсом USB3

Рис. 2. Применение мостов с интерфейсом USB3

Сегодня технология USB3 наконец обеспечила в персональных компьютерах пропускную способность каналов ввода/вывода, необходимую для передачи несжатых потоков аудиовизуального контента высокой четкости. Однако реализовать весь потенциал этой технологии в технических средствах обработки мультимедиа до настоящего времени было затруднительно, поскольку большая часть популярного мультимедийного и видеооборудования не оснащена интерфейсом USB. Например, в видеоаппаратуре потребительского класса стандартом де-факто является интерфейс HDMI, в профессиональной видеоаппаратуре, как правило, используется интерфейс SDI, а датчики изображений для аппаратуры промышленного и научного назначения чаще всего подключаются по интерфейсам subLVDS или MIPI CSI-2. Электрические сигналы физического уровня каждого из этих интерфейсов относительно легко преобразуются в потоки данных, поддающиеся обработке с применением стандартной цифровой логики, но структуры их кадров и протоколы передачи сигналов различаются коренным образом.

Прежде проблема совместимости между интерфейсом USB персонального компьютера и интерфейсами SDI/HDMI аудиовизуальной аппаратуры эффективнее всего преодолевалась обходным путем. Обычно для этого использовалась плата видеозахвата, которая регистрировала видеоданные, упаковывала их в пакеты шины PCI Express и передавала непосредственно на шину данных главного компьютера. Этот метод надежен, но плата видеозахвата повышает себестоимость и сложность конструкции до неприемлемого во многих случаях уровня.

Интерфейсный мост для инкапсуляции потоков данных

Проблему совместимости можно решить и другим способом — с помощью пакетного моста, обеспечивающего преобразование форматов в реальном времени между выходом аудиовизуального устройства и интерфейсом USB3 главного компьютера. Это более простая, гибкая и рентабельная альтернатива платам видеозахвата, использующая один из мостовых механизмов, предусмотренных в стандарте USB для инкапсуляции мультимедийных потоков в USB-пакеты и пере-сборки выходных потоков в исходном формате.

Веб-камеры и другие мультимедийные устройства с интерфейсом USB уже имеют встроенный аппаратный механизм такой инкапсуляции, но в продаже едва ли удастся найти серийные микросхемы, которые обеспечивали бы мостовую инкапсуляцию видео высокой четкости на скорости интерфейса USB3. К счастью, есть возможность создать экономически эффективный интерфейсный мост такого рода на базе недорогой ПЛИС.

Прежде чем подробно обсуждать реализацию решения на базе ПЛИС, расскажем вкратце о механизмах транспорта видеоконтента, предусмотренных в стандарте USB3.

 

Передача потокового видео по интерфейсу USB

В стандарте USB уже определены мостовые протоколы для HDMI, SDI и почти для всех остальных распространенных цифровых мультимедийных интерфейсов. Наиболее часто используемый из них — это класс видеоустройств USB (USB Video Class, UVC), определяющий характеристики подключаемых по интерфейсу USB видеоустройств, например веб-камер, цифровых камкордеров, транскодеров и аналоговых видеоконвертеров.

UVC поддерживает большинство распространенных фор-матов потокового и покадрового видео, включая покадровые видеостандарты MJPEG и DV, которые используются во многих из приложений, описываемых в настоящей статье. Эти высококачественные форматы, требующие высокой пропускной способности, обычно предусматривают передачу кадров в виде несжатых данных типа YUV (YUY2, NV12), а передачу информации о границах кадров и отсчетов — по отдельному вспомогательному каналу. (Хотя это и неприменимо напрямую в данном случае, стоит добавить, что UVC поддерживает потоковые видеоформаты, включая MPEG-2 TS, MPEG-2 PS и MPEG-1, а также форматы с временной кодировкой, такие как H.264 и VP8.)

Применительно к аппаратуре на базе персональных компьютеров в UVC предусмотрен метод для инкапсуляции видеоданных и сигналов управления от камеры или другого источника в стандартные USB-пакеты для передачи по интерфейсу USB3 на главный компьютер, где полученные сведения воспроизводятся в совместимом приложении с использованием стандартного UVC-драйвера «Майкрософт». Самостоятельные аудиопотоки, не связанные с видеопотоком, обрабатываются аналогичным образом в формате класса аудиоустройств USB (USB Audio Class, UAC)2.

Дополнительные сведения о USB3 и других аспектах стандарта USB можно найти в литературе, список которой приведен в конце этой статьи.

 

Функциональные требования к мосту

В идеале видеомост с интерфейсом USB должен поддерживать преобразование потоков нескольких видеоинтерфейсов (HDMI, Tri-rate SDI, последовательный интерфейс CMOS датчика изображений, MIPI CSI-2 и т. д.) и выходных сигналов датчиков в стандартные UVC-пакеты и передачу их по каналу USB3 на главный компьютер. Помимо потокового видео, мост должен также обеспечивать сквозную передачу многоканального I2S-аудиоконтента в формате UAC.

Для этого мост должен выполнять две важные функции:

Плата датчика изображений Panasonic MN34041

Рис. 3. Плата датчика изображений Panasonic MN34041 с датчиком HDR-60 — типичный пример устройства с интерфейсом SubLVDS, которое можно подключить к макетной плате типового видеомоста с интерфейсом USB3 компании Lattice (иллюстрация предоставлена компанией Panasonic)

Преобразование электрических сигналов. Электрические входные сигналы от мультимедийного источника необходимо восстановить, синхронизировать и преобразовать в последовательный поток битов, пригодный для обработки и инкапсуляции в USB-пакеты. Мост должен принимать входные сигналы от аудиовизуальных интерфейсов HDMI, MIPI и SDI, а также обеспечивать подключение к главному компьютеру по интерфейсу USB3 на канальном (MAC) и физическом (PHY) уровнях.

В некоторых ПЛИС есть аналоговые цепи, необходимые для поддержки передачи и приема на физическом уровне нескольких популярных интерфейсов. Кроме того, их можно реализовать самостоятельно с использованием серийно выпускаемых компонентов. О том, как это сделать, рассказывается в следующем разделе.

Преобразование форматов. Потоки данных и управляющих команд интерфейсов HDMI, MIPI и SDI следует инкапсулировать в формате UVC и отправить на главный компьютер с помощью приемопередатчика шины USB3. К тому же мост должен обеспечивать буферизацию между видеоустройствами, данные с которых поступают на вход в режиме высокоскоростных «всплесков», и интерфейсом USB3, чья скорость передачи данных относительно постоянна. Чтобы рационально использовать доступную полосу пропускания, интервал гашения видеосигнала перед преобразованием опускается, и в UVC-пакетах передаются только полезные видеоданные. Аудиоданные, не связанные с видеопотоком, передаются в изохронном режиме интерфейса USB.

Мост должен поддерживать преобразование выходных сигналов с распространенных датчиков изображений в формат, который может обрабатываться интерфейсом USB.

Сюда следует отнести сигналы последовательных интерфейсов, таких как MIPI CSI-2 (большинство мобильных устройств) и SubLVDS (датчики изображений Panasonic и Sony). Кроме того, мост должен принимать выходные сигналы параллельных интерфейсов цифровых сигнальных процессоров (DSP)3и других устройств, используемых для обработки сигналов сложных датчиков изображений, которые применяются в аппаратуре научного и медицинского назначения.

 

Реализация моста

Для того чтобы достичь требуемых показателей производительности, гибкости в настройке, себестоимости решения и сроков выхода на рынок, максимально возможный объем функциональности этого много-интерфейсного моста реализован на базе ПЛИС; сверх этого используется лишь небольшое количество внешних компонентов для реализации канального (MAC) и физического (PHY) уровня интерфейсов. Для этой конструкции была выбрана ПЛИС LFE3-17EA семейства ECP3 4 компании Lattice, поскольку она отвечает предъявляемым функциональным требованиям (высокопроизводительный ввод/вывод, быстродействие, размеры) и имеет несколько аппаратных подсистем, в которых предусмотрены необходимые в данном случае ключевые функции. Эти интегрированные функциональные блоки, такие как многолинейный двусторонний последовательно-параллельный преобразователь (SERDES) и аппаратная подсистема физического уровня интерфейса SDI, упрощают проектирование и снижают себестоимость решения. Полученное решение (рис. 4) поддерживает высокоскоростной прием и упаковку аудиовизуальных данных в кадры форматов UVC и UAC интерфейса USB 3.0 без использования внешних буферов памяти.

Типовой видеомост с интерфейсом USB на базе ПЛИС

Рис. 4. Типовой видеомост с интерфейсом USB на базе ПЛИС

Как показано на приведенной ниже блок-схеме (рис. 5), каждый из приемопередатчиков физического уровня, окружающих ПЛИС, обеспечивает временную синхронизацию, квитирование и преобразование уровней напряжения между сигналами мультимедийных потоков и логическими сигналами на контактах ввода/вывода ПЛИС.

Все источники и выходы этой конструкции сопрягаются с вычислительными элементами, реализованными внутри ПЛИС посредством параллельной шины единообразной структуры (параллельные данные + сигналы управления HS, VS и DE). Мы расскажем, почему это важно, после того как рассмотрим каждый из интерфейсов физического уровня, поддерживаемых видеомостом.

Блок-схема моста с интерфейсом USB3 на уровне компонентов

Рис. 5. Блок-схема моста с интерфейсом USB3 на уровне компонентов

 

Входные сигналы SDI корректируются эквалайзером TI LMH0394, а затем поступают на интегрированное на кристалле ПЛИС аппаратное ядро физического уровня трехскоростного интерфейса SDI с поддержкой всех трех стандартных скоростей передачи данных (SD, HD и 3G).

Данные HDMI поступают на микросхему Analog Devices ADV7611 — приемник стандарта HDMI 1.4a с поддержкой профессиональных аудиовизуальных сигналов и опциональным HDCP-декодером. Если видеоданные в вашей системе не шифруются по протоколу HDCP, можно дополнительно сэкономить, реализовав HDMI-приемник внутри ПЛИС и избавившись от аппаратного приемника.

К соединителю расширения можно подключать камеру или датчик изображений с интерфейсом MIPI CSI-2 или SubLVDS. Тем самым мост быстро превращается в видеокамеру высокой четкости с интерфейсом USB 3.0, пригодную для применения в промышленной аппаратуре машинного зрения. Видеоданные с датчика изображений поступают по одной или нескольким (максимум четырем) последовательным линиям соединителя расширения и преобразуются в сигналы общего параллельного интерфейса. В число функциональных блоков ПЛИС с поддержкой интерфейсов КМОП-датчиков изображений (SubLVDS) и последовательных интерфейсов MIPI CSI-2 входят также блоки обработки изображений с КМОП-датчиков (восстановление цвета, преобразование между пространствами цветов, скалярная обработка).

Аудиовизуальные данные, инкапсулированные в USB-пакеты, передаются на контроллер SuperSpeed USB — микросхему Cypress CYUSB3014. Она представляет собой реализацию интерфейса физического уровня USB 3.0 на базе PIPE с поддержкой скорости передачи 5 Гбит/с и соединяет мост с главным компьютером. Физический уровень USB сопрягается с ПЛИС посредством интегрированного на кристалле ПЛИС параллельного интерфейса GPIF II с тактовой частотой 100 МГц, настроенного для работы с 32-разрядной шиной.

USB-контроллер Cypress CYUSB3014

Рис. 6. USB-контроллер Cypress CYUSB3014 используется для настройки и конфигурирования ПЛИС, а также других устройств, входящих в состав видеомоста

FX3 также содержит встроенное 32-разрядное RISC-ядро ARM9 с тактовой частотой 200 МГц, оснащенное интерфейсами I2C и SPI. Оно позволяет настраивать и конфигурировать все микросхемы на плате, в том числе инициализировать микросхемы ADV7611 и LMH0394. С его помощью можно также конфигурировать ПЛИС по ведомому интерфейсу SPI и осуществлять конструкторское управление по интерфейсу I2C (рис. 6). Программное обеспечение ARM и двоичный файл конфигурации ПЛИС хранятся во флэш-памяти SPI, подключенной к контроллеру Cypress USB3. Соединитель для внешнего JTAG-устройства обеспечивает непосредственную загрузку схемы и отладку ПЛИС с помощью отладчика Reveal.

 

Интеграция IP-ядер ПЛИС

Большая часть программируемых IP-ядер, реализованных в ПЛИС ECP3, обеспечивает восстановление, буферизацию и инкапсуляцию входных видеоданных в формате UVC с последующей передачей на приемопередатчик шины USB — CYUSB3014. Кроме того, в ПЛИС осуществлен ряд других ключевых функций, которые показаны на приведенной ниже функциональной блок-схеме (рис. 7).

функции-ПЛИС

Рис. 7. Большинство функциональных элементов видеомоста с интерфейсом USB может быть реализовано на базе ПЛИС ECP3 компании Lattice (иллюстрация предоставлена компанией Lattice Semiconductor)

Как уже говорилось выше, все источники видеосигнала, а также физический уровень интерфейса USB в этой конструкции сопрягаются с вычислительными элементами, реализованными внутри ПЛИС, посредством параллельной шины единообразной структуры (параллельные данные + сигналы управления HS, VS и DE). Разрядность шины у этих устройств может быть разной, но общая архитектура позволяет конструировать на базе ПЛИС мощные вычислительные структуры для эффективного пакетирования и преобразования практически любого аудиовизуального формата. Например, шина данных между ПЛИС и микросхемой Cypress FX3 (с интерфейсом GPIF II) имеет разрядность 32 бит, формат UVC — 16 бит (YUV), а аудиоданные I2S — 16 или 24 бит. Вычислительные элементы ПЛИС позволяют эффективно пользоваться 32-разрядной общей шиной, комбинируя 24-разрядный отсчет аудио-сигнала с первыми 8 разрядами следующего отсчета без излишней нагрузки на FX3 или «заимствования» процессорного времени микроконтроллера.

 

Конструктивные проблемы и другие практические соображения

Хотя представленная макетная плата задумана главным образом как средство обучения и разработки для клиентов компании Lattice, она помогла производителю ПЛИС извлечь ряд важных уроков.

Например, с ее помощью был выявлен ряд конструктивных проблем, связанных с эффективностью передачи низкоскоростных изохронных аудиоданных параллельно с высокоскоростными «всплесками» видеоданных. Для минимизации издержек аудиоданные буферизуются и передаются более крупными пакетами, содержащими множество отсчетов. Но если пакеты слишком длинные, это может сказаться на качестве восстановления изохронных аудиоданных. Если же, наоборот, аудиопакеты слишком короткие, они будут передаваться чаще и на каком-то этапе издержки их передачи окажутся чересчур большими, так что они начнут мешать передаче более чувствительных к временной синхронизации видеоданных. Компания Lattice использует эту макетную плату как средство для более глубокого исследования данной проблемы и выработки рекомендаций по тонкой настройке параметров передачи аудиовизуальных данных. Аналогичные исследования проводятся на предмет оптимальной буферизации видеокадров в ограниченном объеме памяти, доступном внутри ПЛИС.

Единственная проблема, связанная с временной синхронизацией в данной конструкции, — это передача данных между областями с различными тактовыми сигналами. Чтобы синхронизировать передачу данных в рамках всего устройства, интерфейс GPIF между Cypress FX3 и ПЛИС работает на тактовой частоте 100 МГц, видеоинтерфейс действует с переменной тактовой частотой передачи пикселей (в зависимости от разрешения), а аудиоданные передаются с еще меньшей частотой следования бит и слов. Аудиоданные и соответствующие тактовые сигналы подвергаются вторичной дискретизации с использованием внутреннего тактового сигнала ПЛИС частотой 100 МГц, чтобы их можно было затем передать на интерфейс GPIF с таким же тактовым сигналом. Для видеоданных используется асинхронная очередь (FIFO) с двумя тактовыми сигналами, посредством которой данные переводятся с тактовой частоты пикселей на тактовую частоту интерфейса GPIF (100 МГц).

 

Заключение

Результаты испытаний и проверки рассмотренной здесь типовой конструкции показывают, что недорогие ПЛИС позволяют успешно решать задачу преобразования широкого спектра форматов видеоданных высокой четкости для передачи по интерфейсу USB3. Эта конструкция легко адаптируется в соответствии с требованиями к себестоимости и характеристикам, предъявляемым в различных приложениях.

Теоретически возможна также передача видеоданных других интерфейсов (например, DVI, DisplayPort, параллельный интерфейс CMOS-датчиков изображений и т. д.). Однако ввиду ограничений на стоимость и размеры макетной платы на ней реализованы только самые распространенные видеоинтерфейсы. Существует также возможность передачи видеоданных в форматах, использующих сжатие (например, H.264). В распоряжении компании Lattice имеется стороннее IP-ядро для сжатия видеоданных и передачи их по интерфейсу USB 2.0.

В продаже уже представлен полный комплект на базе данной типовой конструкции, включающий макетную плату, файлы программного обеспечения, средства разработки и всю необходимую документацию. Подробные данные и документацию можно посмотреть на сайте www.latticesemi.com/usb3.

Информацию о наличии продуктов и цене, а также дополнительные сведения о типовой конструкции, описанной в этой статье, можно получить, обратившись в компанию Lattice Semiconductor или на сайт www.latticesemi.com.

 

Примечания

1. Указание по применению видеомоста компании Lattice.http://www.latticesemi.com/usb3

2. USB Alliance: определение класса видеоустройств USB, версия 1.5 (загружаемый PDF-файл). http://www.usb.org/developers/devclass_docs/USB_Video_Class_1_5.zip

3. Texas Instruments DM368 — один из цифровых сигнальных процессоров, широко применяемых для обработки выходных сигналов крупноформатных высокоскоростных датчиков изображений; технические характеристики см. на странице http://www.ti.com/tool/dm368ipnc-mt5

4. Технические характеристики ПЛИС Lattice. http://www.latticesemi.com/en/Products/FPGAandCPLD/LatticeECP3.aspx

 

Вместо послесловия

Wiki-портал OS-Dev — еще один великолепный ресурс, где доступным языком рассказано об интерфейсе USB. http://wiki.osdev.org/Universal_Serial_Bus

У компании MPQ Electronics есть замечательное пособие «USB Made Simple», опубликованное на сайте http://www.usbmadesimple.co.uk/.

Ян Аксельсон (Jan Axelson), автор книги «USB Complete» и ряда других книг, создал информативный веб-сайт, посвященный интерфейсу USB. http://www.lvr.com/usb.htm

Дополнительную информацию об интерфейсе USB3, а также почти обо всех остальных практических аспектах работы со стандартом USB можно найти в документе «USB in a Nutshell», который опубликован на замечательном веб-сайте Крэйга Пикока (Craig Peacock). www.beyondlogic.org.

Полный текст стандарта USB опубликован на веб-сайте организации USB Alliance. www.usb.org

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

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