MCHP_MCU Verified Supplier Rep
MTCH9010 は、導電率または静電容量の変化のいずれかを用いて液体漏れを検知でき、すぐに使える液体漏れ検出ASICです。ユーザーが自ら設計開発するための柔軟で、容易にセットアップ可能なICを提供します。このデバイスの開発をさらに加速するため、Microchipは EV24U22A 評価ボード上で動作するZephyr RTOS向けに、MTCH9010 用のセンサドライバおよびドライバサンプルを作成し提供しています。
前提条件と背景
Zephyrプロジェクトは、公式インストールおよびセットアップ手順をオンラインで提供しています。このブログ記事では、Zephyrがインストールされて実行可能な状態であり、Python仮想環境が起動していることを前提とします。このサンプルは、MTCH9010 評価キットに接続された SAM L21 Xplained Pro評価キット( ATSAML21-XPRO-B )を使用します。ただし、他のボード(他社のMCUを含む)でも互換性がありますが、UART/GPIOの設定が異なる場合があります。
注:標準的なZephyrインストールのルートフォルダにいる場合、サンプルへのパスは samples/sensor/mtch9010 です。
KConfigの設定
Zephyrは、(一般的に)KConfigシステムをソフトウェア設定フラグに使用します。サンプルプロジェクトには、MTCH9010 に必要なKconfig値がすでにプロジェクトのprj.confに含まれていますが、フラグを変更したい場合は、プロジェクトをビルドした後に以下を実行することでKConfigにアクセスできます。
west build -t menuconfig
このコマンドを実行するとGUIが表示されます。正しく設定されていれば、MTCH9010 のオプションには次のようなパスが表示されます。「Device Drivers → Sensor drivers → MTCH9010」。または「/」を押してシンボルを検索し、Enterを押します。
図1 – KConfigにおける MTCH9010 のデフォルト設定
これらの設定は、プロジェクト内のすべての MTCH9010 インスタンスに適用されます。このインスタンスでは、デフォルト値で問題ありません。
ドライバの設計
このサンプルアプリケーションはセンサを初期化し、定期的にすべてのセンサ値をターミナルに出力します。MTCH9010 は、センサAPIをFetch and Getで実装しています。これは、センサデータが内部バッファに読み込まれ、その後、アプリケーションから要求された時点でバッファからセンサ値がデコードされます。
ビルドおよび書き込み
このプロジェクトを初めてビルドする場合、以下のコマンドでクリーンビルドを強制します。
west build -p always -b saml21_xpro <folder_to_project>
すでにプロジェクトがビルドされている場合は、以下のコマンドによりツールチェーンは完全に再ビルドする必要があるかどうかを判断します。
west build -b saml21_xpro <folder_to_project>
コンパイルが完了した後、以下のコマンドを使用してボードに書き込むことができます。
west flash
このコマンドは、デバッグ用USBヘッダ経由でSAM L21 XPlained Proを自動的に検出し、書き込むことができます。westで書き込みできない場合、コンパイル済みバイナリをMPLAB® X IPEなどの他のツールに渡して書き込むことも可能です。
ハードウェアのセットアップ
まず、MTCH9010 評価キットでUSBブリッジを無効にし、UART設定を有効にします。ジャンパが以下の位置になっていることを確認してください。
| スイッチ | 状態 |
|---|---|
| OUTPUT | N/A |
| LOCK | OFF |
| ECFG | ON |
| MODE | N/A |
| USB BRIDGE | OFF |
| SLEEP PERIOD | N/A |
次に、Devicetreeで指定されたGPIOピンに従って MTCH9010 開発ボードをMCU開発ボードに接続します。SAM L21 Xplained Proの場合、EXT2ヘッダの以下のピンを使用します。
| MTCH9010 評価キット | SAML21 XPlained Pro |
|---|---|
| VDD | VCC |
| GND | GND |
| HBEAT | PA20 |
| DETECT(OUT) | PB15 |
| WAKE | PB14 |
ここでボードを接続し、デバッグUSBインターフェース経由で書き込みを行います。MPLAB Data Visualizerまたは他のシリアルターミナルを使用し、115200baud(8ビット文字、1ストップビット、パリティなし)でボードによって開かれる仮想COMポートに接続します。まず MTCH9010 ボードのリセットボタンを押して、ボードが設定を受け付ける準備ができていることを確認し、その後、MCU開発ボードのリセットボタンを押します。すべてが正しく動作していれば、以下に示すように情報の出力が開始されます。

