PCIe Layout y Signal Routing

5

Estoy buscando construir una placa simple que tenga un conector PCIe 16x, que pueda colocar una tarjeta de video PCIe compatible.

Puedo encontrar los conectores y crear una huella en el tablero. Puedo encontrar y entender hasta cierto punto el pin-out básico del conector PCIe 1x, pero no tengo claro en absoluto la implementación de extremo a extremo.

He leído que las especificaciones completas cuestan mucho dinero y, honestamente, es una exageración por lo que quiero.

No estoy muy preocupado por el protocolo real (como en la capa física), por lo que no necesariamente busco la especificación oficial de PCIe, solo la implementación de tuercas y tornillos. ¿Qué pines van donde están en las tarjetas, donde están dispuestas?

No estoy seguro sobre el enrutamiento de la señal entre el conector de acoplamiento y la tarjeta PCIe, y luego dónde indica la tarjeta.

Sé que Altium proporciona plantillas de los pads reales, etc., pero estoy más interesado en saber dónde van las señales y qué hace cada una, y qué señales deben tratarse como señales de alta velocidad, etc.

¿Parece que este tipo de información no es tan de código abierto? No es como si un fabricante de videos solo estuviera publicando una hoja de datos para cada persona que compra una tarjeta PCIe para entender cómo se enruta desde la tarjeta a la CPU en una placa base.

Para las personas que están construyendo tarjetas de video o lo que sea para PCIe, ¿dónde aprenden cómo construir estos dispositivos?

    
pregunta Leroy105

2 respuestas

8

PCIe tiene "Puntos finales (EP)" y un "Complejo raíz (RC)". La tarjeta GFX en este caso se conoce como un EP que es básicamente como una hoja del árbol. En el tronco del árbol estaría la CPU de su placa base, que tiene un RC incorporado que administra todos los dispositivos.

El cableado entre un EP y un RC es, en su forma más simple, punto a punto. Dentro de esto hay dos tipos de señales: líneas (TX y RX) y señales de banda lateral (todo lo demás, por ejemplo, reloj, reinicio, alimentación, etc.). De estas señales se debe tener en cuenta lo siguiente:

  1. Para las señales de banda lateral, estas deberían estar conectadas entre los pines correspondientes en cada extremo. En su caso para una tarjeta vertical, simplemente los pasaría directamente desde el pin en un conector al mismo pin en el otro.

  2. Los rastros de potencia deben enrutarse con suficiente para suministrar 25W o 75W. En general, hay un suministro de 12 V, un suministro de 3,3 V y un suministro auxiliar de 3,3 V cuando la computadora está en modo inactivo o apagado.

  3. Las señales de carril son las más críticas . Estos deben dirigirse con gran atención a los detalles, lo que garantiza que se direccionen de forma diferencial y que la impedancia se ajuste al diferencial de 100. Esto se logra normalmente mediante el uso de un plano de tierra en una placa de 4 capas como un plano de referencia (el enrutamiento de HF está más allá del alcance de esta respuesta, aquí hay muchos recursos EE.SE). La longitud debe coincidir con las señales de P / N de los pares diferenciales para cada línea, sin embargo, no tiene que preocuparse de hacer coincidir las longitudes de las diferentes líneas para PCIe, ya que cada línea se maneja por separado del resto.

  4. Los carriles son unidireccionales, es decir, los datos fluyen de una manera. Es imperativo cruzar las líneas TX y RX: la línea TX de un dispositivo va a la línea RX del otro dispositivo. Sin embargo, , si está construyendo una tarjeta vertical, el cruce de los carriles se realiza en la placa base , lo que significa que su tarjeta vertical debe enrutar las señales de un conector a el mismo número de pin en el otro extremo (TX en un extremo va a TX en el otro extremo).

  5. Si está cambiando el número de carriles, solo necesita cablear los carriles que necesita para asegurarse de que el número más bajo sea el número de carriles contiguos (por ejemplo, Carril 0 para 1x, Carriles 0 y 1 para 2x, etc. ) se mantienen. PCIe espera que la línea 0 en un dispositivo se conecte a la línea 0 en el otro dispositivo siempre (*) y que ninguna línea se salte. Entonces, si está conectando su tarjeta x16 a una ranura x1, debe mantener el carril 0 y solo necesita conectar esa. Cualquier carril que no se use se puede dejar simplemente desconectado (no es necesario ni debe cancelarlo).

Más allá de eso, es solo un caso de seguir una buena práctica de PCB y tener especial cuidado con la coincidencia de impedancia y el enrutamiento de rastreo de alta frecuencia.

La parte que se pone muy complicada es si espera obtener Gen 3 PCIe (y Gen 2 hasta cierto punto). Las velocidades a las que corre G3 (4 GHz) van mucho más allá de las capacidades de los sustratos de PCB FR4 estándar y su enrutamiento lo lleva al extraño y maravilloso mundo del diseño de RF. de un dolor que es. Gen 1 es solo (o_O) 1.25GHz, lo que es un poco más indulgente, siempre y cuando esté bien con su ruta e intente evitar las vías cuando sea posible.

(*) Estrictamente hablando, hay otros trucos inteligentes como la inversión de carril, pero el soporte no es obligatorio.

Con respecto a la pregunta final sobre dónde aprenden las personas estas cosas, generalmente mientras trabajan para empresas o instituciones de investigación. No hay muchos recursos disponibles porque el diseño de dispositivos PCIe generalmente va mucho más allá de lo que intentaría la mayoría de los aficionados, y la información de implementación probablemente se mantenga como un secreto corporativo por parte de quienes fabrican dispositivos comerciales.

    
respondido por el Tom Carpenter
4

Definitivamente necesita una copia de la tecnología PCI Express 3.0 (2012), o podría obtener con la arquitectura del sistema PCI Express (2004). Ambos son libros de Mindshare y cubren los conceptos básicos muy bien.

Intel también tiene gran información sobre su red de diseño . También tienen una versión de la especificación PCIe 4.x disponible gratuitamente.

Si solo está haciendo el diseño de PCB, obtenga una copia de las Pautas de diseño de la placa PCIe. Debe registrarse con Intel para obtener la última versión, pero hay muchas copias del borrador disponible .

    
respondido por el Jack Creasey

Lea otras preguntas en las etiquetas