ブログ | 1 アナログ回路教室 | ディー・クル―・テクノロジーズ | Page 2

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の基本はラッチ回路

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

図1

ラッチ回路の仕組み

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

図2

SRラッチ

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

図3

Dラッチ

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

図4

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

D-FF回路

そこで出てきたのが、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に関しては今回でひとまず終わりにしたいと思います。