O USB sempre fez uma distinção entre as funções "host" e "periférica" nas quais um dispositivo pode operar: há um único "host" (como um PC) que gerencia o barramento, e pode haver muitos conectados " periféricos "que se comunicam com o host. Você não pode conectar um host a um host nem um periférico a um periférico. Essa distinção tem sido historicamente imposta pelos conectores: os hosts têm soquetes tipo A e os periféricos têm plugues tipo A ou soquetes tipo B.
O USB-C, no entanto, usa o mesmo conector para hosts e periféricos. Isso me faz pensar no que determina qual deles será o host. Um cabo USB-C tem um "host end" e "periférico" que podem ser distinguidos eletricamente mesmo que pareçam iguais? Os dispositivos negociam qual será o host? Se sim, que critérios eles usam?
Em uma nota relacionada, os hosts USB historicamente fornecem energia aos periféricos, tanto para permitir que eles operem (por exemplo, mouses e pen drives USB) quanto para carregar suas baterias (por exemplo, telefones). Com as conexões tipo A e tipo B, sempre ficou claro qual dispositivo cobraria qual. Com o tipo C, não é tão claro.
Meu telefone (Nexus 5X) e tablet (Pixel C) têm portas USB-C e descobri que, se eu conectá-los com um cabo USB-C, o tablet sempre carrega o telefone por padrão, não Não importa de que maneira eu conecto o cabo. Mas se eu conectá-los com um adaptador USB-C OTG e um cabo A-para-C, o dispositivo conectado ao adaptador é sempre aquele que fornece energia, o que pode resultar no carregamento do telefone no tablet. Portanto, parece que há uma direção de carregamento obrigatória quando uma porta USB-A está envolvida, mas com uma conexão USB-C nativa, os dispositivos podem, de alguma forma, descobrir a direção "certa" para a energia fluir. Como eles determinam isso? O que aconteceria se eu conectasse dois telefones idênticos ou dois laptops com portas USB-C?
Já que há um monte de pequenas perguntas acima, aqui está o mais abrangente: alguns elementos de uma conexão USB devem ser direcionais (host versus periférico e direção de carregamento), então como uma conexão USB-C determina qual é qual?