Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちはチーム、

LIN上でDCモータを制御しています。 「BDRV_EMO_DC_LIN_EXAMPLE_TLE986X」パッケージをベースにしました。

また、CSAを介して電流を測定しています。 SOC は、Timer3 OF 割り込みによってトリガーされます。

さらに、いくつかの外部センサー信号を読み取るために、いくつかのADCチャンネルを使用する必要があります。

ただし、ADCチャネルの割り込みを有効にすると、LINなどの他のCPUタスクが影響を受けます。 LINは完全に停止します。

CPUは常にADC割り込みに陥っているようです。 ADCのクロックとサンプル時間を変更してみましたが、成功しませんでした。

AmolKoli_0-1698717046668.png

AmolKoli_1-1698717319956.png

 

 

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/MOTIX-MCU/TLE9869-LIN-and-other-tasks-are-blocked-when-ADC-external-or-CSA-channel/td-p/631763

0 件の賞賛
1 解決策
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは@AmolKoli

現在、ConfigWizardのスクリーンショットのように、ADC1はシーケンサーモード用に構成されています。 つまり、ADC1はタブで設定されたチャンネルを連続的にサンプリングし、変換のたびにEOCがトリガーされます。

P2.4のサンプリング/読み出しを異なる割り込みで有効にしてください(結果が必要なときはいつでも)。

ありがとうございました

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

ラージ・チャウダリ

元の投稿で解決策を見る

0 件の賞賛
7 返答(返信)
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは@AmolKoli ,

プロジェクト全体を共有していただけませんか?

よろしくお願いいたします
サヒル・クマール

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちはSahil、

申し訳ありませんが、プロジェクトには顧客アプリケーションの src コードが含まれています。

他の方法はありますか?

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは@AmolKoli

現在、ConfigWizardのスクリーンショットのように、ADC1はシーケンサーモード用に構成されています。 つまり、ADC1はタブで設定されたチャンネルを連続的にサンプリングし、変換のたびにEOCがトリガーされます。

P2.4のサンプリング/読み出しを異なる割り込みで有効にしてください(結果が必要なときはいつでも)。

ありがとうございました

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

ラージ・チャウダリ

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは

電流センスハンドラ割り込みでP2.4のADC1割込みをトリガしようとしました。

これは、CSAハンドラが同じ割り込みで2つのADC1入力を読み取ることを意味します。 (CSAはPWMの50%のデューティをトリガーするように管理されています)

ここでは、ADC CH4 ADC値が破損しているという別の問題に直面しており、誤った値が突然急増します。

CSAの読み取りを無効にした場合、値CH4は正しく見えます。

AmolKoli_0-1699242325256.png

 

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは@AmolKoli

ADC1 CH4の構成方法を教えてください。 シーケンサーモードですか、それともソフトウェアモードですか? 変換はバックグラウンドで実行されていますか?

CSAを有効にした場合と無効にした場合の違いは何ですか。

ありがとうございました

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

ラージ・チャウダリ

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは@Raj_JC 

ADC1 CH4 はシーケンサ・モードに設定されています。
また、CSAトリガーと同じようにCH4をトリガーしてみました。
CCU6 ZMでタイマー3を使用。

AmolKoli_0-1699576633832.png

AmolKoli_1-1699576671355.png

CSA読み取り機能を無効にした場合の影響について:
"ADC1_GetChResult_mV(&mV, ADC1_CSA);"
そして、ADC1 CH4の値が純粋であることがわかります。

両方の機能を有効にすると、ADC1 の CH4 値が破損します。
例えば、 (1200、1202、1255、2013、1266、1267、2030、1277) --- 20xx の値が破損しているように見える

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは@AmolKoli

ADC1 CH4をシーケンサ・モードに設定したまま、CSAによる割り込みで読み出し関数を呼び出すことができます。 また、ADC1 CH4のサンプリング時間が正しく設定されていることを確認してください。

これが役立つかどうかお知らせください。

 

ありがとうございました

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

ラージ・チャウダリ

0 件の賞賛