banner

blog

May 03, 2023

Tudo sobre USB

Como muitas pessoas apontaram, o que importa com o USB-C não é apenas o padrão, são as implementações. Afinal, é com as implementações que realmente temos que lidar e é onde surgem a maioria dos problemas com o USB-C. Há alguma falha no padrão, como a falta de marcações de 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 orientá-lo em algumas implementações de USB-C em produtos reais, de código aberto, adjacentes e apenas interessantes. Eles são todos imperfeitos de alguma forma – não pode ser de outra forma, pois eles têm que lidar com o confuso mundo real, onde a perfeição é uma raridade.

Hoje, vamos dar uma olhada no Pinecil. Um ferro de solda da Pine64, lançado há alguns anos, mantendo o preço baixo e a qualidade alta. Ele possui um jack de barril e uma porta USB-C para sua entrada de energia - uma partida bem-vinda da estratégia de ferro Miniware, onde nem o TS100 apenas com jack de barril nem os ferros TS80 de ponta proprietária de baixa potência o fizeram. E, dado o seu design em torno de dicas de estilo TS100 T12, não é de admirar que o Pinecil tenha conquistado um merecido lugar no mundo dos amadores.

Agora, você pode 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 de entrega de energia (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 x 60 W, em que tal arranjo falharia imediatamente. No geral, a configurabilidade dos ICs de gatilho é bastante baixa e, ao encontrar um problema de compatibilidade PD com alguma PSU, você não pode fazer nada a respeito, exceto substituir o IC por um IC de lógica ligeiramente diferente - se houver uma substituição e geralmente não. Isso é caro e limitante para um produto de uso no mundo real.

A Pinecil seguiu o caminho "PD stack software + PD frontend IC", dedicando parte do MCU à natureza em tempo real das comunicações PD. O frontend PD usado é o FUSB302, conectado ao MCU pela interface I2C regular. O próprio microcontrolador mudou do GD32VF103 em Pinecil v1 para o BL706 em Pinecil v2 – ambos RISC-V.

Agora, comecei a falar em abstrato aqui, mas faz sentido falar sobre o hacker fazendo o trabalho real de tornar a pilha PD possível – na verdade, toda a pilha de software Pinecil. A pessoa responsável pelo PD e pelo software geral da Pinecil é [Ralim], conhecido por seu firmware IronOS inicialmente desenvolvido para TS100, TS80 e outros ferros de solda com MCUs neles. 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. Um dos principais motivos é a compatibilidade da fonte de alimentação - há muita variação nas comunicações da fonte de alimentação USB-C, pois 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 funcionava com várias fontes de alimentação por aí – incluindo, por exemplo, algumas power bricks da Apple.

Agora, o mais bonito é que, sempre que alguém registra um problema de compatibilidade de PSU no GitHub, [Ralim] pode rastreá-lo, seja por depuração remota 'tente este binário' ou comprando diretamente o mesmo PSU. Em seguida, ele corrigiria 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 uso de todos. Em um ano, a maioria dos problemas do USB-C desapareceu e, se você tiver um problema com o Pinecil, é provável que precise apenas atualizar o firmware da versão antiga com flash 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 PSU com a qual o Pinecil não funcione hoje em dia. Por motivos de conveniência de depuração e hackers, se você conectar uma fonte de alimentação USB-C ao seu Pinecil enquanto mantém pressionado o botão +, será exibido um menu de depuração de PD listando todos os perfis - de certa forma, o Pinecil é uma ferramenta de depuração de PD que você já pode possuir.

COMPARTILHAR