banner
Centre d'Information
Une vaste expérience et des équipements de pointe

PCIe pour les pirates : anatomie des liens

Aug 20, 2023

La dernière fois, nous avons examiné les paires de différences, leurs bases, les règles de routage et les tolérances notoires du PCIe en matière de paires de différences. Examinons maintenant les signaux exacts qui font fonctionner PCIe, et donnons également un aperçu des sockets sur lesquels vous pouvez installer PCIe.

Je sépare les sockets PCIe en deux catégories – les sockets de bureau, qui sont les sockets PCIe 1x, 16x ou peut-être x4 habituels que nous voyons sur les cartes mères de bureau – et les sockets mobiles : mPCIe et M.2. Il existe également des prises comme ExpressCard que l'on trouve encore sur certains ordinateurs portables plus anciens, mais elles ne sont définitivement plus pertinentes. Sur mobile, M.2 est la voie à suivre en matière de PCIe – si vous êtes intéressé, j'ai déjà écrit une courte série sur tout ce qui concerne M.2.

Sur ces sockets, la plupart des signaux seront facultatifs et certains signaux seront spécifiques au socket, mais certains signaux sont requis dans tout périphérique PCIe. Bien entendu, le premier groupe de signaux requis est constitué par les paires de différences PCIe elles-mêmes.

Toute interface PCIe possède deux types de paires de différences : TX et RX ; pour un lien x1, vous aurez une paire de diff TX et une paire de diff RX, et un lien x16 en a besoin de seize de chaque. Comme vous vous en doutez, RX à une extrémité se connecte à TX à l'autre extrémité, et vice-versa – c'est comme UART, mais épicé. Bien sûr, si vous utilisez une extension PCIe ou un adaptateur socket-à-socket, vous n'avez pas besoin de procéder à un échange. Si vous concevez une carte pour l'une des normes d'extension supportant PCIe, la dénomination habituelle est côté hôte. Par exemple, disons que vous installez un contrôleur IC PCIe Ethernet sur un PCB qui se branche sur une prise PCIe de bureau – connectez respectivement les TX et RX de la carte de prise PCIe aux RX et TX de votre puce Ethernet.

S'il y a de fortes indications que cette convention a été violée, ne vous inquiétez pas : assurez-vous de comparer avec un hôte ou un périphérique existant et voyez si vous êtes en mesure de déterminer si le nom est comme prévu ou, de manière inattendue, inversé. Encore une fois, c'est comme UART ! Cela dit, il existe également des condensateurs de couplage CA placés en série sur les lignes TX et RX. Plus précisément, dans le cas des cartes d'extension PCIe, qu'il s'agisse de M.2 ou de PCIe de bureau, la convention les place sur les lignes périphérique-TX (hôte-RX) sur la carte du périphérique, et du côté hôte-TX (device-RX) sur la carte du périphérique. le tableau hôte. Cela constitue à lui seul une divergence agréable par rapport à l’UART en matière de conception et d’ingénierie inverse.

Le troisième type de paire de différences, invariablement présent, est REFCLK – une paire de différences d'horloge de 100 MHz. C'est une horloge rapide, et je ne suis pas sûr de son objectif complet, mais apparemment, elle joue un rôle dans le décodage des données sur TX et RX, en particulier dans la récupération de l'horloge – restant vitale même si elle est plusieurs fois plus lente que la gamme GBit. bande passante des paires PCIe TX et RX. Contrairement à RX et TX, vous ne pouvez pas échanger la polarité REFCLK bon gré mal gré. D'un autre côté, cela ne fera pas autant de mal si REFCLK passe par un ensemble de vias ou deux au cas où vous auriez besoin de l'inverser – c'est juste 100 MHz. N'oubliez pas de respecter vos paires de différences, et tout ira bien.

REFCLK est requis – sauf, en théorie, il existe des cas où vous pouvez l'omettre, exigeant que les deux extrémités de la liaison PCIe prennent en charge la récupération de cette horloge à partir des données transmises via les paires RX et TX, ou génèrent leur propre REFCLK. Cela semble assez réaliste, mais les implémentations PCIe sans REFCLK ne sont pas vraiment disponibles. Même SD-Express, une norme récente qui apporte PCIe aux cartes SD pour des vitesses d'accès fulgurantes, n'a pas emprunté cette voie – la seule implémentation sans REFCLK disponible pour le grand public est SATA-Express, une norme devenue obsolète. par M.2 presque dès que les cartes mères dotées de ports SATA-Express arrivent dans les rayons des magasins. Dans l’état actuel des choses, si vous souhaitez que votre liaison PCIe fonctionne, vous avez absolument besoin de REFCLK.

Et maintenant un peu plus sur les condensateurs. Vous en avez besoin à la fois sur TX et RX pour que la liaison fonctionne, avec des plages de 75 nF à 265 nF selon la génération de liaison PCIe : 200 nF est une bonne valeur globale et 100 nF fonctionneront à la rigueur. A part ça, optez pour le package 0402 ou 0201, et c'est essentiellement tout. REFCLK n'a généralement pas besoin de condensateurs, mais ils ne devraient pas non plus faire de mal, et certains appareils peuvent en avoir besoin. En outre, voici quelque chose de déroutant : il y a eu au moins un cas documenté d'un SSD WD bon marché fabriqué en série omettant apparemment ses condensateurs côté TX, ne parvenant pas à s'initialiser avec une carte hôte PCIe personnalisée jusqu'à ce que des condensateurs supplémentaires soient ajoutés du côté de la carte mère. Ce n'est pas quelque chose que vous devriez faire par défaut – simplement une particularité qu'un fabricant a eu le culot de créer.