NXPチームの皆様、こんにちは。
私はS32K312 SAR ADCを使用しており、ADCの自己テスト機能、特にアルゴリズムS、アルゴリズムC、およびRTD自己テストAPIについてより詳しく理解したいと考えています。
S32K3のリファレンスマニュアルや利用可能なドキュメントは確認しましたが、これらの自己テストアルゴリズム中にADCハードウェア内で実際に何が起きているのかを理解したいです。
1. アルゴリズムS – 供給自己テスト
ドキュメントによると、アルゴリズムSは3つのステップで構成されており、バンドギャップ/基準/供給電圧などの内部ADC関連電圧をチェックするようです。
各アルゴリズムSステップで内部で何が起こっているのか、もう少し詳しく説明していただけますか?
例:
S0、S1、S2の間、SAR ADCに接続されている内部信号は何ですか?
各ステップで測定される供給/参照物質はどれですか?
ADCは、通常のADC変換で使用されるのと同じSAR変換パスを使用してこれらのテストを実行しますか?
アルゴリズムSの実行中に、サンプリングコンデンサ/CDACも関与しますか?
Self-Test アナログ Watchdogの閾値と比べて具体的に何が比較されるのでしょうか?
期待値/閾値は、工場出荷時の校正情報に基づいて算出されたものですか?
信号経路全体を理解したいです。
内部テスト電圧→サンプリングネットワーク→SAR/CDAC→コンパレータ→変換結果→自己テスト監視犬比較
私は特にアルゴリズムCを理解することに興味があります。
ドキュメントには、アルゴリズムCが複数のステップ(C0–C11)を持ち、容量性の自己テストを行うと記載されています。
これらのステップでADCハードウェアが実際に何をしているのか説明していただけますか?
私の現在の理解では、SAR ADCには容量性DAC/CDACが内蔵されており、アルゴリズムCは内部的にさまざまなコンデンサの組み合わせを動作させることで、サンプリング/変換コンデンサネットワークのエラーを検出します。
この理解は正しいでしょうか?
より具体的に言うと:
C0、C1、C2…C11の間で何が変わっているのでしょうか?
個々のコンデンサや2進加重コンデンサのグループがスイッチング・テストされているのでしょうか?
アルゴリズムCの際に外部アナログ入力が使われるのか、それともテストは完全に内部で行われるのか?
コンデンサネットワークにはどのような電圧/電荷が印加されますか?
アルゴリズムCの各ステップで返されるADCの結果は、物理的に何を表していますか?
ドキュメントには、以前にキャリブレーションされた値と比較して「オフセット/誤差」があると記載されています。この校正済み基準値はどこに保存されていますか?
期待される結果はどのように決定されるのですか?
理想的なアルゴリズムCの結果がほぼゼロになると期待されるのはなぜですか?
アルゴリズムCはどのようなハードウェア障害を検出できるのでしょうか?例えば:
コンデンサの不一致、
コンデンサのオープン/ショート、
スイッチの故障、
漏れ、
比較器エラー、
電荷再分配エラー。
可能であれば、サンプリングコンデンサ/CDAC、コンパレータ、SARロジックがアルゴリズムCにどのように関与しているか、簡略化された内部ブロックレベルの説明を教えていただけますか?
通常のADC変換の場合、その動作はおおよそ次のようになると理解しています。
入力サンプリング → サンプリング/CDACネットワークに蓄積された電荷 → SAR逐次近似 → 変換結果
アルゴリズムCの実行中、通常の外部入力サンプリングフェーズは、内部で生成されるコンデンサテスト条件に置き換えられますか?
言い換えれば、アルゴリズムCは主に外部ADCチャネルを測定するのではなく、アナログSAR変換経路自体をテストしているのでしょうか?
私はS32K3のRTD ADCドライバーを使っており、RTDセルフテストAPIが呼び出されたときに正確に何が起こるのかも知りたいです。例えば:
Adc_Sar_Ip_SelfTest()
この関数が実行する内部ソフトウェアのシーケンスについて説明していただけますか?
これらの操作のうち、どれが実際にRTD APIによって行われ、どの操作がアプリケーションによって設定されるのか、明確に教えていただけますか?
私が特に知りたいのは以下の点です。
APIが自己テストを開始した後、アルゴリズムSとアルゴリズムCが1つのハードウェアシーケンスとして自動的に実行されるかどうか。
RTD API自体が結果を評価するのか、ADCハードウェアのアナログウォッチドッグが実際のPASS/FAIL比較を行うのか。
RTD関数からの戻り値/ステータスのうち、自己診断テストの失敗を示すものはどれですか。
自己テストのアナログ監視ドッグ閾値がどのように決定されるのかも説明していただけますか?
上限値/下限値は以下のとおりです。
NXPが推奨する固定値、
デバイス固有の工場出荷時校正値、
Tresos/RTD構成によって生成されました。
あるいは、アプリケーション開発者が手動で設定しなければならない値は?
アルゴリズムCに関して具体的に、C0~C11の各ステップにおける許容される正負の誤差範囲はどのように決定されるのでしょうか?
最後に、自己診断テスト全体の実施時期について教えていただきたいです。
アルゴリズムSが3ステップ、アルゴリズムCが12ステップの場合:
S0 → S1 → S2 → C0 → C1 → ... → C11
各ステップは内部的に以下のような完全なADC演算を実行しますか?
事前サンプリング+サンプリング+SAR変換+評価/ウォッチドッグ比較?
もしそうなら、以下の予想実行時間を計算するためのドキュメントや数式はありますか?
アルゴリズムS、
アルゴリズムC、
そして、S+Cの完全な自己診断テストは?
私の主な目標は、RTD関数を呼び出す方法だけでなく、S32K312 SAR ADCのセルフテストのハードウェア動作を理解することです。
可能であれば、S32K3専用のアプリケーションノート、詳細なADC自己テストドキュメント、またはRTDのソースやドキュメントでこれらのシーケンスを説明していただければ教えてください。
よろしくお願いします。
こんにちは、
S32K3のリファレンスマニュアルや利用可能なドキュメントは確認しましたが、これらの自己テストアルゴリズム中にADCハードウェア内で実際に何が起きているのかを理解したいです。
そのために、詳細を説明したアプリケーションノートをSTで作成しました。テスト結果は、S32KがMPC56xxデバイスからモジュールを引き継いだのと同じです。
あなたの質問のほとんどはそこに回答されていますが、一般には公開されていません。もし NXP.com で1つ上がったらチケットで共有できます
自己診断テストの仕組みを詳細に説明するつもりはありません。
基本的な答えは次のとおりです。
S0、S1、S2の間、SAR ADCに接続されている内部信号は何ですか?
ADC内部バンドギャップ電圧(S0 - step0)-(Vbandgap / Vref)
ADC電源電圧(S1 - ステップ1)-(VDDA / Vbandgap)
ADC基準電圧(S2 - ステップ2) – (Vref' / Vref)
C0、C1、C2…C11の間で何が変わっているのでしょうか?
容量性自己テストアルゴリズムCは、11(または可変)のテスト変換(ステップ)のシーケンスを含み、
サンプリングコンデンサ/容量性DACを構成する容量性素子。このアルゴリズムは次のようになります。
サンプリングコンデンサマトリックスの欠陥を強調するために設計されています。各ステップは2つの要素を考慮します
サンプリングコンデンサマトリックスの。各ステップでは、事前サンプリング、サンプリング、および
評価段階が実行されます。
よろしくお願いいたします。
ピーター