Adapté du webinaire Comment déboguer la gestion de l'alimentation PCI Express et les comportements de liaison dynamique de Patrick Connally et Gordon Getty

Introduction

La gestion de l'alimentation est une considération clé pour PCI Express® (PCIe®). Par conséquent, PCIe spécifie l'état de faible consommation L1. Lorsqu'une liaison est en L1, aucun transfert de données n'a lieu dans les deux sens, de sorte qu'un périphérique PCIe à l'état L1 consomme moins d'énergie que lorsqu'il est à l'état L0 actif.

Les sous-états L1 (désignés L1.1 et L1.2, avec le L1 d'origine renommé L1.0) offrent des économies d'énergie encore plus importantes que L1, une caractéristique particulièrement importante pour les ordinateurs portables, tablettes et autres appareils alimentés par batterie. Mais tous les états d'économie d'énergie imposent une latence de sortie, c'est-à-dire le temps nécessaire à un appareil pour reprendre un fonctionnement normal à pleine puissance lorsqu'il quitte l'état de faible puissance. Les concepteurs d'appareils doivent mesurer la latence entre les états de faible puissance pour évaluer les compromis et optimiser les performances.

Ceci est difficile à faire en utilisant soit un analyseur de protocole soit un oscilloscope seul. Les analyseurs de protocole peuvent se déclencher sur des séquences d'événements et effectuer des captures très longues, mais ils ne peuvent pas capturer d'événements analogiques. Les oscilloscopes peuvent capturer des événements analogiques, mais les acquisitions sont très courtes et difficiles à corréler aux événements protocolaires. Heureusement, les deux instruments se complètent très bien pour examiner les événements déclenchés par des processus de couche supérieure, mais qui ont un effet sur la couche physique, comme les sous-états L1. La Teledyne LeCroy CrossLa structure logicielle Synch™ PHY pour PCIe synchronise le déclenchement, l'acquisition et l'analyse sur les deux instruments pour fournir une visibilité totale sur la liaison.

Les exemples de cette note d'application montrent comment effectuer des mesures de synchronisation pour les sous-états L1 en fonction des états logiques dans la couche liaison de données ou le sous-bloc logique de la couche physique et les formes d'onde correspondantes au niveau du sous-bloc électrique de la couche physique.

Présentation des sous-états L1

Un périphérique passe à l'état L1 via l'un des deux mécanismes suivants : Active State Power Management (ASPM) ou PCI Power Management (PCI-PM). Un appareil indiquera sa prise en charge des sous-états L1 et des mécanismes d'entrée dans son espace de configuration, et il utilisera le signal de demande d'horloge (CLKREQ #, affirmé lorsqu'il est bas) pour la sortie et l'entrée dans un sous-état L1.

La couche de liaison de données dans la pile de protocoles PCIe gère les tâches de gestion des liaisons telles que l'initialisation des crédits de contrôle de flux, la mise à jour des crédits de contrôle de flux lorsque la liaison est active dans l'état L0, et les mécanismes d'accusé de réception et d'accusé de réception négatif. pour s'assurer que les paquets conservent leur intégrité sur la liaison. La couche de liaison de données gère également les demandes d'entrée dans L1 et ses sous-états pour un fonctionnement à faible consommation.

Espace de configuration indiquant la prise en charge des sous-états L1 et des mécanismes d'entrée.
Figure 1 : Espace de configuration indiquant la prise en charge des sous-états L1 et des mécanismes d'entrée.

Mesure de la synchronisation du sous-état L1

Pour effectuer des mesures de synchronisation de sous-état L1, vous utilisez un analyseur de protocole PCIe tel que Teledyne LeCroy Summit T54 avec un oscilloscope tel que le Teledyne LeCroy LabMaster 10Zi-A. De plus, un interposeur surveille les communications avec l'appareil testé et fournit des données à l'analyseur de protocole ainsi qu'à l'oscilloscope.

Configuration de test pour les mesures de sous-état L1 à l'aide du logiciel CrossSynch PHY pour PCIe.
Figure 2 : configuration de test pour les mesures de sous-état L1 à l'aide du logiciel CrossSynch PHY pour PCIe.

Les mesures de synchronisation de sous-état L1 spécifiques que nous effectuerons avec cette configuration incluent :

  • Temps entre l'assertion CLKREQ# et l'heure de l'horloge de référence système valide (System REFCLK)
  • Temps depuis le système REFCLK devenant valide jusqu'au début des séquences de formation TS1
  • Temps du système REFCLK devenant valide jusqu'au retour à L0

Configuration du déclencheur et de l'acquisition

Configurez l'oscilloscope pour acquérir quatre signaux : CLKREQ# (C1), données en amont de la voie 0 (C2), données en aval de la voie 0 (C3) et système REFCLK (C4). Placez les quatre signaux dans un groupe multi-zoom verrouillé dans le temps afin que les curseurs placés sur n'importe quelle trace mesurent le différentiel sur chacun.

Étant donné que nous ne nous soucions que de l'assertion et de l'annulation de la demande autour de l'horloge, l'oscilloscope peut être réglé sur l'acquisition en mode séquence de deux segments.

Configurez l'analyseur de protocole pour déclencher l'oscilloscope à l'entrée et à la sortie des sous-états L1 en surveillant le signal de demande d'horloge (CLKREQ #) désactivé et affirmé. L'entrée dans les sous-états L1 est en corrélation avec le basculement du signal de demande d'horloge, CLKREQ # étant désaffirmé, moment auquel l'analyseur de protocole déclenche l'oscilloscope pour la première fois. Lorsqu'il est temps de quitter le sous-état L1, l'analyseur de protocole déclenche à nouveau l'oscilloscope, lui permettant de capturer CLKREQ # en cours d'assertion.

Configuration du déclencheur pour capturer l'entrée et la sortie de L1.
Figure 3 : Configuration du déclencheur pour capturer l'entrée et la sortie de L1.

Sondage

Un interposeur Teledyne LeCroy PE210UIA-4PHY, connecté à un Summit L'analyseur de protocole T54 a été utilisé pour surveiller les communications entre le disque SSD PCIe 4.0 M.2 et le système hôte. Cet interposeur fournit divers points de sondage permettant à l'oscilloscope de capturer des signaux analogiques. Le signal CLKREQ # a été sondé avec une sonde passive standard 10: 1, les signaux de la voie 0 en amont et de la voie 0 en aval ont été sondés avec des sondes différentielles actives de la série DH 30 GHz, et le signal REFCLK du système a été connecté directement à une entrée coaxiale de 50 ohms sur le oscilloscope.

L'oscilloscope acquiert CLKREQ #, les données en amont de la voie 0, les données en aval de la voie 0 et le système REFCLK.
Figure 4 : Oscilloscope acquérant CLKREQ#, données en amont de la voie 0, données en aval de la voie 0 et système REFCLK.
L'entrée dans le sous-état L1 est corrélée sur les deux traces et se produit lorsque CLKREQ # est annulé.
Figure 5 : Entrée dans le sous-état L1 corrélée sur les deux traces et se produisant lorsque CLKREQ # est annulé.
Sortie du sous-état L1 corrélé sur les deux traces et se produisant lorsque CLKREQ # est affirmé.
Figure 6 : Sortie du sous-état L1 corrélé sur les deux traces et se produisant lorsque CLKREQ # est affirmé.

Mesure de l'assertion CLKREQ # sur REFCLK valide

Une mesure de synchronisation de sous-état L1 clé est le temps entre la demande d'horloge affirmée (indiquant la sortie de L1.2 et le passage de L1.2 inactif à la sortie de L1.2) jusqu'au moment où l'horloge de référence démarre.

Placez les curseurs horizontaux de l'oscilloscope sur la ligne de demande d'horloge et la ligne d'horloge de référence pour effectuer une mesure précise du temps entre le point de déclenchement du segment 1 sur la trace CLKREQ # et le début du signal REFCLK, dans ce cas, 301 ms.

À l'aide de curseurs, mesurez le temps entre le déclenchement sur CLKREQ# et le début d'un REFCLK valide.
Figure 7 : À l'aide de curseurs, mesurez le temps entre le déclenchement sur CLKREQ# et le début d'un REFCLK valide.

Mesure d'un paquet REFCLK valide vers TS1

Une autre mesure clé est le temps à partir duquel l'horloge de référence est valide jusqu'à ce que le début de la récupération soit identifié, la récupération initiant des séquences d'entraînement observables sur la trace de l'analyseur de protocole.

En sélectionnant le paquet sur l'écran de l'analyseur de protocole, nous pouvons voir l'heure à laquelle REFCLK devient valide sur la trace de l'oscilloscope, puis nous pouvons également voir exactement quand la première séquence d'apprentissage (TS1) s'est produite. Encore une fois, des curseurs horizontaux sont utilisés pour mesurer le temps entre les deux, dans ce cas 53 ms.

À l'aide de curseurs, mesurez le temps entre le déclenchement sur CLKREQ# et le début d'un REFCLK valide.
Figure 8 : À l'aide de curseurs, mesurez le temps entre le paquet REFCLK valide et le paquet TS1 (identifié à l'aide de la trace de l'analyseur de protocole).

Mesure valide REFCLK à L0

Une troisième mesure de synchronisation clé est le temps entre un REFCLK valide et le début de L0. Cette mesure nécessite un processus en trois étapes : trouver le début du REFCLK valide, rechercher le paquet SDS (qui indique le retour à L0), puis obtenir l'heure du paquet SDS et le comparer avec le début du REFCLK.

L'oscilloscope peut indiquer quand l'horloge de référence démarre, mais il ne peut pas indiquer facilement quand la liaison atteint L0. Après les séquences d'entraînement, un appareil enverra un SDS (début de flux de données) et, à ce stade, le lien atteindra L0. Utilisez la fonction de recherche de l'analyseur de protocole pour trouver le prochain ensemble commandé de SDS. Cela fournira l'horodatage du moment où le lien est entré en L0 pour permettre une mesure précise du curseur de REFCLK valide à L0, dans ce cas 384 ms.

À l'aide des curseurs, mesurez le temps entre REFCLK valide et le début de L0 (identifié en recherchant SDS).
Figure 9 : À l'aide de curseurs, mesurez le temps entre REFCLK valide et le début de L0 (identifié en recherchant SDS).
Utilisation de la recherche d'analyseur de protocole pour trouver le prochain ensemble ordonné de SDS.
Figure 10 : Utilisation de la recherche d'analyseur de protocole pour trouver le prochain ensemble ordonné de SDS.
Obtenir l'heure du paquet SDS et la comparer au début de REFCLK.
Figure 11 : Obtention de l'heure du paquet SDS et comparaison avec le début de REFCLK.

Conclusion

Les sous-états L1 peuvent fournir des économies d'énergie considérables sur les liaisons PCIe. La combinaison de l'oscilloscope, de l'analyseur de protocole, de l'interposeur et CrossLe logiciel Sync PHY pour PCIe offre un moyen efficace de naviguer vers n'importe quel point du fonctionnement de la liaison pour effectuer une analyse détaillée de la synchronisation des fonctions telles que l'entrée ou la sortie des sous-états L1.

Plus d'informations sur Teledyne LeCroy CrossLe logiciel Sync PHY est disponible sur notre site Web.