banner

Blog

Aug 09, 2023

M.2 para piratas informáticos

La última vez, expliqué todo lo que podrías querer saber si quisieras colocar un zócalo M.2 en tu placa. ¡Hoy construyamos tarjetas M.2! Hay una gran cantidad de zócalos M.2 que simplemente solicitan que se inserte una tarjeta especial y tal vez sea su creación la que encaje.

Las computadoras portátiles y otras placas base x86 suelen venir con ranuras M.2. ¿Tiene una ranura para llave B libre? Puede colocar un RP2040 y un conjunto de sensores en una PCB de clave B como plataforma experimental que se lleva de forma segura dentro de su computadora portátil. ¿Le gustaría realizar algunos experimentos FPGA más avanzados? Aquí hay una placa FPGA minúscula que cabe dentro de su computadora portátil y le permite jugar con PCIe en esta misma computadora portátil; toda la configuración ocupa un espacio muy reducido. ¿Está buscando un enlace PCIe adicional porque está reutilizando su computadora portátil como servidor doméstico? Nuevamente, tu ranura WiFi te proporcionará eso. ¿Quieres sacar algo de PCIe de un SteamDeck? ¡Construir una tarjeta M-key 2230 parece ser tu única esperanza!

También hay mucho espacio para dispositivos más simples y menos activos. ¿Tiene sólo una ranura para llave M de repuesto, quizás una ranura para llave A o E? Puede reemplazar su adaptador WiFi con un SSD adicional para obtener almacenamiento adicional, o tal vez, al revés, colocar una segunda tarjeta WiFi en su segunda ranura SSD para todas sus necesidades de almacenamiento. ¿Acaba de encontrar algunos rastros de puertos SATA no utilizados en su placa base? Puede hacer lo que hice y crear una tarjeta M.2 de doble puerto que separe un zócalo SSD más de su línea de alimentación, a la que pueda conectar ese puerto SATA adicional y colocar un SSD SATA M.2. ¿Descubrió que su conjunto de chips puede brindarle cuatro puertos SATA completos en la ranura SSD con clave M? ¡Puedes hacer lo que hizo mi amigo y construir una tarjeta que rompa estos puertos SATA!

Incluso fuera de x86, bastantes SBC ARM tendrán los mismos problemas: tienen un zócalo M.2 con una clave específica, digamos B, que no se adapta a algún extensor M.2 que acaba de comprar; bueno, resulta que usted Puedes hacer un adaptador por tu cuenta. ¿Qué tal ir más allá del estándar? Por supuesto, existe el ecosistema SparkFun MicroMod que mencioné antes. ¿Le gustaría desarrollar una placa de CPU MicroMod que funcione con una gran variedad de otros dispositivos, o quizás su propio sensor MicroMod? Esa es una tarjeta M.2 ahí mismo; y si necesitas crear tu propio ecosistema usando M.2, nadie te detiene tampoco.

Por supuesto, se pueden diseñar tarjetas con tipos de valor añadido totalmente diferentes. Por ejemplo, podrías sacar dinero de los audiófilos diseñando SSD caros de "grado de audio" con elegantes condensadores electrolíticos; no querrías que todo ese baño de oro fuera subestimado, ¿verdad? Y, si usted es un fabricante de SBC y utiliza un zócalo M.2 para su ranura de expansión, cuando los compradores dicen que quieren usar su SBC como enrutador, nadie puede impedirle que diseñe una tarjeta gigantesca y absolutamente extravagante con cuatro zócalos Ethernet en él.

Las tarjetas M.2 tienen tamaños estandarizados: 3042 para 30 mm de ancho y 42 mm de alto, 2260 para 22 mm de ancho y 60 mm de alto; Lo útil es que estas serán las dimensiones exactas de su PCB. La muesca del tornillo está centrada a diferencia de las tarjetas mPCIe y suele ser un solo tornillo M.2. Verá gente diciendo que el tornillo es responsable de tener una conexión a tierra; no lo es, aunque pueda parecerlo, las clavijas de tierra en el receptáculo en sí son suficientes, aunque las rutas de tierra adicionales tienden a ser buenas. De hecho, tampoco es necesario que el área de la muesca exponga el cobre; puede ser simplemente un recorte de PCB.

Si diseña una tarjeta para un dispositivo existente, tendrá 42 mm u 80 mm de largo. 30 mm son raros fuera del SteamDeck y otros dispositivos que ocupan poco espacio, y 60 mm son muy oscuros. 22 mm es el ancho para todo excepto para las ranuras WWAN, que generalmente están diseñadas teniendo en mente un ancho de tarjeta de 30 mm. No es necesario colocar todos los componentes en un solo lado de la tarjeta, aunque, por supuesto, te facilitará el montaje. Sin embargo, tenga en cuenta que algunos dispositivos utilizan un zócalo plano o de montaje medio, y los componentes altos en la parte inferior pueden convertirse en un problema que no hubiera esperado.

M.2 requiere una PCB de 0,8 mm. No es necesario tener ENIG, pero lo recomiendo. Tengo entendido que el recubrimiento de soldadura realizado con HASL se oxidaría más rápido y empeoraría el contacto con los zócalos de las tarjetas; dicho esto, nunca intenté usar HASL. ¡Sin embargo, estoy seguro de que HASL funcionaría bastante bien para prototipos de uso a corto plazo! Se podría pensar que el tratamiento con dedos dorados es imprescindible, ya sea con oro más grueso en las almohadillas o con el borde biselado de la tarjeta; en mi experiencia, ninguno de los dos es necesario, pero el oro más grueso aumentará los ciclos de conexión y desconexión y un borde biselado hará que la tarjeta sea más atractiva. Un poco más fácil de insertar. Personalmente, siempre opté por ENIG normal no biselado y tuve una gran experiencia.

Por supuesto, querrás una huella en el borde de la tarjeta en KiCad. Personalmente he estado usando un complemento generador de huella de borde de tarjeta KiCad M.2, creado inicialmente por @STOP-Pi en GitHub y refactorizado por mí. Sin embargo, el autor eliminó su cuenta de GitHub en algún momento y el complemento ya no se carga en KiCad6; todas las huellas generadas se realizaron en KiCad5. Lo peor es que, entre el momento en que hice los cambios y el momento de la eliminación, incluso actualizaron el código del complemento, y es posible que me haya perdido sus confirmaciones de compatibilidad con KiCad 6 antes de la eliminación. ¡Bien, las solicitudes de extracción son bienvenidas! Mientras tanto, aquí están los bordes de tarjetas A, B, E, M, A+E y B+M pregenerados que ya puedes usar, y [timonsku] también creó una biblioteca Eagle que deberías poder usar fácilmente convertir a KiCad.

Quizás se pregunte si necesitaría una PCB de cuatro capas, especialmente si desea hacer PCIe: con cuatro capas, en realidad se puede lograr una adaptación de impedancia de 90 ohmios, mientras que una distancia de 0,8 mm a tierra en dos capas lo hace poco realista. Esta es mi experiencia: he estado fabricando adaptadores PCIe pequeños desde hace un tiempo y han funcionado bastante bien en 2 capas, lo cual es un requisito para mi flujo de trabajo de creación de prototipos específico. Por lo general, las tarjetas M.2 representan una distancia muy corta proporcional a la longitud de todo el enlace PCIe que tendrá, y las desviaciones probablemente no impedirán que el enlace PCIe funcione; son distancias más largas las que pueden causarle problemas hasta que actualice su cableado. No me sorprendería ver una tasa de error más alta o que el enlace se degrade a una generación más baja durante el entrenamiento, pero apuesto a que su PCIe funcionará.

¿Necesitas quedarte con dos capas? Haga tanta coincidencia de impedancia como pueda, trate sus pares diferenciales con respeto y sus prototipos funcionarán bien; después de todo, se ha dicho que PCIe funciona sobre cadena húmeda y hemos sido testigos de confirmaciones una tras otra. Mis pares de diferencias suelen ser de 0,35 mm/0,15 mm, lo que está dentro de los límites del proceso económico de 2 capas y da como resultado una impedancia de alrededor de 130 ohmios, lo cual es imperfecto pero mejor que nada. Para cosas como PCIe y SATA, M.2 generalmente mantiene todos los pares diferenciales de alta velocidad en la parte superior de la tarjeta, y esto por sí solo ayuda mucho con aspectos como una capa de tierra ininterrumpida debajo de sus pares. Si su flujo de trabajo y presupuesto le permiten cuatro capas, ¡adelante!

Agregue un plano de retención del plano de relleno del suelo en el área donde van los dedos dorados; de lo contrario, podría provocar un cortocircuito en un montón de pines importantes del lado del host al insertar la tarjeta. El estándar también sugiere un plano de retención en las capas internas debajo de los dedos, así que téngalo en cuenta si utiliza cuatro capas o más.

Al estarcir, asegúrese de que la pasta de soldadura no entre en contacto con los dedos de la tarjeta M.2; límpielos bien antes del reflujo si lo hace, porque es mucho más doloroso dejarlos sin soldadura después. Los PCB de 0,8 mm son delgados, y si decide ventilarlos con aire caliente, fíjelos de una manera que no los estrese. Algunas tarjetas M.2 de diseño propio se doblaron cuando se sujetaron en un tornillo de banco y se golpearon con un Pistola de aire caliente que, quizás, estaba un poco fuera de su calibración.

En términos de potencia, sólo obtienes 3,3 V, a uno o dos amperios. Esto es tanto una bendición como una maldición: tiene mucha potencia y, por lo general, no se necesita regulación adicional, ya que la mayoría de los chips funcionan con 3,3 V, pero todavía hay algunos buenos usos para 5 V. Fabricantes que necesitan obtener 5 V en una tarjeta M.2, tienden a recurrir a soluciones malditas: aquí está la historia de un adaptador Dell que crea un zócalo HDD de 2,5 ″ a partir de M.2, que redefine uno de los pines GND como un pin de detección de tarjeta propietario y envía 5 V. a un grupo de pines reservados si ese pin no está conectado a GND.

¿Está diseñando una tarjeta para un dispositivo existente y espera una interfaz determinada? Asegúrese de que realmente esté allí; como mencioné, puede esperar PCIe en los zócalos A, E y M, y USB 2.0 en los zócalos A, E y B, todo lo demás no es un hecho. Si Internet no le ayuda aquí, buscar rastros provenientes del enchufe podría funcionar, pero no siempre es infalible porque las señales pueden pasar a través de vías debajo del enchufe. Dicho esto, si puede detectar rastros o condensadores en serie de pares diferentes, será una buena indicación, o tal vez usar un multímetro para una prueba de diodo interno de IC en USB2 o señales de un solo extremo como PERST / PEWAKE / CLKREQ estaría en orden. Después de todo, bastantes portátiles tienen ranuras de llave B que sólo tienen USB 3.0 (ThinkPad T460s), o incluso sólo USB 2.0 (ThinkPad T470S), a pesar de que SATA y PCIe suelen estar disponibles.

Con esto concluye la serie “M.2 para hackers”. Algunas cosas sobre M.2 pueden parecer extrañas cuando lo ves por primera vez, pero espero poder aclarar lo que está pasando y cómo puedes participar en la acción. El ecosistema M.2 no desaparecerá pronto y será útil saber cómo adaptarlo a nuestra voluntad cuando sea necesario.

COMPARTIR