Spécifications électriques et de signal des broches SWD

Les ingénieurs travaillant avec des cibles basées sur ARM Cortex connaissent déjà le SWD comme un transport de débogage à deux fils. Ce qui perturbe la mise en service du PCB, ce n'est pas le protocole, ce sont les détails au niveau des broches. Des valeurs de pull-up incorrectes, des connexions VTREF manquantes et le routage des traces à proximité de nœuds de commutation causent tous des échecs de débogage intermittents difficiles à retracer à leur source. Cette page couvre les spécifications électriques, de temporisation et mécaniques dont vous avez besoin lors de la conception, de la sélection des connecteurs et du débogage de la première carte. Pour un contexte complet du protocole et de l'architecture, consultez le fonctionnement de la couche protocole SWD.

La portée ici est strictement au niveau des broches : seuils de tension, exigences de pilotage, contraintes de pull-up, brochages des connecteurs et règles de routage. Ce sont les spécifications qui déterminent si votre connexion de débogage est fiable à haute vitesse, pas seulement fonctionnelle à de faibles fréquences d'horloge sur un banc de test.

Spécifications électriques, de signal et mécaniques des broches SWD

Définitions des signaux SWDIO et SWDCLK et paramètres électriques

SWDIO transporte toutes les données dans les deux sens lors d'une transaction semi-duplex. SWDCLK est piloté exclusivement par la sonde hôte. La cible ne pilote jamais SWDCLK. Cette asymétrie est importante lors de la planification de la force de pilotage : la sonde doit respecter les seuils d'entrée de la cible sur l'ensemble du chemin de câble et de trace.

Les seuils de tension suivent les règles standard d'E/S CMOS, mis à l'échelle de l'alimentation de la cible. Les valeurs typiques pour les tensions de banque d'E/S courantes sont présentées ci-dessous.

Paramètre E/S 1,8 V (typique) E/S 3,3 V (typique) E/S tolérantes 5 V (typique)
VIH (min) 0,65 × VDDIO 0,65 × VDDIO 0,65 × VDDIO
VIL (max) 0,35 × VDDIO 0,35 × VDDIO 0,35 × VDDIO
VOH (min) 0,8 × VDDIO 0,8 × VDDIO 0,8 × VDDIO
VOL (max) 0,2 × VDDIO 0,2 × VDDIO 0,2 × VDDIO
SWDCLK max (pratique) 4–8 MHz 8–10 MHz 8–10 MHz

ARM ADIv5.2 définit une limite théorique de 50 MHz pour SWDCLK. En pratique, les capacités parasites du PCB et les réglages de la force de pilotage des E/S poussent la limite fiable à 10 MHz ou moins pour la plupart des conceptions de production. Fonctionner à 1–4 MHz lors de la mise en service initiale est une pratique courante, la vitesse n'étant augmentée qu'après confirmation de l'intégrité du signal.

SWDIO nécessite une résistance de rappel vers VDDIO. Une résistance de 10 kΩ est la valeur la plus courante. Pendant la phase de transfert de ligne — lorsque le bus passe de piloté par la sonde à piloté par la cible — la ligne flotte brièvement. Sans la résistance de rappel, cette fluctuation peut être interprétée comme un niveau bas erroné, corrompant la réponse ACK. Des valeurs de résistance de rappel inférieures à 1 kΩ augmentent le tirage de courant et peuvent solliciter l'étage de pilotage ; des valeurs supérieures à 100 kΩ ralentissent suffisamment le front montant pour causer des violations de temps d'établissement à des fréquences d'horloge plus élevées.

La résistance de rappel sur SWDIO n'est pas facultative — son absence provoque des échecs intermittents de l'ACK qui ressemblent à des erreurs de protocole, et non à des défauts matériels.

La capacité d'entrée s'accumule à partir du pad du microcontrôleur, de la trace du PCB, du connecteur et du câble. Chaque élément ajoute de la capacité. Une trace de plus de 50 mm associée à un connecteur et un câble de 150 pF peut limiter le temps de montée au point d'empêcher un fonctionnement fiable au-delà de 2–4 MHz. Maintenez la charge capacitive totale en dessous de 50–100 pF lorsque vous visez un fonctionnement à 10 MHz.

Broches SWD optionnelles et auxiliaires — SWDnRST, SWO et VTREF

Outre SWDIO et SWDCLK, quatre signaux supplémentaires apparaissent sur les connecteurs de débogage complets. Chacun a des exigences électriques spécifiques qu'il est facile d'oublier lors de la sélection du connecteur.

nRESET (SWDnRST) est à drain ouvert, actif à l'état bas. La sonde le pilote à l'état bas pour forcer une réinitialisation matérielle ; la ligne est au repos à l'état haut via une résistance de rappel externe. Une résistance de rappel de 10 kΩ vers VDDIO est typique. Certaines familles de microcontrôleurs nécessitent une largeur d'impulsion de réinitialisation minimale de 100 µs ou plus — vérifiez la fiche technique de la cible. Omettre nRESET du connecteur de débogage crée un risque réel sur les cibles verrouillées ou mal configurées : sans capacité de réinitialisation matérielle, la sonde ne peut pas récupérer le périphérique.

SWO (Serial Wire Output) est une sortie de traçage à fil unique. Il prend en charge deux modes d'encodage : UART/NRZ et Manchester. NRZ est plus courant car la plupart des sondes le prennent en charge et il est plus simple à décoder. Le débit en bauds dépend du diviseur d'horloge SWO de la cible et de l'entrée UART de la sonde. Les débits typiques vont de 115 200 bps à plusieurs Mbps. Un connecteur qui expose SWO transforme un connecteur minimal à 2 broches en un connecteur de débogage complet avec capacité de traçage en temps réel.

VTREF est l'entrée de tension de référence de la sonde. La sonde l'utilise pour ajuster les seuils de son décalage de niveau afin de correspondre à la tension d'E/S de la cible. Laissez-la déconnectée et la sonde utilise une tension par défaut — généralement 3,3 V — ce qui provoque des erreurs de décalage de niveau sur les cibles de 1,8 V. Connectez VTREF directement au rail VDDIO de la cible, à proximité du connecteur. Le courant consommé par cette broche est faible (typiquement inférieur à 1 mA), donc aucun tampon n'est nécessaire.

GND le placement est souvent sous-spécifié. Au moins une broche GND doit être adjacente aux broches de signal. Le rebond de masse et l'inductance du chemin de retour augmentent avec la distance entre les conducteurs de signal et de retour. Sur les connecteurs à 10 broches, le motif alterné signal/GND existe précisément pour minimiser cela.

Nombre de broches sur les variantes courantes de connecteurs de débogage ARM Cortex :

Variante du connecteur Broches Signaux inclus
Minimal 2 broches 2 SWDIO, SWDCLK
Compact 4 broches 4 SWDIO, SWDCLK, GND, VTREF
5 broches (Tag-Connect TC2030) 5 SWDIO, SWDCLK, GND, VTREF, nRESET
ARM Cortex 10 broches (1,27 mm) 10 SWDIO, SWDCLK, SWO, nRESET, VTREF, GND ×4
ARM Cortex 20 broches (2,54 mm) 20 Signaux logiques identiques, GND supplémentaire, broche de clé

Pour matériel de sonde de débogage et configuration de connexion SWD, le nombre de broches du connecteur affecte directement les signaux optionnels que la sonde peut utiliser — confirmez la compatibilité avant de finaliser votre choix d'en-tête.

Empreinte de PCB, normes de brochage des connecteurs et règles de disposition

10-pin 1.27mm debug header and Tag-Connect land pattern on PCB with decoupling capacitor

Le connecteur ARM Cortex 10 broches à pas de 1,27 mm est la norme actuelle pour les conceptions compactes. Son affectation de broches est fixe :

Broche Signal Direction
1 VTREF Cible → Sonde
2 SWDIO Bidirectionnel
3 GND —
4 SWDCLK Sonde → Cible
5 GND —
6 NC / KEY —
7 SWO Cible → Sonde
8 NC —
9 GND —
10 nRESET Sonde → Cible

Le connecteur 20 broches, avec un pas de 2,54 mm, mappe les mêmes signaux logiques avec des broches GND supplémentaires et une clé mécanique. Il est encore courant sur les grandes cartes industrielles où le pas de 1,27 mm est peu pratique pour le soudage manuel ou l'inspection visuelle.

Les empreintes Tag-Connect utilisent des broches à ressort contre un plan de contact — aucun corps de connecteur n'est soudé. La variante TC2030 transporte SWDIO, SWDCLK, VTREF, GND et nRESET dans un ordre de signaux compatible. Les cartes de production utilisent souvent des pastilles Tag-Connect plutôt qu'un connecteur peuplé pour réduire les coûts et l'espace sur la carte. Le compromis est que l'empreinte nécessite une surface plane et accessible et le clip de rétention correct pour maintenir le contact pendant la programmation.

Après avoir confirmé votre empreinte, l'étape suivante consiste à choisir un programmeur SWD pour votre cible — la plage de tension de la sonde et la compatibilité des broches varient entre les familles de sondes.

Les règles de disposition du circuit imprimé pour les broches SWD découlent des contraintes électriques ci-dessus :

  • Garder les traces SWDCLK et SWDIO courtes – moins de 50 mm du pad du MCU au connecteur est une cible raisonnable.
  • Égaliser les longueurs de trace entre les deux signaux pour éviter le désalignement à des fréquences d'horloge plus élevées.
  • Router à l'écart des alimentations à découpage, des drivers de moteurs et des traces d'oscillateurs à haute fréquence.
  • Placer un condensateur de découplage de 100 nF sur VTREF à proximité de la broche du connecteur.
  • Éviter les vias dans le stub entre le port de débogage du MCU et le connecteur – chaque via ajoute de l'inductance et une discontinuité d'impédance potentielle.

La protection ESD sur SWDIO et SWDCLK mérite d'être ajoutée sur les cartes qui se connectent à des en-têtes de débogage externes dans des environnements de terrain. Une résistance série de 22–33 Ω sur chaque ligne amortit les réflexions et limite le courant de crête lors des événements ESD. Des valeurs supérieures à 47 Ω commencent à dégrader le temps de montée à 10 MHz ; restez dans la plage de 22–33 Ω pour équilibrer la protection et l'intégrité du signal.

Après le verrouillage de production, les broches SWD peuvent être récupérées en tant que GPIO sur la plupart des familles Cortex-M. Le mécanisme exact varie : certains MCU permettent un remappage partiel où SWDCLK et SWDIO deviennent des GPIO standards après une séquence de désactivation du débogage, tandis que d'autres nécessitent un niveau de protection en lecture complet qui désactive définitivement le port. Consultez la documentation des octets d'option ou du registre de protection flash de votre famille de MCU avant de supposer que les broches sont librement disponibles après la production.

Obtenir ces détails au niveau des broches correctement dès le début évite une catégorie d'échecs de mise en service qui sont difficiles à diagnostiquer une fois qu'une carte est assemblée. Les pull-ups manquants, les mauvaises connexions VTREF et un routage de trace médiocre se présentent comme des connectivités de débogage intermittentes – des symptômes qui ressemblent à des problèmes de firmware ou de sonde jusqu'à ce que le matériel soit examiné attentivement. Les ingénieurs qui examinent les spécifications des broches SWD avant la validation du layout passent constamment moins de temps sur le débogage du premier article. STONE HMI applique des processus de développement de firmware structurés sur les projets d'automatisation. Ce type de discipline de processus – identifier les lacunes de spécification au niveau des broches avant la fabrication plutôt que pendant la mise en service – réduit directement le risque de retards de calendrier sur les délais de production.