AN-1405: AD7770、AD7771、およびAD7779 の診断機能

はじめに

AD7770/AD7771/AD7779 は、8 チャンネル、同時サンプリングΣ-Δ A/D コンバータ(ADC)です。各チャンネルは、専用のプログラマブル・ゲイン・アンプ(PGA)段(ゲイン:1、2、4、8)、フル機能のΣ-Δ ADC、および低遅延のsinc3 デジタル・フィルタで構成されています。

AD7770/AD7771/AD7779 は、リファレンス・ブロック、変調器、シリアル・インターフェースなど、アナログ領域とデジタル領域の両方のブロック内に、多くの診断機能とモニタリング機能が実装されています(図1 参照)。

図1. AD7770/AD7771/AD7779 のブロック図(8 チャンネルのシグナル・チェーンのうち1 つだけ図示しています。)
図1. AD7770/AD7771/AD7779 のブロック図(8 チャンネルのシグナル・チェーンのうち1 つだけ図示しています。)

また、AD7770/AD7771/AD7779 は、独立して電源を供給できる12 ビット逐次比較レジスタ(SAR)ADC を内蔵しています。このSAR ADC を外部のマルチプレクサおよびシグナル・コンディショニングと共に使用することにより、システム測定機能専用のΣ-Δ ADC チャンネルの1 本を本来の機能から外すことなく、診断およびモニタリングが可能です。内部ノードと外部電源も、このSAR ADCに接続された内部診断用のマルチプレクサを介して選択することにより、モニタリングすることができます。

AD7770/AD7771/AD7779 は、シリアル・ペリフェラル・インターフェース(SPI)制御モードまたはピン制御モードを使用して設定することができます。ピン制御モードでは、デバイスは電源投入時にMODE0~MODE3 ピンとFORMAT0 およびFORMAT1 ピンに与えられた電圧レベルに基づく既定の状態に設定されます。詳細については、AD7770/AD7771/AD7779 のデータシートを参照してください。

ピン制御モードでは、デバイスに実装されている診断およびモニタリング機能の多くにアクセスできません。一方、SPI 制御モードでは、実装されている診断およびモニタリング機能のすべてにアクセスできます。そのため、デバイスを診断およびモニタリングのために使用する場合は、SPI 制御モードで使用することを推奨します。

このアプリケーション・ノートでは、これらの機能の概略、AD7770/AD7771/AD7779 で検出できるエラー、それらのエラーの診断と修復のために使用可能な様々なオプションについて説明します。

診断およびモニタリング機能

AD7770/AD7771/AD7779 は、デバイスが正しく機能するように、シグナル・チェーン、リファレンス、コモンモード、デジタル、電源の各ブロックを網羅する幅広いエラー・チェッカーを用意しています。す。エラー・チェッカーのどれかがトリガすると、

  • ALERT ピンがセットされます。
  • Σ-Δ ADC ヘッダーのアラート・ビットがセットされます。
  • ステータス・レジスタのCHIP_ERROR ビットがセットされます(表2 参照)。
  • メモリ・マップ内の対応するフラグがセットされます。

ALERT ピン(ピン制御モード使用時はピン18、SPI 制御モード使用時はピン16)は、通常エラーが発生中のみハイの状態で、エラーが解消されるとリセットされます。SPI エラーの場合は例外で、その後にSPI トランザクションが行われるまでALERT ピンはリセットされません。

図2. ADC が出力する8 ビットのヘッダーと24 ビットの変換データ
図2. ADC が出力する8 ビットのヘッダーと24 ビットの変換データ

Σ-Δ データ・ヘッダーはすべてのデータ・フレームに先行し、アラート・ビットを含んでいます。アラート・ビットは最上位ビット(MSB)で、ALERT ピンと同様の機能を持ち、エラーが発生している場合に警告を発します。更に、図3 に示すΣ-Δ 巡回冗長検査(CRC)ヘッダーがデフォルトでアクティブになっており、DOUT_HEADER_FORMAT ビット(レジスタ0x014 のビット5)を使用してエラー・ヘッダーとスイッチできます(SPI 制御モードのみ)。エラー・ヘッダー・が選択されている場合、ヘッダーの4 個の最下位ビット(LSB)によって、主要なエラーの詳細情報が与えられます。例えば、図3 に示すように、リセットが検出された場合や変調器やデジタル・フィルタが飽和した場合、またアナログ入力がオーバー・レンジ/アンダー・レンジである場合です。

図3.CRC およびエラー・ヘッダー
図3.CRC およびエラー・ヘッダー

モニタしているブロックのいずれかでエラーがトリガされると、メモリ・マップ内の対応するフラグがセットされます。その結果、ピン制御モードでは、SPI 制御モードと異なりメモリ・マップにアクセスできないため、エラー・ソースを確認できません。

メモリ・マップ内のこれらのエラー・ビットはスティッキー・ビットであるためです。つまり、エラー・レジスタが読み出され、エラー・ソースが解消されている場合にのみ、リセットされます。

エラー・ソースを簡単に調査できるように、メモリ・マップにはSTATUS_REG_1、STATUS_REG_2、STATUS_REG_3 の3 つのサブ回路に分割しています。表2 に示すように、これらのレジスタは、エラー・ソースが含まれている特定のレジスタを指示します。

例えば、STATUS_REG_1 のERR_LOC_CH4 ビットがセットされている場合( 表2 参照) 、このビットは、表1 から、CH4_ERR_REGレジスタ(レジスタ0x050)内でフラグがトリガされたことを示しています。

表1. レジスタのエラー・ソース
Bit Name Register Source
ERR_LOC_GEN2 GEN_ERR_REG_2
ERR_LOC_GEN1 GEN_ERR_REG_1
ERR_LOC_CH7 CH7_ERR_REG
ERR_LOC_CH6 CH6_ERR_REG
ERR_LOC_CH5 CH5_ERR_REG
ERR_LOC_CH4 CH4_ERR_REG
ERR_LOC_CH3 CH3_ERR_REG
ERR_LOC_CH2 CH2_ERR_REG
ERR_LOC_CH1 CH1_ERR_REG
ERR_LOC_CH0 CH0_ERR_REG
ERR_LOC_SAT_CH6_7 CH6_7_SAT_ERR
ERR_LOC_SAT_CH4_5 CH4_5_SAT_ERR
ERR_LOC_SAT_CH2_3 CH2_3_SAT_ERR
ERR_LOC_SAT_CH0_1 CH0_1_SAT_ERR
表2. AD7770/AD7771/AD7779 のステータス・レジスタ
Reg. Name Bit 7 Bit 6 Bit 5 Bit 4
Bit 3 Bit 2 Bit 1 Bit 0
0x05D STATUS_ REG_1 Reserved CHIP_ERROR ERR_LOC_ CH4 ERR_LOC_CH3  ERR_LOC_CH2 ERR_LOC_ CH1 ERR_LOC_ CH0
0x05E STATUS_ REG_2 Reserved CHIP_ERROR ERR_LOC_ GEN2 ERR_LOC_GEN1 ERR_LOC_CH7 ERR_LOC_ CH6 ERR_LOC_ CH5
0x05F STATUS_ REG_3 Reserved CHIP_ERROR INIT_ COMPLETE ERR_LOC_SAT_ CH6_7 ERR_LOC_SAT_ CH4_5 ERR_LOC_ SAT_CH2_3 ERR_LOC_ SAT_CH0_1

3 個すべてのステータス・レジスタのビット5(CHIP_ERRORビット)は、エラー・ビットのいずれかがセットされたことを表しています。エラーがなくなると、またレジスタを読み出すと、このビットはクリアされます。しかし、ステータス・レジスタが指し示しているレジスタが読み出されてリセットされるまで、ビット[4:0]はクリアされません。

メイン・シグナル・チェーン

AD7770/AD7771/AD7779 には、シグナル・チェーンに沿って、出力、フィルタ出力、変調器、そしてアナログ入力ピンをモニタするエラー・チェッカーが内蔵されています。PGA ゲインも診断できます。

図4. 各チャンネルのシグナル・チェーン
図4. 各チャンネルのシグナル・チェーン

出力飽和

各チャンネルには、対応するオフセット調整レジスタおよびゲイン調整レジスタがメモリ・マップ内にあり(レジスタ0x01C ~レジスタ0x04B)、AD7770/AD7771/AD7779 のデータシートで説明されているように、デバイスを校正します。ゲインとオフセットの設定を間違えると、出力が正または負のフルスケールでクリップしてしまうことがあります。例えば、チャンネル6のゲイン・レジスタおよびオフセット・レジスタが適切に設定されていない場合、これに対応するCH6_7_SAT_ERR レジスタのCH6_ERR_OUTPUT_SAT ビットがアサートされます(表3 参照)。

表3.CH6_7_SAT_ERR およびCHx_ERR_REG_EN
Reg. Name Bit 7 Bit 6 Bit 5 Bit 4
Bit 3 Bit 2 Bit 1 Bit 0
0x057 CH6_7_ SAT_ERR Reserved CH7_ERR_ MOD_SAT CH7_ERR_ FILTER_SAT CH7_ERR_ OUTPUT_ SAT CH6_ERR_ MOD_SAT CH6_ERR_ FILTER_SAT CH6_ERR_ OUTPUT_ SAT
0x058 CHX_ERR_ REG_EN OUTPUT_ SAT_TEST_EN FILTER_SAT _TEST_EN MOD_SAT_ TEST_EN AINM_UV_ TEST_EN AINM_OV_ TEST_EN AINP_UV_ TEST_EN AINP_OV_ TEST_EN REF_DET_ TEST_EN

エラーがトリガされた場合は、変換された最後のデータを読み出して、出力が実際に正または負のフルスケールでクリップ(+FS または−FS)されていたかどうかを検証することによって、ダブルチェックが可能です。検証された場合、特にフィルタまたは変調器の飽和チェッカーがその前にトリガされていない場合、オフセット・レジスタまたはゲイン・レジスタが適切に設定されていなかったことがクリッピングの原因として考えられます。しかし、これらのキャリブレーション・レジスタを上書きしていない場合には、フィルタが飽和に近づいているためにデフォルトのゲイン・スケーリングでも+FS または–FS を超える出力になっていることを、エラー・チェッカーが示している可能性もあります。

このエラー・チェッカーがトリガされるその他の原因として、アナログ入力が+FS または–FS を超えていることが考えられます。この場合は、SAR ADC を使用して、SAR ADC のセクションで説明する方法によって診断することができます。また、PGA がアナログ入力を適切なスケールで増幅していない可能性も考えられます。この場合は、PGA ゲインのセクションで説明する方法によって診断できます。

フィルタ飽和

フィルタ出力が範囲外にあって、出力コードが正または負のフルスケールよりも約20%高い場合は、フィルタ飽和がトリガされます。

8 個の内蔵デジタル・フィルタのいずれかで飽和エラーが発生すると、対応するCHx_SAT_ERR レジスタ(レジスタ0x054 ~レジスタ0x057)の対応するCHx_ERR_FILTER_SATビットがアサートされます。例えば、チャンネル6 のフィルタが飽和すると、CH6_7_SAT_ERR レジスタのビット1 がアサートされます(表3 参照)。

フィルタ飽和は、Σ-Δ 変換を読み出すことにより検証できます。検証された場合、ADC_MUX_CONFIG レジスタ( レジスタ0x015)のビット[7:6]を使用してΣ-Δ リファレンスをAVDDピンに変更することを推奨します。これにより、入力電圧が予想より高いかどうかをより広い入力レンジでチェックできるので、ADC のフロント・エンドのエラーであるかどうかが分かります。

フィルタ出力が範囲外にあると、結果的に出力飽和がトリガされます。したがって、出力飽和がトリガされたかどうかをチェックすると、変調器の飽和チェッカーが正常に動作しているかどうかが分かります。

変調器の飽和

8 個のΣ-Δ 変調器のいずれかが連続して20 個の1 または0 を出力すると、飽和検出器は、対応するCHx_SAT_ERR レジスタのCHx_ERR_MOD_SAT ビットをアサートします。例えば、チャンネル6 が連続して20 個の1 または0 を出力すると、CH6_7_SAT_ERR レジスタのビット2 がセットされます(表3 参照)。このビットは、エラー自体が修正された場合、例えば変調器がすべて0 またはすべて1 ではない別の値を再び出力してからCHx_ERR_MOD_SAT ビットの対応するレジスタを読み出した場合にのみクリアされます。

変調器が飽和している場合は、変調器が範囲外になっていることを示しており、変調器をリセットするためにRESETピンにパルスを与える必要があります。

変調器が範囲外にあると、それによりフィルタ飽和がトリガされます。したがって、フィルタ飽和がトリガされたかどうかをチェックすると、変調器の飽和チェッカーが正常に動作しているかどうかが分かります。

これら3 つの飽和検出器、すなわち変調器、フィルタ、および出力の飽和検出器はデフォルトでイネーブルされており、CHX_ERR_REG_ENレジスタ(レジスタ0x058)の[7:5]を使用してディスエーブルすることができます(表3 参照)。

PGA ゲイン

PGA ゲインが正しいかどうかを診断することができます。Σ-Δコンバータの入力に接続された内部診断用のマルチプレクサには、ADC_MUX_CONFIG(レジスタ0x015 の[5:2])を使用して280mV の信号に接続するオプションがあります。これにより、チャンネル設定レジスタ(レジスタ0x000 ~レジスタ0x007)のビット[7:6]により設定されたゲイン段によって増幅され、Σ-Δで変換されたデータが280mV の信号に対応しているかどうかをチェックすることにより、各ゲイン段(1、2、4、8)を個別に検証できます。

過電圧/低電圧イベント

AD7770/AD7771/AD7779 には、すべてのアナログ入力にコンパレータ回路が内蔵されており、AINx+またはAINx–ピンの絶対入力電圧がAVDD1x の電圧レベルを超えた場合に、各チャンネルに対応するCHx_ERR_REG レジスタ(レジスタ0x04C ~レジスタ0x053)のCHx_ERR_AINx_OV ビットをトリガします。これにより、AINx+またはAINx−ピンを個別にチェックできます。入力電圧がAVDD1x を下回ってからレジスタを読み出すと、このビットはクリアされます。データシートの限界値を超えてADC を動作させると、直線性が低下します。例えば、チャンネル6 の正のアナログ入力(AIN6+)がAVDD1B の電圧レベルを超えると、CH6_ERR_AINP_OV ビット(レジスタ0x052、ビット1)がアサートされます。

同様に、入力電圧がAVSSx を下回ると、もう1 つのコンパレータによってそのチャンネルに対応するCHx_ERR_AINx_UV ビットがアサートされ、電圧レベルがAVSSx より高くなってからレジスタが読み出されるまでクリアされません。図5 にすべてのアナログ入力(AINx+とAINx−の両方)に実装され、過電圧/低電圧イベントのモニタリングおよびトリガを行う2 つのコンパレータを示します。エラーが長時間にわたりそのままになっていると、デバイスを劣化させ信頼性に影響を与えることがあります。コンパレータの閾値に許容範囲があるため、トリガ・レベルは電源レールから±30mV の範囲です。すなわち、過電圧イベントに対してはAVDDx ±30mV、低電圧イベントに対してはAVSSx ±30mV です。

図5. すべてのアナログ入力の過電圧および低電圧コンパレータ
図5. すべてのアナログ入力の過電圧および低電圧コンパレータ

これらのエラーがトリガされた場合は、SAR コンバータを使用して、トリガされたアナログ入力をAUXAIN+ / AUXAIN−の入力ペアに接続することによって診断できます。詳細については、SAR ADC のセクションを参照してください。

リファレンス・ブロック

リファレンス検出

AD7770/AD7771/AD7779 の電圧リファレンス・レベルは、図6 に示す内蔵コンパレータによってモニタされています。このコンパレータは、Σ-Δ チャンネルのいずれかの電圧リファレンスが0.7Vを数マイクロ秒下回るとトリガし、チャンネルのエラー・レジスタ(CHx_ERR_REG、レジスタ0x04C ~レジスタ0x053)のビット0 のうち、発生したチャンネルに対応するCHx_ERR_REF_DETビットをセットします。このエラー・フラグは、印加されているリファレンス電圧が変換用のリファレンスとして有効ではないことを示しています。このエラーが発生する場合、内部リファレンス・バッファまたはリファレンス自体に問題が発生していることを示している可能性があります。

図6. リファレンス検出回路
図6. リファレンス検出回路

リファレンス検出がトリガされた場合には、SAR ADC のセクションで説明されているように、SAR ADC を使用して、SAR の入力マルチプレクサでREF+またはREF−信号を選択することによりリファレンスを診断します。あるいは、リファレンスをADC の入力マルチプレクサで選択し、Σ-Δ ADC のいずれかを使ってリファレンス電圧を測定することもできます(詳細はシグマ・デルタADC マルチプレクサのセクションを参照)。

表4. リファレンス・バッファの動作モード、BUFFER_CONFIG_1(レジスタ0x019)、およびBUFFER_CONFIG_2(レジスタ0x01A)
Reference Buffer Operation Mode REFx+ REFx−
Enabled BUFFER_CONFIG_1, Bit 4 = 1; BUFFER_CONFIG_2, Bit 7 = 0 BUFFER_CONFIG_1, Bit 3 = 1; BUFFER_CONFIG_2, Bit 6 = 0
Precharged BUFFER_CONFIG_1, Bit 4 = 1; BUFFER_CONFIG_2, Bit 7 = 1 BUFFER_CONFIG_1, Bit 3 = 1; BUFFER_CONFIG_2, Bit 6 = 1
Disabled BUFFER_CONFIG_1, Bit 4 = 0 BUFFER_CONFIG_1, Bit 3 = 0

これを行うには、AVDD1A またはAVSS1A をリファレンスに選択しなければなりません。そうすることで入力範囲が広がり、変調器を飽和させることなく2.5V のリファレンスに対応できます(表5 参照)。

表5. Σ-Δ リファレンス
ADC_MUX_CONFIG, Bits[7:6] Channel 0 to Channel 3 Channel 4 to Channel 7
00 REF1+/REF1−
REF2+/REF2−
01 Internal reference
Internal reference
10 AVDD1A/AVSS1A
AVDD1B/AVSS1B
11 REF1−/REF1+
REF2−/REF2+

リファレンスを検証する場合、リファレンス・バッファの動作モード(BUFFER_CONFIG_1 およびBUFFER_CONFIG_2 レジスタ(レジスタ0x019 およびレジスタ0x01A))を、表4 に記載された3 つの動作モードのいずれかから選択し、リファレンス電圧(ADC_MUX_CONFIG レジスタ(レジスタ0x015)のビット[7:6])を表5 に記載された3 つのソースのいずれかから選択します。

リファレンス検出エラー・チェッカーはデフォルトでディスエーブルされていますが、CHX_ERR_REG_EN レジスタ(レジスタ0x058)のビット0 のREF_DET_TEST_EN ビットを使用してイネーブルすることができます。

コモンモード

PGA のようなコモンモード出力(代表値は(AVDD1 + AVSSx)÷ 2)にはモニタリング機能が内蔵されていないため、出力が適切に動作していない場合でもエラー・チェッカーはトリガしません。ただし、SAR の入力マルチプレクサをVCM ピン電圧に接続することにより、その動作を診断できます。詳細については、SAR ADC のセクションを参照してください。

デジタル・コア

ROM およびMEMMAP のCRC

電源投入時に、ヒューズの検証が実行されます。ヒューズの再結合によるエラーを防ぐために、AD7770/AD7771/AD7779 には、エラー訂正コーディング(ECC)ブロックが内蔵されており、1個のヒューズ・バンクあたり最大2 個のヒューズを修正できます。合計4 個のヒューズ・バンクが内蔵されています。

レジスタとヒューズにはCRC ブロックが組み込まれており、書込み/読出しレジスタ、設定レジスタ、テスト・レジスタを含む内蔵レジスタで計算が行われ、結果が保存されます。数マイクロ秒ごとにCRC が再計算され、保存値と比較されます。CRCの保存値と計算値が一致しない場合は、メモリ・マップ(MEMMAP)が破損しています。メモリ・マップにアクセスするたびに、CRC が再計算され、保存されます。

CRC は次式を使用して計算され、ヒューズ・ブロック自体から読み出した値と比較されます。

x16 + x14 + x13 + x12 + x10 + x8 + x6 + x4 + x3 + x1 + x0

ROM の検証中にエラーが見つかった場合はROM_CRC_ERRビットが、MEMMAP が破損している場合はMEMMAP_CRC_ERR ビットがそれぞれアサートされます。これらのビットは、GEN_ERR_REG_1 レジスタ(レジスタ0x059)内にあります。エラーが発生すると、デバイスはリセットされます。

これらのチェッカーはデフォルトでイネーブルされており、GEN_ERR_REG_1_EN レジスタのMEMMAP_CRC_TEST_ENビットとROM_CRC_TEST_EN ビット(レジスタ0x05A のビット[5:4])をクリアすることによりディスエーブルされます。

MCLK スイッチ・エラー

AD7770/AD7771/AD7779 は、電源投入時にデバイスを初期化するクロック発振器を内蔵しています。電源投入後、AD7770/AD7771/AD7779 はクロッキング制御を外部発振器に渡します。ハンドオーバーでエラーが発生した場合は、EXT_MCLK_SWITCH_ERR ビット(GEN_ERR_REG_2(レジスタ0x05B)のビット4)がアサートされます。これは、ハンドオーバーが正常に行われなかったためにデバイスが内部発振器を使用して動作していることを示しています。この場合、AD7770/AD7771/AD7779 へアクセスすることはでき、レジスタの読出しや書込みはできますが、Σ-Δはいかなる変換結果も生成しません。変換結果をチェックすることにより、ハンドオーバーが正常に行われたかどうかを診断できます。

このエラーは、最小クロックが265kHz であることを想定しています。外部クロックが132kHz~265kHz の場合は、内部発振器と外部クロック間の内部同期によってはエラーがトリガされないことがあります。そのため、外部クロックが265kHz より低い場合には、CLK_QUAL_DIS ビット(GENERAL_USER_CONFIG_3(レジスタ0x013、ビット0)をセットすることによりチェッカーをディスエーブルします。このビットをセットすると、エラーもクリアされます。外部クロックが265kHz より高くエラーがトリガされた場合は、デバイスをリセットします。

インターフェースの完全性

ADC とシステム間のあらゆる誤通信を防ぐために、AD7770/AD7771/AD7779 のデジタル・データ転送の完全性が重要です。誤通信は、不正確な情報が転送され処理される原因となります。

SPI 伝送エラー

AD7770/AD7771/AD7779 をSPI モードで使用する場合、SPI インターフェースは、ADC データの読出しに加えて、メモリ・マップ・レジスタの読出しとすべての設定レジスタへの書込みを行います。様々なエラー・チェッカーが実装されており、伝送されるデータのエラーを検出します。これらのエラーは自動的に修復されません。また、レジスタを読み出し、新しいSPI フレームが発行されるまで、エラー・フラグとALERT ピンはセットされています。

無効な読出し/書込み

マスタが無効なレジスタ・アドレスを読み出そうとした場合や無効なレジスタ・アドレスや読出し専用レジスタに書込みをしようとした場合、SPI_INVALID_READ_ERR ビットまたはSPI_INVALID_WRITE_ERR ビットがアサートされます。これらはGEN_ERR_REG_1 レジスタ(レジスタ0x059)で確認でき、読出し/書込み動作は無視されます。

SCLK カウンタ

すべてのSPI トランザクションは、8 クロックの整数倍です。AD7770/AD7771/AD7779 にはカウンタが内蔵されており、CSピンがローの間にカウントされたクロック数が8 の整数倍でないと、REG_1 レジスタ(レジスタ0x059)内のSPI_CLK_COUNT_ERRビットのフラグをトリガします。CSピンがハイに戻るとアサートされます。書込み動作中に、SCLK のクロック・ラインに含まれるSCLK パルスの数が正しくないと、この値はアドレス指定されたレジスタに書き込まれず、書込み動作はアボートします。

トランザクションが正常に実行されたかどうかを検証するために、エラーがトリガされた場合は、書込みをしようとしたレジスタを読み出すことを推奨します。

CRC チェックサム・エラー

SPI CRC がイネーブルされていると(レジスタ0x05A のビット0、SPI_CRC_TEST_EN ビット)、図7 に示すように8 個のCRCビットがSPI トランザクションに追加されます。

図7. CRC が追加されたSPI
図7. CRC が追加されたSPI

AD7770/AD7771/AD7779 で計算されたCRC が、マスタによって送られてきたCRC と一致しない場合、CRC エラーがトリガされ、レジスタが読み出されるまで、SPI_CRC_ERR ビット(レジスタ0x059 のビット0)、ALERT ピン、Σ-Δ ヘッダーのALERT ビットがセットされます。更に、受信したメッセージは無視されます。

SPI CRC は、レジスタ・マップの書込み/読出しコマンドとSAR 出力変換にのみ影響を与えます。

書込み動作のCRC の計算には、R/Wビット、7 個のアドレス・ビット、およびデータ・ビットを使用します。

AD7770/AD7771/AD7779 は、伝送するすべてのデータに8 個のCRC ビットを追加します。前のコマンドがライト・レジスタ・コマンドである場合、SDO ピンは前に受信したデータと同じデータをシフト・アウトします。

コマンドがリードバック・レジスタ・コマンドである場合AD7770/AD7771/AD7779 は、7 ビットのアドレスを含む、受信したリードバック・コマンドのR/Wビットと、アドレス指定したレジスタからリードバックしたデータを使用してCRC を計算します。

SPI インターフェースがSAR の変換結果を読み出す場合は、b0000 ヘッダーと12 ビットのSAR 変換データを使用してCRCを計算します。

SPI インターフェースからSAR の結果を読み出すには、GENERAL_USER_CONFIG_2 レジスタ(レジスタ0x012、ビット5)内のSAR_DIAG_MODE_EN ビットをセットします。

CRC チェックサムは次の多項式によって計算されます。

x8 + x2 + x + 1

シグマ・デルタ変換

Σ-Δ 変換は、データ出力インターフェースまたはSPI インターフェースを通じて読み出すことができます。

ピン制御モードでは、FORMAT0 ピンとFORMAT1 ピンを使用してインターフェースを選択します。SPI 制御モードでは、デフォルトで選択されているDOUT インターフェースの代わりにSPI インターフェースを通じてADC データをクロック・アウトするために、SPI_SLAVE_MODE_EN ビット(レジスタ0x013、ビット4)をセットする必要があります。

Σ-Δ から読み出されるデータのフォーマットは、図2 のように、チャンネルごとに32 ビット(8 個のヘッダー・ビットと24 個のデータ・ビット)で構成されています。デフォルトでは、Σ-Δの8 個のヘッダー・ビットは、図3 に示すように、ALERT ピンと同じ情報を提供するアラート・ビット、データのチャンネル・ソース、そして4 個のCRC ビットで構成されています。

CRC は2 つのペアのデータ、例えばチャンネル0 とチャンネル1、チャンネル2 とチャンネル3、チャンネル4 とチャンネル5、またはチャンネル6 とチャンネル7 のデータを使用して計算されます。合計で56 ビットを使用します。例えば、2 番目のチャンネル・ペアであるチャンネル2 とチャンネル3 については、次のようになります。

56 ビット =アラート・ビット+ ADC チャンネルの3 ビット(010)+
24 データ・ビット(チャンネル2)+アラート・ビット+
ADC チャンネルの3 ビット(011)+ 24 データ・ビット(チャンネル3)

組み合わせたチャンネルの1 番目には、CRC のMSBが含まれ、2 番目にはCRC のLSB が含まれます。

受信したデータが、追加されているCRC と一致しない場合、ADC データは無視されます。

インターフェース・エラーのいずれかがトリガされると、ALERT ピンがアサートされ、エラー・レジスタが読み出されるまで、すなわち新しいSPI トランザクションが正常に実行されるまでアサートされた状態に保たれます。SPI エラー・チェッカーはデフォルトでディスエーブルされていますが、GEN_ERR_REG_1_EN レジスタ(レジスタ0x05A)を使用してイネーブルすることができます。

電源

AD7770/AD7771/AD7779 を、デバイスの動作中に初期化すると、電圧レベルをチェックしてリセットが発生していないかどうかを調べるために、追加でモニタリングが実行されます。

内部低ドロップアウト・レギュレータ(LDO)のステータス

AD7770/AD7771/AD7779 には、アナログ・ブロック用のLDO が2 個(ALDO1 およびALDO2)とデジタル・コア用のLDO が1個(DLDO)内蔵されています。内部コンパレータが各LDO の出力電圧レベルをモニタし、電圧が予め決められた閾値レベルを超えるとエラー・フラッグを生成します。

図8. アナログLDO モニタ
図8. アナログLDO モニタ

3 つのLDO のいずれかの電圧が数マイクロ秒でも閾値を下回った場合、対応するビット、すなわち、GEN_ERR_REG_2 レジスタのALDO1_PSM_ERR 、ALDO2_PSM_ERR 、またはDLDO_PSM_ERR ビット(レジスタ0x05B のビット[2:0])がアサートされます。

これらの内部LDO は、必要であればBUFFER_CONFIG_2 レジスタ(レジスタ0x01A)のビット[2:0]をセットすることにより個別にオーバードライブ可能で、外部電源をAREG1CAP ピン、AREG2CAP ピン、DREGCAP ピンのいずれかに直接接続することができます。この場合は、外部出力電圧が検出されます。

図9.デジタルLDO モニタ
図9.デジタルLDO モニタ

3 つのチェッカーはすべて、GEN_ERR_REG_2_ENレジスタ(レジスタ0x05C)のビット[3:2]を使用して、個別にイネーブル/ディスエーブルすることができます。

3 つのチェッカーのいずれかがトリガされると、SAR ADC のセクションで説明したように、内蔵SAR ADC を使用し、SAR 入力のマルチプレクサを対応するLDOに接続することによって検証できます。

検出器が正しく動作しているかどうかを確認するには、LDO_PSM_TRIP_TEST_EN ビット(レジスタ0x05C のビット[1:0])をセットして、内部モニタのレベルをマニュアルでトリガすることができます。これらのビットはコンパレータ・ウィンドウの閾値をLDO出力よりも増加させ、コンパレータを強制的にトリガします。

リセットおよび電源投入

AD7770/AD7771/AD7779 のレジスタは、次のいずれかの場合に、それらのデフォルト値にリセットすることができます。

  • 電源投入時にLDO が最小レベルに達し、パワーオン・リセット(POR)回路がトリガされる場合。
  • RESET入力ピンにパルスを与える場合。この方法は、正常に初期化されるように、デバイスの電源投入直後に行うことを推奨します。
  • GENERAL_USER_CONFIG_1 レジスタのSOFT_RESETビット(レジスタ0x011 のビット[1:0])に、対応するシーケンスで書き込む場合。例えば、最初にSOFT_RESET = 11を書き込み、続いてSOFT_RESET = 10 を書き込む。
  • SDI ピンを介して64 個の連続する1 がクロック・インされる場合。

これらのいずれの場合もAD7770/AD7771/AD7779 はリセットされ、したがって、RESET_DETECTED ビット(GEN_ERR_REG_2(レジスタ0x05B)のビット5)がアクティブになります。

AD7770/AD7771/AD7779 は、LDO 出力が正常なレベルになるまでリセットされたままです。RESET_DETECTED ビットがアサートされている場合は、ソフトウェアまたはハードウェアによってリセットされたことを示しています。例えば、RESET_DETECTED ビットはRESETピンのグリッチを検出します。

RESET_DETECTED ビットがアサートされた場合は、SPI 制御モードでGEN_ERR_REG_2 レジスタ(レジスタ0x05B)を読み出すか、SPI 制御モードおよびピン制御モードの両方でSYNC_INピンをトグルすることによりクリアします。

SAR ADC

AD7770/AD7771/AD7779 のSAR ADC は、これまで説明したように、オンチップおよびシステム・レベルで多くの診断用途に使用されます。メインのADC チャンネルとは独立して制御され、(すなわちAVDD4 およびAVSS4 ピンから)独立して給電されており、メインのADC変換を中断することがないため、診断用にはSAR を使用するほうが望ましい場合があります。SAR はデータ出力インターフェースではなくSPIピンを使用してADCデータをクロック・アウトするため、診断のためにはSARを使用するほうが、他のΣ-Δ ADC チャンネルを使用して診断する場合に共通の原因で発生する故障のリスクを減らすことができます。図10 に示すように、AD7770/AD7771/AD7779 の汎用入出力(GPIO)ピンによって、選択するラインを制御できる外部マルチプレクサと、シグナル・コンディショニングを使用することにより、システム測定機能専用のどのΣ-Δ ADC も停止することなくSAR ADC で信号チャンネルを診断することができます。

図10. 診断用のSAR ADC
図10. 診断用のSAR ADC

SAR_DIAG_MODE_EN ビット(レジスタ0x012、ビット5)を使用してSAR ADC をイネーブルすると、SDO ピンのラインからシフト・アウトされるデータはすべてSAR ADC から来るので、Σ-ΔADCは中断されることなくDOUTインターフェースを同時に使用することができます。

診断用マルチプレクサ

図11 に示すように、SAR ADC の前にマルチプレクサが置かれているので、外部ピンのペア(AUXAIN+/AUXAIN−)、内部電源、信号、LDO 出力電圧、リファレンス、チップ温度の中から選択が可能です。

図11. マルチプレクサ、ドライバ・アンプ、ADC、ロジック回路を備えたSAR ADC シグナル・チェーン
図11. マルチプレクサ、ドライバ・アンプ、ADC、ロジック回路を備えたSAR ADC シグナル・チェーン

診断用にマルチプレクサを介してSAR ADCに接続可能なノードの一覧を表6 に示します。この中のいくつかは既にこのアプリケーション・ノートで取り上げています。このマルチプレクサは、GLOBAL_MUX_CONFIG レジスタ(レジスタ0x016)のビット[7:3]で制御します。表6 に記載されているように、ビットの設定に従って、SAR ADC の入力は様々な信号に接続されます。これまでに説明したエラーの1 つがトリガされた場合、対応する信号をSAR入力に接続することができれば、SAR ADCで電圧レベルをモニタできるので、診断に利用することができます。

表6. SAR マルチプレクサ入力
GLOBAL_MUX_CTRL SAR AIN+1 SAR AIN−1 Attenuation ÷ 6
00000
AUXAIN+
AUXAIN− No
00001 DVBE AVSSx No
00010
REF1+ REF1− No
00011
REF2+ REF2− No
00100
REF_OUT AVSSx No
00101
VCM AVSSx No
00110
AREG1CAP AVSSx Yes
00111
AREG2CAP AVSSx Yes
01000 DREGCAP DGND Yes
01001
AVDD1A AVSSx Yes
01010
AVDD1B AVSSx Yes
01011
AVDD2A AVSSx Yes
01100 AVDD2B AVSSx Yes
01101
IOVDD DGND Yes
01110
AVDD4 AVSSx Yes
01111
DGND AVSSx Yes
10000 DGND AVSSx Yes
10001
DGND AVSSx Yes
10010
AVDD4 AVSSx Yes
10011
REF1+ AVSSx No
10100
REF2+ AVSSx No
10101
AVSSx AVDD4 Yes
1 AVSSx は、AVSS1 ピン~AVSS4 ピンを表しています。

シグマ・デルタADC マルチプレクサ

Σ-Δ ADC もすべて診断のために使用することができます。信号経路のPGA の前のマルチプレクサを介して(図1 参照)、図12に従ってコンバータの入力をゼロ・スケール、正のフルスケール、負のフルスケール、または固定280mV 差動信号に接続して、チャンネルが正常に動作していることを検証できます。

図12. ADC と接続するリファレンスおよび入力を選択できるようにするADC_MUX_CONFIG レジスタ
図12. ADC と接続するリファレンスおよび入力を選択できるようにするADC_MUX_CONFIG レジスタ

診断用マルチプレクサは、診断したいチャンネルのCHx_CONFIG レジスタのCHx_RX ビットを使用してイネーブルします。その後、ADC_MUX_CONFIG レジスタのMTR_MUX_CTRL ビット(レジスタ0x015 のビット[5:2])を使用してマルチプレクサを制御することができます。これにより、この内部マルチプレクサも診断用に使用することができます(PGA ゲインのセクションおよびリファレンス検出のセクションを参照)。

AD7770/AD7771/AD7779 には、内部ブロックのモニタ、アラートが発行された場合の診断およびエラーの検証をユーザが行えるようにする機能が装備されています。また、エラーを修復する様々な方法も提供します。これらの機能を備えているので、AD7770/AD7771/AD7779 は機能の安全性を診断する必要があるアプリケーション向けに最適なソリューションです。

著者

Lluis Beltran Gil

Lluis Beltran Gil

Lluis Beltran Gilは、バレンシア工科大学(UPV)で、2009年に電子工学、2012年に生産管理工学の学士号を取得しています。卒業後の2013年に、リムリックの高精度コンバータ・グループ所属のアプリケーション・エンジニアとして、アナログ・デバイセズに入社しました。現在、計測器ビジネス・ユニット内のSAR ADCアプリケーション・チームに所属して、スペインのバレンシアに居住しています。バレンシア大学(UV)で電子工学の修士号も取得しています。

Miguel-Usach

Miguel Usach Merino

Miguel Usach Merinoは、2008年にアナログ・デバイセズに入社しました。スペインのバレンシアでリニア/高精度技術グループに所属するアプリケーション・エンジニアとして業務に携わっています。バレンシア大学で電子工学の学位を取得しています。