ディー・クルー・テクノロジーズ Blog

bookmark_borderフリップフロップ(FF)②

前回記事はこちら

今回は前回紹介したD-FF回路(図 1)の動作を説明したいと思います。

D-FF回路の動作

図1

ラッチ内のASW(四角いブロック)の中は下の様になっていて、SW端子が‘H’でSWX端子が‘L’のときは、左側の列のTrがONし右側の列のTrがOFFするので、COM端子はA端子とつながります。逆にSW端子が‘L’でSWX端子が‘H’のときは、COM端子はB端子につながります。

図2

ラッチ内のINV(三角のブロック)はインバータです。

図3

図 1と図 3を使ってマスターラッチの動作から説明します。結構複雑な動きをします(汗)。

マスターラッチの動作

(A)CLKが‘L’の時(つまり、CLKXが‘H’の時):

ASWの端子Aと端子COMが接続し、入力Dが回路内に取り込まれます

このときD1,D1X,D1XXの状態が変化し、ASWの端子COMからインバータを

2個経由した端子B(つまり、D1XX)は、端子A(つまり入力D)と同じ論理になっています。

(B)CLKが‘H’の時(つまり、CLKXが‘L’の時):

ASWの端子Bと端子COMが接続し、前の状態をラッチします。

つまりD1、D1X、D1XXの正帰還状態となります。

この間、ASWの端子A(つまり入力D)が変化しても、ラッチ回路内は影響を受けません。

図4

続いて図 1と図 4を使ってスレーブラッチの動作を説明します。

スレーブラッチの動作

(マスターラッチとはCLKの接続が逆になっている事に注意して下さい)

(C)CLKが‘H’の時(つまり、CLKXが‘L’の時):

ASWの端子Aと端子COMが接続し、入力D1Xが回路内に取り込まれます

このときD2X,D2XX,D2XXXの状態が変化し、ASWの端子COMからインバータを

2個経由した端子B(つまり、D2XXX)は、端子A(つまり入力D)と同じ論理になっています。

(D)CLKが‘L’の時(つまり、CLKXが‘H’の時):

ASWの端子Bと端子COMが接続し、前の状態をラッチします。

このときはD2X,D2XX,D2XXXの正帰還状態となります。

この間、ASWの端子A(つまり入力D)が変化しても、ラッチ回路内は影響を受けません。

実はこの(D)になる時が一番危険な時なのです。

なぜかというと、“前の状態をラッチする”と“D1Xの変化”がほぼ同時に行われているからです。

安全にするには“前の状態をラッチした後、D1Xが変化する”ようにすれば良いので、

CLKの順番で言うと、

“スレーブラッチのCLKの立下り(CLKXの立ち上がり)の後、マスターラッチのCLKが立下る(CLKXが立ち上がる)”

となります。つまり、スレーブラッチのCLKがいつも早くなるようにしておけば良い事になります。

しかし、実際にはそう単純にはいかない事情があります。

次回はこのあたりをもう少し詳しく紹介したいと思います。

bookmark_borderフリップフロップ(FF)①

今回から何回かに分けて、フリップフロップ(FF)について紹介していきたいと思います。以前のブログに“メタステーブル”と書きましたが、この単語もフリップフロップの紹介の中で説明できたらと思います。

FFというとデジタル回路という感覚をお持ちの方も多いと思いますが、その中では非常に高度なアナログ的な動作が行われています。FFは信号の”1”,”0″を記憶することができるので、カウンターやシーケンス回路などあらゆるデジタル回路に使われています。

FFの基本はラッチ(latch)回路です。単語の意味は“掛け金”で、一度カチッとさしたら抜けなくなる仕組みのことです。これを電気回路では”正帰還“をかけて実現しています。

図1

一番簡単なラッチはOR回路の出力を入力に戻して正帰還をかける回路(図 1)です。ORなので一旦出力が”1“に成ってしまうとそのまま元にはもどらず、この状態のままとなります。実際に回路ではこのままでは使えないので元に戻すリセット回路(図 2の左)を追加します。

図2

AND回路やOR回路で構成した回路と同じ動作をNAND回路で構成して、トランジスタ数を少なくした回路が図 2の右です。動作は図 3の様になります。この回路はSetとResetの動作をするのでSRラッチと呼んでいます。

図3

このSRラッチを応用して入力したデータを保持する様にしたDラッチという回路(図 4)があります。

図4

この回路はSTB(ストローブ)信号が“1”の時間は、入力DINがそのまま出力OUTに現れて、STBを“0”にするとその状態を保持する回路です。しかし、STB=”1“のときは入力信号が変化すると出力も変化してしまい、いろいろと問題が発生します(したのだと思います)。

そこで出てきたのが、D-FF回路(図 5)です(やっと本題にたどり着きました)。

図5

この回路はトランスファーゲートを使ったラッチ回路を2段直列につないだ構成になっていて、前段をマスターラッチ、後段をスレーブラッチと呼びます。この回路はクロックのエッジのみ動作し、一旦ラッチがかかると図 4のDラッチ回路みたいに入力が変化しても出力は変化しません。したがって、クロックのエッジの瞬間の入力状態を保持することができます(図 6)。これにSET,RESET機能をつけたものが最も多く使われているのではないでしょうか。

図6

次回はこのD-FFの動作についてもうちょっと詳しく紹介したいと思います。

bookmark_borderBGR(Band Gap Reference)(5)

前回はとトランジスタのオフセット電圧が引き起こす問題について紹介しました。

今日は、その対策について触れたいと思います。

オフセット電圧のためループが誤った動作点に収束し、BGR電圧が起動できなくなることを防止するためには、スタートアップ回路が必要になります。

図1

スタートアップ回路はBGR電圧(VBGR)を監視していて、電圧が低いと(つまり、起動できていないと)何らかの方法で、ループが誤った動作点に収束しないようにする回路です。

誤った収束点ではBGR電圧は0.5V程度の非常に低い値となります(前回BLOG参照)。ここに収束しないように強制的に電流を流してやり、オフセット電圧を打ち消せるだけの差電圧がVaとVbに発生するようにしてやります。

図 1ではM9とM10で構成するインバータがBGR電圧を監視していて、閾値(M9とM10のL/Wで調整しています)以下の時はインバータ出力電圧Vstが高くなり、M8に電流が流れます。この電流はPchのゲート電圧を下げ、M6の吐き出し電流を増やし、BGR基準部に流れる電流を増やします。

ここまでくれば、後は圧縮アンプが自動的に正しい収束点まで導いてくれます。

きちんとBGR電圧が起動できた後は、強制的に流していた電流は不要となるので、オフさせます。

図 1でM9とM10で構成するインバータの閾値よりBGR電圧が高くなると、インバータ出力電圧Vstが低くなり、M8に流れていた電流がオフします。

図2

スタートアップ回路に依って、前回のBLOGではBGR電圧が起動できなかった、-5mV、-4mV、-3mVもきちんと起動できるようになりました。

スタートアップ回路には、いくつかの別の方法があります。

BGR電圧を直接監視しないで基準部に流れる電流を監視するものや、強制的に電流を流すのではなく、電圧を強制的に動かすものなど色々あるのですが、

  • BGRの起動がきちんと監視できるか
  • 強制的に流す電流は十分か(圧縮アンプに負けないか)
  • 起動後はオフできているか

がスタートアップ回路設計上のポイントと思います。

BGRに関しては今回でひとまず終わりにしたいと思います。

bookmark_borderBGR (Band Gap Reference) (4)

今日はとトランジスタのオフセットが引き起こす問題について紹介したいと思います。

物を作るときには必ず製造上のバラツキが発生します。

(コピーすれば同じものが2つ出来ますが、これはデジタル化しているから同じといえるのであって、この世にまったく同じものはないと思っています)

バラツキは回路の特性を大きく変えますが、差動増幅器で特に気をつけないといけないのは入力段トランジスタに発生する“相対バラツキ”です。

図1

これらの製造上のバラツキは、“モンテカルロ解析”でシミュレーションすることが出来ますが、上の図のようにシミュレーション用に電圧源を追加することで簡易的に確認出来ます。

図 2はオフセット電圧をパラメータにして、電源をゆっくり起動したときの様子です。

図2

オフセット電圧が、-2mVより低いときはきちんとBGR電圧が起動できていません。

CMOSトランジスタのVthには5mV程度のオフセットが普通に発生しますので、このまま作ってしまうと半分近くのデバイスはBGR電圧が起動出来ずに不良となってしまいます。

オフセットがあるとなぜ起動できないかというと・・・

図3

BGRの基準部分にオフセットつけた回路だけのシミュレーションをしてみると分かります。

(オフセットはアンプの入力段のトランジスタに発生するのですが、等価的に基準部にオフセットが発生し、アンプは理想的に出来ているとしたほうが、わかり易いです)

図4

VBGRに電圧を加えたときに各部の特性は上の図の様になっていて、VaaとVbが等しくなる点で収束します。(VaaとVbが等しくなるようにアンプはVBGRを制御します)

VaaとVbの差電圧をプロットすると図 5の様になります。

図5

(オフセット電圧Vofを-5mVから+5mVまで1mV刻みの変化させた結果です)

期待している動作は、横軸が1.2V付近に収束する(差電圧=0となる)わけですが、0.5V付近にも差電圧=0となる収束点があります。Vofが正であれば誤った収束点は発生しないのですが、負の場合に発生します。

こちらに収束してしまうとBGRが起動できない事となってしまいます。

次回は、この誤った収束を起こさないようにするための対策(スタートアップ回路)を紹介したいと思います。

bookmark_borderBGR (Band Gap Reference) (3)

BGR(2) からの続きです。今日はBGR(Band Gap Reference)をその周辺回路も含めて紹介します。図1にBGR回路の基準部とアンプ部を示します。

図1

基準部は前回のBLOGで使ったものと同じで、アンプ部はVaとVbが等しくなるようにVBGRを制御します。

BGRの基準部の電位V1,Vbが約0.8VでGNDに近いので、電流源のスペースを確保しやすいPchを入力段を使うことが多いです。

図2

Vgp端子からGNDにむけて10uAの電流源をつけて、温度を0,25,50,75℃とパラメータにして、電源VDDを起動して時の様子です。

電源が変わっても、Vbgrはほとんど動いていません。

温度が0~75℃変わっても1.18207-1.1815=0.00057Vの変動なので・・・6.4ppm!

ちょっとよく出来すぎました(汗)

図3

上の波形は、電源を0.1usecで起動したときのもので、丸印の所にリンギングが見えます。

このままでは発振してしまう可能性もありますので、アンプに位相補償用のコンデンサ(図 1のC0)を入れます。

図4

C0=2pFとした結果をが上の図になります。リンギングが解消されて安定して起動できていることがわかります。

BGR回路は負帰還回路なので、ループの安定度を確認しておく必要があります。

そのためにはClose LoopをOpenにして、一巡伝達特性を(ぞくにμβって言います)見る必要があるのですが、上のように電源起動の様子を見ることで簡易的にループが安定しているかを確認できます。

図5

上の図はAC解析の結果です。VDDを信号源にして電源が揺すられた時に、VBGRがどれだけ揺すられるかを見ています。100KHzくらいまでは-70dBなので・・・1/3000に電源のゆれを小さくできていますが、周波数が高くなると徐々に電源の影響が出てきて、100MEGHzでは1/10にしか電源のゆれを圧縮できていません。

BGR出力にどのような性能を求めるのか、電源VDDがどのようなゆれ方をするのかに依りますが、場合によってはVBGR出力にコンデンサを追加する場合もあります。

これでBGR回路の紹介は終わりです、と言いたい所ですが重要な説明が抜けていました。

それは、“オフセット電圧の影響“です。

次回は、トランジスタのオフセット引き起こすBGR回路の問題と、その対策について紹介したいと思います。

bookmark_borderBGR (Band Gap Reference) (2)

今日は引き続きBGR(Band Gap Reference)を紹介したいと思います。

図1 BGR

図1は前回のBGRの基本部分に抵抗R1,R2を追加したものです。VBGR電圧を変化させると、右のグラフのようにVa,Vbが動きます。前回はVa,Vbに電流源を印加しましたが、今回は簡易的に抵抗を使いました。

右のグラフのVaとVbが等しくなるようにVBGRを制御します。

図2

制御には電圧制御電流源G0を使います。(電圧源で制御も出来ますが、具体的な回路にするときにPchに置き換えやすいので)この回路をサブサーキットにして、1KΩ野抵抗入れて電源V0を起動したときに様子は次の様になります。

図3

電源VCCが変化してもVBGRは1.2V付近で安定しているのが分かると思います。また温度が変化してもVBGRは動いていない事もわかるかと思います。

次回は、電圧依存電流源を実際の回路に置き換えた場合とスタートアップ回路について紹介したいと思います。

bookmark_borderBGR(Band Gap Reference) (1)

今日は電源などに広く使われているBGR(Band Gap Reference)について今回は触れてみたいと思います。

Band Gapと言われても、Bandとは? 何と何のGap?などの疑問が出てきますが、その辺りの歴史は良く知りません。ただ、Referenceと言うことから”基準“であることに間違いはないです。

基準電圧を作るには電源電圧を使う(抵抗で分圧して欲しい電圧を作る)のが一番簡単なのですが、電源電圧が変化すると、基準電圧も変わってしまいます。

回路設計をしていると、コンパレータの閾値や電流源の電流値など、電源が変化しても変って欲しくない値が必要になってきます。

こういった値を回路の中で作るには基準となるものが必要で、BGRが良く使われます。

図1 BGR

BGRを作っているのは図 1にかいた2つのダイオードと抵抗です。

特徴的なのは、抵抗が付いている側のダイオードは並列なのですが、抵抗がないほうは1つです。

この回路のVa,Vbに同じ電流を流した時に、Va,Vbの電圧を見て見ると、次のようになります。

図2

ダイオードしか付いていないVa(緑の線)はあまり傾斜が無く比較的平らになります。(つまり、電流が流れてもあまり電圧は変化しません)。一方で抵抗が付いているVb(オレンジの線)は傾斜を持っています。(抵抗があるので、電流が増えれば電圧も増えます)。

このVaとVbの交わる点(縦の赤いカーソル)がBGR電圧を作り出しているのです。

つまり、この交点となる電流は温度と抵抗値のみで決まっていて、電源電圧とは全く無関係なのです。計算式を使って説明しないと納得できない方もいると思いますので、やってみます。ダイオードの順方向電圧Vfと順方向電流Ifの関係式は、

で表されて変形すると

 となります。図 1の回路に当てはめると、

注)右側のダイオードは並列にm個並んでいるので、一個当たりに流れる電流はIb/mと成ります。

このVaとVbが等しくなる点の電流を計算すると、

と成りますが、逆飽和電流:Isは通常1e-15などと非常に小さな値をとるので、Ia>>Is、Ib>>Isから

と近似できます。更にIa=Ib=Ifとすると、

を得ることが出来ます・・・VtとRbgrと定数しか残っていないです。

この式の凄い所は「電源電圧や電流がどこにも入っていない!」ことです。つまり、電流Ifは電源電圧や電源電流とは無関係に決まると言うことです。

この電流Ifに抵抗Rcを付けた時に発生する電圧Vcは、

と成って、電源電圧とは全く無関係で、抵抗比と定数Ln(m)とVt(つまり温度)に依存する電圧を作り出すことが出来ます。

更にVtに依存する部分、つまり温度をキャンセルできれば、温度、電源電圧、素子の絶対値バラツキとは全く無関係な電圧を作り出すことが出来ます。

次回は、VaとVbを一致させる回路を含めて、BGR回路全体を紹介したいと思います。

bookmark_borderPLL(5)

だいぶ時間が空いてしまいましたが、PLLのその5を書きたいと思います。

ビヘイビアモデルをつかう

応答速度とジッタの量の関係を確認する

今回は、ビヘイビアモデルを使って応答速度とジッタの量の関係を確認してみたいと思います。

図1

図 1にビヘイビアモデルを使ってPLL全体の回路を示します。(PLLその2-PLLその3で使って物を同じです)

まずはノイズ源ですが・・・VCOの制御電圧に意図的に雑音源を入れました。

evco     out      0        value=fo*(2/(exp((Vref-v(vcn))/Kv)+1))

vnoise   vcn      vc       noise fmin=10 fmax=10MEG THN=0.01n

1行目はVCOの入出力(制御電圧=>出力周波数)特性を計算式で書いたもので、使ったパラメータは下記の値です。

.param fo=100

 .param dfp=’5/3.3′

 .param Kv=’1/(2*dfp)’

 .param Vref=1.65

.param fref=100

2行目が雑音源になります。VCO外部からの制御電圧Vcに雑音を加味してVcnとし、この電圧がVCOの発振周波数を決めるようにしています。雑音は10Hzから10MHzの熱雑音(白色雑音)で、0.01nV2/Hzの大きさです。

固定電圧を与えてPLL=OPENで過渡解析を行う

この状態で、PLLをOPENにして(VCO入力のR3を外して)Vciに固定電圧をあたえて雑音を含めた過渡解析を行った結果どうなるかと言うと、次のようになります。

図2

位相比較器の出力電圧は、雑音が無い時(V(PH)_1)に対して±1周期以上ずれていて、ゆらゆらしていることが分かります(V(PH)_2~6は雑音を考慮した過渡解析結果です)。

つまり、ジッタが1周期を超えてしまっている上に安定していないと言っていて、このままでは全く使い物になりません。これはPLLをOPENにした結果なので、VCOを単体で使うとこうなってしまいます。(発振器にクリスタルを使ったVCXOやTCXOなどは格段に安定しているので、こうはなりません)

PLL=CLOSEで応答速度毎にジッタの変化を見る

それでは、PLLをCLOSEにしてみたいと思います。

CLOSEする際、PLLの応答速度はフィルタ定数などを変更して下の3種類にしました。

図3

PLLの応答速度を、25KHz、250KHz、2.5MHzと変えたときにジッタ(つまり、V(PH)の動き)がどのように変化するかを見てみましょう。なお、それぞれのPLLの定数は以下の通りです。

PLLの応答速度=25KHzの時

25KHz

.param c1=160p r2=1k

.param c0=160n r0=100k r1=100

図4

PLLがCLOSEに成ったので、ゆらゆらゆれている様子はなくなりましがが、V(PH):位相比較器の出力電圧が±1近くまで触れているので1周期近い位相雑音、つまりジッタが出ていることに成ります。

PLLの応答速度=250KHzの時

250KHz

.param c1=16p r2=1k

.param c0=16n r0=100k r1=1k

図5

PLLの応答速度を早くすることで、だいぶ良くなりましたがまだ1周期の半分くらいのジッタが出ています。

PLLの応答速度=2.5MHzの時

2.5MHz

.param c1=1.6p r2=1k

.param c0=1.6n r0=100k r1=10k

図6

1周期の20%くらいのジッタになりましたので、これならクロックとして使えそうです。

PLLエラーアンプ出力の動きを比較する

PLLのエラーアンプ出力(図 1のVo)の動きを比較してみると、次のようになります。

応答速度:25KHz  

図7

応答速度:2.5MHz  

図8

応答速度:250KHz  

図9

応答速度が速いほど、エラーアンプの出力電圧が活発に動きます・・・当たり前のことですが。

つまり応答速度が速いと、いち早くジッタを補正し、正しい位相にあわすことが出来るので、ジッタが少なくなるのです。

次回は・・・このまま雑音について話を進めたいと(今は)思っていますが、気が変わってしまうかもしれません。その時はご容赦下さい。

ではまた。

bookmark_border反射 (4)

高周波の回路設計を行っていると、Sパラメータに必ず出会います。なぜSパラメータと出会わないといけないかと言うと、集中定数では扱えなくなってしまったからです。

Sパラメータ(Sパラ)とは

前回の様に高周波信号は反射を起こします。進行していくものと反射に依って逆方向に進むものとが有り、これらの表現の一つの方法がSパラメータです。

図1

図 1の様に回路網に対して左から入力される信号と出て行く信号、また右側にも入力される信号と出て行く信号が定義されています。つまり、右側も左側も進行波と反射波を考えているという事になります。(注:図でa1とb1は別の端子に見えますが実際は一つの信号線です。入力される信号と出てくる信号を区別するために2本に分かれているだけです)

Sパラとの出会い

私がSパラメータ(以下Sパラ)に出会ったのはHP(Hewlett Packard)のネットワークアナライザーに触ったときでした。高価な測定器だったので、めったに触ることが出来成ったのですが、どうしても満足いく特性が得られず“Sパラを測定してみろ”と先輩に言われて恐る恐る触ったのがきっかけでした。

横軸が周波数になっている測定器との始めての出会いでした。

実はSパラメータは日本人の黒川兼行さんが考案したものであったことをご存知でしょうか?1965年IEEEに発表された“Power Waves and the Scattering Matrix”と言う論文でSパラがこの世に発表されたとのことです。

Sパラとは「散乱行列」

SパラのSはScattering(散乱)からきています。

何が散乱しているのかと言うと・・・Wikipediaに依れば、

「n対の端子を持つ電気回路において、入力方向に進む波の振幅をa1・・・an 、出力方向に進む波の振幅をb1・・・bnとしたとき、次のように記述する。b1 = S11a1 + S12a2 + ・・・ + S1nanb2 = S21a1 + S22a2 + ・・・ + S2nan・・・bn = Sn1a1 + Sn2a2 + ・・・ + Snnan

これらの式を行列を用いて次のように表現する。

このS11・・・Snnを要素とする行列が散乱行列であり、行列の要素がSパラメータである。Sパラメータの各要素は複素数表現であり、回路の振幅に対する影響に加えて位相に対する影響も内包する。」(引用終わり)

であり、散乱行列と言うのを使うので、Sパラと呼ぶのだと分かります。

正直いうとSパラは私にはまだ分からないことの方が多いです。

SPICEでは電圧や電流を扱うことに慣れているのですが、なかなか電力の方向まで扱うことが少ないため、イメージがつかみにくい事が原因ではないかと思います。

そこでSPICEでSパラを扱うことが出来る回路を紹介したいと思います。

Sパラを回路で理解する

図3

上の回路は端子PORTに接続された回路網のS11を計算して端子S11に出力してくれる回路です。

回路網で発生している電圧(端子PORTの電圧)を依存電源E0で検出し、信号源インピーダンスR0で発生している電圧を依存電源E1で検出して、前者の電圧から引いているだけです。

図4

今まで使っていた伝送路のS11を計算してみましょう。終端抵抗の値Rtmは50Ωです。

図5

低周波ではS11は低い値を保っています(つまり、反射が少ない)が、高周波に成ると

終端抵抗と並列に入っているコンデンサC0(10pF)の影響でS11が増加します。

図 1から

と表されます。もし、a2=0ならば(つまり、回路網の右側から電力が入力されない時)

となって、反射係数と同じ計算式となります。つまり、

と書くことが出来て、S11が分かれば回路網のインピーダンスZlがわかる事に成ります。

例えば200MHzのZlは終端抵抗Rtm=50Ωと10pFとの並列なので、

に成っているのでS11は、

となり、シミュレーションがほぼ正しいことが分かります。

非常に興味深いSパラの世界

伝送路の右から2つ目の特性インピーダンスZoを意図的に(製造誤差等を想定)60Ωにした結果も図 5にプロットしました。

この結果がネットワークアナライザーの実測とどのくらいの精度で一致しているかの確認はできないですが、大きなずれはないように思います。

高周波の世界でも、相手に伝えたいことがほんとに伝わるのには時間がかかることや、今までの環境と異なる環境にはスムーズに入っていけない事など、人の社会と同じようなことが起きているのが非常に興味深いです。

次回もこのSパラの世界を紹介する予定です。

bookmark_border反射 (2)

今回も“反射”について話をしてみたいと思います。

終端抵抗についてのこれまでの認識

終端抵抗をOpenにしても波形のひずみが出ないことに驚きました。もちろん終端抵抗が特性インピーダンスと整合していないので、思いっきり反射はするのですが、終端抵抗の両端、つまりVoutの波形は歪んでいません。

今までの理解は「終端抵抗で最初の反射が発生するので、この箇所の整合は一番重要でここさえ抑えておけば、後は少し整合が悪くても波形は歪まない」でした。

図1

図 1は信号源インピーダンスを5mΩで、終端抵抗を50Ωにした場合です。当たり前ですが終端側で整合しているので、反射波が発生していません。このとき信号源には3.3V/50Ω=66mAの電流を流す能力が必要になります。

信号源インピーダンスを50Ωにして、終端抵抗を50GΩとする

図2

図 2は信号源インピーダンスを50Ωにして、終端抵抗を50GΩとした結果です。

終端側では整合していませんので、反射波が発生します。しかし、受信端の波形V(vout)は図 1とさほど変わりません。また、信号源に流れている電流は図 1の半分で済んでいます。更には反射波が同じ量で逆向きの電流を流しているので、信号源に流れる平均電流、つまり直流の電流は打ち消されてゼロになっています。終端抵抗が50GΩ(OPEN)なので、直流電流が流れないと言ってしまえばその通りなのですが、感覚的には納得いかないところです。こうなると、終端側に整合抵抗を入れるよりも信号源側に整合抵抗を入れた方が消費電力が少なくて済むので、有利だと言うことになります。

寄生デバイスの影響を考慮した反射とインピーダンス整合

今までは終端側が理想的な状態、つまり寄生デバイスの影響がない事を前提にしてきました。実際には終端側(例えば、ICの入力端子)には寄生容量などがついています。

図3

寄生容量=10pFとしたときの反射の様子

例えば図 3の様に寄生容量=10pFとしたときの反射の様子をシミュレーションしてみると次の様になります。

図4
図5

図 4が終端側で整合したもの、図 5が信号源側で整合したものです。

両図とも早い周波数成分の立上りや立下りの部分が寄生容量C0(10pF)の影響で反射していることが分かります。これは寄生容量の影響で終端側の入力インピーダンスが高周波になるほど低くなっているためです。また終端部分の波形V(vout)を比較してみると、信号源側で整合した方の波形がなまっているのが分かります。単に消費電力の点では信号源側の整合が有利なのですが、伝送速度と寄生容量に依っては信号源側での整合では十分な特性が得られないことがあるので、終端側との併用も検討する必要が出てきます。両方で整合するのが一番なのですが、消費電力や性能を、寄生容量や伝送路の長さなどの制約条件から最適化することが設計者の腕の見せ所と言えると思います。

パルス幅を長くして、反射波と重ねる

今まではパルスの幅が2nsecと短くして反射波が重ならないようにしてきました。

図6

図 6はパルス幅を20nsecと長くして、反射波と重なる様にしたものです。なお、信号源インピーダンスRsを40Ω(すこし反射します)、終端インピーダンスRtmを50GΩ(全反射です)としています。

終端側のV(vout)にはあまり影響が見られないですが、伝送路内のV(v3)では進行波と反射波が重なるため振幅が2倍になる箇所が出てきます。

例えば、伝送路の中間(例えばv3)から信号を取り出すように信号を分配する仕組み(mini-LVDSインターフェースなど)では要注意です。

さらに、複数のパルスを扱う

今までは孤立パルス(1個だけ)を扱ってきましたが、実際には複数のパルスが使われます。

図7

図 7の様に、前のパルスの反射に依って発生した2回目の進行波と次のパルスが重なると終端側の電圧に干渉として現れます。

反射は発生させないことに越した事は無いですが、反射波をいち早く整合させて消失させる事が大切で、信号源側と終端側の両方で反射を繰り返すと(多重反射が起きると)、自パルス以外の波形にも大きな影響を与える事に成ります。

いままでは過渡解析を使って反射を説明してきましたが、次回は小信号解析(AC解析)も使って、もう少し反射と格闘してみたいと思います。