こんにちは、
ADC を介して HD/HSx 信号を正しく測定する方法がわかりません。
RM によれば、HD と HSx は次のチャネルで測定できます。
私はピン ツールを使用してこれを設定しました (これが必要なのかどうかはわかりません)。
mme255_0-1765381122530.png
BCTU を使用して ADC 測定をトリガーします。「Adc Target Mask」= `0b11` の単一トリガーを使用して、ADC0 と ADC1 から同時に読み取ります (偶数インデックス -> ADC0、奇数インデックス -> ADC1 と想定)。
測定中、GDU はアクティブで、3相すべてが HIGH になります。
私の問題は次のとおりです:
何か追加の設定が足りないのでしょうか?HS2 は HS0/HS1 とは異なる構成にする必要がありますか?
ADC0 経由で HD 電圧を測定できるのに、ADC1 では測定できない理由は何でしょうか?
他の信号 (ADC1_S8、ADC0_ANAMUX 経由の電流など) は問題なく測定できるため、BCTU の設定に問題はないと思います。
(RTD 4.0.0を使用しています)
よろしくお願いします!
こんにちは、
BCTU CL を変更すると動作が変わり、電圧が正しく測定される場合は、おそらくこれが正しく設定されていません。
「Adc Target Mask」= `0b11`でADC0とADC1から同時に読み取る複数の並列変換が開始されると、リスト内の項目の意味は、RMが示すとおり、偶数インデックス→ADC1、奇数インデックス→ADC0となります。
PetrS_0-1765457594013.png
また、ADC0 から 3 つのチャネルをサンプリングし、ADC1 から 1 つのチャネルをサンプリングする場合、この並列変換では、ADC1 に 3 つのペアを持たせるためにいくつかの「ダミー」チャネルを追加する必要があります。例えば:
- ADC0_S16、HS0
- ADC1_S18、HD
- ADC0_S19、HS1
- ADC1_S8、ISENSE
- ADC0_S17、HS2
- ADC1_S18、HD
BR、ペトル
こんにちは、
アプリ エンジニアから通知を受けたもう 1 つの理由は...
RTD には S32M の制限があり、ADC インターリーブは PINS ツールでは設定されません。PTA6 ではインターリーブは ADC1_S18 に設定できますが、PTB12 ではインターリーブは ADC0_S17 に設定できます。これはDCMRWF4レジスタに設定されます(RMのレジスタの説明を参照)。
PetrS_0-1765464180177.png
PetrS_1-1765464199188.png
PetrS_2-1765464224121.png
SO、SIUL/ポートを初期化した後、インターリーブを手動で設定することをお勧めします。弊社の BLDC 6 ステップ モータ制御の例は、正しいものであり、次の Web サイトからダウンロードできます。
PetrS_3-1765464345545.png
または、次のように SIUL/ポートの初期化後に CAN 実行できます。
PetrS_4-1765464379542.png
BR、ペトル
Petr様
私の問題を調べるために時間を割いていただきありがとうございます。それが私が見逃していた部分でした。あなたの提案で解決しました!
ご回答をお待ちしています。