Все о USB
ДомДом > Блог > Все о USB

Все о USB

May 01, 2023

Давайте проясним: недостаточно иметь кабели USB-C — USB-C. Есть много кабелей, которые мы, возможно, захотим приобрести для повседневного использования, возможно, на переходный период, пока у нас еще есть некоторое количество устройств, не оснащенных разъемом USB-C. Однако спецификация USB-C учитывает только ограниченное количество типов кабелей, явно или неявно исключая ряд кабелей, которые вы, возможно, захотите купить или изготовить.

Я твердо убежден, что, будучи хакером, вы должны иметь возможность купить любую штуковину USB-C, которая вам когда-либо понадобится. Хакерам не нужны ограничения, обусловленные маркетингом — им нужно понимание того, как можно или нельзя использовать ту или иную технологию, исходя из того, как она работает внутри. Я хотел бы, чтобы вы обеспечили такое понимание, чтобы вы могли принимать обоснованные решения.

С другой стороны, USB-C предназначен для использования людьми с недостаточной квалификацией, даже если он часто не справляется с этим. (Маркировка кабелей, кто-нибудь?) Четкое определение того, что соответствует стандарту, может помочь обеспечить его соблюдение. Вот пресловутая история о кабеле USB-C, который убил Chromebook и положил начало карьере Бенсона Люна, объясняющего особенности USB-C в Интернете. На самом деле таких историй неудач немало. Сегодня мы рассмотрим хитрости USB-C, которые могут вас подвести, а могут и не подвести, в зависимости от того, как вы их используете.

Удлинительные кабели USB-C не соответствуют спецификации USB-C. Или они? Являются ли они проблемой на практике, даже если они не соответствуют требованиям? Давайте посмотрим на плохой пример. Допустим, вы хотите расширить порт питания на Raspberry Pi 4.

Вот удлинительный кабель Type-C, который перенаправляет линии данных VBUS и USB 2.0, но не контакты CC. Если вы используете это расширение с Raspberry Pi 4, резисторы 5,1 кОм на порту Raspberry Pi больше не будут доступны на розеточном конце расширения, и блок питания Type-C больше не сможет питать задействованный Raspberry Pi. Ну, если только это не официальный блок питания Raspberry Pi «Type-C», у которого нет возможности обнаружить наличие резистора — конечно, нарушая спецификацию Type-C, но фактически работая как кабель USB-A — USB-C. целей и целей, что делает нарушение не столь существенным.

Что, если расширение перенаправит контакт CC отдельным проводом внутри кабеля? Это действительно могло быть; некоторые расширения делают это. К сожалению, это означает, что они работают только за один оборот, и всякий раз, когда вы подключаете кабель к такому удлинителю, вам, возможно, придется перевернуть его, прежде чем он заработает. Вдвойне то же самое касается муфт FF: здесь вам придется вращать кабель 50% времени, если вы хотите, чтобы муфта работала.

А как насчет перенаправления обоих контактов CC, каждый из которых имеет отдельный провод? Это действительно сработает, и они тоже продаются через Интернет. Фактически, именно так работают карты расширения USB-C на ноутбуке Framework — поскольку разъем карты расширения на ноутбуке — USB-C, эти карты представляют собой всего лишь очень короткое расширение USB-C, которое перенаправляет контакты один к одному. Отличается ли это от удлинителя кабеля? Да.

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

Скажем, у вас есть расширение USB-C, пропускающее каждый контакт, которое может обрабатывать только 3 А внутри. Если вы когда-нибудь попытаетесь зарядить свое устройство мощностью 100 Вт с помощью блока питания на 5 А и кабеля, рассчитанного на ток 5 А, с таким удлинителем последовательно, блок питания будет выдавать ток 5 А, но вы можете оказаться в опасной ситуации. ситуация, когда изоляция кабеля начинает плавиться. С другой стороны, насколько я понимаю, Raspberry Pi 4 никогда не будет потреблять ток более 3 А, так что в этом случае вам, вероятно, это сойдет с рук, но это на вас.

Когда дело доходит до высокоскоростных сигналов, здесь возникает больше подводных камней. Кабели USB-C уже должны соответствовать определенному стандарту, чтобы работать со скоростью передачи данных 40 Гбит/с, а не ограничиваться 20 Гбит/с. Если вы используете расширение, которое перенаправляет высокоскоростные провода для подключения высокоскоростного периферийного устройства, вы можете обнаружить, что ваше устройство становится более глючным, время от времени переподключаясь.