banner
Centro de notícias
Ampla experiência juntamente com equipamentos avançados

PCIe para hackers: uma jornada de cartão M.2

May 25, 2024

Projetei alguns adaptadores M.2 para uso próprio e de meus amigos e, depois de encontrar esses designs on-line, as pessoas me pediram adaptadores personalizados. Um desses pedidos é bastante específico – um adaptador que adicione mais um link PCIe a um slot E-key M.2, o tipo de slot que você verá usado em laptops para placas WiFi.

Veja, a especificação M.2 permite dois links PCIe separados conectados ao slot E-key; no entanto, nenhuma placa WiFi usa isso, exceto algumas placas realmente antigas com capacidade para WiGig, e os fabricantes há muito desistiram de conectar um segundo link. No entanto, existem alguns cartões, como o acelerador duplo de IA Google Coral M.2 E-key e o recentemente anunciado uSDR, que de fato exigem o segundo link – caso contrário, apenas metade de sua capacidade estará disponível.

Não está claro por que o Google e o WaveletSDR projetaram um soquete E-key de link duplo, uma vez que são uma ocorrência rara; para o cartão do Google, muitas pessoas reclamam que a placa que compraram simplesmente não funciona totalmente. Em teoria, tudo o que você precisa fazer para ajudar em tal situação é obter um segundo link PCIe de algum lugar e, em seguida, conectá-lo ao soquete – e uma maneira perfeita de fazer isso é obter um chip switch PCIe. Você perderá alguma largura de banda porque a conexão PCIe uplink do switch só pode ser rápida; para coisas como este acelerador de IA, não é um grande problema, já que o ponto principal é tornar o segundo dispositivo acessível. Para o SDR mencionado acima, pode ser inútil, ou você pode ganhar alguns, mas perder alguns – não dá para saber até tentar!

Esse é um problema amigável aos hackers que podemos resolver para diversão e oportunidades de aprendizagem! Com um chip de switch PCIe pequeno o suficiente, poderíamos fazer uma placa PCB M.2 que também possui um soquete M.2, colocando um switch PCIe no meio para dividir o link PCIe 1x de entrada em dois links 1x de saída.

Além do mais, esse problema já foi resolvido antes. Este adaptador exato já foi feito por alguém on-line – no entanto, decididamente não é de código aberto e seu criador nunca começou a vendê-lo, alegando falta de interesse. O adaptador que estamos projetando hoje será total e adequadamente aberto - qualquer um poderá fabricar seu próprio adaptador como este se precisar, aprender com ele ou remixá-lo em outra coisa.

No lado do switch PCIe, mencionei um chip de switch PCIe pequeno, barato e pouco explorado da última vez – o ASM1182e, que é capaz de criar dois links PCIe x1 a partir de um. Está facilmente disponível no Aliexpress, usado em muitas placas de divisão PCIe da China, custa US$ 6 após o envio e parece exigir pouca manutenção – pequeno número de componentes externos, operação autônoma, conexão simples. Infelizmente, simplesmente não temos uma folha de dados que eu possa encontrar - no entanto, há muitas informações que podemos usar para criar nossas próprias placas, e vou mostrar como você pode projetar até mesmo em torno de chips. se você não tiver suas folhas de dados.

Hoje, estamos resolvendo um problema antigo para um nicho de hardware, criando um adaptador M.2 com três links PCIe no total e fazendo engenharia reversa de um chip switch PCIe sem folhas de dados disponíveis. Eu também gostaria de fazer este quadro densamente embalado como um desafio, e mostrar o que é necessário, desde uma página esquemática até um cartão montado.

Usarei um dos meus designs de adaptador M.2 como base para este design – especificamente, um adaptador de chave A + E para chave M, permitindo inserir um SSD no slot de cartão WiFi de um laptop. Essa é uma placa de duas camadas porque poderia ser, mas hoje, duas camadas não servem – esse design precisará de quatro camadas, já que rotear links PCIe corretamente e aterrar em todos os lugares seria muito intenso de outra forma! Se você puder reutilizar o design de outra pessoa para seus objetivos, faça-o com certeza – este testou símbolos e pegadas, o que significa que há menos variáveis ​​para eu verificar novamente! Como resultado, não precisamos projetar uma placa M.2 do zero.

O mesmo se aplica ao esquema de referência a partir do qual podemos fazer engenharia reversa do ASM1182 – especificamente, é de um laptop produzido em massa. Hoje estamos com sorte – a Clevo é uma das raras empresas que tem (ou teve) uma tradição de publicar esquemas para seus laptops, provavelmente ajudada pelo fato de que, ao contrário de todos os outros fabricantes de laptops, eles realmente projetam suas próprias placas-mãe. A única outra empresa de laptops que vi publicar esquemas é a Framework, cuja placa-mãe é subcontratada (a norma no espaço de laptops), e a deles é parcial, com todas as coisas possivelmente NDA removidas. Não há marcações de confidencialidade de qualquer tipo no esquema que procuramos hoje – no entanto, não estou fornecendo um link, mas é sem dúvida o primeiro resultado em seu mecanismo de busca favorito, especialmente se você procurar por P75xZM_ESM.pdf.