Projet de conception de PCB pour module CP2102 USB vers UART

Zachariah Peterson
|  Créé: Février 16, 2023  |  Mise à jour: Août 26, 2024
Module CP2102 USB vers UART

Cliquez ici pour accéder à l'intégration du visualiseur et parcourir ce projet

Il y a un groupe de produits sur lesquels je travaille qui nécessitent un démarrage et une configuration via RS-232 ou UART, et j'aime démarrer les prototypes en les connectant à mon ordinateur portable. Cependant, pour accéder à cette interface, je dois envoyer et recevoir des données via un port COM. Malheureusement, mon ordinateur portable n'a que des ports USB, donc j'ai besoin de convertir entre le port USB et l'interface UART. Normalement, j'utilise un petit module convertisseur d'interface qui peut être acheté en ligne.

Les convertisseurs que j'ai trouvés en ligne sont de assez mauvaise qualité et ils ont tendance à mourir facilement à cause de chocs ou de surtensions. Pour fournir une certaine protection contre les surtensions, je vais montrer comment concevoir un pont USB vers UART en utilisant le CP2102, un composant convertisseur d'interface populaire pour les lignes USB 2.0. Vous pouvez regarder le tutoriel complet pour ce projet dans la vidéo suivante.

 

Vous vous demandez peut-être, pourquoi ne pas simplement placer un de ces circuits directement sur les prototypes, et ensuite accéder à l'interface UART de vos prototypes avec un câble USB ? C'est une question légitime. Il y a deux raisons à cela :

  1. Tous les produits embarqués ne prendront pas en charge l'USB, mais j'ai du mal à me rappeler un produit embarqué que j'ai construit qui n'avait pas d'interface UART.
  2. Placer un port USB supplémentaire avec une puce de conversion de données sur chaque prototype ajoute du travail supplémentaire et prend de l'espace. Il est plus simple de juste placer un connecteur à 2 broches pour les lignes UART.

Donc, avec cela à l'esprit, mettons-nous au travail sur un petit module pour un convertisseur USB vers UART CP2102.

Commencer avec le CP2102

Le CP2102 de Silicon Labs est un module convertisseur d'interface compact qui fait le pont entre les interfaces USB et UART. J'aime ce composant pour les systèmes qui ont besoin de se connecter à l'USB parce qu'il existe des pilotes prêts à l'emploi pour la puce qui permettent de l'accéder via un port COM à travers une application terminale (j'utilise TeraTerm). Cette puce est l'une des nombreuses utilisées dans les convertisseurs USB-vers-série que vous trouverez sur Amazon ou Alibaba.

Le CP2102 est disponible dans un boîtier QFN-28 et inclut quelques fonctionnalités utiles :

  • Régulateur intégré de +5V à +3V3 pour alimenter les dispositifs à basse tension
  • ROM programmable pour l'implémentation des données produit
  • Broche de réinitialisation optionnelle simple et circuit
  • Horloge intégrée, éliminant le besoin d'un cristalexterne
  • Option d'alimentation avec une entrée +3V3
  • Transfert de données via USB 2.0

Il existe également un bloc optionnel de broches qui agissent comme des indicateurs ou des broches de contrôle lorsqu'elles sont utilisées sur la même carte qu'un processeur, tel qu'un microcontrôleur. Ces broches peuvent être contrôlées par des GPIOs. Nous n'avons pas besoin de ces dernières pour ce module car le module fonctionnera indépendamment de tout microcontrôleur.

Schémas

Les objectifs de conception pour ce projet sont simples : la conception émettra ses données UART, l'alimentation et la masse vers un connecteur à broches. La conception devra s'intégrer dans un bloc standard de ports USB. Enfin, je vais ajouter une protection supplémentaire contre les surtensions sur toutes les lignes de données et la ligne de bus +5 V pour fournir une protection maximale contre les surtensions au CP2102 et à l'appareil hôte.

Premièrement, examinons brièvement le circuit d'application pour le CP2102 (page 15 de la fiche technique).

CP2102 application circuit

Les schémas suivront généralement ce circuit d'application avec quelques ajouts à discuter ci-dessous. Étant donné que nous utilisons uniquement ce module sur la carte sans aucun autre composant numérique, nous n'avons pas à nous soucier de la capacité supplémentaire du bus d'alimentation autre que les condensateurs discrets spécifiés dans le schéma d'application. Après avoir examiné d'autres modules qui utilisent ce composant et des composants similaires, vous verrez le même type et le même nombre de condensateurs.

Diodes TVS

Dans ce schéma d'application, nous voyons la recommandation typique pour le placement des diodes TVS sur les lignes USB. La pièce qu'ils recommandent est Littlefuse SP0503BAHT ou équivalent. Initialement, j'ai placé une diode TVS unidirectionnelle 0402 pour ce composant. Comme je le discute ci-dessous, cela sera juste un emplacement provisoire pour le moment et cela sera remplacé dans l'assemblage final.

Nous n'utiliserons pas de circuit de transceiver externe ni la broche de réinitialisation dans cette itération. Au lieu de cela, nous utiliserons simplement les circuits situés sur le côté gauche de l'écran. Je vais également ajouter des diodes TVS aux lignes Rx et Tx de l'UART. La tension maximale attendue pour cette ligne est VDD - 0,8 V. avec un VDD maximum de 3,6 V, la tension maximale de la ligne UART sera de 2,4 V.

CP2102 UART I/O voltages

Pour offrir une protection maximale possible sur les lignes UART, nous pourrions placer une diode TVS avec un seuil de déclenchement plus bas. La diode TVS recommandée protège seulement jusqu'à 5,5 V, ce qui est juste en dessous de la note de surtension pour les I/Os sur le CP2102. Le risque d'utiliser une diode TVS plus petite est qu'elle aura une tension de serrage plus basse et ne pourra pas résister à des impulsions ESD de tension plus élevée.

Les schémas finalisés sont présentés ci-dessous. Le dispositif est simple et suit essentiellement le circuit d'application. J'ai choisi d'utiliser l'alimentation +5V entrant dans le module depuis le connecteur USB (réseau VBUS) et je l'ai passée à l'entrée du régulateur sur le CP2102. L'alimentation +5V et l'alimentation de sortie +3V3 sont toutes deux accessibles sur le connecteur à broches et peuvent être utilisées pour alimenter un dispositif externe jusqu'aux limites de puissance de la norme USB 2.0.

CP2102 USB to UART schematics

Disposition du PCB

La disposition du PCB sera réalisée sur deux couches avec tous les composants placés sur la couche supérieure. La disposition du PCB sera suffisamment petite pour que nous n'ayons pas nécessairement besoin de routage à haute vitesse des lignes USB, mais nous l'implémenterons ici comme un exemple simple pour montrer comment cela peut être fait sur ce type de carte. Cette carte est suffisamment simple pour qu'elle n'ait pas besoin d'être placée sur quatre couches et les exigences de routage USB peuvent être satisfaites avec un routage différentiel coplanaire.

Le placement initial est couvert en deux sections ; le connecteur USB et les diodes TVS pour les lignes USB sont placés sur le côté gauche de la carte, et le connecteur à broches avec les diodes D4 et D5 sont placés sur le côté droit de la carte. Le placement sur le côté gauche du schéma de la carte est montré ci-dessous.

CP2102 USB to UART PCB Layout

Le placement initial du côté du connecteur à broches est montré ci-dessous. J'ai utilisé un connecteur à broches à angle droit qui dépasse du bord de la carte afin que le module soit de profil bas. Cela permet également d'utiliser des fils volants standards ou un câble à pas de 100 mil pour se connecter à une autre carte. Initialement, le brochage était défini de sorte que l'alimentation +5 V (réseau VBUS) serait routée dans le connecteur à broches du côté supérieur, mais cela a été plus tard changé pour le côté inférieur afin de simplifier le routage.

CP2102 USB to UART PCB Layout

Le placement est simple des deux côtés de la carte et le point principal ici est de garder les condensateurs (C1-C4) proches de leurs broches d'alimentation respectives. Le placement de D4 et D5 sera entre U1 et P1, mais je localiserai ceux-ci une fois le routage commencé afin de pouvoir m'assurer que le routage à proximité ne sera pas désordonné. Le routage USB peut maintenant aller directement dans le connecteur (J1) avec ce placement. Le point suivant est de calculer la largeur et l'espacement des pistes USB sur cette carte à 2 couches.

En se basant sur la minimisation des coûts, la carte doit être réglée à l'épaisseur standard de 62 mils. Le côté arrière sera un plan de masse, et le côté supérieur utilisera un routage coplanaire pour la paire différentielle. Le reste de L1 aura un plan de cuivre. J'ai utilisé le réglage Dk par défaut de 4.8 dans l'empilement, qui est très proche de la valeur standard de ma maison de fabrication choisie pour les PCBs à 2 couches. Les paramètres d'impédance sont indiqués ci-dessous.

CP2102 USB to UART PCB Layout

Ici, nous profitons de l'espacement entre les paires et de la distance jusqu'au plan de masse en cuivre sur L1 pour définir l'impédance différentielle à la valeur cible. La valeur de largeur a été définie en fonction de la taille des pads sur le CP2102 car je ne veux pas réduire le routage dans l'empreinte pour U1. Avec ces paramètres, nous pouvons router les paires différentielles vers le connecteur et compléter l'agencement.

La disposition finale du PCB est montrée ci-dessous. Il y a ici une longueur supplémentaire qui pourrait être supprimée si nous voulons miniaturiser le module. Juste en utilisant l'outil de mesure (Ctrl + M), j'estimerais que nous pourrions couper environ 400-500 mils de longueur juste en déplaçant les composants dans la moitié droite du circuit imprimé plus près du connecteur USB.

CP2102 USB to UART PCB Layout

Actuellement, la taille de ce module est similaire à d'autres modules que vous pouvez acheter en ligne, donc le point ci-dessus n'est pas critique. Il y a trois autres améliorations qui pourraient être mises en œuvre dans ce projet :

  • Ajoutez de petites LED indicatrices SMD en parallèle avec les lignes UART Rx et Tx afin que nous ayons un indicateur visuel du transfert de données
  • Ajoutez une protection contre la surtension inverse sur la ligne 3V3 ; les mêmes composants utilisés sur la ligne USB pourraient être utilisés ici
  • Ajoutez un circuit de réinitialisation avec un petit interrupteur

Je vais lancer une série de ces produits en production, et nous procéderons à des tests pour vérifier que les cartes fonctionnent correctement. Comme je l'expliquerai dans une autre vidéo et un autre blog, je vais probablement remplacer les diodes par TPD1E10B06DPYR lors de l'assemblage car ces diodes alternatives offrent une protection bidirectionnelle et elles sont plus proches des spécifications SP0503BAHT.

Suivez ce lien pour télécharger une archive ZIP avec les fichiers sources du projet. Vous pouvez également utiliser le lien de téléchargement dans l'encart ci-dessus pour accéder aux fichiers sources.

Lorsque vous avez besoin de créer rapidement de petits modules et de les préparer pour la fabrication, utilisez les outils CAO 2D et 3D dans Altium Designer®. Lorsque vous avez terminé votre conception et que vous souhaitez transmettre les fichiers à votre fabricant, la plateforme Altium 365™ facilite la collaboration et le partage de vos projets.

Nous n'avons fait qu'effleurer la surface de ce qui est possible avec Altium Designer sur Altium 365. Commencez votre essai gratuit d'Altium Designer + Altium 365 dès aujourd'hui.

A propos de l'auteur

A propos de l'auteur

Zachariah Peterson possède une vaste expérience technique dans le milieu universitaire et industriel. Avant de travailler dans l'industrie des PCB, il a enseigné à la Portland State University. Il a dirigé son M.S. recherche sur les capteurs de gaz chimisorptifs et son doctorat en physique appliquée, recherche sur la théorie et la stabilité du laser aléatoire. Son expérience en recherche scientifique couvre des sujets tels que les lasers à nanoparticules, les dispositifs électroniques et optoélectroniques à semi-conducteurs, les systèmes environnementaux et l'analyse financière. Ses travaux ont été publiés dans diverses revues spécialisées et actes de conférences et il a écrit des centaines de blogs techniques sur la conception de PCB pour de nombreuses entreprises. Zachariah travaille avec d'autres sociétés de PCB fournissant des services de conception et de recherche. Il est membre de l'IEEE Photonics Society et de l'American Physical Society

Ressources associées

Documentation technique liée

Retournez à la Page d'Accueil
Thank you, you are now subscribed to updates.