\/p>
Quindi, quale connettore scegliere per un nuovo design?<\/p>
Questo articolo si concentra principalmente sui dispositivi ARM che hanno l'interfaccia SWD (Single-Wire Debug), ma \u00e8 anche applicabile ad altri componenti, come il Texas Instruments MSP430 che utilizza il protocollo Spy Bi-Wire (2-wire JTAG), Microchip ICD, o anche componenti che necessitano di un set pi\u00f9 completo di pin JTAG.<\/p>
Alcune delle scelte comuni che vengono spesso considerate:<\/p>
Una osservazione immediata \u00e8 che la maggior parte di questi connettori richiede, beh, connettori. Questo \u00e8 un componente aggiuntivo che devi posizionare sulla scheda, che costa denaro. Per le unit\u00e0 di produzione o le serie di prototipi pi\u00f9 grandi, quel connettore verr\u00e0 utilizzato solo una volta nell'intera vita del prodotto, il che \u00e8 uno spreco.<\/p>
Le soluzioni Tag-Connect o i footprint personalizzati con connettori basati su pogo-pin hanno un vantaggio evidente in quanto non richiedono che vengano posizionati componenti sulla PCB, quindi il costo del connettore di debug per scheda scende a 0, il che \u00e8 fantastico!<\/p>
Ecco come appare un footprint Tag-Connect su una vera scheda: <\/p>
E questo \u00e8 come appare il cavo con i pogo-pin: La seconda considerazione principale \u00e8 la dimensione, e i requisiti di spazio sulla scheda risultanti. Gli unici contendenti sono il micro-header a 10 pin da 0,05\" e un footprint Tag-Connect a 6 pin. Il micro-header a 10 pin \u00e8 effettivamente un po' pi\u00f9 piccolo in una direzione, ma la differenza non \u00e8 significativa. Ecco come appare un micro-header a 10 pin da 0,05\" (questo \u00e8 da una scheda di sviluppo Nordic Semiconductor nRF52832, la PCA10040):
<\/p>
Ci sono due varianti di un cavo connettore Tag-Connect: uno con \"gambe\" e uno senza \"gambe\". Qual \u00e8 la differenza?<\/p>
Tag-Connect utilizza pin a molla, che hanno molle all'interno e spingono contro il PCB. Se vuoi che il connettore rimanga in posizione, devi applicare continuamente forza su di esso. Questo va bene per la programmazione veloce, dove puoi usare una mano per tenere il connettore in posizione e un'altra per lanciare quel lavoro di programmazione, ma non funziona cos\u00ec bene per le sessioni di debug prolungate. Per questo, l'impronta \"gambe\" (e connettore) funziona molto meglio. Le gambe agiscono come piccole clip, quindi una volta inserito il connettore, si incastrano in posizione e tengono i pin a molla stretti contro la scheda, per un tempo indefinito.<\/p>
Il problema con l'impronta \"gambe\" \u00e8 la sua dimensione: \u00e8 significativamente pi\u00f9 grande della variante \"senza gambe\". Peggio ancora, ha bisogno di quattro grandi fori nella scheda. I grandi fori sono sempre un problema: devono (ovviamente) passare attraverso tutti gli strati, e hai bisogno di un'area di esclusione attorno a loro. Questo significa che l'impatto di un'impronta \"gambe\" sul tuo design \u00e8 molto pi\u00f9 grande di quello della variante \"senza gambe\".<\/p>
Per le unit\u00e0 di produzione, dove la connessione sar\u00e0 probabilmente effettuata solo una volta nel corso della vita del prodotto, e pu\u00f2 essere facilmente tenuta in mano tutto il tempo, non c'\u00e8 dubbio: preferisci sicuramente l'impronta \"senza gambe\", che risparmia spazio sulla scheda. Ma cosa fare dei prototipi? Da un lato, puoi permetterti lo spazio sulla scheda, ma dall'altro, non vuoi ridisegnare il PCB solo perch\u00e9 devi rimuovere i fori nella revisione finale.<\/p>
Fortunatamente, c'\u00e8 un'altra soluzione. Tag-Connect vende una piccola clip di ritenzione. \u00c8 un pezzo di PCB con tre prese che si adattano ai pin del cavo Tag-Connect. Non \u00e8 una soluzione meccanicamente perfetta e le clip tendono a consumarsi nel tempo (sono anche incredibilmente facili da perdere!), ma in pratica funziona abbastanza bene.<\/p>
La mia raccomandazione \u00e8 di andare sempre con l'impronta e i cavi \"senza gambe\", comprare un mucchio di clip di ritenzione, e risparmiare su spazio sulla scheda e ridisegnare le schede.<\/p>
Ho visto hardware in natura, dove i progettisti hanno utilizzato un footprint Tag-Connect per ARM SWD (su un Cortex-M0), ma hanno assegnato segnali in modo diverso. Probabilmente la motivazione era di offuscare l'interfaccia.<\/p>
Questo non \u00e8 qualcosa che consiglierei: l'offuscamento \u00e8 facilmente scoperto, e si finisce con un'orma incompatibile, che causer\u00e0 inevitabilmente problemi in futuro.<\/p>
Tag-Connect raccomanda che nessun componente sia posizionato (o tracce instradate) sull'altro lato del footprint. Anche se questa \u00e8 una buona raccomandazione, non si ha sempre quel lusso, specialmente su piccole schede con vincoli di layout stretti.<\/p>
Come ho scoperto, puoi cavartela mettendo i componenti dall'altra parte, anche quando usi la clip di ritenzione per tenere il cavo in posizione. Suggerirei di usare un pezzo di isolante tra i componenti e la clip di ritenzione, per prevenire possibili cortocircuiti (la carta funziona bene). Sebbene non sia la pratica consigliata, questo funziona, anche se fissare il connettore di debug in posizione diventa un po' pi\u00f9 complicato.<\/p>
Ecco un esempio di una scheda prototipo (scusa la qualit\u00e0 della saldatura del prototipo) dove i componenti sono posizionati all'interno dell'area del footprint di debug: <\/p>
Non \u00e8 tutto rose e fiori con Tag-Connect. Il sito web non \u00e8 ben organizzato, quindi \u00e8 difficile trovare le informazioni che stai cercando. C'\u00e8 una moltitudine di varianti offerte, e anche se la maggior parte delle persone avr\u00e0 bisogno di un solo tipo di cavo, non \u00e8 messo in evidenza. Purtroppo, questa sembra essere una tradizione con le aziende che producono attrezzature di debug e programmazione nel mondo embedded.<\/p>
La seconda lamentela che ho \u00e8 che l'azienda offre librerie CAD scaricabili con impronte Tag-Connect, ma afferma che:<\/p>
Questi file sono forniti 'COS\u00cc COM'\u00c8' e senza alcuna garanzia che siano completi, privi di errori o adatti all'uso. Controlla attentamente i decalcomanie importati rispetto all'ultimo datasheet fornito sul sito web di Tag-Connect (vedi sotto). In particolare, controlla le dimensioni dei fori, la numerazione dei pin e presta particolare attenzione allo strato della maschera di pasta saldante per assicurarti che non venga depositata pasta saldante sui pad del footprint. <\/p><\/blockquote>
Se guardi nei file ZIP forniti, ci saranno di solito diverse varianti di impronta per un dato CAD. Quale dovrei usare? E perch\u00e9 \u00e8 mia responsabilit\u00e0 verificarlo?<\/p>
Penso che Tag-Connect dovrebbe pulire questa libreria e fornire un set di impronte supportate, almeno per i pacchetti CAD pi\u00f9 popolari, senza una rinuncia. Dovrebbe far parte del valore di questa soluzione.<\/p>
Conclusione<\/h2>
Tutto considerato, Tag-Connect \u00e8 ancora la migliore soluzione di debug e programmazione disponibile sul mercato. Raccomanderei di standardizzarla e usarla in tutti i tuoi progetti.<\/p>","title":"Scegliere un connettore di debug\/programmazione per un microcontrollore","toc":"
- Connettori di debug popolari<\/a><\/li>
- Gambe o Senza Gambe?<\/a><\/li>
- Utilizza un'assegnazione di segnale standard<\/a><\/li>
- Praticit\u00e0<\/a><\/li>
- Critiche<\/a><\/li>
- Conclusione<\/a><\/li><\/ul>","blog-post-index":[[1740807473530,"\/blog\/improved-bom-management-02-2025.html","Gestione migliorata delle distinte base"],[1710253094822,"\/blog\/top-10-hobby-electronic-components-2024.html","I 10 componenti elettronici per hobbisti pi\u00f9 popolari (2024)"],[1707834397194,"\/blog\/building-rockets-aerospace-team-graz-02-2024.html","Costruire razzi: Aerospace Team Graz"],[1704196772365,"\/blog\/illini-solar-car-01-2024.html","Come Illini Solar Car usa PartsBox nella progettazione del loro nuovo veicolo, Calypso"],[1702988133547,"\/blog\/building-electric-race-cars-schanzer-12-2023.html","Costruire Auto da Corsa Elettriche: Schanzer Racing Electric e PartsBox"],[1701437972330,"\/blog\/building-satellites-orbit-ntnu-11-2023.html","Costruire Satelliti con PartsBox: Un Caso di Studio"],[1695802605055,"\/blog\/gtsr-efficient-inventory-management-09-2023.html","Georgia Tech Solar Racing: Gestione efficiente dell'inventario con PartsBox"],[1645704238033,"\/blog\/suspension-of-service-for-customers-in-russia-02-2022.html","Sospensione immediata del servizio ai clienti in Russia"],[1620631705766,"\/blog\/wireless-charging-for-a-hp-25-calculator-05-2021.html","Hacking del fine settimana: ricarica wireless per una calcolatrice HP-25"],[1611747459304,"\/blog\/images-for-parts-locations-and-projects-01-2021.html","Immagini per componenti, posizioni e progetti"],[1610461221856,"\/blog\/heads-up-changes-in-builds-01-2021.html","Attenzione: cambiamenti nelle costruzioni \u26a1\ufe0f"],[1602511721000,"\/blog\/october-2020-update.html","Aggiornamento di ottobre 2020"],[1589641011804,"\/blog\/whats-new-may-2020.html","Novit\u00e0: Maggio 2020"],[1553804550247,"\/blog\/choosing-a-debug-programming-connector-2019.html","Scegliere un connettore di debug\/programmazione per un microcontrollore"],[1553705482782,"\/blog\/kicad-kicon-2019.html","KiCon 2019"],[1553280475607,"\/blog\/2018-a-year-in-retrospect.html","2018: Un anno in retrospettiva"],[1524129725336,"\/blog\/partsbox-acquires-ecdb.html","PartsBox acquisisce ecDB.net (DataBase dei componenti elettronici)"],[1515524807850,"\/blog\/2017-a-year-in-retrospect.html","2017: Un anno in retrospettiva"],[1497784974058,"\/blog\/barcode-scanner-support-06-2017.html","Supporto scanner di codici a barre"],[1495186661933,"\/blog\/resources-for-hardware-startups-05-2017.html","Risorse per le startup hardware"],[1494143115052,"\/blog\/how-to-organize-electronic-parts-04-2017.html","Come organizzare i componenti elettronici"],[1493942400000,"\/blog\/bom-pricing-available-04-2017.html","Il prezzo del BOM per i progetti \u00e8 ora disponibile"],[1461628800000,"\/blog\/organizing-parts-tagging-04-2016.html","Tag"],[1461110400000,"\/blog\/bom-management-tool-04-2016.html","Progetti (gestione BOM)"],[1456531200000,"\/blog\/electronic-parts-search-engine-02-2016.html","Un motore di ricerca migliorato"]]}};
Scegliere un connettore di debug/programmazione per un microcontrollore
Riassunto TL;DR: per ARM SWD, TI Spy-Bi-Wire, o Microchip ICD, usa l'impronta Tag-Connect No-Legs con assegnazioni standard di pin/pad, e ottieni i cavi Tag-Connect.
Quando si progettano dispositivi che utilizzano microcontrollori, è necessario fornire un connettore di debug e programmazione. Questo potrebbe essere utilizzato solo per lo sviluppo, quando si scrive e si debugga il software, o potrebbe anche essere lasciato nelle unità di produzione, per la programmazione in fabbrica.
I produttori e i costruttori di strumenti hanno fatto in modo che viviamo in un mondo dove esiste una moltitudine di connettori di debug con molta confusione intorno a loro. Ecco perché finiamo con questo:
Quindi, quale connettore scegliere per un nuovo design?
Questo articolo si concentra principalmente sui dispositivi ARM che hanno l'interfaccia SWD (Single-Wire Debug), ma è anche applicabile ad altri componenti, come il Texas Instruments MSP430 che utilizza il protocollo Spy Bi-Wire (2-wire JTAG), Microchip ICD, o anche componenti che necessitano di un set più completo di pin JTAG.
Connettori di debug popolari
Alcune delle scelte comuni che vengono spesso considerate:
- JTAG a 10 pin su un connettore IDC da 0,1". Di solito si usa un connettore maschio. Svantaggio: è enorme, e il connettore costa soldi.
- Connettore di debug Cortex utilizzando un micro connettore da 0,05" (10 pin o 20 pin, Samtec FTSH-110 e FTSH-105). Il connettore a 10 pin è ragionevolmente piccolo e disponibile come componente SMD, ma più costoso dei connettori IDC.
- Connettore IDC da 0,1" a 20 pin. Non stai seriamente considerando quel dinosauro, vero? È più grande di alcune delle schede che ho progettato.
- Set personalizzato di 4 o 6 pin (o vias, o pad di rame). Il problema qui è la parte "personalizzata". Inevitabilmente tornerà a morderti in futuro, il giorno in cui il tuo connettore personalizzato si rompe sul pavimento della fabbrica e devi spedirne uno nuovo dall'estero, mentre la produzione è fermata.
- Impronta Tag-Connect a 6 pin in una delle varianti (con gambe o senza gambe). Nota che qui non c'è un connettore: solo un' impronta standardizzata sulla PCB.
- Tag-Connect a 6 pin + Tag-Connect a 10 pin (per i segnali ETM): per questa combinazione, c'è anche un cavo pre-costruito disponibile, con un connettore IDC a 20 pin e assegnazioni di pin standard ARM Cortex a 20 pin.
Una osservazione immediata è che la maggior parte di questi connettori richiede, beh, connettori. Questo è un componente aggiuntivo che devi posizionare sulla scheda, che costa denaro. Per le unità di produzione o le serie di prototipi più grandi, quel connettore verrà utilizzato solo una volta nell'intera vita del prodotto, il che è uno spreco.
Le soluzioni Tag-Connect o i footprint personalizzati con connettori basati su pogo-pin hanno un vantaggio evidente in quanto non richiedono che vengano posizionati componenti sulla PCB, quindi il costo del connettore di debug per scheda scende a 0, il che è fantastico!
Ecco come appare un footprint Tag-Connect su una vera scheda:
E questo è come appare il cavo con i pogo-pin:
La seconda considerazione principale è la dimensione, e i requisiti di spazio sulla scheda risultanti. Gli unici contendenti sono il micro-header a 10 pin da 0,05" e un footprint Tag-Connect a 6 pin. Il micro-header a 10 pin è effettivamente un po' più piccolo in una direzione, ma la differenza non è significativa. Ecco come appare un micro-header a 10 pin da 0,05" (questo è da una scheda di sviluppo Nordic Semiconductor nRF52832, la PCA10040):
Gambe o Senza Gambe?
Ci sono due varianti di un cavo connettore Tag-Connect: uno con "gambe" e uno senza "gambe". Qual è la differenza?
Tag-Connect utilizza pin a molla, che hanno molle all'interno e spingono contro il PCB. Se vuoi che il connettore rimanga in posizione, devi applicare continuamente forza su di esso. Questo va bene per la programmazione veloce, dove puoi usare una mano per tenere il connettore in posizione e un'altra per lanciare quel lavoro di programmazione, ma non funziona così bene per le sessioni di debug prolungate. Per questo, l'impronta "gambe" (e connettore) funziona molto meglio. Le gambe agiscono come piccole clip, quindi una volta inserito il connettore, si incastrano in posizione e tengono i pin a molla stretti contro la scheda, per un tempo indefinito.
Il problema con l'impronta "gambe" è la sua dimensione: è significativamente più grande della variante "senza gambe". Peggio ancora, ha bisogno di quattro grandi fori nella scheda. I grandi fori sono sempre un problema: devono (ovviamente) passare attraverso tutti gli strati, e hai bisogno di un'area di esclusione attorno a loro. Questo significa che l'impatto di un'impronta "gambe" sul tuo design è molto più grande di quello della variante "senza gambe".
Per le unità di produzione, dove la connessione sarà probabilmente effettuata solo una volta nel corso della vita del prodotto, e può essere facilmente tenuta in mano tutto il tempo, non c'è dubbio: preferisci sicuramente l'impronta "senza gambe", che risparmia spazio sulla scheda. Ma cosa fare dei prototipi? Da un lato, puoi permetterti lo spazio sulla scheda, ma dall'altro, non vuoi ridisegnare il PCB solo perché devi rimuovere i fori nella revisione finale.
Fortunatamente, c'è un'altra soluzione. Tag-Connect vende una piccola clip di ritenzione. È un pezzo di PCB con tre prese che si adattano ai pin del cavo Tag-Connect. Non è una soluzione meccanicamente perfetta e le clip tendono a consumarsi nel tempo (sono anche incredibilmente facili da perdere!), ma in pratica funziona abbastanza bene.
La mia raccomandazione è di andare sempre con l'impronta e i cavi "senza gambe", comprare un mucchio di clip di ritenzione, e risparmiare su spazio sulla scheda e ridisegnare le schede.
Utilizza un'assegnazione di segnale standard
Ho visto hardware in natura, dove i progettisti hanno utilizzato un footprint Tag-Connect per ARM SWD (su un Cortex-M0), ma hanno assegnato segnali in modo diverso. Probabilmente la motivazione era di offuscare l'interfaccia.
Questo non è qualcosa che consiglierei: l'offuscamento è facilmente scoperto, e si finisce con un'orma incompatibile, che causerà inevitabilmente problemi in futuro.
Praticità
Tag-Connect raccomanda che nessun componente sia posizionato (o tracce instradate) sull'altro lato del footprint. Anche se questa è una buona raccomandazione, non si ha sempre quel lusso, specialmente su piccole schede con vincoli di layout stretti.
Come ho scoperto, puoi cavartela mettendo i componenti dall'altra parte, anche quando usi la clip di ritenzione per tenere il cavo in posizione. Suggerirei di usare un pezzo di isolante tra i componenti e la clip di ritenzione, per prevenire possibili cortocircuiti (la carta funziona bene). Sebbene non sia la pratica consigliata, questo funziona, anche se fissare il connettore di debug in posizione diventa un po' più complicato.
Ecco un esempio di una scheda prototipo (scusa la qualità della saldatura del prototipo) dove i componenti sono posizionati all'interno dell'area del footprint di debug:
Critiche
Non è tutto rose e fiori con Tag-Connect. Il sito web non è ben organizzato, quindi è difficile trovare le informazioni che stai cercando. C'è una moltitudine di varianti offerte, e anche se la maggior parte delle persone avrà bisogno di un solo tipo di cavo, non è messo in evidenza. Purtroppo, questa sembra essere una tradizione con le aziende che producono attrezzature di debug e programmazione nel mondo embedded.
La seconda lamentela che ho è che l'azienda offre librerie CAD scaricabili con impronte Tag-Connect, ma afferma che:
Questi file sono forniti 'COSÌ COM'È' e senza alcuna garanzia che siano completi, privi di errori o adatti all'uso. Controlla attentamente i decalcomanie importati rispetto all'ultimo datasheet fornito sul sito web di Tag-Connect (vedi sotto). In particolare, controlla le dimensioni dei fori, la numerazione dei pin e presta particolare attenzione allo strato della maschera di pasta saldante per assicurarti che non venga depositata pasta saldante sui pad del footprint.
Se guardi nei file ZIP forniti, ci saranno di solito diverse varianti di impronta per un dato CAD. Quale dovrei usare? E perché è mia responsabilità verificarlo?
Penso che Tag-Connect dovrebbe pulire questa libreria e fornire un set di impronte supportate, almeno per i pacchetti CAD più popolari, senza una rinuncia. Dovrebbe far parte del valore di questa soluzione.
Conclusione
Tutto considerato, Tag-Connect è ancora la migliore soluzione di debug e programmazione disponibile sul mercato. Raccomanderei di standardizzarla e usarla in tutti i tuoi progetti.
Post più vecchi del blog: KiCon 2019 (2019-03-27)Post del blog successivi: Novità: Maggio 2020 (2020-05-16)PartsBox è un'app online che ti permette di prendere il controllo del tuo inventario di componenti elettronici, della tariffazione BOM e della produzione su piccola scala. Tiene traccia di dove sono conservati i componenti, quali sono i livelli di stock attuali, e quali componenti sono utilizzati in quali progetti/BOM.
Indice del blogGestione migliorata delle distinte base (2025-03-01)Costruire razzi: Aerospace Team Graz (2024-02-13)Costruire Satelliti con PartsBox: Un Caso di Studio (2023-12-01)Immagini per componenti, posizioni e progetti (2021-01-27)Attenzione: cambiamenti nelle costruzioni ⚡️ (2021-01-12)Aggiornamento di ottobre 2020 (2020-10-12)Novità: Maggio 2020 (2020-05-16)KiCon 2019 (2019-03-27)2018: Un anno in retrospettiva (2019-03-22)2017: Un anno in retrospettiva (2018-01-09)Supporto scanner di codici a barre (2017-06-18)Risorse per le startup hardware (2017-05-19)Come organizzare i componenti elettronici (2017-05-07)Il prezzo del BOM per i progetti è ora disponibile (2017-05-05)Tag (2016-04-26)Progetti (gestione BOM) (2016-04-20)Un motore di ricerca migliorato (2016-02-27)