2183107_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2183107_ja-JP

2183107_ja-JP

S32K358 RTD 5.0.0BCTU HWはグループ変換と並行してトリガーされます

親愛なるサポート、

お客様AptivはS32K358 RTD 5.0.0を使用しています -> 観察:

ADC HW ユニット 2 の SW トリガー グループでは、グループ 4 は ADC HW ユニットで構成されている唯一のグループであり、SW によってトリガーされます。また、ADC HW ユニット 2 には BCTU 経由の HW トリガー用の追加チャネルが 2 つあります。

BCTUレジスタでHWトリガーデータを確認できますが、SWトリガーG4では値0が表示されます(下のスクリーンショットを参照してください)。


SW によってトリガーされるグループ変換の結果は常にゼロであり、ADC ユニット内で競合またはリソースの競合が発生する可能性があることを示しています。

私はお客様に次のアプローチを推奨しました:

下のデバッグウィンドウでは、 ADC_2の場合、 MCR[BCTU_MODE]=0 BCTUのみが変換をトリガーCANことがわかります。


SO、このモードでは SW によってトリガーされる変換は許可されません。RTD ADCユーザーマニュアルによると、このビットを1に設定する必要があります。


4.140 パラメータ BctuGlobalHwTriggers

ベンダー固有: ハードウェア トリガーを有効にして ADC 変換を開始します。無効にすると、BCTUソフトウェアトリガーのみCAN

変換を開始します。


この ADC でソフトウェア トリガー変換を許可するには、それに応じて有効にしてください。BCTU 変換はソフトウェア トリガー グループ変換を中断することに注意してください。


viktorfellinger_0-1760021129600.png



この構成については、リファレンスマニュアルに記載されている動作を考慮してください(グループ変換は通常の変換であり、挿入された変換ではないと想定しています)。


60.3.6.1 BCTUトリガーモード

進行中の通常変換中に BCTU トリガーが受信された場合、進行中の通常チャネル変換は中断され、BCTU によってトリガーされた挿入された変換が処理されます。BCTU によってトリガーされた変換が完了すると、中断されたチャネルから通常の変換が再開されます。

BCTU変換中に通常の変換が要求された場合(MSR[BCTUSTART] = 1)、BCTU変換が完了した後に通常の変換が開始されます(MSR[BCTUSTART]はゼロにリセットされます)。

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 

しかし、お客様からのフィードバックは(そして私の側でも同じ動作をCANました)

BCTUの設定部分を確認しました(下のスクリーンショットを参照してください)


viktorfellinger_1-1760021129643.png


はい、おっしゃる通りです。ADC_2 : MCR[BCTU_MODE]=0 BCTU のみが変換をトリガー CAN ますが、これはグローバル HW トリガーが有効になっているためでしょうか?

動作をテストするために無効にしましたが、HW トリガーは機能しません。

我々はこれを設定内でのみ有効にしたままにしています。MCR[BCTU_MODE]=0

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 

同じ ADC で、a) ハードウェア トリガー BCTU 変換とソフトウェア トリガー変換を並行して実行する方法に関するヒントと構成例を教えていただけますか?

(残念ながら、RTD5.0.0 の例ではこのユースCASEはカバーされていません)

よろしくお願いいたします。

ヴィクトル

RTDRe: S32K358 RTD 5.0.0 BCTU HW triggered in parallel with Group Conversions

こんにちは@nxp52415さん

私の観点からすると、ADC2 の bctu によってトリガーされるチャネルをハードウェア トリガー グループにCAN構成できます。その後、外部トリガーまたはbctuからのハードウェアトリガーの受信を有効にするには、Adc_EnableHardwareTrigger()関数を呼び出す必要があります(ADC2_MCR[BCTUEN] = 1、ADC2_MCR[BCTU_MODE] = 1を設定します)。

よろしくお願いいたします。

ダン

Re: S32K358 RTD 5.0.0 BCTU HW triggered in parallel with Group Conversions

こんにちは、ダン。

ありがとう、Hwは両方が設定されているAptivのUSE CASEをサポートする必要があると思います

ADC2_MCR[BCTUEN] = 1

ADC2_MCR[BCTU_MODE] = 1

RTD ドライバを使用してこの状態を実現する方法をご存知ですか? RM マニュアルでは、これが ADC でサポートされているモードであることが明確にわかります。

よろしくお願いいたします。

ヴィクトル

Re: S32K358 RTD 5.0.0 BCTU HW triggered in parallel with Group Conversions

こんにちは@nxp52415さん

1.お客様が Adc_EnableCtuControlMode(AdcHwUnit_2); を呼び出すと、この関数は Adc_EnableCtuControlMode(AdcHwUnit_2); を呼び出し、ADC2_MCR[BCTU_MODE] = 0: BCTU のみが変換をトリガーできる、および ADC2_MCR[BCTUEN] = 1: BCTU をトリガー ソースとして有効にする、の構成を実行します。

その後、 Adc_StartGroupConversion ( AdcGroup_4) を呼び出しても、ADC2_MCR[BCTU_MODE] = 0 のため、ADC_2 へのソフトウェアトリガーは発生しません。

私の観点からすると、 Adc_StartGroupConversion ( AdcGroup_4)を呼び出す前に、ユーザーは

Adc_DisableCtuControlMode(AdcHwUnit_2); を設定して ADC2_MCR[BCTUEN] = 0 に変更します。その後は、ソフトウェアトリガーが正常に実行できるようになります。
 

2. GPT タイマーを使用して SW グループをトリガーするために Adc_EnableHardwareTrigger() の使用を提案しているかどうかを確認したいと思います。

=> SW グループは、 Adc_StartGroupConversion() 関数を介したソフトウェア トリガーによってのみトリガーされ、Adc_EnableHardwareTrigger() ではそれができません。Adc_EnableHardwareTrigger() は、ADC_TRIGG_SRC_HW として構成されているグループに対してのみ使用されます。

よろしくお願いいたします。

ダン

Re: S32K358 RTD 5.0.0 BCTU HW triggered in parallel with Group Conversions

こんにちは、ダン。

私はヴィクトルの休暇の代わりをしています。ここでお客様はこう答えました。彼らはまだこれをCANません。

Adc_EnableHardwareTrigger() を使用して SW グループをトリガーするという提案を検討しましたが、この API がソフトウェア構成のグループのトリガーをどのように容易にするのかを完全に理解することはできません。具体的には、SW グループをこの API に明示的に渡す必要があるかどうか、またこのコンテキストでトリガー メカニズムがどのように機能すると予想されるかを明確にしたいと思います。


グループ 4 はトリガー時に変換を開始するはずですが、その状態はIDLE のままであり、ADC 変換が完了していないことがわかります。興味深いことに、異なる ADC ユニットからの他の SW トリガー グループは期待どおりに機能しています。

さらに、このセットアップでは HW トリガー (BCTU 経由) が正しく動作し、BCTU バッファーで有効な変換結果を確認できます。



nxp52415_0-1760704226960.png



ADC HWユニット2の構成:

1つのSWグループのみが構成されます。グループ4

nxp52415_1-1760704226972.png



nxp52415_2-1760704226987.png


背景を詳しく説明すると、現在の実装は次のとおりです。

  • ADC HWユニット2の構成:
    設定されている SW グループは 1 つだけです(Group4 )。
  • チャネルマッピング:
    PTE21 と PTE24 を除くすべてのチャネル、以下のすべてのチャネルはグループ 4 にリンクされています。

nxp52415_3-1760704227034.png


GPT タイマーを使用して SW グループをトリガーするために Adc_EnableHardwareTrigger() の使用を提案しているかどうかを確認したいと思います。もしSOであれば、これを正しく設定する方法についてご指導いただければ幸いです。

よろしくお願いします。

Re: S32K358 RTD 5.0.0 BCTU HW triggered in parallel with Group Conversions

こんにちは、 @viktorfellingerさん

1. グローバル HW トリガーを有効にする => このノードは BCTU_MCR[FRZ] (デバッグ フリーズ ビット) の値に影響します。

すべてのハードウェア トリガー入力を無効にしますが、ソフトウェア トリガーは有効のままにします。Debug Freeze は BCTU を外部トリガーから分離し、手動で変換をトリガーして変換結果を読み取ることを可能にします。
0b - 無効にする
1b - 有効にする

=> SO、ユーザーは、すべてのハードウェア トリガー入力を有効にするために、このノードを無効にする必要があります。

2. フローコードと、ADC_MCR[BCTU_MODE]が0になるタイミングを教えてください。

よろしくお願いいたします。

ダン

Re: S32K358 RTD 5.0.0 BCTU HW triggered in parallel with Group Conversions

添付のお客様XDM構成

Tags (1)
No ratings
Version history
Last update:
‎11-20-2025 11:08 PM
Updated by: