AN-1042: ADIS16130 クイック・スタート・ガイドおよびバイアス最適化のヒント
パッケージの装着と取扱い
ADIS16130 は、M2 または2-56 ネジに対応する4 個の取付け穴があるプラスチック筐体に収められています。このパッケージは、コネクタが上向き、または下向きの2 種類の実装が可能です。図2に、コネクタが下向きになる実装でのシステムの取り付け穴位置図を示します。これに対して、コネクタが上向きになる実装では、4 個の取付けネジに使用する穴のパターンは同じですが、電気的接続のためにケーブルおよびコネクタのインターフェースを追加する必要があります。コネクタは標準の1mmピッチ2 列タイプのもので、メイティング・コネクタには多くのオプションがあります。図 3に、メイティング・コネクタに対応した推奨のパッド・レイアウトと穴パターンを示します。ここでは、Samtec CLM-112-02 ファミリーのコネクタの使用を想定しています。取付けパッドの内側の穴は、ADIS16130 コネクタのピンのずれにより機械的なストレスやバイアス・シフトが発生するのを防ぎます。
電気的接続
図 4は、SPIマスタとなるシステム・プロセッサとADIS16130 の接続を示す基本回路図です。ADIS16130 をこのように結線すると、データを自動的に生成し、出力データ・レジスタを継続的に更新します。この接続図は、電源、グラウンド、4 線シリアル信号、データ・レディ信号、帯域幅低減コンデンサに対応します。データ・レディ信号を用いてマスタ・プロセッサの割込みサービス・ルーチンを駆動することで、プロセッサ・リソースの最適化を図りながらデータの連続性を維持することができます。
ピン名 | 機能 |
SPISELx | スレーブ・セレクト |
IRQ | 割込み要求 |
MOSI | マスタ出力、スレーブ入力 |
MISO | マスタ入力、スレーブ出力 |
SCLK | シリアル・クロック |
SPIインターフェース
表 2に、マスタ・プロセッサとADIS16130 間のSPI通信に必要な代表的な設定の一覧を示します。通常、これらの設定はマスタ・プロセッサの制御レジスタ内にあります。たとえば、ADSP-BF533 プロセッサ・ファミリーでは、SPI_BAUD、SPI_CTL、SPI_FLGの各レジスタがその役割を果たしています。タイミングについては、ADIS16130 データシートを参照してください。
Processor Setting | Description |
Master | ADIS16130 operate as slave. |
SPI Mode 3 | CPOL = 1 (polarity), CHPA = 1 (phase). |
MSB-First Mode | Bit sequence. |
8-Bit Mode | Shift register/data length. |
SDIにコマンドを送るには、送信バッファ・レジスタ(ADSP-BF533のSPI_TDBR)への書込みが必要です。出力データをSDOから取得するには、受信バッファ・レジスタ(ADSP-BF533のSPI_RDBR)の読出しが必要になります。多くのプロセッサでは、これらのコマンドにより、制御レジスタ内の設定に従ってクロック/シーケンスが自動的に生成されます。
初期化
表 3のSDI欄に示す各コマンドをSDIピンに書き込むことによって、ADIS16130を初期化できます。
Step | SDI1 | Register | Purpose |
1 | 0x01 | COM | 初期化書込みシーケンスの開始 |
2 | 0x38 | IOP | RATEDATA 出力レジスタとTEMPDATA 出力レジスタ共に新しいデータに更新された時にデータ・レディ信号にLowレベルのパルスを生成 |
3 | 0x28 | COM | RATECS レジスタの書込みシーケンスの開始 |
4 | 0x0A | RATECS | ジャイロスコープのデータ出力の設定とイネーブル |
5 | 0x30 | COM | RATECONV レジスタの書込みシーケンスの開始 |
6 | 0x05 | RATECONV | ジャイロスコープ出力AD 変換の初期化 |
7 | 0x2A | COM | TEMPCS レジスタの書込みシーケンスの開始 |
8 | 0x0A | TEMPCS | 温度データ出力の設定とイネーブル |
9 | 0x32 | COM | TEMPCONV レジスタの書込みシーケンスの開始 |
10 | 0x05 | TEMPCONV | 温度出力データAD 変換の初期化 |
11 | 0x38 | COM | MODE レジスタの書込みシーケンスの開始 |
12 | 0x22 | MODE | 24 ビット分解能でAD 変換を開始してRATEDATA とTEMPDATA を連続取得開始 |
1SDI の欄には各コマンドの16 進コードを示しています。 |
出力データの読出し
データ・レディ(RDY)信号は、まだ読み出していない新しいデータが出力レジスタ内に存在することを示します。データの連続性とプロセッサ・リソースを最適化するには、この信号を使ってマスタ・プロセッサの割込みサービス・ルーチンを駆動します。ADIS16130 では5.7kHzのレートでRATEレジスタとTEMPレジスタを更新してますので、その倍の11.4 kHzのレートで約26 μ間ローレベルになるパルスがデータ・レディ信号に発生した場合、RATEレジスタまたはTEMPレジスタのいずれかに更新があったことを意味します。割込みサービス・ルーチンを起動するには、ハイレベルからローレベルへの遷移を使用してください。この信号パルスがローになった後、チップ・セレクト・ラインをローレベルにし、0x48 をSDIラインに書き込むことによって、データを読み出します。次に、出力データとなる次の3 バイトをSDOから読み出します。各8 ビット・シーケンス間で、チップ・セレクトをハイレベルにしてください。MODE レジスタで24 ビット分解能を選択した場合、最上位バイトはSDO シーケンスの先頭に位置し、その後に次の上位バイトが来て、最後に最下位バイトが来ます。16 ビット分解能を選択した場合は、読出しシーケンス中にSDO から出力されるのは2バイトのみになります。
データ・フォーマット
ADIS16130は、オフセット・バイナリのデータ・フォーマットを使用します。
24-Bit (Codes) | 16-Bit (Codes) | Rate Output |
14,260,608 | 55,706 | +250°/sec |
8,623,488 | 33,686 | +10°/sec |
8.388,612 | 32,769 | +0.00017030°/sec |
8,388,609 | +0.000042575°/sec | |
8,388,608 | 32,768 | 0 |
8,388,607 | 8,388,607 | −0.000042575°/sec |
8,388,604 | 32,767 | −0.00017030°/sec |
8,153,728 | 31,850 | −10°/sec |
2,516,608 | 9,830 | −250°/sec |
24-Bit (Codes) | 16-Bit (Codes) | Rate Output |
9,516,048 | 37,172 | +105°C |
9,234,188 | 36,071 | +85°C |
8,402,701 | 32,823 | +26°C |
8,388,608 | 32,768 | +25°C |
8,036,283 | 31,392 | +0°C |
7,472,563 | 29,189 | −40°C |
バイアス精度と出力安定性の最適化
ジャイロスコープ・システムの2 つの一般的な誤差源は、温度の変化に伴うバイアス変化と初期バイアス誤差です。図 6に、デジタル・プロセッサ環境でこれらの誤差を修正する簡単なプロセスを示します。ADIS16130 にはデバイスごとに独自の挙動があるため、このプロセス図の補正係数を最適化するためには特性評価が必要です。
この校正プロセスを実行すると、補正されたジャイロスコープ速度出力が得られます。この出力は次の関係式で表すことができます。
RBC = RATE + PBC + (TEMP − T3) × BTC
ここで、
RBC は補正された出力データです。
RATEはADIS16130ジャイロスコープの出力データです。
TEMPはADIS16130の温度出力データです。
バイアスの特性評価では、ADIS16130が無回転状態のときの出力を測定します。ノイズがあると出力測定にランダム誤差が加わり、バイアス測定の精度に影響を及ぼすことがあります。したがって、バイアス測定時のノイズを処理するために、一般的に連続したサンプルの平均値を求めます。図 7のアラン分散曲線は、平均化時間とADIS16130のバイアス精度の関係を示しています。
各アプリケーションにはそれぞれに性能の基準がありますが、以下の手順に従うことで基本的なバイアス校正プロセスを行うことができます。
- 測定の最中に動かないようにするために、固定のプラットフォームにADIS16130を装着します。
- 安定した+5 Vのリニア電源電圧をADIS16130に印加します。出力バイアスは、電源が1 mV変化するごとに0.0002°/secシフトし得ます。
- 表 3の初期化コマンドをSDIピンに書き込みます。
- 5.7 kSPS の最大サンプル・レートで10 秒間TEMP とRATEのデータを読み出します。各データ・セットの平均値を求め、この平均温度に対する温度推定値(T1)とバイアス推定値(B1)を算出します。
- デバイスがそれ自体の発熱に対して安定化するのを10 分待ちます。
- 手順3 をもう一度繰り返し、温度(T2)と出力バイアス(B2)の新しい推定値を算出します。次に、次式を使ってバイアス温度係数(BTC)を計算します。
BTCを使って、温度条件に適した補正係数をロードするルックアップ・テーブルを作成します。表 6に、0.02°Cの温度ステップ・サイズを使ってバイアス温度係数0.04°/sec/°Cを補正する補正係数の例を示します。 - 環境温度変化に対する追従のために40 分間待ちます。
- 5.7 kSPS のサンプル・レートでRATE データを150 秒間読み出します。正確なバイアス推定値を出すためにこのデータの平均値を出し、その値に-1 を掛けて正確なバイアス補正係数(PBC)を求めます。
- TEMP (T3)を読み出します。
Temperature Control (TEMP − T3) |
Bias vs. Temperature Correction Factor (TEMP − T3) × BTC |
+0.12°C | −0.0048°/sec |
+0.10°C | −0.0040°/sec |
+0.08°C | −0.0032°/sec |
+0.06°C | −0.0024°/sec |
+0.04°C | −0.0016°/sec |
+0.02°C | −0.0008°/sec |
0°C | 0°/sec |
−0.02°C | +0.0008°/sec |
−0.04°C | +0.0016°/sec |
−0.06°C | +0.0024°/sec |
−0.08°C | +0.0032°/sec |
−0.10°C | +0.0040°/sec |
−0.12°C | +0.0048°/sec |
その他のヒント
結論として、このアプリケーション・ノートに示した簡単な校正プロセスによって、大幅な性能向上が見込めます。また、必要に応じて、もっと大掛かりな校正方法を開発するための土台としても利用することができます。以下に、その他の役に立つと考えられる情報をまとめました。
- 5.7 kSPS のサンプル・レートにより、14.3 kHz 付近に現れる共振をフィルタ処理できます。
- ROA1 とROA2 の間に0.01 μFコンデンサを使えば、センサ帯域幅を50 Hzに低減することができます。これでノイズを50%減らせます。帯域幅を50 Hzにすると、低速サンプル・レートも使用できるようになります。たとえば、RDY信号を使って200×カウンタを駆動し、読出し速度を230 SPSに低減できます。
- このアプリケーション・ノートの校正プロセスは、デバイスの熱的に安定するまでの時間を利用します。精度を上げるには、制御された温度槽を使ってデバイスを一定温度に維持し、各バイアス・ポイントの平均化時間を長くします。これによってさらに性能の最適化を図ることができます。
- プロセッサ・システムがジャイロスコープ出力と温度センサー出力の両方を5.7 kSPS の速度で読み出せない場合は、レート測定を低減する前に、まず温度センサーの読出し速度を低減してください。温度変化の最大値が1°C/sec の場合は、サンプル・レートが100 SPS あれば十分に0.02°C の変化を検出して熱補正係数を更新することができます。