Usb slave что это
USB slave
Материал из Xgu.ru
USB slave — управляемое устройство.
Многие компьютеры умеют загружаться с USB. Если бы можно было не записывать загрузочный образ на flash-диск, а передавать его прямо с одного компьютера на другой, это позволило бы ускорить процедуру инсталляции операционной системы на компьютер, особенно для тех систем, которые не поддерживают инсталляцию по PXE. LiveCD тоже можно было бы загружать без записи на диск.
Теоретически, это можно было бы сделать, если соединить два компьютера при помощи host-to-host-кабеля USB, такого как тот, что используется при поднятии сети usbnet.
Похоже, что сейчас нет софта, который позволяет это сделать, но (опять же, теоретически), его можно было бы смастерить на основе кода usbnet и прочего кода usb-gadget.
Пример использования g_file_storage из usb-gadget:
Можно указать ещё опцию removable=y, тогда файл backing_file можно менять через sysfs-интерфейс.
Если есть поддержка USB-slave, то всё работает. Но в том-то всё и дело, что в обычных компьютерах её нет!
Например, для телефона Nokia N900, такое организовать очень просто.
Ниже описывается пример использования, в котором мы создаём загрузочный файл, который телефон отдаёт как загрузочное устроство. Понятно, что в данном случае быстрее было бы использовать обычную флэшку, но здесь важно то, что загрузка выполняется с файла, который лежит на устройстве. И на его месте могло быть всё, что угодно (образ диска с другого компьютера, iSCSI-устройство, образ виртуального диска машины или что-нибудь ещё).
[править] Пример подготовки загрузочного файла для эскпорта по USB
Ключевая часть. Отдаём файл как блочное устройство для компьютера [1] :
Проинциализируем на нём таблицу разделов, отформатируем и проинсталлируем загрузчик:
Устанавливаем загрузчик grub4dos, который умеет выполнять загрузку с ISO-образов:
USB slave
Материал из Xgu.ru
USB slave — управляемое устройство.
Многие компьютеры умеют загружаться с USB. Если бы можно было не записывать загрузочный образ на flash-диск, а передавать его прямо с одного компьютера на другой, это позволило бы ускорить процедуру инсталляции операционной системы на компьютер, особенно для тех систем, которые не поддерживают инсталляцию по PXE. LiveCD тоже можно было бы загружать без записи на диск.
Теоретически, это можно было бы сделать, если соединить два компьютера при помощи host-to-host-кабеля USB, такого как тот, что используется при поднятии сети usbnet.
Похоже, что сейчас нет софта, который позволяет это сделать, но (опять же, теоретически), его можно было бы смастерить на основе кода usbnet и прочего кода usb-gadget.
Пример использования g_file_storage из usb-gadget:
Можно указать ещё опцию removable=y, тогда файл backing_file можно менять через sysfs-интерфейс.
Если есть поддержка USB-slave, то всё работает. Но в том-то всё и дело, что в обычных компьютерах её нет!
Например, для телефона Nokia N900, такое организовать очень просто.
Ниже описывается пример использования, в котором мы создаём загрузочный файл, который телефон отдаёт как загрузочное устроство. Понятно, что в данном случае быстрее было бы использовать обычную флэшку, но здесь важно то, что загрузка выполняется с файла, который лежит на устройстве. И на его месте могло быть всё, что угодно (образ диска с другого компьютера, iSCSI-устройство, образ виртуального диска машины или что-нибудь ещё).
[править] Пример подготовки загрузочного файла для эскпорта по USB
Ключевая часть. Отдаём файл как блочное устройство для компьютера [1] :
Проинциализируем на нём таблицу разделов, отформатируем и проинсталлируем загрузчик:
Устанавливаем загрузчик grub4dos, который умеет выполнять загрузку с ISO-образов:
Table of Contents:
Разъемы USB следуют за отношениями ведущего и подчиненного. Это означает, что одно устройство, обычно персональный компьютер, выполняет роль главного, управляя информацией, поступающей в порт USB и из него. Периферийное устройство USB, например небольшая флешка, действует как подчиненное устройство. Им может управлять только мастер или он не будет работать. В этом отношении некоторые USB-слэйвы бесполезны, если они не подключены к главному устройству.
USB-ведомые могут содержать только данные и не работать как анонимные блоки.
USB Рабы
Термин «ведомые устройства USB» охватывает весь спектр периферийных устройств. Одной из наиболее распространенных форм USB-слэйва является флэш-накопитель или флэш-накопитель. Эти небольшие устройства подключаются к USB-концентраторам на компьютерах, предлагая куски внешнего хранилища размером от 256 МБ до 16 ГБ и более. Тем не менее, USB-устройства также включают такие устройства, как веб-камеры, принтеры или сканеры. В каждом случае устройству требуется главный компьютер для полной функциональности, хотя некоторые USB-устройства, такие как камеры, будут работать независимо. Некоторые периферийные устройства, такие как смартфоны, не являются строго подчиненными устройствами, хотя они действуют как таковые при подключении к компьютеру.
взаимодействие
Истинные USB-ведомые не могут взаимодействовать друг с другом, только с главным устройством. Таким образом, веб-камера USB не будет подключаться к игровому контроллеру USB. Большинство устройств, выпущенных после 2000 года, используют для связи USB 2.0, что является более быстрой спецификацией, чем у оригинальных USB-устройств с большей пропускной способностью. Некоторые USB-порты после 2010 года теперь используют USB 3.0, хотя по состоянию на июль 2011 года это относится только к высококлассному оборудованию. USB 3.0 обеспечивает скорость передачи 5 гигабит в секунду, что значительно выше, чем скорость USB 2.0 480 мегабит в секунду.
соединение
Многие USB-устройства подключаются к главному компьютеру с помощью соединительного кабеля. Большинство USB-кабелей имеют стандартный разъем на одном конце, предназначенный для подключения к классическому USB-порту на персональных компьютерах и аналогичных устройствах. Однако разъем на другом конце может отличаться в зависимости от типа USB-устройства. Например, на другом конце он может иметь микро-разъем для подключения к мобильному телефону или меньшему устройству.
Простые вопросы: что такое шрифт и что такое семейство шрифтов?
Что такое шрифт? Что такое семейство шрифтов? Когда были впервые изобретены шрифты? Каковы характеристики шрифта? Как хранятся шрифты в Windows?
Что такое 802.11ax, 802.11ad, 802.11ac и 802.11n? что такое Wi-Fi 6, Wi-Fi 5 и так далее?
Что такое Wi-Fi 6, Wi-Fi 5 или Wi-Fi 4? Что такое 802.11ax, 802.11ac или 802.11n? Что означают эти аббревиатуры? Что такое 802.11ad?
Что такое стекло гориллы? что такое 2.5d стекло? как они сравниваются?
Что такое Gorilla Glass? Что это значит? Что такое 2.5D стекло? Есть ли разница? Какое стекло лучше или долговечнее?
Обзор сетевого медиаплеера Egreat EG M-31B
Возможно, я бы и не стал писать обзор новой версии медиаплеера Egreat, если бы не несколько приятных обновлений. Как и все устройства подобного класса, плеер предназначен для демонстрации видео в разрешении HDTV (1080p) и неплохо справляется со своей задачей. Естественно, без помощи компьютера.
Обзор первой версии Egreat M-31A можно посмотреть здесь и здесь, поэтому я не буду останавливаться на уже рассмотренных возможностях.
Комплект поставки
Глобальных изменений комплект поставки не претерпел, однако все же несколько особенностей имеется. Из комплекта поставки исчез оптический SPDIF-кабель и добавился кабель для интерфейса eSATA.
Внешний вид и дизайн
Внешний вид плеера не изменился – это все тот же прямоугольный бокс с небольшими пластиковыми ножками на нижней панели. Теперь бокс сделан из черного пластика, что добавило ему строгости во внешнем облике. На переднюю панель вынесены разъемы eSATA, причем один из них предназначен для подключения плеера в режиме «HOST», второй – в режиме «SLAVE», что в принципе позволяет подключать плеер напрямую к компьютеру для более быстрой передачи данных. Сразу оговорюсь: соответствующий разъем на материнской плате отсутствовал, поэтому эта возможность детально не тестировалась. Здесь же расположены светодиодные индикаторы для визуального отображения состояния устройства. На одной из боковых граней находится вентилятор для охлаждения.
По сравнению с версией Egreat M-31A нужно отметить отказ от нестандартных (типа PS/2) разъемов для подключения видео- и аудиоустройств и возврат (или переход?) к стандартным RCA-тюльпанам. Это однозначно правильное решение, поскольку плеер можно использовать в качестве переносного проигрывателя, а ношение с собой еще и нестандартных кабелей является, на мой взгляд, ненужным излишеством.
Сборка плеера заключается в установке жесткого диска, закреплении его двумя винтами на нижней панели с последующей установкой верхней пластиковой крышки. В новом плеере реализована аппаратная поддержка DTS-звука, однако пока эта опция заблокирована, поэтому для прослушивания звуковой дорожки в DTS-формате требуется внешний ресивер, который нужно подключать через оптический кабель. В этой связи отсутствие такого кабеля в комплекте поставки не совсем понятно. Второй способ решения проблемы с DTS-звуком заключается в установке дополнительной платы расширения, которая транскодирует DTS-звук и переводит его на RCA-разъемы. Плата устанавливается перед передней панелью. В стандартный комплект поставки она не входит, поэтому при заказе плеера ее наличие нужно оговаривать отдельно.
Пульт тоже изменился. Он приобрел более вычурную форму, изменилось привычное по прошлому пульту расположение клавиш при сохранении общей функциональности. Клавиши пульта изготовлены из белой резины, в состав которой включен люминофор, который обеспечивает непродолжительное пассивное свечение клавиш пульта в темноте. Инфракрасный датчик обладает узконаправленным лучом, поэтому для управления плеером пульт необходимо направлять на приемник достаточно точно.
Установка диска и программного обеспечения
В принципе она не отличается от уже описанной в обзоре плеера Egreat M-31A (/articles/2008/egreat-m13a-2.shtml), поэтому никаких особенностей в этой части не добавилось. Еще раз отмечу только, что для обновления прошивки и установки NMT-приложений файлы необходимо скопировать на флэш-диск и запускать обновление прошивки уже с него через менеджер установки. Одновременно с установкой приложений происходит форматирование жесткого диска в файловую систему Linux (ext2 или ext3). Для просмотра этих разделов с настольного компьютера требуется установка драйвера, который имеется на сайте разработчиков в разделе поддержки.
После установки программного обеспечения плеер может выступать в качестве сетевого накопителя с поддержкой сервисов FTP, Sumba, BitTorrent, сетевого IPTV и музыкальных трансляций. Подробно эти опции плеера описаны в обзоре первой версии плеера. В этом обзоре я приведу только скорости копирования данных при подключении плеера к компьютеру через различные интерфейсы. Как уже указывалось выше, проверить скорость копирования через интерфейс eSATA не удалось. Как только у меня появится соответствующий адаптер, я обязательно выложу эти данные на нашем форуме.
Для тестирования использовался файл размером 16.7 Гб.
Интерфейс | USB-HOST | USB-Slave | FTP | Sumba |
Время | 42 мин | 46 мин | 1 час 35 мин | 91 мин |
Таким образом, скорость копирования составляет от 6.6 (USB-HOST) до 2.9 Мб/сек (FTP).
Просмотр видео
В новой прошивке для плеера Egreat M-31B существенно улучшена поддержка видеоформатов, использующихся для хранения видео в высоком разрешении. После обзора прошлой версии плеера на специализированных форумах появилось много претензий к ограниченной поддержке формата MKV. Эта проблема была решена с выходом новой версии прошивки. Прошивка Egreat M-31B изначально решена этих недостатков. Все фильмы, которые я просматривал во время тестирования, воспроизводились без проблем.
Для просмотра видео использовался широкоформатный монитор Samsung SyncMaster 400DXn с размером диагонали 40 дюймов и максимальным разрешением 1366х768 точек. На рисунках ниже приведены фотографии с экрана монитора. Фильмы с разрешением 1920х1080 автоматически подстраивались под разрешение экрана без потери в качестве и при отсутствии тормозов при воспроизведении. Следствием такой автоматической подстройки стали лишь черные полосы по верхней и нижней граням монитора. На телевизоре с поддержкой полного HDTV (1920х1080) таких полос уже не будет.
Впечатления и выводы
Сборка плеера, установка жесткого диска, обновление при необходимости прошивки и установка NMT-приложений никаких проблем не вызывает. Особенно для человека, мало-мальски знающего основы пользования компьютером. Ничего сложного не представляет собой и настройка сетевых сервисов (BitTorrent). Но все-таки это устройство нельзя относить к плеерам «для чайников». После выхода обзора первой версии мне пришлось отвечать на множество вопросов по поводу того, что не поддерживались многие MKV-рипы, которые без проблем воспроизводились на том же «Попкорне». Потом выяснилось, что все дело в прошивке, которую следовало обновить. Из личного опыта могу сказать, что очень многие пользователи просто не желают забивать себе голову подобными проблемами. Вторая версия в этом смысле намного удачнее, но определенных проблем с плеером я не исключаю. Так что потенциальному владельцу поневоле придется освоить самые необходимые действия или читать специализированные форумы. При тестировании этого плеера я отказался от создания отельного NTFS-раздела на диске и пользовался только разделами, созданными при форматировании диска. В то же время коллега изначально установил в плеер жесткий диск, отформатированный в NTFS, поскольку сетевые функции ему были просто не нужны. В первом случае (разделы ext2) я заранее был готов к тому, что просто так скопировать содержимое с внешнего компьютера на диск может и не получиться, так как соответствующий драйвер устанавливают далеко не все. Так что вариант с выделением раздела под NTFS является более универсальным. В том же случае, если вы не пользуетесь плеером для закачки торрентов, можно сразу использовать жесткий диск в NTFS. Тогда плеер можно без проблем использовать в качестве емкого переносного накопителя или для просмотра фильмов «на вынос». Например, при походе в гости. Укомплектованный диском плеер достаточно тяжел, но в то же время достаточно компактен. С учетом наличия стандартных разъемов с собой, помимо плеера, придется взять только адаптер питания.
О скорости копирования я уже писал выше. В среднем копирование одного фильма занимает около часа, так что для того чтобы забить под завязку террабайтный диск, может потребоваться около суток при передаче данных через LAN-интерфейс. Скорость передачи данных через USB примерно в 5 раз выше (проверялось на «чистой» системе), а при копировании данных через интерфейс eSATA скорость ограничена скоростью записи жесткого диска.
К качеству воспроизведения претензий не возникает, с учетом того, что может потребоваться обновление прошивки. Новую прошивку стоит ждать хотя бы потому, что в ней обещают добавить поддержку DTS-звука, которая очень часто используется в «тяжелых» HDTV-роликах. А пока справиться с такой звуковой дорожкой помогает плата расширения, которую очень просто установить.
Во время работы вентилятор плеера во время просмотра не слышен вообще, но при выключенном компьютере шум слышен хорошо, особенно ночью. Так что устанавливать плеер в спальне я бы не стал. Намного проще установить его в стойку рядом с телевизором, а доступ к локальной сети обеспечить через розеточные адаптеры PowerLine, о которых мы тоже писали.
Устройства подобного типа будут пользоваться популярностью до тех пор, пока у нас будет доступна закачка фильмов c самых разнообразных трекеров. С точки зрения авторских прав это достаточно сомнительное мероприятие, которое, тем не менее, пользуется большой популярностью. Сам я тоже грешен, поскольку диски с фильмами в высоком разрешении являются достаточно редкими предметами в ближайших точках реализации мультимедийной продукции. Да и смотреть фильм с жесткого диска намного удобнее, чем с DVD-плеера.
Поэтому общее заключение будет следующим: хороший плеер с уникальными для данного сегмента функциями, который для нормальной работы требует минимальной технической подготовки и желание устранять возникающие проблемы самостоятельно.
Выражаем благодарность компании HD1080 за предоставленный на тестирование сетевой медиаплеер.
[an error occurred while processing this directive]
Варианты аппаратной реализации USB Type-C, или Когда не требуется Power Delivery
Когда мы в SberDevices делаем новое устройство, работаем над его аппаратной частью, перед нами встаёт вопрос выбора интерфейсов. Важным моментом при выборе является их доступность и совместимость с другими устройствами.
В своих устройствах мы не могли пройти мимо интерфейса USB-C. Помимо того, что он очень популярен в современных девайсах, он серьёзно расширил функциональность USB по сравнению со своими предшественниками. Давайте расскажу о нём поподробнее.
Краткий обзор особенностей USB TYPE-C
Стандарты USB существуют много лет, развиваются и совершенствуются по мере увеличения технологических потребностей и возможностей. Несмотря на свою универсальность, которая следует из аббревиатуры, привычный USB перестал удовлетворять по объему своей функциональности. В частности, не может решить задачу по обеспечению питания многих современных устройств, потребление которых серьёзно увеличилось. Первая версия USB TYPE-C появилась в 2013 году. Помимо возможностей USB 2.0 и USB 3.0, USB-C стал поддерживать существенно более энергоёмкие профили питания, а также альтернативные режимы работы. В альтернативных режимах контакты разъёма используются для передачи данных высокоскоростных стандартов, таких как Display Port, Thunderbolt, HDMI, Mobile High-Definition Link (MHL). Недавно была опубликована новая реализация стандарта — USB4, которая также ориентируется на спецификацию USB-C.
Описание и назначение контактов разъёма
Разъём включает в себя 24 контакта. Такое большое число контактов по сравнению с привычными разъёмами USB связано как с добавлением новых контактов, расширяющих функциональность, так и с дублированием контактов на противоположную часть разъёма. Так группы сигналов USB 2.0 и USB 3.0 задублированы, разъем стал симметричным, поэтому теперь его можно вставлять любой стороной.
Рассмотрим группы сигналов USB-C соединителя:
Группа | Цепи |
---|---|
Питание | VBUS (4 контакта), GND (4 контакта) |
USB 2.0 | DP (2 контакта), DN (2 контакта) |
USB 3.0 | TX1+, TX1-, TX2+, TX2-, RX1+, RX1-, RX2+, RX2- |
Конфигурационные контакты | CC1, CC2 |
Дополнительные (Альтернативный режим) | SBU1, SBU2 |
Видно, что под питание заложено 4 пары контактов. Это намекает на то, что через разъём стала возможна доставка существенно большей энергии для питания устройства. Через контакты питания возможна передача до 100 Ватт в нагрузку.
Профили питания доступные через USB TYPE-C:
USB 2.0 | 5 В 500 mA |
USB 3.0/USB 3.1 | 5 В 900 mA |
USB BC 1.2 | 5 В, до 1.5 А |
USB Type-C Current 1.5A | 5 В 1.5 A |
USB Type-C Current 3.0A | 5 В 3.0 A |
USB Power Delivery | до 20 В, до 5A |
Режим питания зависит от того, какая функциональность USB-C используется. Появившиеся контакты CC позволяют установить требуемый режим питания и открывают некоторые дополнительные возможности, но об этом позже.
Чтобы иметь возможность использовать профиль питания с большим током, при установке соединения нужно воспользоваться конфигурационными контактами CC.
Конфигурационные контакты СС
С помощью конфигурационных контактов CC (Configuration channel) происходит подключение двух устройств, установка параметров соединения, профилей питания, а также информационный обмен протокола USB Power Delivery. Функционально CC1- и CC2-пины решают следующие задачи:
Источник (он же DFP) подтягивает линии CC к плюсу через резисторы Rp или использует источники тока. Потребитель (UFP) в свою очередь через резисторы Rd подтягивает линии CC к минусу.
Выставляя определённый номинал Rp (или создавая определённый ток на линии СС), host сообщает, какой ток для питания устройства он может обеспечить. Измеряя падение напряжения на Rd, потребитель понимает, какой Rp используется на противоположном конце и, следовательно, определяет ток питания, который может обеспечить host. Без использования USB Power Delivery по такой схеме возможно установить соединение c током до 3А с единственно возможным напряжением 5В.
Экономичный вариант реализации без USB PD
Как видно выше, спецификация USB-C поддерживает широкий спектр стандартов передачи данных и профилей электропитания, но это не означает, что разработчик обязан использовать всю функциональность. Минимальный набор USB TYPE-C может включать в себя USB 2.0 с контактами CC и единственным напряжением питания 5V. В такой конфигурации можно обеспечить потребителю до 15 Вт (5 В, 3А), что значительно больше, чем может дать стандартный порт USB 3.0 – 4,5 Вт (5В, 900 мА).
Чтобы реализовать логику подключения между DFP и UFP, можно использовать микросхему контроллера конфигурации CC, например, PTN5150. Этот вариант значительно проще и дешевле навороченных контроллеров, поддерживающих USB Power Delivery. Структурная схема выглядит так:
Как видно, основные узлы представляют собой: монитор напряжений на СС контактах, набор источников тока, резисторов для переключения состояния выводов, модуль управления ролями устройства.
Микросхема имеет интерфейс I2C, с его помощью можно определить или изменить роль устройства (DFP, UFP, DRP).
Когда выбирается роль DFP, устройство предполагается как Power Source, для которого есть возможность выбрать 3 профиля питания. После выставления соответствующих бит в регистре управления, происходит подключение соответствующего источника тока на линию CC.
Ток на СС-линии | Режим питания |
---|---|
80 uA | 5V / 0.9 A |
180 uA | 5V / 1.5 A |
330 uA | 5V / 3 A |
В случае определения микросхемы в качестве UFP, контакты CC подключаются через резистор 5,1 кОм на землю. Монитор измеряет падение напряжения на этом резисторе и в статусный регистр заносится текущий режим питания.
Также возможно установить роль Dual Role Power (DRP), в этом режиме микросхема последовательно изменяет состояние СС-контактов от “pull-up Rp” до “pull-down Rd” и обратно до тех пор, пока не будет установлено соединение. Соединение возможно только между одним источником (Power Source) и одним потребителем (Power Sink). Таким образом, когда микросхема находится в режиме DRP и монитор напряжения CC-контактов замечает понижение напряжения на противоположном конце (подключён “pull-down Rd”), устройство понимает, что подключено к Sink, и начинает играть роль Source. Такой режим полезен в том случае, когда заранее неизвестно, в каком режиме должно работать устройство.
Рассмотрим пример использования контроллера
Кроме описанных выше СС-пинов и I2C-шины стоит отдельно отметить контакты ID, CON_DET, PORT. Контакт ID отображает режим, в котором в данный момент находится контроллер. Когда устройство определило себя в качестве DFP, ID примет значение LOW. Контакт CON_DET находится в HIGH, когда соединение установлено, LOW — в обратном случае. Эти два логических сигнала будем использовать далее для включения (когда мы DFP) и отключения (UFP) питания подключённого устройства.
Port — это вход, которым задаётся начальный режим устройства после включения питания. В случае, когда используется “pull-up”, контроллер становится DFP, если “pull-down” — UFP. Если нога осталась «висеть в воздухе», будет использоваться режим Dual Role, и устройство будет ждать подключения, чтобы определиться со своей ролью. Это состояние может быть изменено позднее, после конфигурирования по I2C или изменения уровня напряжения на PORT. Таким образом можно управлять режимами работы без использования I2C.
Нужно управлять питанием внешнего устройства, для этого можно воспользоваться дополнительной микросхемой логики и ключом.
Наша задача подавать питание на разъём USB-C только в том случае, когда к нам подключён UFP. ID в таком случае примет значение LOW, CON_DET — значение HIGH. Для того, чтобы открыть ключ высоким уровнем HIGH, надо реализовать функцию Y = CON_DET& (NOT ID). Таким образом, если снаружи подключён UFP, он от нас питается, если DFP, то напряжение на разъём не подаётся и не происходит конфликта двух источников.
В случае, если нет задачи менять роль устройства в процессе работы, а также не требуется определения ориентации кабеля, можно выполнить вариант проще, без микросхемы вообще. Допустим, ваше устройство играет строго одну роль — UFP/Power Sink, например, это флешка. В таком случае достаточно выводы СС1 и СС2 на разъёме подключить через 5,1 кОм на землю.
В случае, если ваше устройство играет только роль DFP/Power source и оно должно подключаться к устройству USB-C Dual Role, также можно обойтись резисторами. В этом случае подбираем номиналы в зависимости от напряжения источника, к которому подключаем резисторы.