Agregar PCIe a su Raspberry Pi 4, la forma más fácil

Desde que la gente descubrió que la Raspberry Pi 4 tiene un bus PCIe, la carrera fue la primera en conectar una tarjeta de expansión PCIe normal a una Raspberry Pi 4 SBC. Ahora [Zak Kemble] creó un nuevo enfoque, utilizando un puente PCB que reemplaza el controlador IC VL805 USB 3. Así también la modificación original de [Tomasz Mloduchowski] funcionó, solo que ahora aparece en un conveniente formato de PCB (OSHPark).

Después de quitar el paquete VL805 QFN y soldar en el puente de PCB, [Zak] confirmó que todo estaba correctamente conectado e intentó usar la Raspberry Pi 4 con una extensión PCIe. Esto mostró que la Raspberry Pi hablará felizmente con una tarjeta de expansión PCIe USB 3.0 basada en VL805, así como con una tarjeta Ethernet basada en Realtek RTL8111, pero no con algunas otras tarjetas PCIe. Exactamente por qué esto aún no está claro ahora.

Como bonificación, [Zak] También descubrió que a pesar de la eliminación del VL805-IC de la Raspberry Pi, que desactiva sus puertos USB-3, todavía se puede usar el USB-C de "entrada de energía" en el SBC como controlador de host. Por lo tanto, puede tener PCIe x1 y USB en Raspberry Pi 4.

Esta es la tercera iteración que hemos visto para usar PCIe con Pi. Si sigues trabajando en el trabajo de [Thomasz Mloduchowski], que inspiró [Colin Riley] para agregar expansiones, y ahora este gran truco de [Zak], ¡Queremos oír hablar de eso!

(Gracias a Itay por el dato)

  • Blamoo dice:

    Plástico derretido por todas partes. Parece que pi4 ha visto cosas terribles ...

    • tekkieneet dice:

      Debería haber usado algunas capas de cintas de captura como escudo térmico para esas piezas de plástico. También cubra las pequeñas desventajas alrededor de las piezas que está tratando de quitar, ya que podrían moverse accidentalmente o alejarse de la herramienta de aire caliente.

      • Martín dice:

        Si no tiene una cinta de captura, también dos capas de lámina A funcionan bastante bien. Incluso cuando tuve que luchar en un cono de altavoz con un encendedor de llama de chorro (llama azul).

    • Peter Green (@plugwash) dice:

      Mira hacia atrás, pero los conectores y especialmente los conectores de orificio pasante son generalmente las partes calientes más sensibles. Es muy fácil acabar fundiéndolos cuando intentas reescribir material de montaje en superficie con IR o aire caliente.

  • Harvie.CZ dice:

    Muy genial. Espero que descubras cómo ejecutarlo con algunas GPU para juegos, eso sería un cambio de juego 🙂
    También me pregunto por qué la tabla del puente no está cortada en forma rectangular regular ... Un poco arruina mi TOC 🙂

    • Gartral dice:

      Eso nunca sucederá, la CPU en el Pi4 no tiene suficiente espacio BAR. ¡Quizás lo solucionen con una actualización o el Pi5!

      • mister2d dice:

        ¿No hay suficiente espacio en el BAR para hacerlo bien? ¿Jugar juegos con 100 fotos? 30 fps? Sería bueno que esa afirmación pudiera cuantificarse.

        • Jonathan dice:

          Se necesita espacio en la BARRA para inicializar la tarjeta y hablar con ella. Con espacio insuficiente, es gratis. Dicho esto, las tarjetas antiguas podrían funcionar.

          • Foldi-One dice:

            También tuve la impresión de que puede definir el espacio BAR en el software, es decir, no está horneado en los chips. Por lo tanto, es posible que aún funcione.
            Ningún experto puede equivocarse de ninguna manera. Incluso si realmente funcionara, no creo que ni siquiera las impresionantes especificaciones (para SBC) de Pi 4 puedan alimentar efectivamente una nueva GPU; se convertirá en un signo de interrogación en alguna parte.
            Veo que es más probable que la opción de ranura PCI sea útil para ejecutar múltiples interfaces Ethernet, por lo que su próximo clúster de Pi podría usar Pi como su conmutador de red, enrutador, servidor dhcp.

          • Jake M dice:

            Hay muchos teléfonos x86 que no tienen una barra grande. Considere: la gpus moderna todavía generalmente admite sistemas de 32 bits (incluso sin PAE). Muy a menudo, la configuración de la computadora de gpus especifica 256 MB, independientemente del tamaño de la vram (esto se especifica en las vbios). Como referencia, el Pi4 ha asignado 8 GB de su mapa de memoria física a PCIe.

            Existe una especificación para mover la BAR después del inicio ("barra reubicable") pero no es universalmente compatible, y las configuraciones mayores a 256 MB han causado suficientes problemas con algunos operadores para mantenerse en el buen valor conocido. No estoy seguro de cómo se arman estos mapas / árbol de dispositivos; puede ser compatible o no. En cualquier caso, la mayoría de los controladores de GPU se escriben asumiendo que no todas las memorias son accesibles para la CPU en un momento dado.

            Si existen limitaciones técnicas que le impiden ejecutar una GPU en este hardware, no lo es. El sitio web ROCm de AMD tiene buena información al respecto si está interesado.

        • Stephane Hockenhull dice:

          Imagina que quieres escanear un póster grande (24 ″ x36 ″) pero solo tienes un escáner de alimentos tamaño carta de 8.5 ″ de ancho (el espacio en la BAR de Pi4).

          Simplemente no puede poner ese espacio de direcciones de GPU tan necesario en la pequeña ventana visible que tiene el Pi4.

          Es por eso que las tarjetas de red y los adaptadores USB funcionan (necesitan un espacio pequeño para paquetes pequeños) pero no una GPU con más de 8 GB de memoria y espacios de apertura de comando.

          • mister2d dice:

            Muchas gracias.

    • BrilaBluJim dice:

      Acerca de la forma no rectangular:
      "La PCB fabricada debe lijarse al tamaño correcto para que la sección de las almohadillas de cobre sea visible en el borde de la PCB, así como en un paquete QFN".

      Observo que esto no responde completamente a su pregunta; Mi suposición sería que el lijado se realizó sosteniendo la PCB entre los dedos, probablemente alcanzando una huella digital parcial en el proceso.

  • BiOzZ dice:

    Sé que probablemente no debería, pero esos rígidos convertidores de micro HDMI a HDMI me incomodan

    Acerca de por qué algunas tarjetas no hablan mientras que otras sí, no estoy seguro. Me sumergí en PCIe después de heredar una placa PCIe FPGA en el trabajo y concluí que PCIe era malo, no me agradaba y me rendí.
    Pero Altera CvP está listo

    • Sykobee dice:

      Estoy seguro de que no tiene nada que ver con ejecutar un PCIe (versión 2, creo) a través del PCB puente, a través de un puerto USB, a través de un cable USB (corto) a la placa del disyuntor PCIe, que a su vez tiene su propia ranura. tres interfaces enchufables. Esto ciertamente degradará un poco la señal, y tal vez esos dispositivos necesiten una mejor calidad de señal que los que funcionan. Es posible que haya un controlador rojo en la placa de explosión PCIe.

      • Zak (@ZakKemble) dice:

        Acabo de recibir un conmutador PCIe y las dos tarjetas que no funcionaron con el Pi tampoco funcionaron con el conmutador, así que no creo que sea un problema con las señales.

        • un hombre electronico dice:

          El Pi4 probablemente tiene una ventana de entrenamiento de enlaces demasiado estrecha. En la implementación por computadora, la ventana de entrenamiento del enlace es bastante larga, pero en un programa integrado como Pi4, la ventana de entrenamiento del enlace para la tarjeta probablemente sea demasiado estrecha. Yo diría que para resolver este problema, necesitaría acceso para cambiar la grabación del enlace Broadcom SoC. Por lo general, esto no se publica, pero si un pirata informático talentoso puede realizar ingeniería inversa en un parche Raspian de modo central para potenciarlo. Otros mencionaron la degeneración de la señal. Eso es ciertamente posible: está enfatizando la línea a través del registro, pero nuevamente es similar a mis comentarios anteriores, tendrá que piratear el núcleo.

      • Zak (@ZakKemble) dice:

        Acabo de probar un interruptor AM1184e, pero las dos tarjetas que no funcionan con el Pi tampoco funcionan con el interruptor, por lo que las malas señales probablemente no sean el problema.

    • kc8rwr dice:

      ¡Acordado! Teniendo en cuenta la opción de comprar uno con un puerto HDMI de tamaño completo, incluso si eso significa que la placa debe ser un poco más grande, lo haría siempre que tenga la intención de usar la salida de video.

      Una vez más, me encantaría poder comprar uno con los conectores que aún no estén soldados para edificios delgados.

      Y también me gustaría poder comprar un teléfono celular con conectores de tamaño completo, incluso si eso significa que tiene que ser más del doble de grueso.

      Pero ... estas cosas nunca existirán porque nadie más las quiere ... o eso nos hacen creer los especialistas en marketing.

      • jelabarre dice:

        Bueno, no están disponibles porque "nadie los quiere". Pero nunca puedes * mostrar * interés en un producto porque no hay nadie a quien comprarlo. Por eso nadie debería quererlos, porque nadie los compra.

    • Sr. Nada dice:

      No soporto las microversiones de los puertos en absoluto. siempre cortan. ¡Maldita sea la gente del teléfono!

      • jelabarre dice:

        Es algo que también me aburre con las tabletas. Tiene una carcasa (relativamente) grande, entonces, ¿por qué no pueden insertar una ranura SD / MMC de tamaño completo? Facilitaría el intercambio de medios y no sería tan fácil de perder como las tarjetas microSD de uñas rosa.

        • tristeza dice:

          laptops *

  • Ftorama dice:

    Las tarjetas desapercibidas se podrían solucionar modificando el dtb:
    http://labs.domipheus.com/blog/raspberry-pi-4-pci-express-it-actually-works-usb-sata-gpu/

    • Sykobee dice:

      Me pregunto si es posible insertar ese conmutador PCIe ASM1184e (QFN64) en el zócalo del controlador USB RPi a través de cualquier PCB adaptable, y manejar los cuatro zócalos USB en el Pi4 como los cuatro PCIe-E / Os directamente.

      • tekkieneet dice:

        Puede comprar una expansión PCIe (a través de un conmutador) y usarla como la tarjeta conectada a un RPi. Desde allí, desconecte los elevadores PCIe adicionales. https://www.aliexpress.com/item/32860687153.html

        • [TheDarkTiger] dice:

          ¿Por qué no algo más conveniente?
          https://fr.aliexpress.com/item/32827554033.html
          Eso está mejor, ¿no?

    • Foldi-One dice:

      No estoy seguro de si eso resolverá el problema, pero ciertamente podría (en realidad parece más probable que mi reacción inicial a continuación). Quiere saber más sobre qué dispositivos funcionan y no funcionan (y cómo fallan) para tener una mejor idea de Por qué.

      Esperaría que el problema sean las rutas de señal menos que ideales que no son lo suficientemente buenas en sí mismas (anteriormente se utilizaron cables de extensión PCI defectuosos), aunque esperaría que el kernel aún muestre su existencia en los protocolos, si no en lspci, no lo sé si lspci mostraría un dispositivo defectuoso, pero aún debe tener alguna evidencia de algo en el bus en los registros.

      Realmente quiero probar este tipo de cosas, pero aguanto un lanzamiento prometedor del módulo de computadora basado en Pi 4.
      Realmente quiero eso algunos de los elementos extra que solo tienen los módulos de computadora para un proyecto que tengo en mente. Un proyecto al que le gustaría mucho una opción de expansión funcional PCIe; aunque necesitaría más de una ranura PCIe, agregaré uno o dos pasos adicionales.

  • Ollie dice:

    ¡Esto es Loco! Quiero saber un poco más sobre la placa PCIE que tiene allí. Me pregunto si existe tal cosa a través de la entrada USB.

    • Harvie.CZ dice:

      Los conectores y cables USB3 se utilizan para extender PCIe en pasatiempos durante algún tiempo. No hay señales USB3 reales que atraviesen eso. Es un adaptador puramente pasivo, que se puede obtener en línea de los sospechosos habituales. Este truco capitaliza esto porque rpi4 ya tiene una manera fácil de redirigir el cableado PCIe a un conector USB incorporado simplemente conectando el chip controlador USB.

    • Bunsen dice:

      No es una entrada USB; es solo una placa de extensión que usa un cable USB3 como una fuente conveniente de algunos pares diferenciales controlados por impedancia. Hay una placa correspondiente que supuestamente ingresa a la ranura PCIe en un circuito base que imita la placa puente y el conector USB de Pi.

      • Palmadita dice:

        Resulta que el cable USB3 es casi el primer cable barato que se usa de esta manera, ya que tiene * exactamente * el número correcto de conexiones mínimas: las líneas RX / TX superrápidas (también utilizadas para RX / TX de PCIe), el USB2 original par diferencial.0 (usado para el reloj), y luego 2 líneas adicionales (vcc / gnd) usadas para PERST / WAKE, con el escudo usado como retorno.

        Obviamente, es cruel y algo exitoso debido a los diferentes estándares de impedancia de USB, pero PCIe tiene un margen mucho más que suficiente para lidiar con él.

        • Adrian Harold Chad dice:

          antes de us3 usaríamos sata .. 🙂

    • trndr dice:

      El controlador USB ha sido reemplazado por un puente de seguimiento, por lo que el "cable USB" es solo un cable de extensión para las pistas PCIe.
      La hija de PCIe es de un PCIe de conjunto extendido, que accidentalmente usa USB 3.0 como un cable con tipo A en ambos lados, probablemente para ahorrar costos de fabricación.
      No funcionará con un puerto USB 3.0 real.
      El único USB funcional en el pi es el puerto usb-c.

    • RW versión 0.0.3 dice:

      Aparecieron alrededor de 2015 en respuesta a una demanda de los mineros de GPU de criptomonedas que querían usar todas las interfaces PCIe disponibles en un circuito base, pero no podían igualar físicamente las GPU grandes una al lado de la otra, ya que ampliarían 2 ranuras, y luego realmente necesitaría más espacio para la ventilación. Otros extensores usaban cable plano y eran más cortos. El cable USB fue elegido recientemente como un conveniente cable serial de alta velocidad.

    • Ollie dice:

      ¡Gracias por todas sus contribuciones! Entendí que en realidad no es una interfaz USB adecuada, pero no tenía idea de que el conector USB 3 se está utilizando para otras señales.

  • doragasu dice:

    Bela hako. Podría ser incluso más fácil si puede perforar rutas alineadas en el borde de la PCB, esto dejará un rastro vertical cuando se corte la placa. Pero no sé qué tan bien funcionará esta técnica para esas pistas delgadas (utilicé esta técnica solo con taladros más grandes).

    • Harvie.CZ dice:

      "Agujeros almenada" es el término que está buscando.

    • Poder calvo dice:

      El tuyo es demasiado grande para eso. Mira la foto

    • tekkieneet dice:

      No con las reglas de diseño de OSH Park. Hice un paso de 1,27 mm y es posible que pueda apretar hasta un paso de 1 mm. Los orificios de la carretera + anillo en forma de anillo para la pista + cobre a cobre serán demasiado grandes para ir al paso de 0,5 mm típico de las piezas QFN.

      Los caminos ayudan, pero no son realmente necesarios.

      • Martín dice:

        Por supuesto, no con las reglas de diseño del parque OSH, sino con micros con láseres perforados a la izquierda, igualmente posible. Pero no hay bordes de castillo con un paso de 0,5 mm.
        Tuve que reemplazar algo como un paquete plano cuádruple pesado de 48 pines y 0,5 mm con un QFN ligeramente más pequeño (32 o 36 pines) + algunos componentes 0402. Así que diseñé una placa de 10 mm * 10 mm que se llenó con los componentes y se soldó a la PCB existente como un QFN.
        Era una placa de 1 cm²-6 capas con microondas y caminos ciegos y fue una pesadilla para el fabricante de PCB (tuvo que hacerlo 3 veces) y fue una pesadilla luchar con el PCB principal en sí mismo. Pero logramos hacer algunos prototipos, todos necesarios para decidir si queremos cambiar la PCB principal por un nuevo producto.

        • tekkieneet dice:

          Hay un forro de borde / forro lateral
          https://www.multi-circuit-boards.eu/en/pcb-design-aid/drills-throughplating/pcb-sideplating.html

          Los fabricantes de PCB más especializados pueden hacer esto tan bien como HDI (interconexión de alta densidad).

    • tekkieneet dice:

      También puede intentar crear esto con una PCB flexible. Haga las almohadillas un poco más largas y dóblelas 90 grados para hacer el "borde forrado" para facilitar la soldadura.

  • una mujer joven dice:

    ¿Alguien ha comprobado si este chip USB3 está ejecutando el modo 'alternativo'? Tal vez pueda pedirle que transmita las señales PCIE al conector.

    • Poder calvo dice:

      El BCM2711 no puede tener solo 1 x PCIe 2.0 y el UCB-C es solo USB 2.0.
      https://heise.cloudimg.io/width/2000/q75.png-lossy-75.webp-lossy-75.foil1/_www-heise-de_/ct/imgs/04/2/7/4/3/ 7/8/1 / RPi4-Block-e4359fdb4be588cf.png

      • RW versión 0.0.3 dice:

        Aquí hay una discusión para dejar de fumar, ¿ha probado iddqd o arriba, abajo, abajo, izquierda, derecha, izquierda, derecha, inicio?

      • Erik Johnson dice:

        Creo que se refieren a si se puede decir que el VL805 en los programas se vuelva transitorio

    • Poder calvo dice:

      USB3 no tiene modo Alt, el USB-C lo tiene. Pero el RPI4 USB-C es solo USB2 y alimentación. El BCM2711 solo tiene 1 x PCIe 2.0.
      https://heise.cloudimg.io/width/2000/q75.png-lossy-75.webp-lossy-75.foil1/_www-heise-de_/ct/imgs/04/2/7/4/3/ 7/8/1 / RPi4-Block-e4359fdb4be588cf.png

      • una mujer joven dice:

        Entonces, tal vez puedan diseñar un modelo futuro que reemplace la pila del conector USB3 con USB-C. Luego, ajuste el cable en un zócalo para mantener el modo PCIE Alt. Hacerlo deshabilitaría los puertos USB restantes.

  • Ren dice:

    "De esta manera, puede tener PCIe x1 y USB en Raspberry Pi 4."

    ¡Entonces puedes tener tu pastel ^ H ^ H ^ H ^ H Pi y comértelo también!

  • Paulvdh dice:

    Desde que la gente descubrió que la Raspberry Pi 4 tiene un bus PCIe, la carrera ha continuado ...

    Ahí dejé de leer.
    Probablemente alguna tontería de ingeniería inversa de la mierda de Broadcomm.
    En lugar de esto, preferiría usar alguna tabla donde los chips tengan hojas de datos reales.

    Esta cosa áspera merece mucho, considerando que hay más de 100 foros similares alrededor

    • Foldi-One dice:

      Un montón de tablas alrededor, y para empujar cajas de borde tan extrañas, muchas de ellas podrían ser una mejor opción. Aunque como me gusta el ambiente de la fundación Pi, los apoyaría con mi dinero.

      El Pi gana por una distancia estúpidamente grande por la calidad, el soporte y la comunidad, lo que hace que Raspberry Pi y su Fundación merezcan todo el mérito. También está muy bien documentado, no 100% abierto, pero casi no si hay algún SBC, siempre ese blob para este chip / función en algún lugar.

      También abierto y funcional son cosas muy diferentes: ¿realmente desea pasar días procesando y compilando solo para obtener una captura de pantalla o usar la imagen instalada que es irremediablemente obsoleta con respecto a las alternativas? Estoy seguro de que algunos de ellos no serán tan malos para comenzar, pero muchos de ellos son peores y prefiero obtener algo confiable para construir, sé que funciona que pasar meses buscando información sobre las extrañas posibilidades. . allí.

      Realmente desea abrirse para los núcleos FPGA y Risk V y hacer todo el trabajo usted mismo (asegurándose así de que todo esté "documentado y funcionando"), lo que suena divertido. Pero solo quieres continuar con un proyecto en el que Pi entró de forma predeterminada por una razón: ¡son muy buenos!

  • Chispeante dice:

    Esas pinzas de cocodrilo me ponen nervioso.

    • Shannon dice:

      Oye, veo lo que quieres decir. El negro realmente parece que toca dos de los pines del conector.

      • Stephane Hockenhull dice:

        Qué IIRC es bueno, los pines de la fila superior 3 están conectados a tierra, la fila inferior 3 es de 12V.

        Lo que no desea es levantar el clip negro hacia la fila inferior, pero eso debería hacer una pequeña chispa y disparar la protección del banco de la fuente de alimentación.

        Entonces, si tuviera que cortar este cocodrilo, cortaría el suelo hasta el soporte de metal de la tarjeta, donde no acortaría nada si lo sacara accidentalmente.

  • Tim S dice:

    Eche un vistazo a la configuración del árbol PCIe: leí en otro truco que Broadcom espera un dispositivo con un ID de proveedor específico. Permita que el árbol tenga una profundidad de> 4 y elimine el (los) ID de ventas y puede comenzar.

Alberto Gimenez
Alberto Gimenez

Deja una respuesta

Tu dirección de correo electrónico no será publicada.