banner
뉴스 센터
첨단 장비와 함께 다양한 경험

해커를 위한 PCIe: 링크 분석

Aug 20, 2023

지난번에 우리는 diffpair, 기본 사항, 라우팅 규칙 및 diffpair와 관련된 PCIe의 악명 높은 허용 오차에 대해 살펴보았습니다. 이제 PCIe를 작동시키는 정확한 신호를 살펴보고 PCIe를 연결할 수 있는 소켓에 대한 개요를 제공하겠습니다.

저는 PCIe 소켓을 데스크탑 마더보드에서 볼 수 있는 일반적인 1x, 16x 또는 x4 PCIe 소켓인 데스크탑 소켓과 모바일 소켓인 mPCIe 및 M.2라는 두 가지 범주로 구분합니다. ExpressCard와 같은 소켓은 여전히 ​​일부 구형 노트북에서 발견되지만 확실히 관련성이 떨어졌습니다. 모바일에서 M.2는 PCIe에 있어 앞으로 나아갈 길입니다. 관심이 있으신 분들을 위해 이전에 M.2에 관한 모든 내용을 다룬 짧은 시리즈를 작성한 적이 있습니다.

이러한 소켓에서는 대부분의 신호가 선택 사항이고 일부 신호는 소켓별로 다르지만 모든 PCIe 장치에는 일부 신호가 필요합니다. 물론, 필요한 신호의 첫 번째 그룹은 PCIe diffpair 자체입니다.

모든 PCIe 인터페이스에는 TX와 RX라는 두 가지 종류의 diffpair가 있습니다. x1 링크의 경우 하나의 TX diffpair와 하나의 RX diffpair가 있고 x16 링크에는 각각 16개가 필요합니다. 예상할 수 있듯이 한쪽 끝의 RX는 다른 쪽 끝의 TX에 연결되고 그 반대의 경우도 마찬가지입니다. 이는 UART와 비슷하지만 매콤합니다. 물론, PCIe 확장기나 소켓 간 어댑터를 사용하는 경우에는 교체할 필요가 없습니다. PCIe 지원 확장 표준 중 하나에 대한 보드를 설계하는 경우 일반적인 이름은 호스트 측입니다. 예를 들어, 데스크탑 PCIe 소켓에 연결되는 PCB에 PCIe 이더넷 컨트롤러 IC를 배치한다고 가정합니다. PCIe 소켓 보드의 TX 및 RX를 각각 이더넷 칩의 RX 및 TX에 연결합니다.

이 규칙을 위반했다는 강력한 징후가 있는 경우 당황하지 마십시오. 기존 호스트 또는 장치와 비교하여 이름 지정이 예상대로인지 또는 실제로 예기치 않게 반전되었는지 확인할 수 있는지 확인하십시오. 다시 말하지만 UART와 같습니다! 즉, TX 및 RX 라인 모두에 직렬로 배치된 AC 커플링 커패시터도 있습니다. 특히 M.2 또는 데스크톱 PCIe 등 PCIe 확장 카드의 경우 장치 보드의 장치-TX(호스트-RX) 라인과 장치 보드의 호스트-TX 측(장치-RX)에 배치하는 것이 관례입니다. 호스트 보드. 이것만으로도 디자인과 리버스 엔지니어링 측면에서 UART와는 즐거운 차이가 있습니다.

항상 존재하는 세 번째 종류의 diffpair는 REFCLK(100MHz 클록 diffpair)입니다. 속도가 빠른 시계이며 전체 목적은 확실하지 않지만 TX 및 RX의 데이터, 특히 시계 복구를 디코딩하는 역할을 하는 것으로 보입니다. GBit 범위보다 훨씬 느린 속도임에도 불구하고 중요한 역할을 합니다. PCIe TX 및 RX 쌍의 대역폭. RX 및 TX와 달리 REFCLK 극성을 임의로 바꿀 수는 없습니다. 반면에 뒤집어야 할 경우를 대비해 REFCLK가 한 세트의 비아 또는 두 개를 통과하면 큰 문제가 되지 않습니다. 100MHz에 불과합니다. 당신의 diffpair를 존중하는 것을 기억하십시오. 그러면 당신은 좋을 것입니다.

REFCLK는 필수입니다. 단, 이론적으로는 RX 및 TX 쌍을 통해 전달된 데이터에서 이 클럭 복구를 지원하거나 자체 REFCLK를 생성하기 위해 PCIe 링크의 양쪽 끝이 필요한 경우를 제외하고는 생략할 수 있습니다. 매우 현실적으로 들리지만 REFCLK가 없는 PCIe 구현은 실제로 존재하지 않습니다. 빠른 액세스 속도를 위해 PCIe를 SD 카드로 전환하는 최근 표준인 SD-Express도 이 경로를 따르지 않았습니다. 소비자가 사용할 수 있는 REFCLK 없는 유일한 구현은 SATA-Express입니다. 이 표준은 이제 더 이상 사용되지 않습니다. SATA-Express 포트가 있는 마더보드가 매장 진열대에 출시되자마자 M.2에 의해 출시되었습니다. 현재로서는 PCIe 링크가 작동하려면 반드시 REFCLK가 필요합니다.

이제 커패시터에 대해 좀 더 자세히 살펴보겠습니다. 링크가 작동하려면 TX와 RX 모두에 필요하며 PCIe 링크 생성에 따라 75nF ~ 265nF 범위입니다. 200nF는 전반적으로 좋은 값이고 100nF는 긴급 상황에서 작동합니다. 그 외에는 0402 또는 0201 패키지를 선택하세요. 기본적으로 그게 전부입니다. REFCLK에는 일반적으로 커패시터가 필요하지 않지만 손상되지 않아야 하며 특정 장치에는 커패시터가 필요할 수 있습니다. 또한 여기에 수수께끼가 있습니다. 저렴한 대량 생산 WD SSD가 TX 측 커패시터를 생략한 것처럼 보이는 문서화된 사례가 하나 이상 있으며, 메인보드 측에 추가 커패시터가 추가될 때까지 맞춤형 PCIe 호스트 보드로 초기화하지 못했습니다. 이는 기본적으로 수행해야 하는 작업이 아닙니다. 단지 한 제조업체가 용감하게 만들어낸 특징일 뿐입니다.