Способ передачи по компьютерной сети данных от устройства, оснащенного интерфейсом usb

Реферат

 

Изобретение относится к области компьютерной техники. Его применение, в частности, при передаче цифровых видеоизображений позволяет получить технический результат в виде повышения скорости обмена данными за счет сокращения количества этапов преобразования заявки. Этот результат достигается благодаря тому, что компьютер снабжают программным блоком, с помощью которого внутри компьютера, в момент обращения пользовательской программы к устройству, оснащенному интерфейсом USB, перехватывают запросы ввода/вывода и направляют их через сетевую карту и компьютерную сеть устройству с функциями USB-хоста. В качестве устройства с функциями USB-хоста используют удаленный хост-контроллер, с помощью которого в соответствии с полученным запросом организуют обмен данными с устройством, оснащенным интерфейсом USB. 2 з.п. ф-лы, 4 ил.

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

Известна система видеонаблюдения (патент США №6323897), состоящая из нескольких специальных сетевых видеокамер и нескольких специальных мониторов. Видеокамеры и мониторы включены в компьютерную сеть. И видеокамеры и мониторы имеют различные сетевые адреса в соответствии с сетевым протоколом IP (Internet Protocol). Каждая камера формирует закодированный поток видеоданных, помещает их в соответствии с сетевым протоколом в IP-пакет и посылает в сеть. Устройства, включенные в эту сеть, принимают, сохраняют видеоданные, а также формируют из видеоданных видеоизображение.

Недостатком указанной системы является то, что в ней используются только узкоспециализированные дорогостоящие устройства. В указанной системе невозможно непосредственно применить видеокамеры для персональных компьютеров, имеющие интерфейс USB (Universal Serial Bus - универсальная последовательная шина). USB является промышленным стандартом расширения архитектуры персональных компьютеров (PC) (см. Compaq, Intel, Microsoft, NEC, Universal Serial Bus Specification, Revision 1.1, September 23, 1998). USB обеспечивает обмен данными между хост-компьютером и множеством периферийных устройств. Работой всей системы USB управляет хост-контроллер. Шина позволяет подключать, конфигурировать, использовать и отключать периферийные устройства с интерфейсом USB во время работы компьютера и самих устройств. Хост-контроллер является единственным ведущим устройством, которое управляет обменом данными, а все присоединенные к шине устройства - исключительно ведомые. Устройства с интерфейсом USB могут выполнять какую-либо функцию, например формировать видеоизображение как РС-камеры или устройства оцифровки телевизионного сигнала, или обеспечивать дополнительные точки подключения к шине, в этом случае устройство называется хабом. С одной стороны, хаб подключается по шине USB к хосту, а с другой стороны, к хабу можно подключить до 4 других устройств с интерфейсом USB. Программно-логическая топология шины USB проще физической: хост обменивается информацией с устройствами так, как будто все устройства подключены непосредственно к хост-контроллеру.

Видеокамеры с интерфейсом USB выпускаются в массовых количествах многими производителями, широко применяются для видеоконференций, снабжены большим количеством бесплатного программного обеспечения (ПО) и имеют стоимость в 10-20 раз меньшую, чем специальные сетевые видеокамеры. Однако эти РС-камеры можно включить в компьютерную сеть только через компьютер, к которому они подключаются по шине USB, максимальная длина которой составляет 5 метров.

Известен способ подключения устройств с интерфейсом USB к персональному компьютеру, позволяющий увеличить расстояние от компьютера до USB устройства с 5 до 100 метров (патент США №6381666). В этом способе используются два устройства: локальный удлинитель (LEX) с интерфейсом USB, который подключается к компьютеру, и удаленный удлинитель (REX), выполняющий функцию хаба USB, к которому подключается устройство с интерфейсом USB. Цифровые данные в виде пакетов USB IN, OUT, DATA и др. передаются между этими двумя устройствами по неэкранированной витой паре. Пакеты типа HANDSHAKE генерируются самими устройствами, чтобы удовлетворить требованиям протокола USB по предельному времени ожидания.

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

Наиболее близким, принятым за прототип, является способ подключения USB устройств к локальной компьютерной сети (патент США №6389029), в котором также используются два специальных устройства. Первое устройство имеет, с одной стороны, USB интерфейс для подключения к USB хост-контроллеру, размещенному внутри компьютера а, с другой стороны, сетевой интерфейс для подключения к локальной компьютерной сети. Второе устройство имеет, с одной стороны, сетевой интерфейс, а с другой стороны, USB хаб для подключения к нему устройств, оснащенных интерфейсом USB.

В указанном способе подключения данные от компьютера принимаются первым устройством, обрабатываются с учетом временных ограничений шины USB согласно протоколу USB, упаковываются в IP-пакет, снабженный IP-адресом первого устройства как отправителя и IP адресом второго устройства как получателя. Пакет отправляют в локальную сеть через сетевые концентраторы (сетевые хабы) - устройства, имеющие несколько сетевых входов (портов) для подключения компьютеров и сетевых устройств. Сетевые концентраторы обеспечивают передачу данных по компьютерной сети. Второе устройство с функциями USB хаба извлекает из полученного IP-пакета данные протокола USB и передает их устройству USB. При передаче данных от USB устройства компьютеру второе устройство обрабатывает полученные USB данные в соответствии с USB протоколом, упаковывает их в IP-пакеты и посылает их первому устройству, которое извлекает их из пакета и передает в компьютер по шине USB. Таким образом передаются пакеты IN, OUT, SETUP, DATA. При этом IP-пакеты могут передавать без ограничения расстояния благодаря использованию сетевых концентраторов, которые ретранслируют IP-пакеты. Указанный способ предложен для передачи асинхронных данных между компьютерами и устройствами, оснащенными интерфейсом USB.

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

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

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

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

В случае, если устройство с интерфейсом USВ, например РС-видеокамера или устройство оцифровки телевизионного сигнала, использует изохронный способ передачи, то есть требования к скорости передачи особенно жесткие, видеоданные каждого USB-фрейма помещают в отдельный IP-пакет.

В качестве IP-адреса получателя в IP-пакете может быть указан широковещательный адрес. В этом случае видеоданные может получать любой компьютер в сети. Защита от несанкционированного просмотра в этом случае осуществляется на уровне клиентского ПО.

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

В дальнейшем предлагаемое изобретение поясняется конкретными примерами его выполнения и прилагаемыми чертежами, на которых:

фиг.1 изображает архитектуру компьютерной сети с включенными в нее устройством, оснащенным интерфейсом USB;

фиг.2 - блок-схему устройства с функциями хоста USB;

фиг.3 - последовательность USB пакетов на шине USB при изохронной передаче видеоданных;

фиг.4 - пример подключения видеоустройств с интерфейсом USB к компьютерной сети.

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

С помощью установленного внутри компьютера 1 (фиг.1) программного блока в момент обращения пользовательской программы к конечному (функциональному) устройству 2, оснащенному интерфейсом USB, перехватывают запросы ввода/вывода информации, адресованные драйверу хоста USB, кодируют их и направляют через сетевой интерфейс, например сетевую карту 3 Ethernet 100TX, через сетевой концентратор 4 компьютерной сети 5 устройству с функциями хоста USB, в качестве которого используют удаленный хост-контроллер 6. При этом в заголовке в качестве адреса получателя пакета указывается IP-адрес устройства с функциями удаленного хоста USВ, к которому подключено вызываемое клиентским программным обеспечением функциональное (конечное) устройство USB.

Модуль 7 (фиг.2) сетевого интерфейса устройства с функциями хоста USB извлекает из полученного сетевого Ethernet пакета пакет IP и через микроконтроллер 8 помещает его в оперативное запоминающее устройство 9 (ОЗУ). Анализатор 10 заголовков IP-пакетов выделяет сетевой IP-адрес компьютера, пославшего запрос ввода/вывода, и помещает его в перепрограммируемое постоянное запоминающее устройство 11 (ППЗУ). Анализатор 12 запросов ввода/вывода декодирует запрос, осуществляет выбор соответствующей запросу программы в ППЗУ 11 и через микроконтроллер 8 передает хост-контроллеру USB 13 адрес начала программы. Хост-контроллер 13 производит все действия согласно протоколу USB, в том числе посылает по шине сигналы сброса и пакеты SOF, SETUP, IN, OUT, DATA, ACK. В соответствии с программой драйвера устройства, разработанной фирмой - производителем, происходит конфигурирование устройства 14 и организуется прием/передача данных. При этом данные, которые необходимо отослать программному обеспечению компьютера, передают через микроконтроллер 8 в ОЗУ 9. Затем микроконтроллер 8 помещает эти данные в область данных IP-пакета, а в поле адреса получателя в заголовке IP-пакета микроконтроллер 8 помещает адрес компьютера, приславшего запрос, который хранится в ППЗУ 11.

При использовании в качестве устройства, оснащенного интерфейсом USB, видеоустройства USB, видеоданные от каждого USB-фрейма которого при передаче их компьютеру помещают в отдельный IP-пакет.

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

На фиг.3 показана последовательность прохождения пакетов USB по шине USB в случае изохронного приема видеоданных от устройства. Общая длительность одного фрейма USB определяется временным интервалом между пакетами SOF (Start of frame) и равна 1 миллисекунде. Пакеты SOF и IN имеют длительность, равную нескольким микросекундам. Пакет DATAO с видеоданными может иметь разный размер, устанавливаемый программным путем. При максимальной скорости работы РС-камеры этот размер составляет около 900 байтов, а его длительность около 700 микросекунд. Таким образом, в конце каждого фрейма USB имеется временной интервал, в течение которого происходит пересылка накопленных данных из буфера, размещенного в ОЗУ, в компьютерную сеть. Так как скорость пересылки данных в сети Ethernet на порядок превышает скорость работы шины USB, этого времени оказывается достаточно для освобождения буфера и приготовления к приему следующего пакета DATAO.

На фиг.4 показан пример системы видеонаблюдения, использующей предлагаемый способ подключения видеоустройств. В качестве станций наблюдения и архивирования видеоизображений использованы персональные компьютеры 15 на основе процессора Intel Celeron 1700 МГц, с оперативной памятью DDR 256 Мбайт, жестким диском объемом 60 Гбайт. В компьютеры 15 установлены сетевые карты 16 Ethernet 100TX фирмы Realtek. Компьютеры 15 и три хост-коктроллера USB 17 подключены к сетевому концентратору 18 фирмы Сом с помощью кабеля 19 пятой категории, имеющего две неэкранированные витые пары проводов. С помощью шины USB 20 к одному из хост-контроллеров USB 17 подключена РС-видеокамера 21 фирмы Maxxtro, к другому хост-контроллеру USB 17 подключена РС-видеокамера 22 фирмы Creative, к третьему хост-контроллеру USB 17 подключено устройство 23 видеозахвата фирмы Aver, к которому подключена бытовая видеокамера 24 фирмы SONY.

Испытания показали устойчивую работу РС-видеокамер в режиме 15 кадров/секунду, разрешение 640×480 пикселей и одновременную работу устройства видеозахвата в режиме 320×240 пикселей, 25 кадров/секунду.

Формула изобретения

1. Способ передачи по компьютерной сети данных от устройства, оснащенного интерфейсом USB, заключающийся а том, что устройству, оснащенному интерфейсом USB, от одного из включенных в сеть компьютеров через устройство с функциями USB-хоста передают запросы ввода/вывода информации, помещенные в IP пакет, который снабжен также сетевым IP адресом данного компьютера как отправителя, а при передаче компьютеру данных от устройства, оснащенного интерфейсом USB, устройство с функциями USB-хоста обрабатывает полученные им данные в соответствии с протоколом USB, помещает их в IP пакеты и направляет через компьютерную сеть компьютеру, отличающийся тем, что компьютер снабжают программным блоком, с помощью которого внутри компьютера в момент обращения пользовательской программы к устройству, оснащенному интерфейсом USB, перехватывают запросы ввода/вывода и направляют их через сетевую карту и компьютерную сеть устройству с функциями USB-хоста, в качестве которого используют удаленный хост-контроллер, с помощью которого в соответствии с полученным запросом организуют обмен данными с устройством, оснащенным интерфейсом USB.

2. Способ по п.1, отличающийся тем, что в качестве устройства, оснащенного интерфейсом USB, используют видеоустройство USB, видеоданные от каждого USB-фрейма которого при передаче их компьютеру помещают в отдельный IP пакет.

3. Способ по п.2, отличающийся тем, что при передаче видеоданных в качестве IP адреса получателя в IP пакете указывают широковещательный IP адрес.

РИСУНКИ