オープンソースのラップトッププロジェクトシリーズへようこそ!前回のアップデートでは、さまざまなセンサーと電子アセンブリ自体をラップトップディスプレイのベゼルに統合する方法について説明しました。
使用するPCB技術と、ウェブカメラPCBの取り付けハードウェアについて決定しました。このアップデートでは、ウェブカメラモジュールの電子およびPCB設計に焦点を当てます。
完全に組み立てられたウェブカメラ/センサーPCB
まず、ウェブカメラ/センサーPCBがシステムのメインボードとどのようにインターフェースされるべきかを考えてみましょう。メインボードと確立しなければならない論理的な接続が4つあります:
まず、ウェブカメラ、またはイメージセンサーインターフェースです。使用するイメージセンサーはOmnivision OV2740です。このセンサーは、秒間60フレームで高解像度1080pの画像を提供します。画像データストリームはMIPI-CSI2インターフェースを介して送信されます。センサーを制御するためには、標準のシリアルSCCBインターフェースが使用されます。このインターフェースと並行して、いくつかのグローバル制御ラインも必要です。
通常、内蔵および外付けのウェブカメラは、UVCプロトコルをサポートするUSBインターフェースを介して接続されます。UVC仕様はUSB Video Device Classの略であり、ハードウェア固有のドライバーなしでビデオストリーミングデバイスを使用できるようにします。これにより、外付けウェブカメラのプラグアンドプレイ操作が可能になります。USBインターフェースを使用するもう一つの利点は、デバイスとのインターフェースにデータペア1つ、電源およびグラウンド接続のみが必要であることです。これにより、システム内でルーティングする必要がある信号の量が最小限に抑えられ、コネクタの複雑さが減少し、システム全体の信頼性が向上します。USB UVCデバイスまたはモジュールのもう一つの利点は、任意の他のUSB UVC準拠デバイスと交換できることであり、この場合、私たちのラップトップ設計ではウェブカメラボードを簡単に新しいバージョンにアップグレードできます。
しかし、オープンソース設計でUSB UVC準拠デバイスを使用する際には問題があります。画像センサーのCSI出力をUSB UVC準拠インターフェースに変換するには、カスタムファームウェアとISPを備えたASICが必要です。RealtekやSONIX Technologyなどの大手ICベンダーからは、統合ソリューションがいくつか提供されています。しかし、これらのICのドキュメントは自由に利用できず、そのためオープンソースのラップトップには適していません。
例外の一つは、Infineonから提供されているEZ-USB™ CX3 MIPI CSI2からUSB 5 Gbpsカメラコントローラーです。このICは、アクセス可能なドキュメントと、イメージセンサー用のカスタムファームウェアを設計するためのSDKを提供しています。しかし、EZ-USB™ CX3は、より高解像度またはより高フレームレートのイメージセンサー向けのUSB3.0アプリケーションに特化しています。IC一つあたりの価格が10€を超えるため、このコンポーネントは私たちのアプリケーションには過剰仕様になります。さらに、このICは10mm X 10mmの121ピンBGAで提供されるため、ウェブカムボードには収めることができません。
したがって、現時点では、イメージセンサーから提供されるCSI2インターフェースをそのままマザーボードにルーティングすることになります。2つの選択肢があります。利用可能なスペースを使用して独自のUSB UVCコンバーターを実装するか、イメージセンサーをCPU/PCHと直接接続して、ホストCPUのファームウェアでイメージシグナル処理を行うかです。現時点では、最初の選択肢が実装される可能性が高いです。この件については、後ほど詳細を探求します。
マザーボードにルーティングする必要がある他のインターフェースは以下の通りです:
ステレオオーディオを録音するために、2つのMEMSマイクロフォンを使用しています。これらのMEMSマイクロフォンは、マザーボード上のPCHまたは組み込みコントローラーで読み取ることができるPWM(パルス密度変調)出力を提供します。
環境光センサーは、マザーボード上の組み込みコントローラーにもルーティングする必要があるI2Cインターフェースを提供します。
最後に、タッチキーの出力を組み込みコントローラーにルーティングする必要があります。これらの出力は、WiFiまたはカメラインターフェースがハードウェアで無効化されたかどうかを組み込みコントローラーに示します。
ウェブカムPCBとメインボード間のインターフェースに必要なピンの数を知ったので、適切な基板間コネクターを選択できます。コネクターに必要なスペースをできるだけ小さく保つために、細ピッチのコネクターを使用します。
このバージョンのウェブカムボードでは、0.4mmピッチの40ピンを持つMolex SlimStack 505550コネクターを使用します。
Molex SlimStackコネクター
ウェブカムのPCBからメインボードへの信号をルーティングするために、二層のFPCを使用します。SlimStackコネクタは省スペースなソリューションですが、テストの結果、ディスプレイパネルがFPCの上に設置されている状態でこのコネクタを抜くことが非常に困難であることがわかりました。
FPCがディスプレイパネルと接続され、上に設置されている
ディスプレイパネルが設置された状態でウェブカムPCBを簡単に交換できるようにするため、このボード間コネクタを直接FPCコネクタに交換します。そのようなコネクタの興味深い候補として、非常に高いピン密度と良好な保持力を特徴とするHirose FH35Cシリーズがあります。
ウェブカムボードに使用されている静電容量式タッチセンサーTTP232-CA6は、TontekからのデュアルチャネルセンシングICです。一つのチップが二つのチャネルを提供するため、各ICはウェブカム、WiFi、マイク機能のアクティベートボタンとデアクティベートボタンの両方を感知します。
センシングICの各入力には、オプションの0201フットプリントのキャパシタが配置されます。これらのオプションのキャパシタを使用して、タッチICの感度を調整できます。
センシングICの後には、最後のボタン押下を記憶するためにラッチが使用されます。ラッチの現在の実装では、デバイスは電源が入れられると、カメラ、WiFi、マイク機能が無効になった状態で起動します。特にWiFi機能については、この挙動が望ましくない場合があります。そのため、このチャネルのデフォルト状態は後で反転される可能性があります。
WiFi機能のためのタッチセンシングチャネル
以前のプロジェクトアップデートで選択したマイクロフォンと周囲光センサーは、データシートに従って実装されました。両方のセンサーは、5V入力電源から生成された供給電圧を提供する別の3.3V LDOから供給されます。
周囲光センサーは、デカップリングキャパシタとI2Cバスプルアップ抵抗を含む小さなアドオンボードに配置されています。
マイクロフォンと周囲光センサー
ウェブカメライメージセンサーの実装は以下の通りです。センサーの電源レールは、3つの小型LDOによってローカルで生成されます。TLV740P LDOシリーズは、非常に省スペースでコスト効率の良いソリューションです。使用されるパッケージは1mm X 1mm X2SONで、全体として非常に小さなソリューションサイズになります。
画像センサーの消費電力は十分に低いため、全ての電源レールはグローバル5Vレールをリニアレギュレータを使用して降圧することで生成できます。
ウェブカメラ画像センサーの回路図
ウェブカメラのPCB回路図の完成したドラフトは、Altium 365ビューアで見ることができます:
タッチキーとセンサーに加えて、ウェブカメラのPCBには各センシングチャネル出力用のRGB LEDも含まれています。RGB LEDは、各単色用の抵抗値を変更することで、バックライトアイコンの色を微調整できるように選ばれました。
小型のロジックレベルNチャネルMOSFET(SOT-883パッケージ)を使用して、ウェブカメラボード上の全てのLEDにグローバルPWM調光を適用します。画面の明るさを変更するために使用されるのと同じPWM信号を使用して、画面ベゼル内のバックライトアイコンのLEDも制御できます。この方法では、画面の明るさを低く設定した場合でもアイコンが気を散らすことがありません。
回路図が完成したので、今度は全ての情報をPCBエディタに渡して、ボードのルーティングを開始できます。
次のアップデートにご期待ください。ウェブカムボードのPCBレイアウトに関する貴重な洞察を提供します。デザインと機能性の理解を深める最新の詳細をお見逃しなく!