筆者の最近の記事では、マイコンに内蔵されている  14 ビット A/D コンバータ(ADC)のオーバーサンプリングを実行することで ADC の性能を向上させる方法や、設計のフレキシビリティ向上につながる重要な性能特性について説明しました。 

今回は、MSP432P401R マイコンの14 ビット ADC (ADC14)の使いやすい機能について説明します。これにより、実際のアプリケーションの要件に応じてフレキシブルにカスタマイズを行うことができるようになります。

  • 使いやすい機能:
    • サンプル・モードと変換モードの選択
    • DMA を使用したブロック処理
    • 内部温度センサ
    • 内部バッテリ・モニタ
    • ウインドウ・コンパレータ
    • 割り込み

フレキシビリティを最大限活用するためには、時間はかかりますが、それだけの価値はあるので、ADC14 の機能について、まず理解する必要があります。 

サンプル・モード

さまざまなサンプル・モードはさまざまなアプリケーションのニーズに対応します。 ADC14 は、SC ビットでトリガするか、オンチップ・タイマを使用してトリガすることができます。 その後、パルス・サンプル・モードでは複数の ADC14SHT ビットを使用して、1 つのサンプル期間に対応するクロックの数を制御することができます。 または、拡張サンプル・モードでは、(オンチップ・タイマなどの)サンプル・トリガがアサートされている持続時間がサンプル時間になります。 

変換モード

変換モードとして 4 つのモードが用意されており、 ADC が動作するうえで、変換と変換の間にユーザーが入力を行う必要はありません。

変換対象となる最大 32 個のチャネルのシーケンスをプログラミングするために、32 個の異なる ADC14MCTLx レジスタが利用できます。各 ADC14MCTLx レジスタは変換する入力チャネル、シングルエンド/差動入力モード、使用するリファレンス電圧、REF を選択できます。さらにウィンドウ・コンパレータを使用する場合はスレッショルド 0 と 1 のどちらを使用するかを選択できます。 ユーザーは ADC14EOS ビットを使用して、最後にどの ADCMCTLx レジスタを変換するかを選択することもできます。または、ADC14ENC ビットが 0 に設定されるまで、チャネル変換のシーケンスを繰り返すこともできます。

各 ADC12MCTLx レジスタを使用してフレキシブルに変換シーケンスを構成し、独立性の高い方法で入力チャネルを選択できます。複数の入力センサを使用するアプリケーションでは、アプリケーションのニーズに応じてこの手法を使い分けると優れた成果が得られます。たとえば、1 個の加速度計が軸ごとにおよそ毎秒 20 個のサンプルを必要とするフィットネス追跡機能と、毎秒わずか 1 個か 2 個のサンプルを必要とする温度センサでは、ニーズが異なります。

この ADC では連続する複数のサンプルを取得する際の変換シーケンスが高速なほか、サンプル・レートも高速です。そのため、見かけ上同時発生する複数のサンプルに対し ADC14 を使用してテストと測定を行うアプリケーションを実現できるようになります。

DMA を使用したブロック処理

この製品では 32 個のメモリ・レジスタを使用できますが、それより大きいブロックで ADC のデータを処理する必要がある場合は、ユーザーは DMA を活用して ADC のメモリ・レジスタからのデータ転送を実施することにより、ブロック処理を行うことができます。 ADC のメモリ・レジスタである ADC14MEMx からデータを転送する必要が生じた場合に、信号への割り込みを使用して、割り込みルーチンから DMA に対してそのデータの転送を要求できます。 その後、DMA が十分なデータを転送した後、マイコンがデータを処理することができます。

内部温度センサ

ユーザーの利便性を高めるために、ADC に対する内部入力として使用できる内部温度センサが用意されています。

内部バッテリ・モニタ

ユーザーの利便性を高めるために、ADC に対する内部入力として使用できる内部バッテリ・モニタが用意されています。 ウィンドウ・コンパレータと組み合わせて、バッテリが特定のスレッショルドに達したときに警告の割り込みを送信するようにセットアップすることもできます。 したがって、ADC による変換後の値として取得されたバッテリ電圧を定期的にチェックするために、プロセッサの帯域幅を消費する必要はなくなります。

ウィンドウ・コンパレータ

変換結果レジスタに対応する入力信号を低消費電力で監視するために、ウィンドウ・コンパレータを利用できます。 ADC14MCTLx レジスタ内でウィンドウ・コンパレータがイネーブルになっている場合は、ウィンドウ・コンパレータは変換結果をチェックします。その際に、結果は ADC14HI を上回るか、ADC14LO を下回るか、またはユーザーがプログラムした 2 つのスレッショルド内にあることになり、いずれかに対応する割り込みが設定されます。 ADC14HI と ADC14LO レジスタは 2 セット用意されており、異なるチャネルに対して異なるスレッショルド・セットを使用することができます。 ウィンドウ・コンパレータはユーザーの想定範囲内に信号がある場合にそれを通知し、消費電力低減のために周波数や測定の分解能を調整するための優れた方法を提供します。

たとえば、ガラス破損のようなサウンド検出を行う場合、ADC14 を 8 ビット・モードで使用し、何らかのサウンドが発生したときに、信号がスレッショルドを上回ったかどうかをウィンドウ・コンパレータで比較することができます。 スレッショルドを上回る信号が発生した場合、ADC はより高い分解能モードへの切り替えを行ってそのサウンド信号を処理し、ガラス破損であるかどうかを判定することができます。 必要とされる ADC の性能をアプリケーション・レベルで区分するこの手法を活用すれば、消費電力を最小化することができます。

割り込み

各 ADC14MEMx レジスタは固有の割り込み機能を備えています。4 つの変換モードとの組み合わせにより、変換結果の取得を待ちながら ADC を定期的にモニタする必要性はなくなり、ユーザーのフレキシビリティが向上します。 また、ウィンドウ・コンパレータによる割り込みを使用して変換レジスタの値をモニタし、その後、値が目的の範囲に達した場合に対応策をとることもできます。

設計を開始する際には、使いやすさで定評のある MSP432 MCU ローンチパッド開発キットをご購入ください。

14 ビット ADC のフレキシビリティを活用して実際のアプリケーションの使いやすさを向上させることはとても有用です。次回のブログでは、MSP432 に搭載されている ADC14 の低消費電力について解説します。ぜひお読みください。

他のブログもぜひお読みください。 内蔵 14 ビット ADC については、以下のシリーズの他の記事でも紹介しています。

その他のリソース

  • ADC14 のすべての機能について詳細に説明した、MSP432 マイコンの TRM に関する記事をお読みください。 SLAU356.
  • MSP432 マイコンの詳細をご確認ください。

 上記の記事は下記 URL より翻訳転載されました。

*ご質問は E2E 日本語コミュニティにお願い致します。

Anonymous