Projeto de PCB do Módulo CP2102 USB para UART

Zachariah Peterson
|  Criada: Fevereiro 16, 2023  |  Atualizada: Agosto 26, 2024
Módulo CP2102 USB para UART

Clique aqui para ir ao visualizador embutido e navegar por este projeto

Existe um grupo de produtos em que trabalho que requer inicialização e configuração via RS-232 ou UART, e eu gosto de inicializar protótipos conectando-os ao meu laptop. No entanto, para acessar essa interface, preciso enviar dados e receber por uma porta COM. Infelizmente, meu laptop só tem portas USB, então preciso converter entre a porta USB e a interface UART. Normalmente, uso um pequeno módulo conversor de interface que pode ser comprado online.

Os conversores que encontrei online são de qualidade bastante baixa e tendem a morrer por choque ou sobretensão com bastante facilidade. Para fornecer alguma proteção contra sobretensão, vou mostrar como projetar uma ponte USB para UART usando o CP2102, um componente conversor de interface popular para linhas USB 2.0. Você pode assistir ao tutorial completo deste projeto no seguinte vídeo.

 

Você pode estar se perguntando, por que não colocar um desses circuitos diretamente nos protótipos e, então, acessar a interface UART nos seus protótipos com um cabo USB? Esta é uma pergunta justa. Existem dois motivos para isso:

  1. Nem todos os produtos embutidos suportarão USB, mas estou com dificuldades para lembrar de um produto embutido que eu tenha construído que não possuísse uma interface UART.
  2. Colocar uma porta USB extra com um chip conversor de dados em cada protótipo adiciona trabalho extra e ocupa espaço. É mais simples apenas colocar um cabeçalho de 2 pinos para as linhas UART.

Então, com isso em mente, vamos trabalhar em um pequeno módulo para um conversor CP2102 de USB para UART.

Introdução ao CP2102

O CP2102 da Silicon Labs é um módulo conversor de interface compacto que faz a ponte entre as interfaces USB e UART. Eu gosto deste componente para sistemas que precisam se conectar ao USB porque existem drivers prontos para o chip que permitem que ele seja acessado através de uma porta COM por uma aplicação de terminal (eu uso o TeraTerm). Este chip é um dos muitos que são usados em conversores de USB para serial que você encontrará na Amazon ou Alibaba.

O CP2102 vem em um pacote QFN-28 e inclui algumas características úteis:

  • Regulador integrado de +5V para +3V3 para alimentar dispositivos de tensão mais baixa
  • ROM programável para implementação de dados do produto
  • Opção simples de pino de reset e circuito
  • Clock integrado, eliminando a necessidade de um cristalexterno
  • Opção de alimentação com entrada de +3V3
  • Transferência de dados via USB 2.0

Também existe uma opção de banco de pinos que atuam como indicadores ou pinos de controle quando usados na mesma placa que um processador, como um microcontrolador. Esses pinos podem ser controlados por GPIOs. Não precisamos desses para este módulo, pois o módulo operará independentemente de qualquer microcontrolador.

Esquemas

Os objetivos de design para este projeto são simples: o design transmitirá seus dados UART, energia e terra para um cabeçalho de pinos. O design precisará caber em um banco padrão de portas USB. Por fim, vou adicionar proteção adicional contra sobretensão em quaisquer linhas de dados e na linha de ônibus de +5 V para fornecer proteção máxima contra sobretensão ao CP2102 e ao dispositivo host.

Primeiro, vamos dar uma breve olhada no circuito de aplicação para o CP2102 (página 15 da folha de dados).

CP2102 application circuit

Os esquemáticos geralmente seguirão este circuito de aplicação com algumas adições a serem discutidas abaixo. Como estamos usando apenas este módulo na placa sem quaisquer outros componentes digitais, não precisamos nos preocupar com capacitância adicional do barramento de alimentação além dos capacitores discretos especificados no diagrama de aplicação. Após analisar outros módulos que usam este e componentes similares, você verá o mesmo tipo e número de capacitores.

Diodos TVS

No diagrama de aplicação, vemos a recomendação típica para a colocação de diodos TVS nas linhas USB. A peça que eles recomendam é Littlefuse SP0503BAHT ou equivalente. Inicialmente, coloquei um diodo TVS unidirecional 0402 para este componente. Como discuto abaixo, isso será apenas um marcador por enquanto e será substituído na montagem final.

Não utilizaremos nenhum dos circuitos transceptores externos ou o pino de reset nesta iteração. Em vez disso, vamos apenas usar os circuitos do lado esquerdo da tela. Também adicionarei diodos TVS às linhas Rx e Tx da UART. O nível máximo de tensão que pode ser esperado para esta linha é VDD - 0,8 V. com VDD máximo = 3,6 V, a tensão máxima da linha UART será de 2,4 V.

CP2102 UART I/O voltages

Para fornecer a máxima proteção possível nas linhas UART, poderíamos colocar um diodo TVS com um limiar de ruptura menor. O diodo TVS recomendado protege apenas até 5,5 V, que está logo abaixo da classificação de sobretensão para I/Os no CP2102. O risco de usar um diodo TVS menor é que ele terá uma tensão de clampeamento menor e não será capaz de suportar pulsos ESD de tensão mais alta.

Os esquemáticos finalizados são mostrados abaixo. O dispositivo é simples e segue essencialmente o circuito de aplicação. Eu adotei a abordagem de usar a alimentação de +5V que entra no módulo pelo conector USB (rede VBUS) e passei isso para a entrada do regulador no CP2102. A alimentação de +5V e a alimentação de saída +3V3 estão ambas acessíveis no cabeçalho de pinos e podem ser usadas para alimentar um dispositivo externo até os limites de potência no padrão USB 2.0.

CP2102 USB to UART schematics

Layout da PCB

O layout da PCB será construído em duas camadas com todos os componentes colocados na camada superior. O layout da PCB será pequeno o suficiente para que não necessariamente precisemos de roteamento de alta velocidade das linhas USB, mas implementaremos isso aqui como um exemplo simples para mostrar como pode ser feito neste tipo de placa. Esta placa é simples o suficiente para que não precise ser colocada em quatro camadas e os requisitos de roteamento USB podem ser satisfeitos com roteamento diferencial coplanar.

A colocação inicial é coberta em duas seções; o conector USB e os diodos TVS para as linhas USB são colocados no lado esquerdo da placa, e o cabeçote de pinos com os diodos D4 e D5 são colocados no lado direito da placa. A colocação no lado esquerdo do layout da PCB é mostrada abaixo.

CP2102 USB to UART PCB Layout

A colocação inicial no lado do cabeçote de pinos é mostrada abaixo. Eu usei um cabeçote de pinos em ângulo reto que fica pendurado na borda da placa para que o módulo fosse de baixo perfil. Isso também permite que sejam usados cabos padrão com terminais volantes ou um cabo de passo de 100 mil para conectar a outra placa. Inicialmente, o pinout foi definido de modo que a alimentação de +5 V (rede VBUS) entraria no cabeçote de pinos pelo lado superior, mas isso foi posteriormente alterado para o lado inferior para simplificar o roteamento.

CP2102 USB to UART PCB Layout

A colocação é simples em ambas as bordas da placa e o ponto principal aqui é manter os capacitores (C1-C4) próximos aos seus respectivos pinos de alimentação. A colocação de D4 e D5 será entre U1 e P1, mas localizarei estes uma vez que a roteirização começar, para que eu possa garantir que a roteirização próxima a eles não fique confusa. A roteirização USB pode agora ir diretamente para o conector (J1) com esta colocação. O próximo ponto é calcular a largura e o espaçamento da trilha USB nesta placa de 2 camadas.

Com base na minimização de custos, a placa deve ser definida com a espessura padrão de 62 mils. O lado de trás será preenchido com terra, e o lado superior usará roteirização coplanar para o par diferencial. O restante de L1 terá preenchimento de cobre. Usei a configuração padrão de Dk de 4.8 na pilha, que está muito próxima ao valor padrão da minha casa de fabricação selecionada para PCBs de 2 camadas. As configurações de impedância são mostradas abaixo.

CP2102 USB to UART PCB Layout

Aqui, estamos aproveitando o espaçamento entre os pares e a distância para o cobre no L1 para definir a impedância diferencial para o valor alvo. O valor da largura foi definido com base no tamanho dos pads no CP2102, pois não quero reduzir a largura da rota até a footprint para U1. Com essas configurações, podemos rotear os pares diferenciais até o conector e completar o layout.

O layout finalizado da PCB é mostrado abaixo. Há um comprimento extra aqui que poderia ser eliminado se quiséssemos miniaturizar o módulo. Apenas usando a ferramenta de medição (Ctrl + M), eu estimaria que poderíamos cortar cerca de 400-500 mils de comprimento apenas pegando os componentes na metade direita da placa e movendo-os mais para perto do conector USB.

CP2102 USB to UART PCB Layout

Atualmente, o tamanho deste módulo é semelhante a outros módulos que você pode comprar online, então o ponto acima não é crítico. Há três outras melhorias que poderiam ser implementadas neste projeto:

  • Adicione pequenos LEDs indicadores SMD em paralelo com as linhas UART Rx e Tx para termos um indicador visual da transferência de dados
  • Adicione proteção contra sobretensão reversa na linha de 3V3; os mesmos componentes usados na linha USB poderiam ser usados aqui
  • Adicione um circuito de reset com um pequeno interruptor

Vou produzir um lote destes e passaremos por alguns testes para verificar se as placas funcionam corretamente. Como vou detalhar em outro vídeo e blog, é provável que eu substitua os diodos por TPD1E10B06DPYR na montagem, pois esses diodos alternativos fornecem proteção bidirecional e são mais próximos das especificações do SP0503BAHT.

Siga este link para baixar um arquivo ZIP com os arquivos fonte do projeto. Você também pode usar o link de download no embed acima para acessar os arquivos fonte.

Quando você precisar criar rapidamente pequenos módulos e prepará-los para a fabricação, utilize as ferramentas CAD 2D e 3D no Altium Designer®. Quando você terminar seu projeto e quiser liberar os arquivos para o seu fabricante, a plataforma Altium 365™ facilita a colaboração e o compartilhamento dos seus projetos.

Apenas começamos a explorar o que é possível com o Altium Designer no Altium 365. Inicie seu teste gratuito do Altium Designer + Altium 365 hoje.

Sobre o autor

Sobre o autor

Zachariah Peterson tem vasta experiência técnica na área acadêmica e na indústria. Atualmente, presta serviços de pesquisa, projeto e marketing para empresas do setor eletrônico. Antes de trabalhar na indústria de PCB, lecionou na Portland State University e conduziu pesquisas sobre teoria, materiais e estabilidade de laser aleatório. A experiência de Peterson em pesquisa científica abrange assuntos relacionados aos lasers de nanopartículas, dispositivos semicondutores eletrônicos e optoeletrônicos, sensores ambientais e padrões estocásticos. Seu trabalho foi publicado em mais de uma dezena de jornais avaliados por colegas e atas de conferência, além disso, escreveu mais de dois mil artigos técnicos sobre projeto de PCB para diversas empresas. É membro da IEEE Photonics Society, da IEEE Electronics Packaging Society, da American Physical Society e da Printed Circuit Engineering Association (PCEA). Anteriormente, atuou como membro com direito a voto no Comitê Consultivo Técnico de Computação Quântica do INCITS, onde trabalhou em padrões técnicos para eletrônica quântica e, no momento, atua no grupo de trabalho P3186 do IEEE, que tem como foco a interface de portas que representam sinais fotônicos com simuladores de circuitos da classe SPICE.

Recursos relacionados

Documentação técnica relacionada

Retornar a página inicial
Thank you, you are now subscribed to updates.