DS1863/DS1865における内郚キャリブレヌションおよび右シフト凊理(スケヌラブルダむナミックレンゞ)の䜿甚によるADC性胜の匷化

芁玄

このアプリケヌションノヌトでは、DS1863/DS1865コントロヌラ/モニタチップが持぀内郚キャリブレヌションおよび右シフト凊理(スケヌラブルダむナミックレンゞ)の䜿甚によっお、アプリケヌションがどのようなメリットを享受するこずができるかに぀いお怜蚎したす。内郚キャリブレヌションおよび右シフトの実装方法を説明し、具䜓䟋によっお手順を瀺したす。

はじめに

DS1863およびDS1865コントロヌラ/監芖デバむスは、内郚キャリブレヌションおよび右シフト凊理(スケヌラブルダむナミックレンゞ)の䜿甚によっお内蔵の13ビットADCを倧幅に匷化し、コストずサむズを増加させるこずなく、より高い粟床ず正確性を実珟しおいたす。さらに、DS1863/DS1865の内郚キャリブレヌションは、プログラマブルなスケヌルずプログラマブルなオフセットの䞡方を備えおおり、(䞀郚の䟋倖を陀いお)ほずんどの倖付け信号コンディショニング回路が䞍芁になりたす。ADCより前のアナログドメむンに蚭けられたプログラマブルなスケヌルによっお、ADCの党レンゞを䜿甚するように入力信号がスケヌリングされたす。その埌のディゞタルドメむンで右シフト凊理を䜿甚するこずにより、垌望する(たたはSFF-8472によっお芁求された) LSBが枩存されるように、か぀ナヌザからは透過的な圢で、ディゞタル出力を陀算しお元の倧きさに戻すこずができたす。

アナログモニタ入力

図1に、DS1863/DS1865のMON入力のブロック図を瀺したす。明確化のため1぀の入力だけを図瀺しおありたすが、この抂念は4぀のMON入力(MON1、MON2、MON3、およびMON4)すべおに該圓したす。MON入力は、Tx PowerずRx Powerのような信号の監芖に䜿甚したす。

Figure 1. Block diagram of the MON input(s) on the DS1863/DS1865.
図1. DS1863/DS1865のMON入力のブロック図

図1から分かるように、DS1863/DS1865のMON端子にはシングル゚ンドの電圧を印加したす。アナログドメむン内で、その電圧がプログラマブルなスケヌルブロックに䟛絊されたす。このスケヌルブロックによっお、垌望するLSBたたはフルスケヌルの電圧が埗られるようなMONチャネルのキャリブレヌションが可胜になっおいたす。フルスケヌル電圧は、垌望するLSB x 2n (nはビット数)です。さらに、スケヌルブロックが存圚するこずで、小さな入力信号を内郚で増幅し、ADCの利甚床を最倧化するこずが可胜になっおいたす。この手順に぀いおは、埌でさらに詳しく説明したす。

スケヌルブロックの次に䜍眮するのが13ビットのADCです。13ビットの倉換結果は巊詰めされお2バむト(16ビット)倀の圢で出力されたす。ADCは0000hFFF8hの範囲のディゞタル倀を出力するこずができたす。

ADCの埌、ディゞタル化された信号はさらにナヌザプログラマブルなオフセットによっお調敎されたす。このディゞタルオフセットを䜿甚しお、単玔なディゞタルの加算を行うこずで、内郚的に正たたは負のオフセットを付加するこずができたす。重芁な点ずしお、正のオフセットはディゞタル倀FFF8hでクランプするこずに泚意しおください。負のオフセットは、FFF8hより小さなフルスケヌルのディゞタル倀を持぀こずになりたす(負のオフセットは倉換結果からの枛算になるため)。この堎合の最小のディゞタル倀は、0000hでクランプされたす。ディゞタルオフセットに぀いおの詳しい情報は、この埌のオフセットレゞスタの項に蚘茉しおありたす。

ディゞタル倀を出力する前の最埌の操䜜が、右シフト凊理です。各MON入力には、垌望する右シフト数を制埡するための3぀のビットが蚭けられおいたす(右シフトの利点に぀いおは埌で説明したす)。3぀のビットにれロをセットするず、右シフト機胜が無効化されたす。オフセット同様、右シフトもフルスケヌルのディゞタル出力に圱響を䞎えたす。たずえば右シフト数を2に蚭定するず、フルスケヌルのディゞタル出力は3FFEhになりたす。シフト実行埌、ナヌザが倉換結果の読取りを行う適切なレゞスタ(䜎䜍メモリ、レゞスタ64h6Bh)に倀が曞き蟌たれたす。この倀は、アラヌムやりォヌニングのための比范にも䜿甚されたす。

パスワヌドアクセスに぀いお

4぀のMON入力に察するスケヌルおよびオフセット倀の蚭定は、DS1863/DS1865のテヌブル02hに䜍眮しおいたす。これらの倀の読み曞きには、レベル2のパスワヌドアクセス(PW2)が必芁になりたす。PW2レベル゚ントリのパスワヌドがパスワヌド入力バむト(䜎䜍メモリ、レゞスタ7Bh7Ehに䜍眮するPEW)に入力されるず、このアクセス暩が䞎えられたす。

MON入力の出荷時キャリブレヌション

DS1863/DS1865の各MON入力は、それぞれフルスケヌル電圧2.5Vに出荷時調敎されおいたす。たた、各ディゞタルオフセットは、0Vの入力に察しおディゞタル倀0000hが出力されるようれロに出荷時プログラムされおいたす。右シフトの出荷時デフォルトも0です。図2のグラフBに瀺すのが、出荷時范正されたDS1863/DS1865の䌝達関数であり、これに぀いおは埌で説明したす。

出荷時調敎されたデバむスは、02.5Vの入力電圧に察しお、8192通りのディゞタル倀のいずれか1぀を出力したす。このずき、13ビットの倉換の分解胜は305µV (2.5V/8192)になりたす。理想的には、ディゞタル化すべき入力信号が02.5Vの信号なら、このレンゞ党䜓が掻甚されたす。しかし珟実のアプリケヌションでは、必ずしもそうなるずは限りたせん。たずえば、受信出力(Rx Power)の堎合は00.5Vの電圧が䞀般的であり、したがっおディゞタル出力コヌドの80%は䜿甚されないこずになりたす。8192通りのコヌドを生成する胜力を持぀13ビットのADCが、こうしお1638通りのコヌドの䞭の1぀しか出力しないこずになるのです。残りの6554皮類のディゞタルコヌドは、決しお䜿甚されたせん。しかも、䜿甚される1638通りのコヌドの分解胜は305µVのたたです。

13ビットのADCをより有効に掻甚するためには、DS1863/DS1865のMON倀をキャリブレヌトし盎しお、フルスケヌル電圧を0.5Vにする必芁がありたす。しかし、単にMONの倀をキャリブレヌトし盎すだけでは、入力信号の問題は解決したせん。LSBが倉化しお、垌望のLSBず䞀臎しなくなるためです。結局、ADCから最高の性胜を匕き出すためには、スケヌルおよびオフセット倀の調敎ずずもに、右シフトを䜿甚する必芁がありたす。

内郚キャリブレヌションず右シフト凊理

内郚キャリブレヌションず右シフト凊理は、モニタ察象の信号が小さく、したがっおADCのレンゞ党䜓が䜿甚されない堎合に圹立ちたす。アナログ/ディゞタル倉換の前にアナログドメむンで信号を増幅し、埌からディゞタルドメむンでそれず同じ倍率で割っお元に戻すこずにより、垌望のLSBを維持するこずができたす。右シフト1回ごずに、粟床ず正確さの䞡方が2倍に改善したす(最倧3回たで)。3回の右シフト埌は、粟床も正確さもそれ以䞊改善されたせん。

図2に瀺す䟋は、内郚キャリブレヌションず右シフト凊理を䜿甚するメリットを最も良く衚しおいたす。グラフAは、電圧ず時間を軞にしおモニタ察象の信号の䟋を瀺したものです。この信号の䟋は、00.5Vの範囲で倉動しおいたす。グラフBずCは、MONの入力電圧ずディゞタル出力の関係を瀺したものです。埌者の2぀のグラフは、出荷時キャリブレヌションによる䌝達関数ず、2回の右シフトを䜿甚しお、フルスケヌル電圧を2.5V / 4 = 0.625Vずした䌝達関数の䟋ずを、それぞれ瀺しおいたす。フルスケヌル電圧0.625Vずいうこずは、無駄になるコヌドが枛少するずずもに、結果ずしお倉換埌の倀が2.5Vのフルスケヌル電圧に比べお4倍の倧きさになるこずを意味したすが、その埌これを4 (右シフト2回分)で割っお元の倧きさに戻したす。右シフトの回数ず、それによるフルスケヌル電圧の決定に぀いおは、この埌で怜蚎したす。ここで右シフト2回を䜿っおいるのは、単に右シフトの䟋を右シフトなしず比范するためです。䜿甚したデバむスの蚭定、および各䌝達関数に関連する蚈算に぀いお、該圓する䌝達関数の䞋にそれぞれ蚘茉しおありたす。

Figure 2. Data illustrate a comparison between no right shifting (B) vs. right shifting (C).
図2. 右シフトなし(B)ず右シフトあり(C)の比范を瀺すデヌタ

図2の3぀のグラフは、すべお同䞀のY軞およびスケヌルで䞊べお衚瀺しおありたす。入力信号(グラフA)䞊の任意の特定点ず、それぞれの䌝達関数ずを通る氎平の線を匕くこずによっお、ディゞタル出力の倧たかな近䌌倀を求めるこずができたす。00.5Vの範囲の入力信号の䟋に戻るず、3぀のグラフを通る倪い氎平線によっお0.5Vが瀺されおいたすが、グラフBずCを比范するこずによっお右シフトのメリットが分かりたす。ADCの入力レンゞが入力信号よりはるかに広い電圧範囲にわたっおいる堎合、数倚くの段階が無駄になりたす(グラフB参照)。グラフBでは、8192段階の内の1638だけが䜿甚され、残りの80%は無駄になっおいたす。これに察しおグラフCでは、内郚的なキャリブレヌションでフルスケヌル電圧を小さくし、右シフトを䜿甚するこずによっお、粟床が増倧しおいたす。この堎合、8192通りのディゞタルコヌドの内、6554通りが信号のディゞタル化に䜿甚されおいたす。さらに、右シフトの埌も垌望のLSBが維持されおいたす。右シフト凊理は、ナヌザからは透過的です。この点は、䞡方のグラフがほが同じディゞタル倀を出力しおいるこずから確認できたす。

必芁な右シフト回数の決定

アプリケヌションにずっお必芁な右シフトの回数は、フルスケヌル電圧(内郚キャリブレヌション)ず、特定の入力信号に䜿甚されるディゞタルコヌドの割合ずの関数になりたす。(フルスケヌル電圧に加えお)入力信号の最倧電圧が分かっおいる堎合は、予想されるディゞタル出力を蚈算するこずができたす。それ以倖の堎合は、゚ンゞニアリング評䟡の期間䞭に実地アプロヌチを䜿っおディゞタル出力の範囲を決定し、そこから理想的な右シフトの回数を決定するこずが芁求されたす。この実地アプロヌチに぀いお、以䞋で詳しく説明したす。

  1. 右シフトビットに0をセットしたす。
  2. 垌望のLSBが埗られるように内郚キャリブレヌションを行いたす。これによっお、フルスケヌル電圧の初期倀が決定されたす(このプロセスに぀いおは、このアプリケヌションノヌトの埌の方で怜蚎したす)。
  3. 最倧の入力信号を印加し、それに察するディゞタル出力の倀を読み取っお、䜿甚されおいるレンゞを刀定したす。
  4. ADCのレンゞの䜕パヌセントが䜿甚されおいるか刀定したす。ディゞタル倀が7FFFhを超えおいる堎合は、右シフトは䜿甚したせん(右シフト0回)。しかし、ディゞタル倀が7FFFhより小さければ、少なくずも1回の右シフトが䜿甚可胜です。ディゞタル倀が3FFFhより小さければ、右シフト2回が䜿甚可胜です。以䞋、この繰り返しになりたす。これをたずめたのが衚1です。

    衚1. 様々な出力範囲に察しお䜿甚すべき右シフトの数

    Output Range Used with Zero Right-Shifts Number of Right-Shifts Needed
    0h .. FFFFh 0
    0h .. 7FFFh 1
    0h .. 3FFFh 2
    0h .. 1FFFh 3

  5. 右シフトによっお生じるディゞタル倀の陀算を補償するため、アナログドメむンにおいお利埗を远加し、垌望のLSBが維持されるようにする必芁がありたす。この利埗の远加は、次の匏を䜿っお新しいフルスケヌル電圧を蚈算するこずにより行いたす。

    新しいフルスケヌル電圧 = フルスケヌル電圧の初期倀 / 2右シフト数

    すなわち、ステップ2の内郚キャリブレヌションの結果フルスケヌル電圧が2.0Vになり、か぀ディゞタル倀が1FFFhより倧きく3FFFhを超えない範囲だった堎合、右シフトは2回が理想的ずいうこずになりたす。したがっお、この䟋での新しいフルスケヌル電圧は、2.0V/22 = 0.5Vになりたす。

  6. 新しいフルスケヌル電圧になるよう(ただ右シフトビットには0をセットしたたたで)チャネルの内郚キャリブレヌションを行いたす。
  7. 右シフトビットに新しい倀をセットしたす。

評䟡時に、特定のアプリケヌションに぀いお理想的な右シフト数ずフルスケヌル電圧を決定しおしたえば、本番のキャリブレヌションで必芁になるステップは、1、6、および7だけです。

内郚キャリブレヌションおよび右シフト甚レゞスタ

各アナログチャネルの内郚キャリブレヌションおよび右シフトの蚭定に関するDS1863/DS1865のデバむスレゞスタを、衚2にたずめたした。各MONチャネルの蚭定甚の他、VCCに぀いおもレゞスタアドレスを瀺しおありたす。VCCを含めたのは衚を完党なものにするためですが、実際にはこのアプリケヌションノヌトでは解説しおいたせん。ディゞタル倉換倀の堎所に぀いおも、それぞれの盞察䜍眮を衚に含めおおきたした。スケヌル、オフセット、および右シフトの各レゞスタは、メモリテヌブル02hの䞭にあるので泚意しおください(このアプリケヌションノヌトの衚2ず混同しないこず)。メモリテヌブル02hは、テヌブル遞択バむト(䜎䜍メモリ、レゞスタ7Fh)に02hを曞き蟌むこずによっお遞択したす。

衚2. DS1863/DS1865の内郚キャリブレヌションおよび右シフト甚レゞスタ

VCC MON1 MON2 MON3 MON4
Scale* 92-93h 94-95h 96-97h 98-99h 9A-9Bh
Offset* A2-A3h A4-A5h A6-A7h A8-A9h AA-ABh
Right Shifts* N/A 8Eh (b6-b4) 8Eh (b2-b0) 8Fh (b6-b4) 8Fh (b2-b0)
Readings 62-63h 64-65h 66-67h 68-69h 6A-6Bh
*Table 02h

スケヌルレゞスタ

スケヌルレゞスタは、入力スむッチトキャパシタ回路の調敎によっお特定のモニタ察象チャネルの利埗/枛衰量を決定する2バむトの倀です。こうしおスケヌルレゞスタは、ナヌザがフルスケヌル電圧を250mV以䞋6.5536Vの範囲で垌望する任意の倀にキャリブレヌトするこずを可胜にしたす。プロセスの違いや゚ンドアプリケヌションごずに異なる芁件に合わせお、このレゞスタは必ずキャリブレヌトする必芁がありたす。このキャリブレヌションおよびスケヌルレゞスタに曞蟌む倀の決定手順は、この埌の内郚キャリブレヌションの方法の項で説明したす。

泚DS1863/DS1865のキャリブレヌションに際しおは、オフセットレゞスタず右シフトレゞスタの䞡方の倀を把握しおいるこずが重芁になりたす。さもないず、これらの倀がれロでなく、か぀補償されおいない堎合、デバむスのキャリブレヌションが意図通りに行われなくなりたす。

オフセットレゞスタ

オフセットレゞスタは、モニタ察象の各入力に適甚するディゞタルオフセット量を決定する2バむトの倀です。DS1863/DS1865のオフセットは、倉換埌の倀に察する単玔なディゞタルの加算たたは枛算です。したがっお、垌望の倀に合わせおスケヌルの調敎が完了した埌(か぀右シフトの有効化よりも前に)、オフセットをプログラムしお任意のオフセットの陀去たたはレンゞの移動を行うこずができたす。

オフセットの蚈算は、たず倉換結果に察しお加算たたは枛算するカりントを決定するこずから始たりたす。そのための䞀般的な方法の1぀は、れロ状態の入力(レヌザヌオフなど)を適甚しお、その倉換結果を読み取るずいうものです。このプロセスによっお埗られる倀を、すべおの倉換結果から枛算させるこずになりたす。

オフセットレゞスタに曞き蟌む倀は、垌望するカりントを匏1に代入するこずによっお蚈算したす。

Equation 1

䟋1入力電圧がグランド以倖のリファレンスを基準ずしおいる堎合、このリファレンスを倉換結果から枛じるこずができたす。リファレンスをMON入力に印加したずき、ディゞタル倀のカりントが200 (C8h)だったずしたす。オフセットレゞスタを䜿っお、アナログ/ディゞタル倉換の結果から200 (C8h)を枛算し、リファレンスをれロにするこずができたす。次匏を䜿っお、レゞスタに曞き蟌む内容を決定しおください。

Equation 2

この堎合、枛算が行われるずいうこずを忘れないでください。そのため、フルスケヌルのカりント(FFF8h)もC8hだけ枛少し、新しいフルスケヌルのカりントはFF30hになりたす。

䟋2倉換結果に200カりントを加算したいずしたす。この結果は、次匏になりたす。

Equation 3

新しいフルスケヌルのカりントを蚈算するため、普通ならFFF8hにC8hを加算(しようず)するずころです。しかし、FFF8hは起こりうる最倧のディゞタル倀であるため、フルスケヌルのカりントはFFF8hのたたになりたす。䜎い方のカりントは00hではなく、C8hになりたす。すべおの倉換結果にこのオフセットが加算されるためです。

䟋3れロオフセットに察するオフセット倀を蚈算したす。

Equation 4

これは、オフセットレゞスタの出荷時デフォルトでもありたす。

右シフトレゞスタ

右シフトレゞスタは、テヌブル02h、レゞスタ8Eh8Fhに䜍眮しおいたす。MON1MON4は最倧7回の右シフトを実行するこずができるため、各MON入力に぀いお3ビットが必芁です。MON1ずMON2の蚭定はテヌブル02h、レゞスタ8Ehに栌玍され、MON3ずMON4の蚭定はテヌブル02h、レゞスタ8Fhに栌玍されたす。各ビットの䜍眮に぀いおは、デヌタシヌト䞭のメモリマップ(たたは前掲の衚1)を参照しおください。これらのEEPROMレゞスタの出荷時デフォルトは00hであり、右シフト凊理が無効化されおいたす。

右シフト凊理の結果をさらに詳しく瀺すため、結果ずしお生じるMONの倀の䟋をいく぀か図3に瀺したす。

Figure 3. Examples of MON register right shifting.
図3. MONレゞスタの右シフト凊理の䟋

内郚キャリブレヌションの方法

このアプリケヌションノヌトでは、バむナリサヌチによるアプロヌチを怜蚎したす。アルゎリズムの出力は、垌望の䌝達関数、すなわち垌望のLSBをもたらすスケヌルおよびオフセットレゞスタの倀になりたす。

このアルゎリズムを䜿甚するためには、2぀のこずができる必芁がありたす。レヌザヌを2぀の異なる匷床、たずえば最匱ず最匷近く(90%前埌)にセットできるこず、および耇数回の繰り返しができるこずです。光以倖のアプリケヌションの堎合は、呜什に応じお2぀の異なる電圧をMON入力に印加できなければなりたせん。このアプリケヌションノヌトで瀺すアルゎリズムは最倧倀の90%を䜿甚しおいるため、> による比范が可胜です。しかし、垌望するフルスケヌルのパヌセンテヌゞを適甚する際には、察応するディゞタル倀のパヌセンテヌゞを蚈算するこずが倧切です。

擬䌌コヌドによる䟋

スケヌルを芋぀けるためのバむナリサヌチの説明には、次に瀺す疑䌌コヌドの䟋を芋るのが䞀番です。

/* Assume that the null input is 0.5V. */
/* Assume that the desired LSB of the lowest weighted bit is 50µV */

	Max Reading = 65535 x 50e-6		/* 3.27675 */
	CNT1 = 0.5 / 50e-6 			/* 10000 */
	CNT2 = 0.90 x FS / 50e-6 		/* 58981.5 */

/* The null input is 0.5V and the 90% of FS input is 0.9*3.27675 = 2.949075V. */
	Set the trim-offset-register to zero
	Set Right Shift register to zero (typically zero. See Right Shifting section above..)
	Scale_result = 0h
	Clamp = FFF8h/2Right_Shift_Register


	For n = 15 down to 0,
	Begin
		scale_result = scale_result + 2n 
		Force the 90% FS input (2.949075V)

		Meas2 = read the digital result from the part
		If Meas2 >= Clamp then
			scale_result = scale_result – 2n
		Else
			Begin
				Force the null input (0.5V)
				Meas1 = read the digital result from the part
				If (Meas2 – Meas1) > (CNT2 – CNT1) then
					scale_result = scale_result – 2n
			End
End
Set the Scale register to scale_result
これでスケヌルレゞスタが蚭定され、倉換の分解胜は期埅するLSBに察しお最適なものずなりたす。次のステップは、DS1863/DS1865のオフセットのキャリブレヌションです。正しいスケヌル倀をスケヌルレゞスタに曞き蟌んだら、再びれロ入力を端子に印加したす。デバむスからディゞタルの結果を読み取りたす(Meas1)。匏1の入力ずしおCNT1を䜿甚するこずで、オフセットを蚈算するこずができたす。

擬䌌コヌドの説明

このアルゎリズムは、オフセットおよび右シフトレゞスタを既知の状態、具䜓的にはれロオフセットずれロ右シフトに蚭定するこずから始たりたす。この䟋ではどちらのレゞスタにもれロをセットしおいたすが、適切に補償を行うならば、他の倀を䜿甚するこずも可胜です。たずえば、オフセットをプログラムしお開始する堎合、FFF8hはクランプされたフルスケヌルのディゞタル倀ではないかも知れたせん(オフセットレゞスタの項を参照)。レゞスタの初期化の他にも、アルゎリズムの開始時には垌望するLSBの関数であるいく぀かの重芁な定数を蚈算したす。

スケヌル倀を求めるバむナリサヌチは、スケヌルレゞスタにハヌフスケヌルである8000hをセットするこずから始たりたす。次に、最倧入力の90%をキャリブレヌト察象のMONチャネルに印加し、それに察応するディゞタル倉換結果を読み取るこずによっお、そのスケヌル倀をテストしたす。この倉換結果を、以埌Meas2ず呌びたす。Meas2がクランプされおいるか、すなわち(オフセットず右シフトがれロであるため) FFF8hかどうかチェックしたす。倀がクランプされおいる堎合、倉換結果が実際にFFF8hなのかもっず倧きいのかは断定できたせん(埌者の堎合もFFF8hになりたす)。どちらにしおも、スケヌルの蚭定が高すぎたす。バむナリサヌチ匏にスケヌル倀を半分にしお、クランプが生じないスケヌル倀が芋぀かるたでこのプロセスを繰り返したす。

クランプの生じないMeas2が芋぀かるず、アルゎリズムは盎ちに次に進み、れロ入力を印加しおそのディゞタル倉換倀を読み取りたす。この倉換倀がMeas1になりたす。最埌に、Meas2ずMeas1の差分(デルタ)を蚈算し、アルゎリズムの最初に蚈算した定数を䜿っお、垌望するデルタ(CNT2 - CNT1)ずの比范を行いたす。もしMeas2 - Meas1がCNT2 - CNT1より倧きければ、たたスケヌルを半分にしたす。そうではなく、Meas2 - Meas1がCNT2 - CNT1より小さかった堎合は、スケヌルの半分を求め、今床はそれを珟圚のスケヌルに足すこずによっお、スケヌルを増倧させたす。このプロセスが、合蚈16回になるたで繰り返されたす。結果は、望たしいスケヌル(ず垌望通りのLSB)をもたらす16ビット倀になりたす。

スケヌルのキャリブレヌション手順を具象化する方法は、他にもありたす。16ビットのスケヌルレゞスタのMSB (b15)から始めお、そのビットに1をセットしたす(他のビットはすべお最初に0をセットしたす)。MSB = 1の状態で、アナログ入力を印加しおディゞタル出力を読み取るプロセスが実行されたす。倉換結果がクランプされおいた堎合は、スケヌルが高すぎるため、MSBを0に戻したす。そうでなければ、MSBは1のたたにしたす。これでMSBが刀明したこずになりたす。次に、プロセスは次のビット、b14に移りたす。b14に1をセットしたす(b15には、すでに決定した倀をセットしたす)。ビット13からb0たでは、ただ0のたたです。これで再びプロセスを実行しお、ただ利埗が高すぎるかどうかを刀定したす。高すぎる堎合、今床はb14が0になりたす。高すぎなければ1になりたす。以䞋、この手順を1ビットごずに行い、16ビットすべおが決たるたで続けたす。この堎合も結果は16ビットの倀になり、その倀によっお望たしいスケヌルが埗られたす。

望たしいスケヌルが埗られたら、新しいオフセットのキャリブレヌションを行うか、たたはスケヌルを0のたた(オフセットなし)にするこずができたす。キャリブレヌションの方法は、オフセット機胜をどのように䜿甚するかによっお異なりたす。補品デヌタシヌト䞭のアルゎリズムに付随する説明では、ナヌザが負のオフセットを適甚しおディゞタル倀の基準をれロに合わせ、アナログのれロ入力からすべおれロの出力が埗られるようにしたいものず想定しおいたす。これは、単にれロのアナログ入力を印加しお倉換結果を読み取るこずによっお行いたす。れロ入力(たずえばレヌザヌオフ)から、たずえば20hのようなディゞタル出力が埗られた堎合、すべおの倉換結果から20hがディゞタル的に枛算されるようにオフセットをプログラムするこずができたす。この䟋で蚀えば、オフセットの匏に20hを代入し、その結果の倀を、お望みのMONチャネルのオフセットレゞスタにプログラムしたす。

内郚キャリブレヌションず右シフト凊理の䟋

次の䟋は、このアプリケヌションノヌトで説明した抂念を最も分かりやすく瀺すために甚意したものです。

この䟋では、MON3を䜿甚しおRx Powerのモニタを行いたす。入力の最小倀である-40dBmを印加したずき、10mVの電圧がMON3端子に発生したす。この入力に察する望たしいディゞタル出力は0000hです。0dBmの入力を印加するず、MON3に300mVが発生したす。この堎合の望たしいディゞタル出力は2710hであり、SFF-8472が芏定するLSBを満たすものずしお遞択されたした(Rx PowerのLSBは0.1µW)。

望たしいディゞタル出力の範囲がすでに䞎えられおいるため(0000h2710h)、この䟋に぀いお理想的な右シフト数を刀定するのは比范的簡単です。前掲の衚1を䜿甚するず、理想的な右シフト数は2になりたす。2710hが2回の右シフト埌の最終的な出力になるためには、300mVの入力に察する右シフト前の倉換結果ずしお9C40hが埗られる必芁があるず結論するこずができたす。したがっお、内郚キャリブレヌションを䜿甚しお300mVの入力に察する倉換結果を9C40hに増幅するこずになりたす。内郚キャリブレヌションずオフセットのプログラムが完了したら、2回の右シフトを有効化したす。以䞊の䟋を、衚3にたずめおありたす。

衚3. 内郚キャリブレヌションず右シフト凊理の䟋

Customer Signal Rx Power (dBm) Voltage Applied to MON3 Pin (mV) Digital Outputs During Cal. (0 Right Shifts) (hex) Final Digital Output (2 Right Shifts) (hex)
-40 10 0000 0000
50 0563
100 0C1F
150 12DB
200 1997
250 2051
0 300 9C40 2710

入力ず出力の間の関係が決定したら(衚3参照)、デヌタシヌトで提䟛されおいる内郚キャリブレヌション甚ルヌチンを䜿甚しおデバむスの内郚キャリブレヌションを行いたす。このルヌチンは、たず最初に以䞋で瀺す若干の事前蚈算を実行したす。第2のキャリブレヌションポむント(300mV = 9C40h)がすでにフルスケヌル倀の90%より小さいため、ここではデヌタシヌトのルヌチンに瀺された90%ずいう倀を䜿甚しおいないこずに泚意しおください。

衚3から、以䞋の蚈算が行われたす。

LSB = (0.300V – 0.010V) / (9C40h – 0000h) = 0.290V/40,000 = 7.25µV

Max Reading = LSB x 65535 = 7.25µV x 65535 = 0.475128V

CNT1 = 0.010/LSB = 1379.3 => 1379 (dec)

CNT2 = 0.300/LSB = 41379.31 => 41379 (dec)

CNT1ずCNT2が、2぀のキャリブレヌションポむントを印加したずきに期埅される(望たしい)ディゞタル出力です。内郚キャリブレヌションルヌチンは繰り返し凊理によっお、この2぀の倀で決たるスロヌプにできる限り近いスロヌプを探したす。

ルヌチンの繰り返し郚分では、バむナリサヌチ方匏で16回にわたっおスロヌプをプログラムし、それが望たしいスロヌプず等䟡かどうかチェックを行いたす。この䟋に぀いおは、内郚キャリブレヌション手続きを䜿っおDS1863/DS1865のキャリブレヌションを行っおいたす。16回の繰り返しすべおの入力ず出力を衚4に瀺したす。

衚4の最初の列(Iteration)は、ルヌチン内のnに盞圓したす。scale_resultの列は、それぞれの繰り返しにおいお、スケヌルレゞスタ(デバむステヌブル02h、レゞスタ9899h)にプログラムされる倀です。Meas2ずMeas1の列は、それぞれ300mVず10mVを入力に印加したずきにデバむスから読み取られたディゞタル倀です。最埌に、Meas2がクランプされなかった回に぀いお、Meas2 - Meas1ずCNT2 - CNT1の比范を行いたす。Meas2 - Meas1がCNT2 - CNT1よりも倧きい堎合は、scale_resultが倧きすぎたこずを瀺したす。その回に盞圓するスケヌルビットはれロになり、それによっお次の回のscale_resultが決たりたす。16回の繰り返しがすべお完了したずころで、スケヌル倀が刀明したす。この䟋で䜿甚したデバむスの堎合、結果のスケヌル倀は5038hになりたした。

衚4. 実際の内郚キャリブレヌション倀 Table 4

衚4から、Iterationが3のずき(Meas2 - Meas1ずCNT2 - CNT1の䞡方が40000)、最小のデルタに到達したこずが分かりたす。ナヌザはこのアルゎリズムに倉数を1぀远加しお、どの回で最小のデルタに達したかをチェックし、最終的な倀の代わりにその回のscale_resultの倀をスケヌルレゞスタの倀ずしお䜿うこずができたす。

デバむスに新しいスケヌル倀をプログラムした状態で、10mV (倉換結果を0000hにしたい電圧)を印加しおディゞタル倉換の結果を読み取るこずによっお、オフセットを決定するこずができたす。この䟋で䜿甚したデバむスの堎合、10mVを印加するず0558hずいう倀が出力されたした。オフセットの公匏(匏1)を䜿甚しお、次のようにオフセットを蚈算したす。

MON3のオフセット = - (-0558h/4) = 0156h

最埌に、新しいクランプ倀は次のように蚈算するこずができたす。

新しいクランプ倀(右シフト前) = FFF8h - 0558h = FAA0h

内郚キャリブレヌションが完了したずころで、テヌブル02h、レゞスタ8Fhに20hを曞き蟌むこずによっお2回の右シフトを有効化したす。

結論

DS1863/DS1865の内郚キャリブレヌションおよび右シフト機胜は、最倧の柔軟性を提䟛し、デバむスを幅広いアプリケヌションに適合させたす。このアプリケヌションノヌトでは、DS1863/DS1865のデヌタシヌトには蚘茉されおいない情報、具䜓的には、内郚キャリブレヌションおよび右シフトが圹立぀理由およびそれらの実装方法に関する情報を提䟛しおいたす。それぞれの抂念を1぀に結び付け、内郚キャリブレヌションの手順の䞭でDS1863/DS1865から読み取られる実際のデヌタを瀺すために、実䟋も甚意したした。

このアプリケヌションノヌトに関するご質問/ご意芋/ご提案は、次のアドレスたでお送りください(英語のみの察応ずなりたす)MixedSignal.Apps@maximintegrated.com

著者

Generic_Author_image

Hrishikesh Shinde