Passer au contenu

Bitcoin accepté au paiement  |  Expédié depuis Montréal, QC, Canada  |  Soutien expert depuis 2016

Diagnostic d’intégrité du signal de la chaîne série d’une hashboard : débogage des chaînes d’horloge et de reset
Guides

Diagnostic d’intégrité du signal de la chaîne série d’une hashboard : débogage des chaînes d’horloge et de reset

· D-Central · ⏱ 15 min de lecture

Sur un hashboard BM13xx, les puces ASIC forment une daisy chain : les signaux de clock, de commande et de reset passent de puce en puce, tandis que les réponses remontent en sens inverse. Une seule puce défectueuse coupe silencieusement tout ce qui est en aval, de sorte que le contrôleur signale « chain X only N chips ». Ce guide montre comment sonder (scope) la chaîne de clock et de reset et bissecter jusqu’à la première puce défaillante.

Si vous avez déjà retiré un hashboard, vu le tableau de bord indiquer « Chain 1: 29 ASIC » au lieu de 108, et supposé avoir 79 puces mortes, ce guide est pour vous. Presque toujours, vous n’avez qu’une mauvaise puce — ou un joint de soudure froid — et 79 puces saines qui restent silencieuses derrière elle. Comprendre la chaîne sérielle transforme un symptôme de détection partielle confus en une seule coordonnée réparable sur la carte.

La signalisation puce à puce décrite ici a été cartographiée au fil des années par la communauté plus large de la réparation minière et par le projet open-source ESP-Miner / Bitaxe, dont les pilotes C lisibles ont transformé le protocole BM-series non documenté de Bitmain en quelque chose que n’importe qui peut étudier. Nous nous tenons sur leurs épaules. Ceci est une référence générique au niveau matériel — pas d’exploits de firmware, seulement la physique de la chaîne.

Pourquoi « chain X shows only N chips » est un problème de chaîne sérielle

Un Antminer complet, c’est une carte de contrôle plus trois hashboards. Chaque hashboard est une longue chaîne d’ASICs identiques — 76 sur un S19 (BM1398), 108 sur un S21 (BM1368), 91 sur un S21 XP (BM1370), 110 sur un S19 XP (BM1366) — câblés en daisy chain. La carte de contrôle n’adresse pas chaque puce individuellement sur un bus en étoile. Elle pousse les signaux dans la puce 1, et la puce 1 les régénère et les transmet à la puce 2, qui les transmet à la puce 3, et ainsi de suite jusqu’à la dernière puce de la carte.

Cette topologie est efficace et peu coûteuse à router, mais elle a une propriété brutale : elle n’est aussi solide que son maillon le plus faible. Si la puce 37 ne peut pas relayer la chaîne, les puces 38 jusqu’à la fin de la chaîne disparaissent de la vue du contrôleur, même si elles sont alimentées et intactes. Le nombre que le firmware rapporte — « 29 ASIC », « ASIC NG: 79 » — n’est pas un décompte de puces mortes. C’est la position de la première rupture. Le nombre rapporté vous indique approximativement où commencer à chercher, pas combien est brisé. C’est la même cause racine derrière le symptôme classique « chain X only » et de nombreux rapports d’erreur « dead ASIC ».

Les cinq signaux qui font tourner la daisy chain

Cinq signaux logiques relient la carte de contrôle à la chaîne d’ASICs. Quatre circulent en avant (de la puce 1 vers la dernière puce) ; un circule en arrière (de la dernière puce vers la puce 1). Intégrez cette carte des directions avant de toucher une sonde, car elle dicte où se cache un défaut.

Signal Nom Direction Rôle
CLK Clock Forward (1 → N) Clock maître 25 MHz ; le battement contre lequel chaque puce se synchronise
CI / CO Command In / Out Forward (1 → N) UART TX — commandes et jobs du contrôleur
RI / RO Response In / Out Reverse (N → 1) UART RX — nonces et données de registres qui reviennent au contrôleur
RST / nRST Reset Forward (1 → N) Maintient ou libère la chaîne ; asserté pendant l’init et la récupération d’erreurs
BI / BO Busy In / Out Forward (1 → N) Handshake de contrôle de travail/flux entre les puces

Chaque puce a une broche d’entrée et une broche de sortie correspondante pour les signaux avant : CLKI/CLKO pour la clock, CI/CO pour les commandes, NRSTI/NRSTO pour le reset, BI/BO pour busy. La sortie de la puce alimente l’entrée de la puce suivante. Le canal inverse est l’image miroir : le RO de chaque puce pilote le RI de la puce précédente, de sorte qu’un nonce trouvé remonte la chaîne jusqu’au contrôleur. Le premier fait dur à intérioriser : les commandes et la clock voyagent dans un sens, les réponses dans l’autre. Une carte peut clocker et accepter les commandes parfaitement et pourtant signaler zéro puce si le chemin de retour (RO/RI) est brisé.

Ce ne sont pas des niveaux CMOS 3.3V

Le piège le plus fréquent pour les débutants est de sonder une puce en s’attendant à un swing logique propre de 3.3V ou 5V. Vous ne le trouverez pas. La carte de contrôle parle en 3.3V, mais des level shifters en bordure (U1/U2 sur les cartes plus anciennes) traduisent cela vers les niveaux natifs à faible amplitude de la chaîne avant qu’il n’atteigne la puce 1. À l’intérieur de la chaîne, les chiffres sont petits et spécifiques au modèle :

Modèle CLK CI / CO RI / RO RST
S9 (BM1387) 0.8–0.9 V 0–0.4 V 0–0.4 V 0–0.4 V
S17e (BM1397) 0.8 ±0.1 V 0–1.55 V 0–1.55 V 0–1.55 V
S19 / S19 Pro (BM1398) 0.7–1.3 V 0–1.8 V 0.3–1.8 V 0–1.8 V
S21 / S21 XP (BM1368/BM1370) 0.58–0.6 V ~1.1 V ~1.1 V ~1.2 V

Sur un S21, la clock que vous cherchez est à peine au-dessus d’un demi-volt. Ajustez vos attentes d’oscilloscope et de multimètre en conséquence, et mesurez toujours d’abord une carte connue bonne du même modèle pour avoir une ligne de base.

Comment la chaîne s’énumère — et pourquoi une rupture est silencieuse

Quand l’alimentation monte, le contrôleur exécute un handshake d’initialisation. Le comprendre vous dit exactement ce qui échoue quand une carte « ne trouve pas toutes les puces ». Simplifié, et cohérent avec les pilotes open-source ESP-Miner et le test PT1 de Bitmain lui-même :

  1. Asserter le reset : forcer RST/nRST à l’état bas et le maintenir environ 100 ms pour que chaque puce arrive dans un état par défaut connu.
  2. Relâcher le reset ; la clock tourne déjà, donc les puces commencent à compter.
  3. Envoyer une commande CHAIN_INACTIVE, puis parcourir une séquence SET_CHIP_ADDR le long de la chaîne. Chaque puce saisit la prochaine adresse séquentielle et relaie la commande plus loin.
  4. Relire le nombre de puces — combien d’adresses ont réellement répondu.
  5. Monter la fréquence PLL, négocier un baud rate plus élevé, régler la tension de core, puis commencer à envoyer des jobs.

L’UART elle-même est simplement 115200 bps, 8 bits de données, sans parité, 1 bit de stop au démarrage (négociable jusqu’à plusieurs Mbps une fois la chaîne vivante). Chaque commande s’ouvre avec un préambule fixe de deux octets, 0x55 0xAA, suivi d’un octet de type, d’une longueur, d’une adresse de puce (0x00 = broadcast), d’un payload et d’un CRC (CRC-5 pour les commandes courtes, CRC-16 pour les jobs). Les réponses reviennent avec les octets inversés — 0xAA 0x55 — ce qui est un moyen pratique de les repérer sur un décodage d’oscilloscope. Un BM1368 sain répond à sa requête chip-ID avec AA 55 13 68 … ; un BM1370 avec AA 55 13 70 …. Le « 13 68 / 13 70 » est littéralement le numéro de pièce de la puce renvoyé en écho.

Voici l’insight clé : l’énumération s’arrête de compter à la première puce qui échoue soit à recevoir la commande (chemin avant brisé), soit à renvoyer sa réponse (chemin inverse brisé). Le contrôleur n’a aucun moyen de « voir au-delà » de l’écart. Donc un compte de 29 signifie que les adresses 0–28 se sont énumérées, et que la rupture se situe entre la puce 29 et la puce 30. Ce seul nombre est votre coordonnée de départ.

Pourquoi une seule mauvaise puce tue tout en aval

Une puce morte échoue rarement comme un simple « off » propre. Elle échoue comme un blocage dans la course de relais. Trois variantes comptent :

  • Puce ouverte / morte. La puce cesse de régénérer CO, CLKO, NRSTO et BO. Les commandes et la clock n’atteignent jamais la puce N+1, donc chaque puce après elle s’éteint. La chaîne RO inverse est brisée au même point, donc même si les puces en aval tournaient d’une façon ou d’une autre, leurs nonces ne pourraient jamais rentrer à la maison.
  • Puce court-circuitée. Une puce qui court-circuite une ligne de signal peut la tirer vers le bas pour toute la carte, signalant souvent zéro puce, et elle tire habituellement son domaine de tension avec elle — un symptôme distinct que vous confirmez avec un balayage de tension de domain.
  • Échec de relais de signal (le sournois). La puce elle-même est vivante et hasherait correctement, mais un joint de soudure froid sur son pad CO, CLKO ou NRSTO signifie qu’elle ne peut pas transmettre le signal à la puce suivante. Du point de vue du contrôleur, c’est identique à une puce morte. C’est pourquoi le reflow d’un seul joint « ressuscite » parfois des dizaines de puces d’un coup.

C’est aussi pourquoi un défaut de hashboard et un défaut de voltage-domain peuvent se faire passer l’un pour l’autre. Une puce court-circuitée brise la chaîne et fait chuter un domain ; une puce ouverte brise la chaîne mais laisse les tensions de domain paraître correctes (parfois même élevées, puisqu’aucun courant ne circule). Associez toujours votre diagnostic de chaîne sérielle à une vérification de tension et de résistance de domain avant de vous engager dans un rework.

Où sonder chaque signal, et à quoi ressemble un « bon » signal

Chaque puce expose des points de test au dos du PCB. Sondez la masse d’abord (jamais le dissipateur — toucher le radiateur avec la pince noire peut court-circuiter la carte), puis parcourez ces points :

Point de test Ce que c’est Lecture saine (exemple : S21)
CLK / CLKO Sortie clock de cette puce Onde carrée 25 MHz, ~0.58–0.6 V
CO Sortie commande (TX relayé) Commutation, ~1.1 V pendant l’énumération
RI Entrée réponse depuis l’aval Commutation quand les puces derrière répondent
NRSTO Sortie reset vers la puce suivante Maintenu haut (~1.2 V) en état de run
BO Sortie busy Bas avec des impulsions

Pour un premier passage rapide avec la carte alimentée sur un banc de test en énumération (PT1) :

  • CLK — sondez CLKO entre les deux premières puces. Vous voulez une onde carrée 25 MHz propre (période de 40 ns). Ringing, atténuation ou absence pointent vers le crystal, un condensateur de couplage ou une résistance série.
  • CI — sondez à l’entrée de la puce 1. Un signal qui commute au niveau du modèle signifie que le contrôleur parle.
  • RO — sondez à la sortie de la dernière puce. Si toute la chaîne est intacte, vous verrez du trafic de retour ; sinon, la rupture est en amont.
  • RST — sondez à la puce 1. Il doit rester haut en fonctionnement normal et ne pulser bas qu’à l’init.

Un oscilloscope 100 MHz avec une sonde à pointe fine suffit amplement. Configurez un décodage UART 115200 8N1 sur CI et vous devriez littéralement lire le préambule 0x55 0xAA et le trafic SET_CHIP_ADDR qui passe pendant l’énumération. À 115200 baud, chaque bit fait ~8.7 µs de large, ce qui est confortablement lent à capturer.

Modes de défaillance de la distribution de clock

La clock naît d’un seul crystal 25 MHz (Y1) en bordure de carte, avec un petit condensateur de charge. De là, CLKO quitte chaque puce et traverse le domain suivant via un condensateur de couplage ~100 nF avant d’arriver comme CLKI. Défaillances courantes :

  • Crystal mort. Aucune clock nulle part → zéro puce détectée, la carte paraît totalement morte. Scopez Y1 d’abord quand rien ne s’énumère. Un crystal fissuré ou un joint froid sur ses pads est un coupable fréquent après des cycles thermiques.
  • Rupture de clock à une frontière de domain. Si la chaîne meurt exactement là où un domain rencontre le suivant, suspectez le condensateur de couplage CLK ou la résistance série à cette frontière. Un joint froid sur ce minuscule composant 0402/0603 suffit à arrêter net la clock pour le reste de la chaîne.
  • Clock dégradée. Les puces s’énumèrent mais le compte est instable, ou les fréquences plus élevées échouent sous PT3. Un front de clock faible ou en ringing — crystal vieillissant, condensateur de charge marginal — se manifeste par des dropouts intermittents.

Modes de défaillance de la ligne de reset

Le reset est d’une importance trompeuse. Si une puce ne peut pas transmettre NRSTO à la puce suivante, les puces en aval ne quittent jamais le reset, donc elles ne s’énumèrent jamais — même symptôme qu’une puce morte, correction différente.

  • RST bloqué bas. Si la ligne est maintenue basse (un court-circuit à la masse, un composant série défaillant, ou un défaut GPIO du contrôleur), la chaîne reste en reset permanent et signale zéro puce. Sur les cartes de contrôle basées Amlogic, la ligne de reset est un GPIO spécifique par chain ; sur les designs Zynq/FPGA, elle passe par un buffer.
  • NRSTO non relayé. Une puce avec un bon NRSTI mais un joint froid NRSTO se libère elle-même du reset mais maintient tout le monde après elle en reset. Le compte s’arrête exactement là.
  • Flottement / bruit. Une ligne de reset qui flotte parce qu’une résistance de pull s’est ouverte peut laisser la chaîne basculer en et hors du reset, produisant des comptes d’énumération aléatoires d’un run à l’autre — souvent mal interprétés comme « des puces différentes qui meurent à chaque boot ».

D’autres pièces de croisement de frontière méritent le même examen : les level shifters entre domains (un S21 en porte 11 ; un S21 XP en porte 12) traduisent les niveaux de signal à mesure que la chaîne franchit les tensions de domain. Un shifter mort produit une rupture nette exactement à une arête de domain — clock et commande présentes d’un côté, absentes de l’autre.

Bissecter la chaîne pour trouver la première puce défaillante

Vous savez que la rupture se situe entre la dernière puce détectée et la suivante, mais sur une carte de 108 puces cela peut encore être une large zone de recherche si le symptôme est intermittent ou le compte instable. La technique classique — les ateliers de réparation l’appellent la dichotomie ou la méthode de recherche binaire — resserre vite la zone :

  1. Choisissez le milieu de la chaîne. Au point de test RO de cette puce, court-circuitez brièvement RO vers la tension de domain locale (ou le rail 1.8 V sur les cartes plus anciennes). Cela injecte une « réponse » d’apparence valide dans le chemin inverse à ce point.
  2. Relancez l’énumération.
  3. Si le compte détecté augmente, les puces entre le milieu et le contrôleur sont saines — le vrai défaut est dans la seconde moitié, en aval du milieu.
  4. Si le compte reste le même ou baisse, le défaut est dans la première moitié, avant le milieu.
  5. Passez au quart ou aux trois-quarts et répétez. Chaque étape divise par deux la région suspecte ; environ sept sondages isolent une puce sur 108.

Une fois la puce trouvée, confirmez pourquoi elle brise la chaîne avant d’atteindre le hot air. Scopez ses sorties CO, CLKO et NRSTO : si les entrées sont présentes mais qu’une sortie est morte ou faible, vous n’avez peut-être qu’un joint froid qu’un reflow soigneux corrige — pas de remplacement de puce, pas de reballing. Réservez le retrait complet de la puce et le remplacement au niveau chip aux puces réellement court-circuitées ou non réactives après reflow. Le workflow de rework plus profond — reballing, profils, pâte, retest — est couvert dans notre deep-dive de réparation de hashboard, et les particularités par modèle (topologie boost, layout des level shifters) vivent dans les guides par modèle tels que le parcours réparation de hashboard famille S21.

Un ordre d’opérations sensé

  1. Visuel d’abord, hors tension. Sous grossissement, scannez les résistances et condensateurs aux frontières de domain, le crystal et le connecteur pour fissures, ponts ou brûlures.
  2. Résistance hors tension. Impédance domain-à-masse et résistance d’entrée d’alimentation. Une lecture proche de zéro signifie un court-circuit — trouvez-le avant d’appliquer l’alimentation.
  3. Énumération sous tension (PT1). Lisez le compte — votre coordonnée de départ, pas votre bilan de dégâts.
  4. Scopez la chaîne. Crystal/CLK, puis CI à la puce 1, puis RO à la dernière puce, puis RST, en progressant vers la rupture impliquée par le compte.
  5. Bissectez avec la méthode du court-circuit RO pour épingler la puce exacte, puis confirmez la cause racine — joint froid vs. puce court-circuitée vs. défaut de domain — avant de reflower ou de remplacer. Terminez toujours par un retest complet depuis PT1.

Quand escalader

Le diagnostic de chaîne de signaux s’apprend réellement, et nous le publions librement parce qu’une flotte mondiale plus saine de mineurs en marche est bonne pour Bitcoin. Mais cela exige un oscilloscope, un banc de test, du hot air et des mains stables à l’échelle 0402. Si vous préférez ne pas traquer un joint froid à travers une centaine de puces — ou si vous avez une pile de cartes « chain X only » qui s’accumule — notre équipe de banc fait ce travail quotidiennement. Lisez-en plus sur notre service de réparation ASIC ou démarrez une réparation quand cela a du sens. Dans les deux cas, le but est le même : ramener le compte de puces au complet.

Foire aux questions

Est-ce que « 29 chips detected » signifie que j’ai 79 puces mortes?

Presque jamais. La daisy chain s’arrête de signaler à la première rupture, donc un compte de 29 signifie que le défaut se situe entre la puce 29 et la puce 30. Les ~79 autres puces sont habituellement saines mais coupées du contrôleur. Corrigez la seule rupture et le compte remonte typiquement d’un coup.

Quel signal devrais-je sonder en premier quand zéro puce est détectée?

Commencez par la clock. Le crystal 25 MHz (Y1) alimente toute la chaîne ; s’il est mort ou a un joint froid, aucune puce ne peut tourner et la carte signale zéro. Après le crystal, vérifiez que la ligne de reset n’est pas bloquée basse et que les level shifters de bordure passent le signal dans la puce 1.

Pourquoi ne vois-je pas de niveaux logiques 3.3V aux puces?

Parce que la chaîne ne tourne pas à 3.3V. Les level shifters de bordure abaissent le 3.3V de la carte de contrôle vers les niveaux natifs à faible amplitude de la puce avant la puce 1. Sur un S21, la clock n’est que ~0.58–0.6V et les lignes de commande se situent près de 1.1V. Faites toujours une ligne de base contre une carte connue bonne du même modèle.

Les entrées d’une puce ont l’air correctes mais la chaîne se brise quand même là — que faire?

Cela pointe vers un échec de relais de signal : la puce ne peut pas transmettre son CO, CLKO ou NRSTO à la puce suivante, habituellement un joint de soudure froid sur ce pad de sortie. Un reflow soigneux restaure souvent toute la chaîne en aval sans remplacer la puce du tout.

Comment la méthode de bissection (recherche binaire) trouve-t-elle réellement la puce?

Vous court-circuitez brièvement le point de test RO vers la tension de domain locale au milieu de la chaîne, injectant une réponse d’apparence valide à cet endroit, puis vous ré-énumérez. Si le compte monte, le défaut est dans la moitié aval ; sinon, il est en amont. Répétez aux points de quart. Environ sept étapes isolent une puce sur une centaine.

Un problème d’alimentation/voltage-domain peut-il ressembler à une chaîne sérielle brisée?

Oui. Une puce court-circuitée brise la chaîne et fait chuter son voltage domain ; une puce ouverte brise la chaîne mais laisse les tensions de domain normales ou élevées. Exécutez toujours un balayage de tension et de résistance de domain en parallèle avec la vérification de la chaîne de signaux pour ne pas reflower une puce quand le vrai défaut est un LDO ou un circuit boost.

Mining Profitability Calculator Calculate your mining revenue, electricity costs, and net profit with live Bitcoin data.
Try the Calculator
The <a href=Bitaxe" width="80" height="80" loading="lazy" style="width:80px;height:80px;object-fit:contain;border-radius:6px;background:#1A1A1A;flex-shrink:0;">
The Bitaxe Plage de prix : 184.99 $ à 224.99 $ CAD
Acheter le Bitaxe

D-Central

Bitcoin Mining Experts Since 2016

Réparation ASIC Bitaxe Pioneer Open-Source Mining Chaufferettes Home Mining

D-Central Technologies est une entreprise canadienne de minage Bitcoin qui rend la technologie minière de niveau institutionnel accessible aux mineurs à domicile. Des milliers de mineurs réparés, 350+ produits expédiés du Canada.

About D-Central →

Articles connexes

Start Mining Smarter

Whether you are heating your home with sats, building a Bitaxe, or scaling up — D-Central has the hardware, repairs, and expertise you need.

Browse Products Talk to a Mining Expert