Bem-vindo à segunda parte do projeto do módulo de computação de código aberto Pi.MX8! Nesta série de artigos, exploramos o design e o teste de um sistema em módulo baseado em um processador i.MX8M plus da NXP.
Na atualização anterior, discutimos a motivação por trás deste projeto, bem como quais recursos nosso módulo deveria ter e quais componentes gostaríamos de usar para implementá-los.
Desta vez, gostaríamos de focar na estrutura do design esquemático e como podemos começar com o layout da PCB.
Vamos começar olhando como o esquemático é organizado. Duas abordagens são tipicamente usadas para lidar com a captura esquemática; designs planos e hierárquicos.
Um esquemático plano pode ser melhor imaginado como um grande esquemático de página única que é simplesmente dividido em várias folhas. Conexões entre as folhas podem ser estabelecidas usando, por exemplo, conectores fora da folha.
Em um diagrama de circuito hierárquico, o design pode ser dividido em blocos de função que são representados como símbolos de folha, que por sua vez podem ser interconectados ou até mesmo aninhados. Essa abordagem é frequentemente usada em grandes designs, pois permite que você divida de forma mais eficaz um grande esquemático em blocos que podem ser projetados e visualizados independentemente uns dos outros. As conexões entre esses blocos funcionais são estabelecidas usando portas que serão representadas no símbolo da folha. Com exceção dos objetos de alimentação (VCC, GND etc.), apenas portas são usadas para vincular as folhas do esquemático juntas.
O esquemático do Pi.MX8 utiliza essa topologia hierárquica:
O design é dividido em vários blocos funcionais—todos representados em uma única folha de nível superior. Aqui, todas as conexões entre as folhas separadas são estabelecidas. Este design usa apenas um nível hierárquico.
O SoC iMX8 é dividido em várias partes que são colocadas em múltiplas folhas. Na folha de nível superior, o grande símbolo no centro da página representa o SoC. Os dois grandes símbolos de folha no lado esquerdo e direito da página representam os dois conectores de placa para placa do módulo Pi.MX8. Todos os outros blocos funcionais são representados com seu próprio símbolo de folha.
Cada página segue a mesma filosofia de design. Interfaces que saem de uma página esquemática são codificadas por cores para representar o nível de tensão da interface. Redes que fazem parte da rede de distribuição de energia são desenhadas com uma espessura de linha grossa.
Integrar notas para configurações específicas, convenções de nomenclatura ou observações gerais pode ser usado para acelerar o processo de depuração e inicialização, enquanto serve como um lembrete para o processo de roteamento da PCB.
Página esquemática incluindo notas e codificação por cores
Adicionar notas a um esquemático do Altium Designer a partir de uma planilha do Excel ou de capturas de tela tiradas de uma folha de dados é tão fácil quanto Ctrl+C, Ctrl+V:
O diagrama do circuito em si ainda está sujeito a alterações e, portanto, ainda está em desenvolvimento. Iremos aprofundar no esquemático em uma atualização futura.
Enquanto o esquemático passará por algumas pequenas mudanças nas próximas semanas, já podemos prosseguir e planejar o layout da PCB.
Na fase de planejamento do layout, gostaríamos de definir o empilhamento de camadas e planejar uma estratégia de como rotear a placa. Como primeiro passo para definir um empilhamento de camadas e uma abordagem de roteamento, podemos posicionar os componentes-chave na placa. Isso nos ajudará a estimar os requisitos de espaço e a densidade de roteamento, que são ambos fatores importantes a considerar para definir um empilhamento de camadas e uma estratégia de roteamento. Componentes-chave, neste contexto, são partes que têm um grande impacto na colocação dos componentes, o que é o caso dos seguintes exemplos:
Peças com uma posição pré-definida na PCB, ou seja, conectores, LEDs indicadores, espaçadores SMD;
Peças com muitas redes que precisam ser roteadas, ou seja, SoCs, dispositivos de memória, MCUs;
Peças que ocupam muito espaço na placa, ou seja, grandes indutores, interruptores, dissipadores de calor.
Antes de colocar qualquer componente no módulo Pi.MX8, a primeira coisa que gostaríamos de fazer é definir algumas condições de contorno. No contexto do módulo, estas são características mecânicas e dimensões ditadas pelo formato do módulo que gostaríamos de usar.
Dependendo de uma lista de ferramentas MCAD usadas com as quais integramos, essa informação pode ser passada para o editor de layout de PCB usando o MCAD CoDesigner. No nosso caso, importaremos um arquivo DXF que foi criado usando o Spaceclaim Engineer. Esse contorno DXF é importado e colocado em uma nova camada mecânica chamada "Referência":
Dimensões mecânicas e localizações dos conectores da PCB
Com o contorno no lugar, podemos adicionar os furos de montagem nas localizações corretas usando as opções de encaixe no editor de PCB. Os conectores de placa-a-placa podem ser colocados na camada inferior do módulo da mesma maneira:
Posicionamento dos furos de montagem e conectores na PCB
Na camada superior, um conector U.FL para uma antena externa é colocado abaixo do furo de montagem superior esquerdo. Abaixo do conector, uma antena de chip para operação WiFi e Bluetooth é colocada. A posição desta antena integrada não deve ser alterada, pois muitas bases já existentes usam uma região de exclusão de cobre abaixo da localização da antena.
A antena é um componente de biblioteca que inclui não apenas a própria antena chip, mas também alguma geometria de cobre e pontos de referência onde os componentes de correspondência precisam ser colocados. Essas informações podem ser encontradas na folha de dados da antena. Ao incorporar essas informações no componente da biblioteca, garantimos que a geometria pré-definida não seja alterada acidentalmente.
Definindo a localização da antena
Nesta fase de definição do espaço da placa que está disponível para roteamento e colocação de componentes, também pode fazer sentido adicionar um anel de guarda ao longo da borda do PCB. Um anel de guarda é uma trilha de cobre que corre ao longo da borda do PCB em todas as camadas e é conectado ao terra em intervalos regulares usando VIAs. Um anel de guarda colocado ao longo da borda da placa evitará emissões irradiadas das camadas internas para o ambiente. Anéis de guarda também são usados em outras configurações em um PCB, por exemplo, para eletrônicos analógicos de precisão onde correntes de fuga que fluem através de contaminações superficiais precisam ser mantidas fora de áreas com nós de alta impedância altamente sensíveis. Se tais recursos forem necessários, eles também devem ser considerados durante a fase de planejamento do layout.
Colocar um anel de guarda ao longo da borda da placa nesta fase inicial do projeto é importante porque, embora possa não parecer difícil adicionar esse recurso mais tarde, um anel de guarda pode ocupar uma quantidade significativa de espaço. Tipicamente, a geometria de cobre precisa ter uma distância mínima de 0,2mm – 0,3mm até a borda usinada da placa. Some-se a isso a largura do traço do anel de guarda de 0,6mm, por exemplo, e mais 0,1mm para a distância do anel de guarda até os demais traços de cobre e a placa subitamente fica 2mm menor em cada direção. Especialmente se conectores forem colocados perto da borda da placa ou se a densidade de componentes na placa for muito alta, isso pode fazer uma grande diferença durante o roteamento.
PCB com anel de guarda
Outra limitação que devemos considerar para o posicionamento de componentes é o fato de que certos componentes podem ser suscetíveis a estresse mecânico. Dependendo da situação de montagem de uma PCB dentro de um invólucro, certas áreas da placa podem experimentar um estresse mecânico significativo. Exemplos típicos de tais cenários são furos de montagem ou dissipadores de calor que aplicam uma pressão de montagem externa a uma PCB.
Isso também é algo que devemos ter em mente para o módulo Pi.MX8. O módulo será montado dentro de uma caixa de alumínio usando os quatro furos de montagem. Nessa configuração, a placa de circuito e a caixa estão rigidamente conectadas uma à outra. Como o alumínio tem um coeficiente de expansão térmica diferente do FR4, a placa começa a deformar assim que o sistema aquece. A magnitude desse efeito depende das características exatas do material envolvido e da diferença de temperatura vista pela montagem.
Podemos simular a expansão térmica do módulo montado dentro da caixa de alumínio. Calculando o gradiente do vetor de deslocamento, podemos ver que a placa experimentará movimento, especialmente perto dos furos de montagem:
Estresse mecânico causado pela expansão térmica
Se a PCB é usada em um ambiente de alta vibração, o mesmo princípio se aplica em relação a altos estresses perto dos furos de montagem.
Mas, por que isso é importante para o módulo Pi.MX8? Há componentes no módulo que são sensíveis a estresses mecânicos externos. Esses componentes são grandes capacitores cerâmicos. Esses capacitores podem facilmente trincar se forem submetidos a estresse mecânico. Muitas vezes, os capacitores falham com um curto-circuito, causando uma falha catastrófica de todo o sistema. Por essa razão, grandes capacitores cerâmicos não devem ser colocados próximos a furos de montagem ou bordas de placa com corte em V. A última experiência também sofre alto estresse mecânico durante a separação do painel. Quanto maior o capacitor, mais sensível ele é a cargas mecânicas na PCB.
Para nós, isso significa manter capacitores cerâmicos maiores que 0603 que não usam terminação suave a pelo menos 3,5mm dos furos de montagem. Esse valor varia dependendo da situação de montagem da placa e foi derivado da simulação para a placa Pi.MX8.
Com isso em mente, o posicionamento preliminar dos componentes-chave na placa Pi.MX8 é o seguinte:
Posicionamento preliminar dos componentes-chave
A ideia por trás desse posicionamento de componentes e como ele impacta a escolha da pilha de camadas será parte da próxima atualização. Fique ligado para acompanhar o progresso do módulo Pi.MX8!