banner
Lar / blog / Tudo sobre USB
blog

Tudo sobre USB

Jan 15, 2024Jan 15, 2024

Nos seis meses que se passaram após o lançamento do último artigo sobre USB-C, pensei em várias maneiras de melhorar esses artigos. É claro que é normal ter esse sentimento – até esperado. Agora acredito que há algumas lacunas que eu poderia preencher. Por exemplo, não forneci circuitos de exemplo suficientes e, às vezes, um esquema pode transmitir coisas melhor do que mil palavras.

Vamos consertar isso! Darei esquemas para os tipos de dispositivos USB-C que você provavelmente deseja construir. Também compartilharei vários números de peças de IC neste artigo, mas não tenho uma coleção exaustiva, é claro – se você encontrar mais ICs legais que funcionam para fins USB-C e não são mencionados aqui, por favor, faça deixe-nos todos saber nos comentários!

Vimos o primeiro exemplo de circuito no primeiro artigo – uma porta USB-C no lado do dispositivo (“voltada para upstream”) que suporta USB 2.0 e 5 V de alimentação. Você deve ter resistores de 5,1 K, um resistor por pino, e lembre-se de unir os dois pinos de dados - use vias se necessário. Se quiser determinar a quantidade de corrente disponível para você, você também pode conectar ADCs ou comparadores a ambos os pinos CC juntos, embora na maioria das vezes seu dispositivo tenha baixa potência o suficiente para que não haja motivo para se preocupar.

Agora, se você quiser fazer um aparelho com plugue USB-C, a fiação é a mesma. A única diferença é que você só precisa preencher um dos menus suspensos CC e conectar um par de pinos D+/D- em vez de ambos os pares. É provável que nada de ruim aconteça na prática se você conectar o segundo par de pinos USB 2.0, é apenas rude para o padrão; costumava entrar em conflito com certos tipos de portas e cabos (os VirtualLink) que não são mais vendidos.

No entanto, se você conectar pull-downs de 5,1 K a ambos os pinos CC, você acidentalmente criará um acessório de hacker: um adaptador de modo de depuração, algo que o ajudará a obter sinais extras de algumas portas USB-C. Por exemplo, no laptop Framework, uma placa equipada com plugue USB-C com ambos os pull-downs mudará uma porta USB-C para o modo de depuração e exporá a conexão EC UART nos pinos SBU. A menos que você esteja criando esse acessório de depuração, preencha apenas um dos menus suspensos e conecte os pinos de dados USB 2.0 de acordo.

E se você quisesse fazer uma porta de host? Por um lado, é mais fácil, porque você não precisa necessariamente fazer nenhuma medição ADC. Em vez disso, você adiciona pull-ups, valores diferentes para diferentes quantidades de corrente disponível. Nem todos os dispositivos verificam a presença de pull-up, mas os telefones sim, portanto, se você estiver fazendo um carregador USB-C improvisado, um telefone ou laptop pode não reconhecê-lo como uma forma válida de carregar se você não tiver o pull-up -ups. Também não custa muito adicioná-los!

Mais importante ainda, você pode querer controlar o VBUS, ligando-o somente depois de detectar um pull-down em um dos pinos CC. Você não terá necessariamente um problema se não fizer isso, mas isso cobre alguns casos extremos importantes, como alguém conectando um cabo USB-A para USB-C em sua porta!

Nunca fiz esse circuito, mas a meu ver, deveria bastar usar dois FETs, um por pino CC, ambos colocados em paralelo. Este circuito pode ter casos extremos – melhorias são bem-vindas! Por outro lado, usei quebras de portas USB-C equipadas com pull-down como portas host algumas vezes, então definitivamente não é um requisito difícil e você nem sempre precisa quebrar sua coleção de FET.

No total, há duas coisas que você deseja fazer se estiver construindo uma porta host, e nenhuma das duas é necessária. Além disso, se você quiser se tornar mais complexo nos circuitos, ou talvez até mesmo fazer uma porta de função dupla, existem ICs que ajudam você com esta parte do USB-C!

Por exemplo, pegue o WUSB3801. Ele cuida da detecção de fonte e coletor, possui todos os pull-ups e pull-ups necessários e pode até executar portas de função dupla, o que permite construir qualquer tipo de porta de alimentação de 5 V. Ele pode exibir o status da porta com alguns GPIOs, ou você pode conectá-lo ao seu microcontrolador via I2C, e ainda possui um pino de ID para que você possa usá-lo para substituir totalmente uma porta MicroUSB por uma USB-C! O WUSB3801 é pequeno o suficiente, soldável o suficiente e versátil o suficiente. Por exemplo, no servidor Hackaday Discord, alguém construiu um circuito WUSB3801 que limita a corrente de um carregador de íons de lítio com base no fato de a porta USB-C conectada poder fornecer 3 amperes ou não.