こんにちは、NXP
EMIOS による ADC 取得のトリガーをテストして BCTU をトリガーし、その結果を FIFO1 に格納するプロセス中に異常を発見しました。私は、RTD バージョン 6.0.0 の S32K344 ハードウェアを使用しています。
ここに私の設定、テストデータ、設定プロジェクトの一部を示します。
宜しくお願いします、
シアンロン
提供されたデモをテストしたところ、問題を再現CAN。
これは、RTD の実装制限が原因である可能性があります。
CH17 の割り込み有効化を無効にすると、問題は解決するはずです。
こんにちは@ wuxianlong
「でも、原因は何でしょう?確認してみたところ、BCTUのトリガー数は1でした。」
コードにエラーは見当たりません。フラグは変更を保持します。(設定Bctu_Trg にブレークポイントを設定します。
こんにちは、 @Senlent
サポートありがとうございます。あなたの提案によれば、PWM 割り込みを無効にすると、実際にこの問題は解決できることが判明しました。しかし、その理由は何でしょうか?確認したところ、BCTU のトリガー数は 1 です。
よろしくお願いします、
シアンロン
こんにちは@ wuxianlong
CH17 の割り込みを有効にすると (FEN がセットされる)、flag0 と flag2 は同じになり、これは予想どおりです。ただし、flag1 は flag2 の 2 倍のサイズ (また flag0 の 2 倍のサイズ) であることがわかります。したがって、BCTU が 2 回トリガーされ、FIFO1 でエラーが発生したと考えられます。
こんにちは、 @Senlent
申し訳ありませんが、私の表現が十分に明確でない可能性があります。
PWM 割り込みが無効になった後、BCTU が 1 つの ADC チャネルを正しくトリガーできるのはなぜでしょうか?PWM 割り込みを無効にする前は、トリガーされた ADC チャネルが正しくありませんでした。PWM 割り込みを無効にする前に、BCTU のトリガー カウントが正しいこと、および 1 つの PWM が通常 BCTU を 1 回トリガーしていることを確認しました。
私の以前の理解によれば、PWM は BCTU を正しくトリガーし、ADC を誤ってトリガーしたのは BCTU でした。しかし、あなたの説明によると、PWM 信号のルーティングに問題があるようです。これはよく分かりません。さらに詳しい情報を提供してもらえますか?
よろしくお願いします、
シアンロン