2184206_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2184206_ja-JP

2184206_ja-JP

MCAL用S32k311 ADCモジュール

こんにちは@nxp

S32k31xevb-q100 用の ADC モジュールを構成しています。私は AUTOSAR ベースの MCAL レイヤー構成を使用しています。私の CASE では、割り込みを使用しないソフトウェア トリガーを使用しています。この関数に入っていますが、ADc 値が変換されていません。Adc_Sar_Ip_StartConversion (PhysicalHwUnitId、ADC_SAR_IP_CONV_CH AIN_NORMAL)。この理由は何でしょうか。

Re: S32k311 ADC module for MCALこんにちは@Senlent

もう一度確認してお知らせします
Re: S32k311 ADC module for MCAL

こんにちは@dhanabharathi

テスト ハードウェアは S32K31XEVB をベースにしており、結果は私の側で正確です。

参考までにプロジェクトとテスト結果を添付しました。

2025-10-23_13-35-45.png

Re: S32k311 ADC module for MCAL

こんにちは@Senlent

あなたの手順に従いましたが、まだ同じ問題が続きます

Re: S32k311 ADC module for MCAL

こんにちは@dhanabharathi

設定に問題はないようです。ただし、コードに間違いがあるようです。

問題 1.

#define ADC_BANDGAP 5980U /* Vbandgap ~ 1.2V、14ビット分解能、VrefH 3.3V */

#それ以外

#define ADC_BANDGAP 3932U /* Vbandgap ~ 1.2V、14ビット分解能、VrefH 5V */

#endif


VREF が 5V の場合、 ADC_BANDGAP は 5980 ではなく 3932 になります。


問題 2。

if ((ResultBufferDma[0u] >> 1U != AdcReadGroupResult[0u]) || \
(ResultBufferDma[1u] >> 1U != AdcReadGroupResult[1u]) || \
(ResultBufferDma[2u] != RESULT_BUFF_VAL) || \
(AdcReadGroupResult[2u] != ADC_RESULT_BUFF_VAL) || \
(ADC_TOLERANCE((ResultBufferDma[0u] >> 1U), ADC_BANDGAP)) || \
(ADC_TOLERANCE((ResultBufferDma[1u] >> 1U), ADC_VREFH)) \

これらの 2 行のコードを削除する必要があります。元のデモでは 2 つのサンプリング チャネルのみが設定されていましたが、現在は 4 つのサンプリング チャネルを使用しています。この判断により、次のサンプリングが実行できなくなります。



Re: S32k311 ADC module for MCAL

こんにちは@Senlent

プロジェクトファイルを添付しました。

Re: S32k311 ADC module for MCAL

こんにちは@dhanabharathi

プロジェクト全体を共有してください。時間をかけてテストします。

Re: S32k311 ADC module for MCAL

こんにちは@Senlent

わかりました。分かりました。

VREFHが5.0Vであることを確認しました。しかし、ADC に 4.0 V を供給すると、変換結果は 5 V リファレンスの予想値から外れます。潜在的な原因(リファレンス選択、キャリブレーション、サンプリング時間、ピンルーティング)の確認をお手伝いいただけますか?

Re: S32k311 ADC module for MCAL

こんにちは@dhanabharath

「私のADCの読み取り値は内部の2.5Vリファレンスを使用して計算されているようです」

VREFHピンに問題がない限り、これは不可能です


ADC リファレンス電圧 VREF はソフトウェアでは変更できません。

これは、VREFH ピンと VREFL ピンの現在の外部電圧選択に関連しています。

ハードウェアで外部ADCリファレンス電圧を変更する方法について言及している場合は、

ハードウェアデザインを見直して修正する必要があります。

Re: S32k311 ADC module for MCAL

こんにちは@Senlent

いいえ、あなたの言いたいことが分かりません。

Re: S32k311 ADC module for MCAL

こんにちは@dhanabharathi

vrefhとvreflはADCの高低基準電圧点であり、ピンのvrefhとvreflピンに対応する。

Senlent_0-1760598697496.png

私の説明はCAN理解できましたか?






Re: S32k311 ADC module for MCAL

こんにちは@Senlent

明確に説明しますと、私の ADC 読み取り値は内部 2.5 V リファレンスを使用して計算されているようですが、入力には 3.3 V リファレンス (5 V のポテンショメータ) が使用されています。V_measured = (ADC_value / (2^n − 1)) × Vref の計算で 5V が使用されるSO、ADC リファレンスを 2.5 V から 5 V に変更するにはどうすればよいですか?

Re: S32k311 ADC module for MCAL

こんにちは@dhanabharathi

何を言っているのか分かりません。VREF は修正されるべきではないでしょうか?私

それはハードウェアデザイン時に決定されるのではないですか?

ご質問を誤解している場合はお知らせください。

Re: S32k311 ADC module for MCAL

こんにちは@Senlent
わかりました。ありがとうございます。
もう一つ問題があります。
アナログ ピン経由でデータを読み取る場合、VREF は常に 2.5 V のみになります。3.3V または 5V の Vref が必要です。これをどこで設定する必要がありますか? Vref 電圧を設定できません。構成設定は非アクティブです。参考までに画像を添付しました

Re: S32k311 ADC module for MCAL

こんにちは@dhanabharathi

プロジェクトに「Rm」コンポーネントを追加して構成していません。

Senlent_0-1760348275804.png


タグ(1)
評価なし
バージョン履歴
最終更新日:
‎11-21-2025 11:26 PM
更新者: