M.2 ハッカー向け
最初の M.2 記事では、世の中で利用可能なさまざまなカードやポートを扱うときに混乱しないように、M.2 デバイスの実際のタイプと使用例について説明しました。 私はまた、かなりの数の M.2 カードとカード対応アダプターを自分で設計しました。 そして今日は、M.2 テクノロジーを自分で構築するために知っておくべきことをすべてお話したいと思います。
M.2 を使用した構築には 2 つの側面があります。PCB に M.2 ソケットを追加することと、M.2 カードである PCB を構築することです。 これらの両方について説明しますが、前者から始めて、M.2 ソケットの扱い方を知ることが唯一必要なことかもしれません。 これから説明する内容とは別に、Sparkfun MicroMod 設計ガイドなど、少しずつ学ぶことができるまともなガイドがいくつかあります。そのほとんどは MicroMod 固有のものですが、かなりの数の M.2 のヒントやコツも含まれています。
PCB 上の M.2 ソケットで何ができるでしょうか? まず、多くの趣味人向けのおいしい SoM や CPU は、PCIe インターフェイスにアクセスできるようになりました。開発ボードや単純なブレークアウトを構築している場合は、M.2 ソケットを使用して、すべてのハイパフォーマンスの NVMe SSD を接続できます。高速低電力ストレージのニーズ – 多くの Raspberry Pi Compute Module メインボードには、特にそのための M.2 M キー ソケットがあり、起動する RPi ファームウェアには NVMe サポートがあります。 さらに、いつでもフルサイズの PCIe アダプターまたはエクステンダーをそのようなソケットに接続し、PCIe ネットワーク カードやその他の必要なデバイス、場合によっては外部 GPU を接続することもできます。 ただし、PCIe 搭載 SoM はおいしいですが、M.2 ソケットを使用する唯一の理由ではありません。
PCIe 自体は、その人気とアクセスしやすさが高まっているインターフェイスです。 CFExpress カードの代わりに NVMe SSD を使用できるようにする、デジタル カメラ向けのアダプターを作成した人について取り上げました。どちらもバックボーンとして PCIe を備えたインターフェイスです。 これまでに紹介した別のアダプターを使用すると、PCIe WiFi カードを Pinebook に挿入でき、WiFi 速度を大幅に向上させることができます。 そしてもちろん、それは PCIe だけではなく、SATA や USB と組み合わせた場合でも同様です。 RISC-V Linux 対応 SBC を自社のボードに設計してみませんか? Sipeed は、LicheeRV と呼ばれる、現在入手可能な数少ない RISC-V SoM の 1 つを製造しています。これは、完全にカスタムのピン配置を持つ 2 つの M.2 B キー コネクタを使用する 20 ドルの SOM です。
67 ピンの低フットプリント グループで多くのことができることがわかりました。 たとえば、Sparkfun MicroMod は、カスタム ピン配列を持つ M.2 ハードウェアを利用するマイクロコントローラー エコシステムです。MicroMod の場合、これは E キー ハードウェアであり、カスタム カードの長さと保持ネジの位置がシフトされているため、WiFi カードは挿入できません。愛好家にとって、それらは、さまざまな CPU やセンサーを大量に備えた、きちんとしたファンキーなエコシステムであり、ビジネスで言えば、アプリケーション用のさまざまなプロセッサを評価できるようになります。 実際、[Thomas Flummer] が昨年作成した Remoticon バッジは MicroMod CPU 用に設計されており、つい最近、Hackaday Discord の [tzarc] が、MicroMod ベースのキーボードの構築がとても楽しかったと語ってくれました。
私自身の M.2 での仕事は、主にラップトップを改良し、古いハードウェアに新しい命を吹き込むことです。 たとえば、私は古いラップトップを復活させるためにかなりの数のアダプターを作成しました。つまり、設置面積の小さい mPCIe から M.2 M キー NVMe アダプターへのアダプターであり、私と私の友人は、古くてもまだ使用できるマシンに高速で安価な NVMe SSD を取り付けるために使用しています。 。 また、友人のユースケースのために、A/E WiFi カードを M キー SSD に、またはその逆に交換できるものなど、M.2 キーツーキー アダプターの宝庫も構築しました。 Apple Xserve ボードが独自の SATA ブート ドライブ コネクタで M.2 SATA SSD を使用するためのアダプタ。
M.2 ソケットには楽しいことがたくさんあります。 さて、どうやって?
M.2 ソケットを追加するには何が必要ですか? 機械的には、その設置面積と空き基板スペースが必要になります。 まずボードスペースについて話しましょう。 もちろん、カードを PCB からぶら下げて問題を「PCB スペース」から「ケース内のスペース」領域に移すこともできますが、それでもサイズを考慮する必要があります。 M.2 カードのサイズは、幅と高さをミリメートル単位で表す WWHH 形式の 4 桁で表されます。3042 WWAN カードは幅 30 mm、高さ 42 mm (カードの端を含む)、2280 SSD は幅 22 mm、高さ 80 mm です。 PCB にフットプリントを配置する場合、フットプリントに関連するカード エッジの正確な位置はデータシートに明示的に示されるか、断面画像から推測できます。
入手できるさまざまな M.2 ソケットがあります。私はそれらをミッドマウント、フラット、および角度付き挿入に分けます。それらの最も重要な違いは、PCB 上の高さです。 M.2 ソケットの PCB からカードまでの距離は実際には標準化されていますが、ミッドマウントおよびフラットマウント ソケットは標準化されていない領域ですが、それでも、プロジェクトを小型かつ薄型にするのに非常に役立ちます。 私はフラット ソケットを使用するの大ファンです。フラット ソケットはカードを所定の位置に保持するだけでスタンドオフが必要ないからです。とはいえ、一部の高級 SSD のような両面カードではうまく機能しない可能性が高く、あえて挿入するつもりはありません。コンポーネントはカードの下にあります。
ほとんどの M.2 ソケットは、高さに関係なく、同じ PCB フットプリントも標準化されているため、同じ正確な PCB フットプリントを使用します。ただし、垂直方向のスペースを節約する必要がある場合に非常に便利なミッドマウント ソケットを除きますが、フットプリントはかなり異なります。もうちょっと。 このフットプリントは実際には仕様で標準化されており、遭遇する圧倒的多数のソケットで同じになります。 しかし、最近友人が、これが常に当てはまるわけではないことを教えてくれました。LOTES APCI0162 は、通常のフットプリント ソケットよりもパッド間の距離が短い角度付き挿入コネクタの一例です。 したがって、新しい部品を購入するときは、念のため設置面積を再確認してください。
Digikey や Mouser などの適切な場所には、キー、高さ、取り付けタイプごとに適切に分類された M.2 コネクタがあります。 私と同じように、利便性よりも価格を選択して LCSC で買い物をする人のために、LCSC は実際に在庫を追跡するのが非常に苦手なので、約 1 か月前に LCSC 上に当時在庫のある M.2 ソケットの小さなデータベースを作成しました。重要なパラメータ。 あなたの仕掛けが奇抜すぎて仕様内のピン配置に適合しない場合に備えて、G キー ソケットもいくつかあります。
KiCad 標準ライブラリで M.2 ソケットのフットプリントが見つかりませんでした。フットプリントを借用してもよければ、再利用できるようにいくつか用意しています。 これは M、B、および E キー ソケットのフットプリントです。また、「すべての M.2 ソケット パッド」のフットプリントは次のとおりです。G キーまたはその他のソケット フットプリントが必要な場合は、これを使用して、不要なピンを取り外してください。 。 これも、ほとんどの角度付き挿入ソケットとフラット ソケットが適合する標準化された設置面積ですが、特定のソケットが適合するかどうかを確認してください。
角度の付いた挿入カードの場合は、スタンドオフが必要になります。そうしないと、カードを適切に押さえるまでカードが機械的に接続されない可能性があります。 M2 ハードウェアが最適に機能し、M2.5 はピンチの場合に機能します。 カードをケースに固定する場合は、ネジ付きインサートをいくつかつかんで完了するでしょう。 ただし、SSD を PCB に固定する必要がある場合は、はんだ付け可能なスタンドオフが必要になります。LCSC で買い物をするとき、Twitter の s-ol がキーワード「smtso」を使用してスタンドオフを見つけることができることを思い出させてくれます。
組み立てについてはどうですか? 私の経験では、はんだペーストを使用したステンシルが絶対に必要です。これは、非常に密度の高い 0.5 mm ピッチの部品であり、ホット エア ガン/ホットプレート/リフロー オーブンが最適です。 とはいえ、先端が十分に薄く、予熱があれば、基板にステンシルを施し、いざというときにはんだごてを使うこともできます。あるいは、薄いはんだを細いこて先で使うこともできますが、それ以上の量を組み立てたい場合は面倒になります。板が2枚か3枚。
はんだ付け後、ピン間にはんだブリッジが残る可能性があります。私の経験では、ブリッジ部分を下から狭い熱風ガンのノズルで加熱し、ブリッジが溶けた後にフラックスを加え、鋭いピンセットを使用すると、これらのブリッジをきれいに取り除くことができます。またはピンを機械的に分離するための針。 パッド上に多量のはんだペーストをステンシルしたために分離直後にショートが結合した場合は、事前に古き良きはんだ吸い取り線を使用しておくと効果的です。
PCIe の場合、SSD には M キー、WWAN 互換カードには B キー、WiFi 互換スロットには E キーを使用することをお勧めします。 これら 3 つのスロットは、それぞれ最大 4x、2x、1x 幅の PCIe リンクを処理できますが、CPU に 1x PCIe しかない場合でも、最初のレーン ピンを接続するだけで、これら 3 つのいずれかを使用できます。もっと知りたいと思っています。 代わりに SATA が必要な場合も、2 つの diffpair だけで非常に簡単です。 圧倒的多数の SATA SSD は B+M であるため、B キーまたは M キーのいずれかを使用できます。これは、SATA に M キーを使用したボードです。単純に、その時点で優れた M キーをいくつかストックしていたからです。 -キーソケット。
ピン配置とシンボルはどこから入手しますか? まず、少なくとも KiCad 6 には、KiCad 標準ライブラリーにシンボルがあります。それ以外にも、私のリポジトリからシンボルを取得できます。M キー、B キー、B+M キー用のシンボルを入手しました。 、A+E キーと E キー。 カードのフットプリントはソケット上に存在する取り付けパッドの不足を無視するため、これらはソケットとカードの両方で機能します。 これらが制限的で、より具体的なものが必要な場合は、常に危険な Web サイトが存在し、前回の記事の最後で述べた仕様が浮遊しています。
M.2 カードは 3.3 V のみを必要としますが、かなりの電流を消費する可能性があります。 カスタム カードを作成している場合は、デバイスの消費量がわかっているため、問題はありません。 ただし、設計内で既存の SSD、WiFi、および WWAN カードを再利用する場合、作業が少し複雑になる可能性があります。 ラップトップの回路図から学ぶのが最も簡単な方法です。要約すると、WiFi カードに 1 A ~ 2 A、WWAN および SSD カードに 1 A ~ 3 A を提供するのが得策と考えられます。 また、M.2 仕様では、一部の WWAN カードが 3.3 V ではなく単一セル LiIon 範囲 (3 V ~ 4.2 V) の入力電圧向けに構築されている可能性があると述べています。そのようなカードには遭遇しない可能性が高く、次のように書かれている可能性があります。データシートのラベルまたは最初のページですが、それでも知っておくとよいでしょう。
PCIe カードには PREST、CLKREQ、PEWAKE 信号が必要です。 とはいえ、CLKREQ は電源管理の目的でクロックをゲートするために使用され、PCIe ホスト側の GND に接続できます。その証拠として、常に豊富な USB 3 ケーブルを悪用する PCIe 1x ライザーは PEWAKE と PEWAKE を転送するだけです。プレスト。 WWAN および WiFi カードの W_DISABLE 信号については、VCC にプルアップを追加するとよいでしょう。アクティブ ローだと思いますが、再確認してください。 SATA および NVMe の DAA/DSS 信号は、LED の駆動に使用できる優れた「ドライブ アクティビティ」オープン ドレイン信号です。 SUSCLK はカードの省電力に役立つ 32 kHz クロックですが、実際には必要ありません。DEVSLP は SATA 専用の低電力モード信号です。 I2C 信号は役に立たない可能性がありますが、念のため 0R 抵抗を介してターゲットに接続しても問題はありません。
高電流カード、またはカードとホストの組み合わせを構築しますか? 技術的には、M.2 コネクタの定格はピンあたり 0.5 A なので、9 つの 3.3 V ピンを備えた M キーの最大電流は 4.5 A になります。とはいえ、M キーの推奨値は 2.5 A を超えないようにすることであり、それは遵守したいこと。 方程式の両側が制御可能で、独自のピン配置 (できれば G キーなどを使用) を作成している場合は、思い切って、必要なだけ多くの異なる電圧のピンを使用してください。 Sipeed が LicheeRV を設計するときに、ベースボードに 5 V を供給するために M.2 ソケット ピンを 1 つだけ使用していることを知っていればよかったのにと思います。 それが実際の問題であるかどうかはわかりませんが、最適ではないことは確かです。
ラップトップのメインボードに不当に実装されていない M.2 ソケットに直面していませんか? レセプタクルを見つけるのは難しいことではありません。フットプリントが標準化されているので、特に回路図を持っている場合は、コネクタの部品番号が記載されていることが多いためです。 ただし、実装済みのメインボードにコネクタを正確にステンシルすることはできないため、コネクタをはんだ付けするのはより困難です。 まず工場で塗布されたはんだを吸い取り、コネクタが PCB の面一に収まるようにしてから、コネクタを取り付け、先端の細いはんだごてを使用して、薄いはんだを使用してパッドを 1 つずつ取り付けることをお勧めします。 そこから、一部の電源管理部品や信号受動部品、たとえばコンデンサーが実装されなくなる可能性があります。 PCIe または SATA シリーズ コンデンサの適切な値は約 220nF です。 USB 信号や PEWAKE/CLKREQ/PERST などは 0R や 22 R などでジャンパ接続でき、電源管理は通常 3.3 V にジャンパ接続するだけでよく、その他多くの信号はオプションです。
これで、M.2 対応のものを構築およびハッキングするための十分な準備が整い、それが役立つ場所をかなりの数知っています。 次回は、M.2 カードの構築方法を紹介したいと思います。これらにも素晴らしいアプリケーションがたくさんあります。