Raspberry Pi社は、市場で最も人気があり、広く使用されているシングルボードコンピュータを開発しました。これらの強力なシングルボードコンピュータは、長い間、メーカーやホビーストのシーンだけでなく、産業分野でも使用されてきました。
アプリケーション領域が拡大するにつれて、これらのボードのフォームファクターは、シングルボードコンピュータおよびモジュールの「事実上の」標準として浮上しています。2020年末にコンピュートモジュールCM4が導入されたことで、システムオンモジュールの新しいフォームファクター標準が確立されました。
それ以来、AllwinnerやRockchipのようなメーカーのさまざまなSoCや、堅牢なFPGAが、広く採用されているCM4フォームファクターにシームレスに統合されています。
Pi.MX8モジュールは、CM4互換モジュールのリストに加わります。
このように互換性のあるSoMが多数利用可能な場合、なぜさらに別のバリアントを設計する時間を投資すべきでしょうか?
答えは簡単です:コンピューターモジュールを中心に複雑で時には高価なシステムを構築するとき、モジュール自体の設計主権も持ちたいからです。私たちは、回路図やレイアウトのソースデータにアクセスしたい、部品不足の場合に自分たちでモジュールのBOMを決定したい、そして最も重要なこととして、PCB上のすべてのコンポーネントのドキュメントにアクセスしたいと考えています。
これは、容易に入手可能なドキュメントを持つコンポーネントを使用して、完全にオープンソースのプロジェクトの文脈でのみ可能です。
以前のPi.MX8レイアウト改訂の画像
この記事および今後の記事では、完全にオープンソースのCM4互換モジュールを設計することを検討します。私たちの旅の終わりには、CM4互換モジュールのソースデータが公開され、誰でもレビュー、修正、または構築するために利用できるようになります!
周辺コンポーネントを選択する前に定義しなければならないコアビルディングブロックは、システムオンチップです。容易にアクセス可能なドキュメントがあり、業界で広く使用されているSoCがあります、NXPのi.MX8M Plusです。
このSoCは、最大1.8 GHzで動作する2から4コアのCortex-A53コアのいくつかのバリアントで利用可能です。さらに、このプロセッサシリーズ内には、セカンダリのコルテックスM7コアと統合された機械学習アクセラレータが用意されています。
i.MX8M Plus SoCのハードウェア機能 - 画像出典: NXPウェブサイト
i.MX8は、Raspberry Pi CM4モジュールに使用されているBCM2711とほぼすべての周辺インターフェースを提供しますが、1つの大きな例外があります:
i.MX8にはHDMIインターフェースが1つしかないのに対し、BCM2711には2つのポートがあります。この制限は、DSIからHDMIへのブリッジを使用することで回避できます。しかし、部品数と複雑さを低く保つため、このICは当面の間、私たちのモジュールには統合されません。
2番目のHDMIインターフェースを除けば、i.MX8は私たちのアプリケーションに非常に適しています!
モジュールの高レベルブロック図は、いくつかの重要なコンポーネントだけで構成されています。中心的な構成要素はi.MX8 SoCで、必要な周辺コンポーネントのすべてのインターフェースを提供します。簡単に言うと、私たちはi.MX8プロセッサのためのブレイクアウトボードを構築しています:
Pi.MX8のブロック図
システムの電源供給について見てみましょう。電源管理IC(PMIC)は、SoCに必要な複数の電圧レールを提供するだけでなく、SDカードコネクターのようなインターフェースへの電源供給も設計されています。
PMICは、大きなSoCの場合はかなり複雑になることがある正しい電源投入および電源切断シーケンスを保証する責任も持っています。
NXPは、i.MX 8Mアプリケーションプロセッサー用に特別に開発されたPMICを提供しています。このICは、バックコンバーターとLDOの組み合わせによって生成される最大11の電圧レールを提供します。SoCのコア電圧は、低動作電圧での電流要求が非常に高いため、バックコンバーターによって生成されます。4つのA53コアに電力を供給する電圧レールは、高い電流需要に応えるためにPMICに統合された2フェーズのバックコンバーターによって生成されます。
私たちが使用するPMICは、PCA9450です。
低容量のNORフラッシュは、ボード固有のデータやブートメディアとして使用できます。i.MX8 SoCは、ブートメディアにアクセスするためにいくつかのSPIインターフェースをサポートしています。この場合、32MBのSPI NORフラッシュに接続するためにクアッドSPIインターフェースを使用しています。
デバイスは、Integrated Silicon Solution, Inc.のIS25WP256D-RHLEです。
この特定のパッケージとピン配置は、異なるメーカーからも提供されているため、入手可能性の問題が発生した場合にコンポーネントを交換することが可能です。
イーサネットPHYは、ギガビット速度および精密タイムプロトコルをサポートする必要があり、CM4機能と互換性を持つためには、SoCへのインターフェースはリデュースドギガビットメディア独立インターフェース(RGMII)であるべきです。このインターフェースタイプは、組み込みアプリケーション用の多くのイーサネットPHYによってサポートされています。
私たちは、Microchip TechnologyのLAN8840を使用します。
このPHYは、ギガビット速度およびIEEE 1588-2008(v2)に従った高精度タイムスタンピングをサポートしています。QFN48パッケージも比較的コンパクトで、モジュール上の貴重なボードスペースを節約します。
私たちは、Pi.MX8モジュールに低消費電力のDDR4メモリを使用します。複数のメーカーが同じパッケージとピン配置でLPDDR4 ICを提供しており、入手可能性の問題に対応したり、複数のメモリ容量をサポートすることが容易になります。SamsungとMicronは、LPDDR4デバイスに最も一般的に使用されるメーカーです。私たちは、3733 Mbpsの転送速度で32ビット幅のバスをサポートするデバイスを使用します。
Pi.MX8は、複数のメモリ容量を搭載することができます:
メモリ容量表
Coral Edge TPUは、組み込みデバイス上でニューラルネットワークの計算を加速するために使用できます。Coral TPUは、M.2拡張カードの形でよく使用され、小さなLGAパッケージでも利用可能です。
このモジュールには、TPUを動作させるために必要なテンソルプロセッサと電源管理ICが含まれています。このモジュールを使用するためには、PCIeインターフェースを提供する必要があります。
このモジュールは特定の少数のユースケースにのみ特化しており、比較的高価であるため、アセンブリバリアントとして実装します。
WiFiとBluetooth Low Energyは、IoTアプリケーションで最も一般的に使用される無線インターフェースの一つです。MURATA LBEE5PK2BCモジュールを完全統合ソリューションとして使用します。
このモジュールは、W-LANとBluetoothの両方を提供し、必要な外部コンポーネントの数を最小限に抑えます。すべてのアプリケーションが無線接続を必要とするわけではないため、WiFi/BLEモジュールもアセンブリバリアントとして実装されます。
eMMCモジュールは、Pi.MX8モジュールに最大32GBのストレージ容量を提供します。LPDDR4 DRAMと同様に、同じパッケージとピンアウト標準に準拠する多くのメーカーからeMMCストレージモジュールを選択できます。eMMCモジュールの最も一般的に使用されるメーカーの一つはSanDiskです。
データストレージ容量の高い需要がないアプリケーションのためにBOMコストを節約するため、eMMCもアセンブリバリアントとして実装されます。
回路図とPCB設計の次の段階に進む前に、選択したすべてのコンポーネントのスペース要件を簡単に確認しましょう。
この目的のために、PCBライブラリコンポーネントを設定し、CM4フォームファクターのPCBアウトライン内に配置することができます。
主要コンポーネントのテストフィッティング
すべての主要コンポーネントは、CM4フォームファクターのアウトライン内の上層に収まります。この大まかな配置からも、上側に大きなコンポーネントを配置するスペースがほとんどないことがわかります。私たちが使用しているボード間コネクタの結合高さはわずか2mmです。これは、PCBの下側に配置できるコンポーネントの高さを制限します。理想的には、モジュールの下にあるキャリアボードに配置される部品と衝突することがないように、すべての主要コンポーネントをボードの上側に配置します。
エキサイティングなアップデートが控えています!コンポーネント選定が完了し、次のアップデートで回路図を最終化する旅が続きます。最初にPCBレイアウトのスクリーンショットで何かが欠けていることに気づきましたか?それは古いリビジョンであり、新しい機能を取り入れるためにPCB全体を再ルーティングしています。この旅に参加して、組み込みのA365ビューアーと公開ワークスペースを通じてリアルタイムの進捗をフォローしましょう!エキサイティングな変化をお見逃しなく—乞うご期待!