Tudo sobre USB
LarLar > blog > Tudo sobre USB

Tudo sobre USB

Jun 25, 2023

Como muitas pessoas apontaram, o que importa no USB-C não é apenas o padrão, são as implementações. Afinal, são com as implementações que realmente temos que lidar e é onde surge a maioria dos problemas com o USB-C. Há algumas falhas no padrão, como a falta de marcações nos cabos desde o início, mas, neste ponto, estou convencido de que o padrão USB-C é muito melhor do que algumas pessoas pensam.

Gostaria de mostrar algumas implementações de USB-C em produtos reais, de código aberto, adjacentes e simplesmente interessantes. Todos são imperfeitos de alguma forma – não pode ser de outra forma, pois têm que lidar com o confuso mundo real, onde a perfeição é uma raridade.

Hoje vamos conferir o Pinecil. Um ferro de solda da Pine64, lançado há alguns anos, mantendo o preço baixo e a qualidade alta. Ele ostenta um conector cilíndrico e uma porta USB-C para sua entrada de energia - um afastamento bem-vindo da estratégia de ferro Miniware, onde nem o TS100 apenas com conector cilíndrico nem os ferros TS80 de ponta proprietária de baixa potência conseguiram. E, dado o seu design em torno das pontas estilo TS100 T12, não é de admirar que a Pinecil tenha conquistado um lugar merecido no mundo dos hobbyistas.

Agora, você deve estar pensando que o Pinecil deveria ser um dispositivo simples. A maneira usual de obter alta potência de uma porta USB-C é um IC de gatilho Power Delivery (PD), e você pode simplesmente usá-lo. No entanto, se você leu o artigo sobre alimentação USB-C, deve se lembrar do cenário do carregador de 45 W vs 60 W, onde tal arranjo falharia imediatamente. No geral, a configurabilidade dos ICs de gatilho é bastante baixa e, ao encontrar um problema de compatibilidade de PD com alguma fonte de alimentação, você não pode fazer nada a respeito, exceto substituir o IC por um IC de lógica ligeiramente diferente - se existir um substituto, e geralmente não. Isto é caro e limitante para um produto de uso no mundo real.

A Pinecil seguiu o caminho “software de pilha PD + IC frontend PD”, dedicando parte do MCU à natureza em tempo real das comunicações PD. O frontend PD utilizado é o FUSB302, conectado ao MCU através da interface I2C normal. O microcontrolador em si mudou do GD32VF103 no Pinecil v1 para o BL706 no Pinecil v2 – ambos RISC-V.

Bem, comecei a falar de forma abstrata aqui, mas faz sentido falar sobre o hacker fazendo o trabalho real para tornar possível a pilha PD – na verdade, toda a pilha de software Pinecil. O responsável pelo PD e pelo software Pinecil em geral é [Ralim], conhecido por seu firmware IronOS inicialmente desenvolvido para TS100, TS80 e outros ferros de solda com MCUs. Pine64 entrou em contato com [Ralim] quando Pinecil era apenas um conceito, perguntando se ele estaria disponível para portar o IronOS, incluindo o trabalho de PD necessário.

Ao longo dos anos, a abordagem “frontend + MCU” valeu a pena tremendamente. Um dos principais motivos é a compatibilidade da PSU – há muitas variações nas comunicações da fonte de alimentação USB-C, já que o material PD pode ser difícil de implementar, especialmente quando se trata de casos extremos. O firmware inicial dos ferros Pinecil, de fato, não funcionou com várias fontes de alimentação disponíveis no mercado – incluindo, por exemplo, algumas fontes de alimentação da Apple.

Agora, o mais bonito é que sempre que alguém registrava um problema de compatibilidade de PSU no GitHub, [Ralim] poderia rastrear esse problema, seja por depuração remota 'tente este binário' ou comprando diretamente a mesma PSU. Em seguida, ele resolveria o problema alterando a forma como a pilha trata os casos extremos, testaria a correção e carregaria uma nova versão do firmware Pinecil no GitHub para que todos pudessem usar. Dentro de um ano, a maioria dos problemas de USB-C desapareceram e, se você tiver um problema com o Pinecil, é provável que precise apenas atualizar o firmware da versão antiga atualizada de fábrica.

Com o passar dos anos, a pilha tornou-se bastante madura e, o mais importante, testada em batalha – é difícil encontrar uma fonte de alimentação com a qual o Pinecil não funcione hoje em dia. Por motivos de depuração e conveniência para hackers, se você conectar uma fonte de alimentação USB-C ao seu Pinecil enquanto segura o botão +, será mostrado um menu de depuração PD listando todos os perfis – de certa forma, o Pinecil é uma ferramenta de depurador PD que você já pode possuir.