M.2 pour les pirates
Dans le premier article M.2, j'ai décrit les types et les cas d'utilisation réels des périphériques M.2, afin que vous ne soyez pas confus lorsque vous traitez avec les différentes cartes et ports disponibles. J'ai également conçu moi-même pas mal de cartes M.2 et d'adaptateurs acceptant les cartes. Et aujourd'hui, j'aimerais vous dire tout ce que vous devez savoir pour construire vous-même la technologie M.2.
Il y a deux côtés à construire avec M.2 : ajouter des sockets M.2 sur vos PCB et construire les PCB qui sont des cartes M.2. Je vais couvrir les deux, en commençant par le premier, et savoir comment gérer les prises M.2 pourrait être la seule chose dont vous ayez jamais besoin. En dehors de ce que je vais décrire, il existe des guides décents à partir desquels vous pouvez apprendre des éléments, comme le guide de conception Sparkfun MicroMod, dont la plupart sont spécifiques à MicroMod mais incluent également quelques trucs et astuces M.2.
Que pourriez-vous faire avec une prise M.2 sur votre PCB ? Pour commencer, de nombreux SoM et CPU savoureux et conviviaux pour les amateurs ont désormais une interface PCIe accessible, et si vous construisez une carte de développement ou une simple évasion, une prise M.2 vous permettra de connecter un SSD NVMe pour tous vos haut- accélérer les besoins de stockage à faible consommation d'énergie - de nombreuses cartes mères Raspberry Pi Compute Module ont des sockets M.2 M-key spécifiquement pour cela, et il y a un support NVMe dans le firmware RPi pour démarrer. De plus, vous pouvez toujours brancher un adaptateur PCIe pleine taille ou une extension dans une telle prise et connecter une carte réseau PCIe ou un autre périphérique indispensable - même peut-être un GPU externe ! Cependant, même si les SoM équipés de PCIe sont savoureux, ils sont loin d'être la seule raison d'utiliser des sockets M.2.
PCIe lui-même est une interface dont la popularité et l'accessibilité augmentent. Nous avons couvert que quelqu'un fabriquait un adaptateur destiné aux appareils photo numériques, vous permettant d'utiliser des SSD NVMe à la place des cartes CFExpress - les deux interfaces avec PCIe comme colonne vertébrale. Un adaptateur différent que nous avons vu vous permet de mettre une carte Wi-Fi PCIe dans un Pinebook, ce qui vous aide à augmenter considérablement les vitesses Wi-Fi. Et bien sûr, ce n'est pas seulement PCIe, pas même lorsqu'il est couplé avec SATA ou USB. Souhaitez-vous concevoir un SBC compatible RISC-V Linux dans votre propre carte ? Eh bien, Sipeed propose actuellement l'un des rares SoM RISC-V, appelé LicheeRV, et il s'agit d'un SOM à 20 $ utilisant deux connecteurs M.2 B-key avec un brochage entièrement personnalisé.
Il s'avère que vous pouvez faire beaucoup avec un groupe de 67 broches à faible encombrement. Par exemple, Sparkfun MicroMod est un écosystème de microcontrôleurs qui utilise du matériel M.2 avec un brochage personnalisé - dans le cas de MicroMod, il s'agit d'un matériel E-key, avec une longueur de carte personnalisée et l'emplacement de la vis de rétention étant décalé afin que les cartes WiFi ne puissent pas être branché. Pour les amateurs, il s'agit d'un écosystème soigné et funky avec des tonnes de processeurs et de capteurs différents avec lesquels jouer - en termes d'affaires, ils nous permettent d'évaluer une variété de processeurs différents pour nos applications. En fait, le spin de badge Remoticon de l'année dernière par [Thomas Flummer] a été conçu pour les processeurs MicroMod, et tout récemment, [tzarc] sur Hackaday Discord nous a dit qu'ils s'étaient beaucoup amusés à construire un clavier basé sur MicroMod !
Mon propre travail avec M.2 consiste principalement à améliorer les ordinateurs portables et à donner une nouvelle vie à l'ancien matériel. Par exemple, j'ai construit pas mal d'adaptateurs pour faire revivre d'anciens ordinateurs portables - c'est-à-dire des adaptateurs mPCIe à M.2 M-key NVMe à faible encombrement, que mes amis et moi utilisons pour mettre des SSD NVMe rapides et bon marché dans des machines anciennes mais toujours utilisables . J'ai également construit une mine d'adaptateurs clé à clé M.2 pour les cas d'utilisation de mes amis, comme celui qui vous permet de remplacer une carte WiFi A/E par un SSD M-key, ou vice-versa, et un adaptateur pour les cartes Apple Xserve pour utiliser les SSD M.2 SATA dans son connecteur de lecteur de démarrage SATA propriétaire.
Il y a beaucoup de plaisir à avoir avec les prises M.2. Maintenant comment?
Que vous faut-il pour ajouter une prise M.2 ? Mécaniquement, son encombrement, ainsi que quelques espaces libres à bord. Parlons d'abord de l'espace du conseil d'administration. Bien sûr, vous pouvez faire pendre la carte de votre PCB - en transférant le problème de "l'espace PCB" à la zone "l'espace à l'intérieur de votre boîtier", mais vous devez toujours tenir compte de la taille. La taille de la carte M.2 est décrite avec quatre chiffres au format WWHH, qui sont la largeur et la hauteur en millimètres - une carte WWAN 3042 mesure 30 mm de large et 42 mm de haut (y compris le bord de la carte), et un SSD 2280 mesure 22 mm de large et 80 mm de haut. Lors de la pose d'une empreinte sur un circuit imprimé, l'emplacement exact du bord de la carte lié à l'empreinte sera soit explicitement indiqué dans la fiche technique, soit déduit de l'image en coupe.
Il existe différentes prises M.2 que vous pouvez obtenir - je les sépare en insertion médiane, plate et coudée, et leur différence la plus importante est la hauteur au-dessus de votre PCB. Les distances PCB-carte du socket M.2 sont en fait normalisées, mais les sockets à montage central et à plat sont une zone moins que standardisée - néanmoins, ils sont extrêmement utiles pour rendre vos projets petits et minces. Je suis un grand fan de l'utilisation de sockets plats car ils maintiennent simplement votre carte en place, aucune impasse requise - cela dit, ils ne fonctionneront probablement pas bien avec des cartes double face comme certains SSD plus sophistiqués, et je n'oserais pas mettre composants sous la carte non plus.
La plupart des sockets M.2, quelle que soit la hauteur, utilisent la même empreinte PCB exacte, car elle est également normalisée - à l'exception des sockets à montage intermédiaire, qui sont très utiles lorsque vous avez besoin d'économiser de l'espace vertical, mais leurs empreintes varient assez un peu plus. Cette empreinte est en fait normalisée dans la spécification et sera la même pour la grande majorité des sockets que vous rencontrez. Un ami m'a récemment montré, cependant, que ce n'est pas toujours le cas - LOTES APCI0162 est un exemple de connecteur d'insertion coudé qui a une distance entre les pastilles inférieure à celle des prises à empreinte habituelles. Alors, revérifiez l'empreinte lors de l'achat d'une nouvelle pièce, juste au cas où !
Des endroits appropriés comme Digikey et Mouser auront des connecteurs M.2 bien triés par clé, hauteur et type de montage. Au cas où, comme moi, vous choisiriez le prix plutôt que la commodité en achetant chez LCSC, il y a environ un mois, j'ai compilé une petite base de données de sockets M.2 alors en stock sur LCSC, car LCSC est si mauvais pour garder une trace de les paramètres importants. Il y a même des douilles G-key au cas où vos engins seraient trop loufoques pour s'adapter aux brochages conformes aux spécifications !
Je n'ai pas trouvé d'empreintes de socket M.2 dans la bibliothèque standard KiCad - si cela ne vous dérange pas d'emprunter des empreintes, j'en ai à réutiliser. Voici les empreintes pour les sockets M, B et E-key, et voici une empreinte "tous les pads de socket M.2" - si vous avez besoin d'une clé G ou d'une autre empreinte de socket, prenez celle-ci et retirez les broches dont vous n'avez pas besoin . Il s'agit, encore une fois, de l'empreinte standardisée que la plupart des douilles à insertion coudée et plates conviendront, mais vérifiez si votre douille spécifique le fait.
Avec les cartes à insertion inclinées, vous aurez besoin d'une entretoise - sinon, il est peu probable que la carte se connecte mécaniquement tant que vous ne la maintenez pas correctement. Le matériel M2 fonctionnera mieux et M2.5 fonctionnera à la rigueur. Si la carte est fixée dans votre boîtier, vous saisirez probablement des inserts filetés et vous en aurez fini avec elle. Si vous avez besoin de fixer votre SSD à votre PCB, cependant, vous aurez besoin d'entretoises soudables – et lors de vos achats chez LCSC, s-ol sur Twitter nous rappelle que nous pouvons les trouver en utilisant le mot-clé « smtso ».
Qu'en est-il de l'assemblage ? Mon expérience est que vous voudrez absolument un pochoir avec de la pâte à souder, car ce sont des pièces assez denses au pas de 0,5 mm, et un pistolet à air chaud/plaque chauffante/four de refusion fonctionnera mieux. Cela dit, avec une pointe suffisamment fine et peut-être un préchauffage, vous pouvez pochoir votre carte, puis utiliser un fer à souder à la rigueur également, ou peut-être une soudure fine avec une pointe de fer fine - mais ce sera fastidieux si vous voulez assembler plus de deux ou trois planches.
Après la soudure, vous pouvez toujours vous retrouver avec des ponts de soudure entre les broches - d'après mon expérience, vous pouvez nettoyer ces ponts magnifiquement en chauffant la zone du pont à travers une buse étroite de pistolet à air chaud par le bas, en ajoutant du flux après la fonte du pont, puis en utilisant des pincettes pointues ou une aiguille pour séparer mécaniquement les broches. Si le court se joint juste après la séparation parce que vous avez appliqué trop de pâte à souder sur les pastilles, l'utilisation préalable d'une bonne vieille mèche à souder devrait également aider.
Pour PCIe, je vous recommande d'utiliser la clé M pour les SSD, la clé B pour les cartes compatibles WWAN et la clé E pour les emplacements compatibles WiFi. Ces trois emplacements peuvent gérer respectivement jusqu'à 4x, 2x et 1x liaisons PCIe larges, mais même si vous n'avez que 1x PCIe sur votre processeur, vous pouvez utiliser l'un de ces trois, en connectant uniquement les broches de la première voie - lisez notre article sur le piratage PCIe si vous aimeriez en savoir plus. Si SATA est ce que vous voulez à la place, c'est aussi assez simple, juste deux diffpairs. À cela, vous pouvez utiliser la clé B ou la clé M, car la majorité écrasante des SSD SATA sont B + M - voici une carte où j'ai utilisé la clé M pour SATA, simplement parce qu'à ce moment-là, j'ai fait le plein de bons M -prises à clé.
D'où obtenez-vous les brochages et les symboles ? Pour commencer, il y a des symboles dans la bibliothèque standard de KiCad, au moins dans KiCad 6. En dehors de cela, vous pouvez, encore une fois, obtenir des symboles de mon repo - j'en ai eu pour M-key, B-key, B+M key , touche A+E et touche E ; ceux-ci fonctionnent à la fois avec les sockets et les cartes, car les empreintes des cartes ignoreront simplement le manque de plots de montage présents sur les sockets. Si ceux-ci sont limités et que vous en avez besoin de plus spécifiques, il y a toujours les sites Web douteux et les spécifications flottantes que j'ai mentionnées à la fin du dernier article.
Les cartes M.2 ne nécessitent que 3,3 V, mais elles peuvent consommer beaucoup de courant. Si vous créez des cartes personnalisées, ce ne sera pas un problème, car vous savez combien votre appareil peut consommer. Cependant, lorsque vous réutilisez des cartes SSD, WiFi et WWAN existantes dans vos conceptions, les choses peuvent devenir un peu plus complexes. Apprendre à partir des schémas d'ordinateurs portables est le moyen le plus simple - pour résumer, fournir 1 A - 2 A pour les cartes WiFi et 1 A - 3 A pour les cartes WWAN et SSD est probablement une bonne idée. En outre, la spécification M.2 mentionne que certaines cartes WWAN peuvent être conçues pour une tension d'entrée dans la plage LiIon à cellule unique (3 V-4,2 V) au lieu de 3,3 V. Vous ne rencontrerez probablement pas de telles cartes et il est probable qu'elles soient écrites dessus. l'étiquette ou la première page de la fiche technique, mais c'est quand même bon à savoir.
Les cartes PCIe nécessitent des signaux PREST, CLKREQ et PEWAKE. Cela dit, CLKREQ est utilisé pour déclencher l'horloge à des fins de gestion de l'alimentation et peut être lié à GND du côté de l'hôte PCIe. PREST. Pour les signaux W_DISABLE sur les cartes WWAN et WiFi, vous voudrez peut-être ajouter des pullups à VCC - je pense qu'ils sont actifs bas, mais veuillez revérifier. Le signal DAA/DSS sur SATA et NVMe est un joli signal de drain ouvert « d'activité de disque » que vous pouvez utiliser pour piloter une LED. SUSCLK est une horloge de 32 kHz utile pour l'économie d'énergie de la carte mais non requise dans la pratique, et DEVSLP est un signal de mode basse consommation SATA uniquement. Les signaux I2C ne seront probablement pas utiles, mais cela ne fera pas de mal si vous les connectez à votre cible – via des résistances 0R, juste au cas où.
Construire une carte à courant plus élevé ou une combinaison carte + hôte ? Techniquement, les connecteurs M.2 sont évalués à 0,5 A par broche, donc, la clé M avec ses neuf broches de 3,3 V donnerait 4,5 A max - cela dit, la recommandation pour la clé M est de ne pas dépasser 2,5 A, et c'est ce à quoi vous voudrez adhérer. Dans le cas où les deux côtés de l'équation sont sous votre contrôle et que vous créez votre propre brochage (de préférence, en utilisant quelque chose comme la touche G), déchaînez-vous et utilisez autant de broches avec autant de tensions différentes que vous le souhaitez. Je souhaite juste que Sipeed le sache lors de la conception de LicheeRV - apparemment, ils n'utilisent qu'une seule broche de prise M.2 pour alimenter 5 V dans la plinthe. Je ne sais pas si c'est un problème réel, mais cela semble sous-optimal à coup sûr!
Vous êtes confronté à une prise M.2 non remplie de manière injustifiée sur la carte mère de votre ordinateur portable ? Trouver une prise ne sera pas la partie la plus difficile, car les empreintes sont normalisées - surtout si vous avez les schémas, car ceux-ci indiquent souvent le numéro de pièce du connecteur. Souder le connecteur serait cependant plus délicat, car vous ne pouvez pas exactement le pochoir sur une carte mère peuplée. Je vous recommande de retirer d'abord la soudure appliquée en usine afin que le connecteur puisse s'aligner sur le circuit imprimé, puis de mettre le connecteur et d'utiliser un fer à souder à pointe fine avec une soudure fine pour fixer les pastilles une par une. À partir de là, il se peut que certaines pièces de gestion de l'alimentation et certains passifs de signal, par exemple des condensateurs, soient vides. Une bonne valeur pour les condensateurs de la série PCIe ou SATA est d'environ 220 nF ; Les signaux USB et des trucs comme PEWAKE/CLKREQ/PERST peuvent être pontés avec quelque chose comme 0R ou 22 R, la gestion de l'alimentation peut généralement être simplement pontée à 3,3 V, et de nombreux autres signaux que vous trouverez facultatifs.
Maintenant, vous êtes bien équipé pour construire et pirater des trucs acceptant M.2, et vous connaissez pas mal d'endroits où c'est utile. La prochaine fois, je veux vous montrer comment construire des cartes M.2 - il y a aussi une mine d'applications sympas pour celles-ci !