Escolhendo um conector de debug/programação para um microcontrolador

Resumo TL;DR: para ARM SWD, TI Spy-Bi-Wire, ou Microchip ICD, use o footprint Tag-Connect No-Legs com atribuições padrão de pin/pad, e obtenha cabos Tag-Connect.

Ao projetar dispositivos que usam microcontroladores, é necessário fornecer um conector de depuração e programação. Isso pode ser usado apenas para desenvolvimento, ao escrever e depurar software, ou também pode ser deixado em unidades de produção, para programação em fábrica.

Fabricantes e fabricantes de ferramentas garantiram que vivemos em um mundo onde há uma infinidade de conectores de depuração com muita confusão ao redor deles. É por isso que acabamos com isso:

Então, qual conector escolher para um novo design?

Este artigo se concentra principalmente em dispositivos ARM que possuem a interface SWD (Single-Wire Debug), mas também é aplicável a outros componentes, como o Texas Instruments MSP430 que usa o protocolo Spy Bi-Wire (2-wire JTAG), Microchip ICD, ou até mesmo componentes que precisam de um conjunto mais completo de pinos JTAG.

Conectores de depuração populares

Algumas das escolhas comuns que são frequentemente consideradas:

  • JTAG de 10 pinos em um conector IDC de 0,1". Geralmente é usado um conector macho. Desvantagem: é enorme, e o conector custa dinheiro.
  • Conector de depuração Cortex usando um micro conector de 0,05" (10 pinos ou 20 pinos, Samtec FTSH-110 e FTSH-105). O conector de 10 pinos é razoavelmente pequeno e disponível como uma peça SMD, mas mais caro do que os conectores IDC.
  • Conector IDC de 20 pinos de 0,1". Você não está seriamente considerando esse dinossauro, está? É maior do que algumas das placas que eu projetei.
  • Conjunto personalizado de 4 ou 6 pinos (ou vias, ou pads de cobre). O problema aqui é a parte "personalizada". Inevitavelmente voltará a te morder no futuro, no dia em que seu conector personalizado quebrar no chão da fábrica e você tiver que enviar um novo do exterior, enquanto a produção está parada.
  • Pegada Tag-Connect de 6 pinos em uma das variantes (com pernas ou sem pernas). Note que não há conector aqui: apenas uma pegada padronizada na PCB.
  • Tag-Connect de 6 pinos + Tag-Connect de 10 pinos (para sinais ETM): para essa combinação, até existe um cabo pré-montado disponível, com um conector IDC de 20 pinos e atribuições de pinos ARM Cortex de 20 pinos padrão.

Uma observação imediata é que a maioria desses conectores requer, bem, conectores. Esse é um componente adicional que você precisa colocar na placa, o que custa dinheiro. Para unidades de produção ou protótipos maiores, esse conector só será usado uma vez na vida útil do produto, o que é um desperdício.

As soluções Tag-Connect ou footprints personalizados com conectores baseados em pogo-pin têm uma vantagem óbvia aqui, pois não requerem que nenhum componente seja colocado na PCB, então o custo do conector de depuração por placa cai para 0, o que é ótimo!

É assim que uma pegada Tag-Connect parece em uma placa real:

E é assim que o cabo com pogo-pins se parece:   A segunda consideração principal é o tamanho, e os requisitos de espaço na placa resultantes. Os únicos concorrentes são o micro-cabeçalho de 10 pinos de 0,05" e uma pegada Tag-Connect de 6 pinos. O micro-cabeçalho de 10 pinos é na verdade um pouco menor em uma direção, mas a diferença não é significativa. Aqui está como se parece um micro-cabeçalho de 10 pinos de 0,05" (este é de uma placa de desenvolvimento Nordic Semiconductor nRF52832, a PCA10040):  

Pernas ou Sem Pernas?

Existem duas variantes de um cabo conector Tag-Connect: uma com 'pernas' e uma sem 'pernas'. Qual é a diferença?

Tag-Connect usa pinos pogo, que têm molas internas e pressionam contra a PCB. Se você quiser que o conector fique no lugar, terá que aplicar força continuamente nele. Isso é bom para programação rápida, onde você pode usar uma mão para segurar o conector no lugar e outra para iniciar o trabalho de programação, mas não funciona tão bem para sessões de depuração prolongadas. Para isso, a pegada (e conector) "legs" funciona muito melhor. As pernas agem como pequenos clipes, então, uma vez que você insira o conector, eles se encaixam no lugar e mantêm os pinos pogo firmes contra a placa, por tempo indefinido.

O problema com a pegada "legs" é o seu tamanho: é significativamente maior do que a variante "no-legs". Pior ainda, precisa de quatro grandes furos na placa. Grandes furos são sempre um problema: eles (obviamente) precisam passar por todas as camadas, e você precisa de uma área de exclusão ao redor deles também. Isso significa que o impacto de uma pegada "legs" em seu design é muito maior do que o da variante "no legs".

Para unidades de produção, onde a conexão provavelmente só será feita uma vez na vida útil de um produto, e pode ser facilmente manuseada o tempo todo, não há dúvida: você definitivamente prefere a pegada "no-legs", que economiza espaço na placa. Mas o que fazer sobre os protótipos? Por um lado, você pode se dar ao luxo de ter espaço na placa, mas por outro lado, você não quer redesenhar a PCB apenas porque precisa remover os furos na revisão final.

Felizmente, existe outra solução. A Tag-Connect vende um pequeno clipe de retenção. É um pedaço de PCB com três soquetes que se encaixam nos pinos do cabo Tag-Connect. Não é uma solução mecanicamente perfeita e os clipes tendem a se desgastar com o tempo (eles também são incrivelmente fáceis de perder!), mas na prática funciona muito bem.

Minha recomendação é sempre optar pela pegada "sem pernas" e cabos, comprar um monte de grampos de retenção e economizar no espaço da placa e no redesenho das placas.

Use uma atribuição de sinal padrão

Já vi hardware no campo, onde os designers usaram uma footprint Tag-Connect para ARM SWD (em um Cortex-M0), mas atribuíram sinais de maneira diferente. É provável que a motivação tenha sido ofuscar a interface.

Isso não é algo que eu recomendaria: a ofuscação é facilmente descoberta, e acaba-se com uma pegada incompatível, que inevitavelmente causará problemas no futuro.

Praticidades

Tag-Connect recomenda que nenhum componente seja colocado (ou traços roteados) no outro lado da pegada. Embora essa seja uma boa recomendação, nem sempre temos esse luxo, especialmente em placas pequenas com restrições de layout apertadas.

Como descobri, você pode se safar colocando componentes do outro lado, mesmo quando usa o clipe de retenção para segurar o cabo no lugar. Eu sugeriria usar um pedaço de isolante entre os componentes e o clipe de retenção, no entanto, para evitar possíveis curtos-circuitos (papel funciona bem). Embora não seja a prática recomendada, isso funciona, embora fixar o conector de depuração no lugar fique um pouco mais complicado.

Aqui está um exemplo de uma placa protótipo (por favor, desculpe a qualidade do solda protótipo) onde os componentes são colocados dentro da área da pegada de depuração:

Crítica

Não é tudo rosas com o Tag-Connect. O site não é bem organizado, então é difícil encontrar as informações que você está procurando. Há uma infinidade de variantes oferecidas, e mesmo que a maioria das pessoas precise de um único tipo de cabo, ele não é exibido de forma proeminente. Infelizmente, isso parece ser uma tradição com empresas que fabricam equipamentos de depuração e programação no mundo embarcado.

A segunda reclamação que tenho é que a empresa oferece bibliotecas CAD para download com footprints Tag-Connect, mas afirma que:

Esses arquivos são fornecidos 'COMO ESTÃO' e sem garantia de que estão completos, livres de erros ou adequados para uso. Verifique cuidadosamente os decalques importados contra a última folha de dados fornecida no site da Tag-Connect (veja abaixo). Em particular, verifique os tamanhos dos furos, a numeração dos pinos e preste muita atenção na camada de máscara de pasta de solda para garantir que nenhuma pasta de solda seja depositada nos pads do footprint.

Se você olhar nos arquivos ZIP fornecidos, geralmente haverá várias variantes de footprint para um determinado CAD. Qual devo usar? E por que é minha responsabilidade verificar isso?

Acho que a Tag-Connect deveria limpar esta biblioteca e fornecer um conjunto de footprints suportados, pelo menos para os pacotes CAD mais populares, sem uma isenção de responsabilidade. Isso deveria fazer parte do valor desta solução.

Conclusão

Considerando tudo, o Tag-Connect ainda é a melhor solução de depuração e programação disponível no mercado. Eu recomendaria padronizar seu uso e utilizá-lo em todos os seus designs.

Postagens anteriores do blog: KiCon 2019 (2019-03-27)
Postagens de blog posteriores: Novidades: Maio 2020 (2020-05-16)

PartsBox é um aplicativo online que permite que você controle seu inventário de componentes eletrônicos, precificação de BOM e produção em pequena escala. Ele mantém o controle de onde os componentes estão armazenados, quais são os níveis de estoque atuais e quais componentes são usados em quais projetos/BOMs.

Índice do Blog