Progetto di progettazione PCB per modulo CP2102 da USB a UART

Zachariah Peterson
|  Creato: febbraio 16, 2023  |  Aggiornato: agosto 26, 2024
Modulo CP2102 da USB a UART

Clicca qui per passare all'incorporamento del visualizzatore e sfogliare questo progetto

C'è un gruppo di prodotti su cui lavoro che richiede l'avvio e la configurazione tramite RS-232 o UART, e mi piace avviare i prototipi collegandoli al mio laptop. Tuttavia, per accedere a quell'interfaccia, devo inviare dati e ricevere tramite una porta COM. Sfortunatamente, il mio laptop ha solo porte USB, quindi ho bisogno di convertire tra la porta USB e l'interfaccia UART. Normalmente uso un piccolo modulo convertitore di interfaccia che può essere acquistato online.

I convertitori che ho trovato online sono di qualità piuttosto bassa e tendono a guastarsi facilmente per shock o sovratensione. Per fornire una certa protezione dalla sovratensione, mostrerò come progettare un ponte da USB a UART utilizzando il CP2102, un popolare componente convertitore di interfaccia per linee USB 2.0. Puoi guardare il tutorial completo per questo progetto nel seguente video.

 

Potresti chiederti, perché non posizionare direttamente uno di questi circuiti sui prototipi, e poi accedere all'interfaccia UART sui tuoi prototipi con un cavo USB? Questa è una domanda lecita. Ci sono due motivi per questo:

  1. Non tutti i prodotti embedded supporteranno l'USB, ma faccio fatica a ricordare un prodotto embedded che ho costruito che non avesse un'interfaccia UART.
  2. Aggiungere una porta USB extra con un chip convertitore di dati su ogni singolo prototipo aggiunge lavoro extra e occupa spazio. È più semplice posizionare solo un'intestazione a 2 pin per le linee UART.

Quindi, con questo in mente, mettiamoci al lavoro su un piccolo modulo per un convertitore da USB a UART CP2102.

Iniziare con il CP2102

Il CP2102 di Silicon Labs è un modulo convertitore di interfaccia compatto che fa da ponte tra le interfacce USB e UART. Mi piace questo componente per i sistemi che devono connettersi all'USB perché ci sono driver pronti per il chip che permettono di accedervi tramite una porta COM attraverso un'applicazione terminale (uso TeraTerm). Questo chip è uno dei tanti che viene utilizzato nei convertitori da USB a seriale che troverai su Amazon o Alibaba.

Il CP2102 è disponibile in un pacchetto QFN-28 e include alcune caratteristiche utili:

  • Regolatore integrato da +5V a +3V3 per alimentare dispositivi a tensione inferiore
  • ROM programmabile per implementare i dati del prodotto
  • Pin di reset opzionale semplice e circuito
  • Orologio integrato, eliminando la necessità di un cristallo esterno
  • Opzione di alimentazione con input +3V3
  • Trasferimento dati tramite USB 2.0

È presente anche un banco opzionale di pin che funge da indicatori o pin di controllo quando utilizzato sulla stessa scheda di un processore, come un microcontrollore. Questi pin possono essere controllati da GPIO. Non abbiamo bisogno di questi per questo modulo poiché il modulo funzionerà indipendentemente da qualsiasi microcontrollore.

Schemi

Gli obiettivi di progettazione per questo progetto sono semplici: il design trasmetterà i suoi dati UART, alimentazione e terra a un'intestazione pin. Il design dovrà adattarsi in un banco standard di porte USB. Infine, aggiungerò una protezione aggiuntiva contro le sovratensioni su qualsiasi linea dati e sulla linea del bus +5 V per fornire la massima protezione contro le sovratensioni al CP2102 e al dispositivo host.

Prima, diamo un'occhiata breve al circuito di applicazione per il CP2102 (pagina 15 del datasheet).

CP2102 application circuit

Gli schemi seguiranno generalmente questo circuito di applicazione con alcune aggiunte che verranno discusse di seguito. Poiché stiamo utilizzando solo questo modulo sulla scheda senza altri componenti digitali, non dobbiamo preoccuparci di ulteriore capacitanza del bus di alimentazione oltre ai condensatori discreti specificati nel diagramma di applicazione. Dopo aver esaminato altri moduli che utilizzano questo e componenti simili, vedrai lo stesso tipo e numero di condensatori.

Diodi TVS

Nel diagramma di applicazione, vediamo la raccomandazione tipica per il posizionamento dei diodi TVS sulle linee USB. La parte che raccomandano è Littlefuse SP0503BAHT o equivalente. Inizialmente, ho posizionato un diodo TVS unidirezionale 0402 per questo componente. Come discuto di seguito, questo sarà solo un segnaposto per ora e verrà sostituito nell'assemblaggio finale.

Non utilizzeremo alcun circuito trasmettitore esterno o il pin di reset in questa iterazione. Invece, useremo solo il circuito sul lato sinistro dello schermo. Aggiungerò anche diodi TVS alle linee Rx e Tx dell'UART. Il livello massimo di tensione che può essere previsto per questa linea è VDD - 0,8 V. con VDD massimo = 3,6 V, la tensione massima della linea UART sarà di 2,4 V.

CP2102 UART I/O voltages

Per fornire la massima protezione possibile sulle linee UART, potremmo posizionare un diodo TVS con una soglia di rottura minore. Il diodo TVS raccomandato protegge solo fino a 5,5 V, che è appena sotto la valutazione di sovratensione per gli I/O sul CP2102. Il rischio di utilizzare un diodo TVS più piccolo è che avrà una tensione di serraggio inferiore e non sarà in grado di sopportare impulsi ESD di tensione più elevata.

Gli schemi finalizzati sono mostrati di seguito. Il dispositivo è semplice e segue essenzialmente il circuito di applicazione. Ho adottato l'approccio di utilizzare l'alimentazione +5V che entra nel modulo dal connettore USB (rete VBUS) e l'ho passata all'ingresso del regolatore sul CP2102. L'alimentazione +5V e l'alimentazione in uscita +3V3 sono entrambe accessibili sull'intestazione a pin e possono essere utilizzate per alimentare un dispositivo esterno fino ai limiti di potenza dello standard USB 2.0.

CP2102 USB to UART schematics

Layout PCB

Il layout del PCB sarà realizzato su due strati con tutti i componenti posizionati sullo strato superiore. Il layout del PCB sarà abbastanza piccolo da non richiedere necessariamente il routing ad alta velocità delle linee USB, ma lo implementeremo qui come un semplice esempio per mostrare come può essere fatto in questo tipo di scheda. Questa scheda è abbastanza semplice da non dover essere posizionata su quattro strati e i requisiti di routing USB possono essere soddisfatti con un routing differenziale coplanare.

La disposizione iniziale è coperta in due sezioni; il connettore USB e i diodi TVS per le linee USB sono posizionati sul lato sinistro della scheda, e il connettore a pin con i diodi D4 e D5 sono posizionati sul lato destro della scheda. La disposizione sul lato sinistro del layout del PCB è mostrata di seguito.

CP2102 USB to UART PCB Layout

La disposizione iniziale sul lato del connettore a pin è mostrata di seguito. Ho utilizzato un connettore a pin ad angolo retto che sporge dal bordo della scheda in modo che il modulo fosse a basso profilo. Questo permette anche di utilizzare cavi volanti standard o un cavo con passo di 100 mil per connettersi a un'altra scheda. Inizialmente, il pinout era impostato in modo che l'alimentazione +5 V (rete VBUS) entrasse nel connettore a pin dal lato superiore, ma questo è stato successivamente cambiato sul lato inferiore per semplificare il routing.

CP2102 USB to UART PCB Layout

Il posizionamento è semplice su entrambi i lati della scheda e il punto principale qui è mantenere i condensatori (C1-C4) vicini ai rispettivi pin di alimentazione. Il posizionamento di D4 e D5 sarà tra U1 e P1, ma li localizzerò una volta iniziato il routing, così da poter assicurare che il routing vicino a loro non diventi disordinato. Con questo posizionamento, il routing USB può ora andare direttamente nel connettore (J1). Il punto successivo è calcolare la larghezza e lo spazio delle tracce USB su questa scheda a 2 strati.

Basandosi sulla minimizzazione dei costi, la scheda dovrebbe essere impostata allo spessore standard di 62 mils. Il lato posteriore sarà un piano di massa, e il lato superiore utilizzerà il routing coplanare per la coppia differenziale. Il resto di L1 avrà riporto di rame. Ho utilizzato l'impostazione Dk predefinita di 4.8 nello stackup, che è molto vicina al valore standard della casa di fabbricazione selezionata per le PCB a 2 strati. Le impostazioni dell'impedenza sono mostrate di seguito.

CP2102 USB to UART PCB Layout

Qui, stiamo sfruttando la distanza tra le coppie e la distanza verso il rame su L1 per impostare l'impedenza differenziale al valore target. Il valore della larghezza è stato impostato in base alla dimensione dei pad sul CP2102 poiché non voglio restringere il routing nell'impronta per U1. Con queste impostazioni, possiamo instradare le coppie differenziali nel connettore e completare il layout.

Il layout del PCB finalizzato è mostrato di seguito. C'è una lunghezza extra qui che potrebbe essere eliminata se vogliamo miniaturizzare il modulo. Utilizzando semplicemente lo strumento di misurazione (Ctrl + M), stimerei che potremmo tagliare circa 400-500 mils di lunghezza semplicemente prendendo i componenti nella metà destra della scheda e spostandoli più vicino al connettore USB.

CP2102 USB to UART PCB Layout

Attualmente, la dimensione di questo modulo è simile ad altri moduli che puoi acquistare online, quindi il punto sopra non è critico. Ci sono tre altri miglioramenti che potrebbero essere implementati in questo progetto:

  • Aggiungi piccoli LED indicatori SMD in parallelo con le linee UART Rx e Tx così da avere un indicatore visivo del trasferimento dati
  • Aggiungi protezione da sovratensione inversa sulla linea 3V3; gli stessi componenti usati sulla linea USB potrebbero essere utilizzati qui
  • Aggiungi un circuito di reset con un piccolo interruttore

Sto per mandare in produzione una serie di questi, e faremo alcuni test per verificare che le schede funzionino correttamente. Come illustrerò in un altro video e blog, è probabile che sostituirò i diodi con TPD1E10B06DPYR nell'assemblaggio poiché questi diodi alternativi forniscono protezione bidirezionale e sono più vicini alle specifiche SP0503BAHT.

Segui questo link per scaricare un archivio ZIP con i file sorgente del progetto. Puoi anche usare il link di download nell'embed sopra per accedere ai file sorgente.

Ogni volta che hai bisogno di creare rapidamente piccoli moduli e prepararli per la produzione, utilizza gli strumenti CAD 2D e 3D in Altium Designer®. Quando hai terminato il tuo progetto e vuoi rilasciare i file al tuo produttore, la piattaforma Altium 365™ rende facile collaborare e condividere i tuoi progetti.

We have only scratched the surface of what’s possible with Altium Designer on Altium 365. Start your free trial of Altium Designer + Altium 365 today.

    Sull'Autore

    Sull'Autore

    Zachariah Peterson ha una vasta esperienza tecnica nel mondo accademico e industriale. Prima di lavorare nel settore dei PCB, ha insegnato alla Portland State University. Ha condotto la sua Fisica M.S. ricerche sui sensori di gas chemisorptivi e il suo dottorato di ricerca in fisica applicata, ricerca sulla teoria e stabilità del laser casuale. Il suo background nella ricerca scientifica abbraccia temi quali laser a nanoparticelle, dispositivi semiconduttori elettronici e optoelettronici, sistemi ambientali e analisi finanziaria. Il suo lavoro è stato pubblicato in diverse riviste specializzate e atti di conferenze e ha scritto centinaia di blog tecnici sulla progettazione di PCB per numerose aziende. Zachariah lavora con altre società del settore PCB fornendo servizi di progettazione e ricerca. È membro della IEEE Photonics Society e dell'American Physical Society.

    Risorse correlate

    Documentazione Tecnica Correlata

    Tornare alla Pagina Iniziale
    Thank you, you are now subscribed to updates.