Dec 04, 2023
Все о USB
Если вы следили за нашей сагой о USB-C, вы знаете, что провод CC в
Если вы следили за нашей сагой о USB-C, вы знаете, что провод CC в кабелях USB-C используется для связи и определения полярности. Однако не так широко известно, что в USB-C для связи используются два протокола — аналоговый и цифровой. Сегодня давайте посмотрим на аналоговую передачу сигналов, используемую в USB-C, в частности, узнаем больше о легендарных резисторах сопротивлением 5,1 кОм и о том, как они работают. Мы также узнаем об эмаркерах и загадочной сущности VCONN!
Источник питания USB-C рассчитывает обнаружить определенное понижение значения на линии CC, прежде чем он подаст 5 В на VBUS, и любые более высокие напряжения должны быть согласованы в цифровом виде. Блок питания, будь то порт вашего ноутбука или зарядное устройство, может обнаружить понижение напряжения (известное как Rd), поскольку он поддерживает повышение напряжения (известное как Rp) на линии CC — затем он проверяет, образовался ли делитель напряжения на CC, и есть ли результирующее напряжение находится в пределах допустимого диапазона.
Если вы подключаете устройство, для которого нет доступа к раскрывающемуся меню через провод CC в кабеле, ваше устройство никогда не будет получать питание от порта USB-C и будет работать только с кабелем USB-A — USB-C. Ожидается, что даже более умные устройства, которые могут использовать цифровую часть USB-C, будут иметь раскрывающиеся списки, просто эти раскрывающиеся списки являются внутренними для используемой коммуникационной микросхемы USB-C. Порт USB-C, который хочет получать питание, должен иметь выпадающее напряжение.
Эта часть к настоящему времени хорошо известна, но мы видели множество отказов из-за отсутствия резисторов в дешевых устройствах, и в разговорной речи советуют «добавить резисторы сопротивлением 5,1 кОм». Возможно, вы боитесь подумать, что это так просто, но вы будете удивлены.
Существует два типа ролей питания для портов USB-C — сторона питания и сторона потребителя. Аналоговая сторона USB-C позволяет разработчикам добавить простой способ согласования требований к питанию при использовании USB-C при напряжении 5 В без использования специальных или дорогих микросхем — с использованием подтягивающих устройств для источников и понижения напряжения для приемников. Комбинация повышения и понижения образует делитель напряжения, а само напряжение представляет собой токовую мощность зарядного устройства.
Теперь, в режиме аналоговой сигнализации, источник может регулировать подтягивание в зависимости от доступного ему бюджета мощности, и это весьма полезно. Представьте себе ноутбук или зарядное устройство с несколькими портами USB-C. По мере загрузки каждого порта ток, передаваемый на другие порты, будет уменьшаться, что во многом определяется внутренней конструкцией устройства. Возьмем, к примеру, ноутбук Framework, оснащенный четырьмя портами USB-C. Каждый порт может обеспечить 15 Вт при 5 В / 3 А, но если вы хотите одновременно питать четыре устройства USB-C, предназначенные только для приемника, он сможет выдать только 1,5 А на третий и четвертый порт — вполне разумное ограничение из инженерный взгляд.
Это означает, что устройства с более высоким потреблением, такие как устройства с максимальным током 1,5 А и 3 А, должны контролировать напряжение на линии CC, чтобы определить, могут ли они превысить бюджет мощности путем корректировки своих требований к мощности или иным образом отключиться, если новый установленный предел тока превышен.
Что это значит для вас как пользователя? Ничего, если ваши устройства достаточно маломощные. Ожидается, что ваши устройства будут контролировать напряжение на линии CC и соответствующим образом корректировать свой аппетит. Некоторые устройства, купленные в магазине, этого не делают, но это случается редко. Как хакер? Если вы создаете устройство, которое получает питание от порта USB-C, и стремитесь получить полный ток 3 А при напряжении 5 В, помните, что не все порты USB-C обеспечат вам это. Однако вы можете проверить наличие тока 3 А, измерив напряжение на линии CC. Или нет, я не твоя мама, и многие хакерские устройства работают без обнаружения.
Какие напряжения можно ожидать на линии CC? Ну, это тот тип напряжения, который вы можете считать с помощью базового АЦП, который есть в вашем микроконтроллере, или даже с помощью компаратора.
Как видите, все напряжение ниже 3,3 В, поэтому делитель напряжения не понадобится, если вы используете полноценный АЦП микроконтроллера. Да, и если у вас есть разъем USB-C, не забудьте, конечно, контролировать оба контакта CC отдельно.
Действительно ли нужно следить за напряжением CC? Когда вы просто что-то ломаете, это не совсем так, но это может помочь, если вы это сделаете, когда захотите выйти за пределы 0,5–1 А. Если вы превысите текущие требования, которые может обеспечить исходный порт, предполагается, что он просто прекратить подачу питания на ваше устройство – довольно безопасный исход. С другой стороны, философия USB-C заключается в наличии нескольких уровней защиты, и если вы создаете устройство мощностью 15 Вт с использованием простого резистора сопротивлением 5,1 кОм, вы также можете сделать это устройством, которое может определять его мощность. поставки недостаточны. Кроме того, это довольно легко сделать!