*******************************************************************************
本デモ・アプリケーションは、S32K3xx MCU向けのADC_SARおよび
BCTU IPドライバの使用法を示すことを目的としています。
本例ではPIT0トリガーを使用してBCTU変換リストをトリガーし、
ADC1で変換を実行します。ADCチャネルは
ADC-1で変換するために選択されます。ADC1:
P0, p1, p2, p3, p4, p5, p6, S10
BCTU_ADC_DATA_REGからの変換結果はDMAによって結果配列に移されます。
ADCチャネルS10はボードのポテンショ・メータに接続されています。
------------------------------------------------------------------------------
* テストHW:S32K3X2EVB-Q172
* MCU:S32K312
* コンパイラ:S32DS3.5
* SDKリリース:RTD 3.0.0
* デバッガ:PE micro
* ターゲット:internal_FLASH
********************************************************************************
PIT停止を有効にする:---
すべてのチャネルはADC-1用で、BCTUリストにあります:--
「ADCターゲットマスク」 :--
[Trigger Configuration (TRGCFG_0 - TRGCFG_71)(トリガー構成 (TRGCFG_0~TRGCFG_71))]の[ADC_SEL]ビット・フィールドを制御します。
単一の変換の場合、有効にできるインスタンスは1つだけです
したがって、ターゲット・マスクの可能な値は次のとおりです:
1 (0b001) ADC0
2 (0b010) ADC1
3 (0b100) ADC2 |
変換のリストでは、並列変換も有効にできます
例えば
3 (0b011) ADC0とADC1の並列変換
トリガーは、[Adc Target Mask(Adcターゲット・マスク)]においてパラレル変換ADC0、ADC1のリストとして構成されています。
ADC チャネルのリストは[BCTU List Items(BCTUリスト項目)]で定義され、順序は[Adc Target Mask(Adcターゲット・マスク)]によって指定されます。BctuListItems_0はADC0、BctuListItems_1 はADC1などです。
ADC変換時間
DmaCh0_Callback 関数に挿入された TriggerMux と Testpoints を使用して、トリガー(PIT CH0)と DMA 経由のデータ読み取りの間の経過時間を測定しようとしました。
1回の変換にかかった時間を正確に測定するために、BCTUリスト内すべての要素で「次のトリガーがチャネル待ち」オプションを確認しました。他の設定は例のとおりにしておきました(時刻、ADCサンプリング時間 = 220など)。
取得時間は約13マイクロ秒で、私には非常に長いように思えます。
どなたか2マイクロ秒で取得する方法を教えていただけますか?
ありがとうございます
Gionatha