Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

機械系のためのメカトロニクス ディジタル回路

111 views

Published on

アナログとデジタル
メカトロニクスにおけるアナログとデジタル
アナログとディジタルの関係
アナログからデジタルへの変換
デジタル信号表現(標本化,量子化)
論理回路
基本の論理演算(AND,OR,NOT)
基本の論理素子(AND,OR,NOT,XOR,NAND,NORの各素子)
デジタルIC(論理演算の電気回路での実現)
基本動作(電圧による“0”,“1”表現)
論理素子の電気回路例
デジタルICの種類(TTL,CMOS)
論理素子の電気回路例
正論理と負論理
NAND回路で基本論理回路を実現
「論理回路:組合せ回路」と「順序回路」
 組合せ回路
現在の入力のみで出力が決まる回路
順序回路
基本論理素子:フリップフロップ
カウンタ
レジスタ
 加減算回路
半加算回路
全加減算回路

Published in: Education
  • Be the first to comment

  • Be the first to like this

機械系のためのメカトロニクス ディジタル回路

  1. 1. UEC 1 メカトロニクス 「ディジタル回路」 第6回エレクトロニクス ディジタル回路 下条 誠* *電気通信大学 名誉教授 機械系のためのメカトロニクス
  2. 2. UEC 2 達成目標 1. デジタル回路の基本回路を理解する 2. デジタル素子を使い簡単な回路を作れる
  3. 3. UEC 3 ⚫ アナログとデジタル ✓ メカトロニクスにおけるアナログとデジタル ✓ アナログとディジタルの関係 • アナログからデジタルへの変換 • デジタル信号表現(標本化,量子化) ⚫ 論理回路 ✓ 基本の論理演算(AND,OR,NOT) ✓ 基本の論理素子(AND,OR,NOT,XOR,NAND,NORの各素子) ⚫ デジタルIC(論理演算の電気回路での実現) ✓ 基本動作(電圧による“0”,“1”表現) ✓ 論理素子の電気回路例 ✓ デジタルICの種類(TTL,CMOS) ✓ 論理素子の電気回路例 • ゲート動作の利用例 ✓ 正論理と負論理 • 同じ電気回路でも,正論理と負論理では,機能が異なる ✓ NAND回路で基本論理回路を実現 ⚫ 「論理回路:組合せ回路」と「順序回路」 ⚫ 組合せ回路 ✓ 現在の入力のみで出力が決まる回路 ① マルチプレクサ ② デマルチプレクサ ③ エンコーダ ④ デコーダ ⚫ 順序回路 ✓ 基本論理素子:フリップフロップ • D フリップフロップの動作 • 電気回路素子 • フリップフロップの種類(D-FF,RS-FF,JK-FF,T-FF) ✓ カウンタ ① 1/2逓減回路 ② 1/4逓減回路 ③ 4bitカウンタ ④ 16bitカウンタ ✓ レジスタ ① ラッチ(レジスタ) ② シフトレジスタ ⚫ 加減算回路 ✓ 半加算回路 ✓ 全加減算回路 ① n桁2進加算器の構成(16桁) ② 減算回路の構成 ③ 補数の作り方 ④ n桁の2進加減算器の構成(16桁) ⚫ アナログとデジタル ✓ メカトロニクスにおけるアナログとデジタル ✓ アナログとディジタルの関係 • アナログからデジタルへの変換 • デジタル信号表現(標本化,量子化) ⚫ 論理回路 ✓ 基本の論理演算(AND,OR,NOT) ✓ 基本の論理素子(AND,OR,NOT,XOR, NAND,NORの各素子) ⚫ デジタルIC(論理演算の電気回路での実現) ✓ 基本動作(電圧による“0”,“1”表現) ✓ 論理素子の電気回路例 ✓ デジタルICの種類(TTL,CMOS) ✓ 論理素子の電気回路例 ✓ 正論理と負論理 ✓ NAND回路で基本論理回路を実現 ⚫ 「論理回路:組合せ回路」と「順序回路」 ⚫ 組合せ回路 ✓ 現在の入力のみで出力が決まる回路 ⚫ 順序回路 ✓ 基本論理素子:フリップフロップ ✓ カウンタ ✓ レジスタ ⚫ 加減算回路 ✓ 半加算回路 ✓ 全加減算回路 内 容
  4. 4. UEC 4 アナログとディジタル ⚫ アナログは連続的に変化する量 ⚫ デジタルは,1/0で表す量 http://www.linear-news.jp/2006-2010/news/analog/ モールス符号 ✓1/0で情報が送れるの? ✓1/0を組み合わせること で単語や文章を伝えるこ とができるというのがデ ジタルの重要な考え方
  5. 5. UEC 5 アナログとディジタル 最近の機器はアナログ回路とディジタル回路を 両方利用 http://www.linear-news.jp/2006-2010/news/analog/
  6. 6. UEC アナログとディジタルの関係 6 0 0 0 1 0 1 1 0 1 1 1 1 1 1 1 0 0 1 0 1 0 1 1 0 1 1 1 0 1 0 1 0 現実の世界 計算機の世界 Robot Arm Hand 測定量 位置,速度, 加速度,力 制御量 モータ制御用 電圧電流 ハンド 位置,速度 把持力 アナログ量 (連続量) 物体 位置姿勢 距離 関節 角度 力 デジタル制御 digital control Program development Program execution ADC DAC Filtering, modeling, learning デジタル量 (離散量) (電圧,電流) 1 0 1 1 0 0 0 1 0 1 1 0 1 1 1 1 1 0 ..... アナログ量 デジタル量
  7. 7. UEC アナログとディジタル 7 ⚫ ロボット,携帯電話,自動車,飛行機などなど,現在の工業製品には,アナログ 技術と,デジタル技術の両方が深くかかわってきている。 ⚫ 特に近年,デジタル情報技術の急速な進展は工業製品の性能を大幅に向上させた。 メカトロニクス技術では,このデジタル技術の習得は重要な課題である。 ⚫ ただし,位置,速度,力,圧力,温度など産業用ロボットなどが実際に動作する 場面で関係する物理量は,アナログ量であり,これらの連続量を電気量(電圧, 電流)として計測し,それらに基に,次の動作を時々刻々決定して作業を進める 必要がある。 ⚫ また,ロボットなどの動作を制御する方法は,コンピュータを使ったデジタル制 御が主流となっている。この場合,計測した位置,力などのアナログ量を,コン ピュータが理解できるデジタル量に変換する必要がある。 ⚫ そしてに,計算された制御量であるデジタル量を,実際のモータなどの駆動に必 要なアナログ量に変換する必要がある。 ⚫ 本講義では,アナログとデジタルの変換方法,デジタル情報の基本的な演算操作 について解説を行う。
  8. 8. UEC アナログからデジタルへの変換1 8 1.アナログ信号 2.標本化(サンプリング) time アナログ値 サンプル値 time アナログ値 4.デジタル信号(2bit例)3.量子化(2bit例) 00 01 10 11 time 2進数(2bit) 量子化誤差 原信号 量子化データ 原信号 サンプリング周期 連続信号 時間的に離散化 値の離散化 00 01 10 11 time 0 0 0 1 0 1 1 0 1 1 1 1 1 1 1 0 0 1 0 1 0 1 1 0 1 1 1 0 離散信号のデジタル表現 3 2 1 20 21 デジタル信号
  9. 9. UEC 9 1.アナログ信号 2.標本化(サンプリング) 4.デジタル信号3.量子化(2bit例) 標本化(サンプ リング)とは、 連続信号を一定 の間隔(例えば 1ms毎の時間間 隔)で測定する ことで離散信号 として取集する ことである。 量子化とは、標本 化されたアナログ 信号などの連続量 の値を,整数の離 散値で近似的に表 現することである。 この時ビット数と は,信号を何段階 の数値で表現する かを表す値である。 0 0 0 1 0 1 1 0 1 1 1 1 1 1 1 0 0 1 0 1 0 1 1 0 1 1 1 0 デジタル信号とは、量子化され離散値で表され た,離散信号をデジタル表現で表したものであ る。 アナログ信号は, 連続信号で、気温, 速度,電気回路の 電圧など時間を横 軸に,信号の値を 縦軸で表すことが できるものである。 0,1,1,2,3,3,2,1,1,1,2,3,3,2 0 1 1 0 1 1 0 3 2 1 アナログ信号 サンプル値 量子化データ (2bit例) アナログからデジタルへの変換2 20 21 10進数 表現では
  10. 10. UEC 論理回路 10 コンピュータは,数学の加減乗除の四則演算 などを高速に実行する。このコンピュータは, デジタルICによって構成されている。デジタ ルICは論理演算を行う電気回路である。 また今やロボット,自動車などの制御や信号 処理では,デジタルICの利用は避けて通れな い技術である。 ここでは,このデジタルICについて解説を行 う。 ⚫ 論理回路 ✓ 基本の論理演算(AND,OR,NOT) ✓ 基本の論理素子(AND,OR,NOT, XOR,NAND,NORの各素子) ⚫ デジタルIC(論理演算の電気回路での実現) ✓ 基本動作(電圧による“0”,“1”表 現) ✓ 論理素子の電気回路例 ✓ デジタルICの種類(TTL,CMOS) ✓ 論理素子の電気回路例 • ゲート動作の利用例 ✓ 正論理と負論理 • 同じ電気回路でも,正論理と負論理 では,機能が異なる ✓ NAND回路で基本論理回路を実現 ⚫ 「論理回路:組合せ回路」と「順序回路」 ⚫ 組合せ回路 ⚫ 順序回路 ⚫ 加減算回路
  11. 11. UEC 11 基本の論理演算 AND (論理積) 0・0=0・1=1・0=0,1・1=1 OR (論理和) 0+0=0,0+1=1+0=1+1=1 NOT (否定) ሜ𝟎 = 𝟏, ሜ𝟏 = 𝟎 :上バーは否定を表す 基本となる論理演算は,AND(論理積),OR(論理和),NOT(否定) である。 :“・”は積を表す :“+”は和を表す ✓ 論理演算は,0または1だけを演算し,その結果も0または1のいずれかになる。 ✓ “0”を偽(False ) ,”1”を真(True)と呼ぶこともある。
  12. 12. UEC 12 基本論理素子1(AND, OR, NOT) x y f 0 0 0 0 1 0 1 0 0 1 1 1 x y f 0 0 0 0 1 1 1 0 1 1 1 1 x f 0 1 1 0 AND回路 真理値表 OR回路 真理値表 NOT回路 真理値表 x y f x y f fx AND OR NOT 否定を表す (アンド) (オア) (ノット)
  13. 13. UEC 13 基本論理素子2( NAND,NOR,XOR) x y f 0 0 1 0 1 1 1 0 1 1 1 0 x y f 0 0 1 0 1 0 1 0 0 1 1 0 x y f 0 0 0 0 1 1 1 0 1 1 1 0 NAND回路 真理値表 NOR回路 真理値表 XOR回路 真理値表 x y f x y f x y f NAND NOR XOR (エクスクルーシブ・オア)(ナンド) (ノア)
  14. 14. UEC 基本素子の論理式と記号 14 論理 論理式 回路記号 論理 論理式 回路記号 NOT XOR OR NOR AND NAND x y f x y f 𝑥 𝑥 + 𝑦 𝑥 ∙ 𝑦 𝑥⨁𝑦 𝑥 + 𝑦 𝑥 ⋅ 𝑦 x y f x y f x y f
  15. 15. UEC デジタルIC(論理演算の電気回路での実現) 15 ⚫ 論理回路 ✓ 基本の論理演算(AND,OR,NOT) ✓ 基本の論理素子(AND,OR,NOT, XOR,NAND,NORの各素子) ⚫ デジタルIC(論理演算の電気回路での実現) ✓ 基本動作(電圧による“0”,“1”表 現) ✓ 論理素子の電気回路例 ✓ デジタルICの種類(TTL,CMOS) ✓ 論理素子の電気回路例 • ゲート動作の利用例 ✓ 正論理と負論理 • 同じ電気回路でも,正論理と負論理 では,機能が異なる ✓ NAND回路で基本論理回路を実現 ⚫ 「論理回路:組合せ回路」と「順序回路」 ⚫ 組合せ回路 ⚫ 順序回路 ⚫ 加減算回路
  16. 16. UEC 16 デジタルIC(電気回路での実現) 代表的論理素子NAND(7400) パッケージ(DIP or DIL) (dual in-line package) TTL:トランジスタで作成した論理素子。 CMOS:相補型MOSを使用。低消費電力
  17. 17. UEC 論理素子の基本動作 17 High level Low level >4V <0.5V 電圧値 1 0 論理値 回路素子: 電圧値(電流値)で “0”,“1” を定める。 x y f 0V 0V 0V 0V 5V 0V 5V 0V 0V 5V 5V 5V x y f x y f 0 0 0 0 1 0 1 0 0 1 1 1 AND回路真理値表 回路素子としての動作 注)電圧値と論理値の対応は逆でも良い 電圧値 電圧値 電圧値 入力 出力 (電圧値は一例である。電圧の閾値は デジタルICの方式よって異なる)
  18. 18. UEC 論理素子の電気回路例 18 0V R x y f 5V R x y f R1 R2 0V 5V x f R1 R2 0V 5V5V R x y f R1 R2 0V 5V x y f AND回路 OR回路 NOT回路 NOR回路NAND回路
  19. 19. UEC デジタルICの種類(TTL,CMOS) 19 ⚫ TTL(Transistor Transistor Logic) ✓ バイポーラトランジスタで回路が作られている。論理レベル を“0”にするには,入力から電流が流れだす必要がある。入力 を接続しない(←非推奨)と論理値“1”となる。 ✓ 通常5V動作の時,入力信号は0Vから0.8Vのとき“0”と定義 され、2.2Vから5Vのとき“1”と定義される。 ✓ 高速版(S-TTL,AS-TTL)、低消費電力版(L-TTL)、高速・低消 費電力版(LS-TTL, ALS-TTL)などのバリエーションがある。 ⚫ CMOS(Complementary MOS) ✓ P型とN型のMOSFETで回路が作られている。上下のMOSFET が相補的に動作し,上がオンの時、下がオフになる。 ✓ この回路はMOSFET のオンとオフを切り替えるときのみゲー ト電流が流れ、定常状態ではほとんど電流が流れない。その ため、CMOS 回路を使ったIC では低消費電流で論理回路を 構成できる。 ✓ 今日ではメインフレーム、さらにはスーパーコンピュータ向 けマイクロプロセッサ市場でもCMOSが主流となっている。 汎用のデジタルICとして,TTL,CMOSが使われてきた。現在は,高速で低消費電力な CMOSが主流である。このほか,電流ロジック用いたECL(Emitter Coupled Logic)がある。 ECLは非常に高速な論理動作が可能であるが,消費電力が大きいため,現在は特殊用途以外 使われないようだ。 https://ja.wikipedia.org/wiki/Transistor-transistor_logic https://ja.wikipedia.org/wiki/CMOS
  20. 20. UEC AND素子の利用例1(ゲート機能) 20 x y f y 入力によって,x 信号の通り道をON/OFFするゲート機能 ON OFF x f y=0 then OFF y=1 then ON ゲートの開閉制御 入力 出力 y yが“1”の時,xからの パルスを通す ① ② ③ ② y x
  21. 21. UEC AND素子の利用例2 (デマルチプレクサ機能) 21 ① ③ ② y 入力によって,x 信号の出力先を切り替える機能 (1) (2) ✓ (1)と(2)のAND素子のゲート機能を,NOT素子を用いて反転する ✓ すなわち,(1)がONなら(2)はOFF,逆も成り立つ ✓ よって,y入力により,x入力をどちらへ出力するか制御できる ① ② ③ y x 入力 出力 y=“0” y=“1”
  22. 22. UEC 22 正論理と負論理(どちらを“1”とする?) 4V 0.5V High level Low level 1 0 電圧値 論理値 0 1 論理値 正論理 負論理 論理値“0”,“1”と電圧値との対応付けは,2つ方法がある 正論理:高い方「 H(ハイ)」を“1”とする 負論理:低い方「 L(ロー)」を“1”とする 例えば (一例)
  23. 23. UEC 23 正論理と負論理 A B C 0V 0V 0V 0V 5V 0V 5V 0V 0V 5V 5V 5V A B C電気 回路 A B C 0 0 0 0 1 0 1 0 0 1 1 1 A B C 1 1 1 1 0 1 0 1 1 0 0 0 正論理で 考えると 0V→ ”1” 5V→ ”0” このような電気回路を作った 0V→”0” 5V→”1” これはAND素子? 同じ電気回路でも,正論理と負論理では,機能が異なる 負論理で 考えると 真理値表は AND素子 真理値表は OR素子 正負の論理が混在する場合には、 反転の小丸をその配線の端部に 付けることで示す慣習がある。
  24. 24. UEC NAND回路で基本論理回路を構築 24 NAND回路で,AND回路,OR回路,XOR回路,NOT回路と同じ機能を実現できる。 NOT回路 AND回路 OR回路 XOR回路 正論理 負論理正論理 負論理 AND OR ANDOR NANDで表したOR 回路と見くらべる 等 価 等 価
  25. 25. UEC 論理回路:「組合せ回路」 25 ⚫ 論理回路 ✓ 基本の論理演算(AND,OR,NOT) ✓ 基本の論理素子(AND,OR,NOT,XOR, NAND,NORの各素子) ⚫ デジタルIC(論理演算の電気回路での実現) ✓ 基本動作(電圧による“0”,“1”表現) ✓ 論理素子の電気回路例 ✓ デジタルICの種類(TTL,CMOS) ✓ 論理素子の電気回路例 • ゲート動作の利用例 ✓ 正論理と負論理 • 同じ電気回路でも,正論理と負論理では, 機能が異なる ✓ NAND回路で基本論理回路を実現 ⚫ 「論理回路:組合せ回路」と「順序回路」 ⚫ 組合せ回路 ① マルチプレクサ ② デマルチプレクサ ③ エンコーダ ④ デコーダ ⚫ 順序回路 ✓ 基本論理素子:フリップフロップ ✓ カウンタ ✓ レジスタ ⚫ 加減算回路 ✓ 半加算回路 ✓ 全加減算回路
  26. 26. UEC 論理回路:「組合せ回路」と「順序回路」がある 26 1.組合せ回路 2.順序回路 入力 出力 ⚫ 組合せ回路は、現在の入力の みで出力が決まる。 ⚫ 回路素子: AND,OR, など基 本となる論理演算を行う素子 から構成される。 ⚫ 順序回路は,入力と内部状 態の両方により決まる。内 部に状態を保持しており、 過去の入力に影響される。 ⚫ 回路素子:AND,OR, など 基本となる論理演算と,フ リップフロップなどの記憶 素子から構成させる 入力 出力 内部状態 D Q Q CK
  27. 27. UEC 27 組合せ回路 組合せ回路は,論理回路の基本で,論理素子(AND,OR,NOT,XOR)などを用い て論理演算を行う。以下にその例を示す。 ① マルチプレクサ(Multiplexer): 複数の入力から1つを選んで出力する。「データセレクタ」(Data selector)とも呼ばれる。 ② デマルチプレクサ(Demultiplexer): 1つの入力を複数の出力の内の1つに出力する。 ③ エンコーダ(Encoder): エンコードとは、符号化ともいい、デジタルデータを一定の規則に従っ て、目的に応じた符号に変換すること。 ④ デコーダ(Decoder): デコードとは、復号ともいい、エンコードの対義語。エンコードした情 報を元に戻すこと。 ⑤ 加減算器 : 2進数の加減算を行う。
  28. 28. UEC ①マルチプレクサ1 28 多数の入力端子(2n) から選択信号によって,1入力を選択し, その入力信号を出力する回路 S2 S1 S0 Q 0 0 0 D0 0 0 1 D1 1 1 1 D7 ⋮ ⋮ ⋮ ⋮ Q D0 D1 D2 D7 S1 S0S2 入力 出力 選択信号 D0 D1 D2 D7 Q Siで選択 S1,S2,S3の入力パターによって 入力する端子Diが決まる ⋮ ⋮
  29. 29. UEC ①マルチプレクサ2 29 S x 𝑥 ∙ 𝑆 + 𝑦 ∙ 𝑆 (1) (2) (3) ① ② ③ ④ ⑤ ① ② ③ ④ ⑤ y f S f 0 x 1 y 例:マルチプレクサ 2入力,1出力 S=0 then f=x S=1 then f=y ⚫ 入力は, ✓ “x” ✓ “y” ⚫ 出力は, “f” Q D0 D1 S x y f 選択信号
  30. 30. UEC ②デマルチプレクサ1 30 1つの入力を,多数(2n) の中から1つの出力端子を選択信号に よって選択し,入力信号を出力する回路 S1,S2,S3の入力パターによって 出力する端子Qiが決まる S2 S1 S0 D 0 0 0 Q0 0 0 1 Q1 1 1 1 Q7 D Q0 Q1 Q2 Q7 S1 S0S2 入力 出力 選択信号 ⋮ ⋮ ⋮ ⋮ Q0 Q1 Q2 Q7 D Siで選択 ⋮ ⋮
  31. 31. UEC ②デマルチプレクサ2 31 S a b 0 x 0 1 0 x ① ③ ② (1) (2) ① ② ③ S x 入力 𝑥 ∙ 𝑆 𝑥 ∙ 𝑆 a b 例:デマルチプレクサ 1入力,2出力 S=0 then a=x, b=0 S=1 then a=0, b=x ⚫ 入力は,“x” ⚫ 出力は, ✓ a端子 ✓ b端子 D Q0 Q1 S x a b 選択信号
  32. 32. UEC ③エンコーダ1 32 D7 D6 D5 D4 D3 D2 D1 D0 0 0 1 0 0 0 0 0 A2 A1 A0 1 0 1 10進数を2進数(3bit)に変換する回路をつくる。 1. 10進入力は,0~7までとする 2. 入力端子は,D0~D7あり,10進で“5”を示すとき, D5が“1”で,そのほかが“0”とする 3. 出力端子は,A2,A1,A0とする 4. 入力「D7~D0」と出力「A2,A1,A0」の関係を表に 示す 5. “A0”が“1”となるのは「D1,D3,D5,D7」が,”1“の 場合である。論理和で表現 6. “A1”,”A2”に対しても同様に以下のようになる 変換回路 D7 D6 D5 D4 D3 D2 D1 D0 A2 A1 A0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 𝑫𝟏 + 𝑫𝟑 + 𝑫𝟓 + 𝑫𝟕 D𝟐 +D3+D6+D7 D𝟒 + 𝑫𝟓 + 𝑫6+D7 A0: 論理和 A1: A2: 論理和 論理和 変換回路は以上の論理演算を行う 回路を設計すればよい。 入 力 出 力 入出力対応表
  33. 33. UEC ③エンコーダ2 33 一般に,エンコード(encode)とは、符号 化ともいい、デジタルデータを一定の規則に 従って、目的に応じた符号に変換することで ある。 A0 A1 A2 D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 A 2 A 1 A 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 𝑫𝟏 + 𝑫𝟑 + 𝑫𝟓 + 𝑫𝟕 D𝟐 +D3+D6+D7 D𝟒 + 𝑫𝟓 + 𝑫6+D7 論理式 前式の論理式を行う論理回路を示す。 (4入力OR回路を利用。2入力ORからも簡単に作れる) 入力 出力 10進数 2進数
  34. 34. UEC ③エンコーダ3 34 D A 3 A 2 A 1 A 0 0 D0 0 0 0 0 1 D1 0 0 0 1 2 D2 0 0 1 0 3 D3 0 0 1 1 4 D4 0 1 0 0 5 D5 0 1 0 1 6 D6 0 1 1 0 7 D7 0 1 1 1 8 D8 1 0 0 0 9 D9 1 0 0 0 D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 N/C A0 A1 A2 A3 𝐷1 + 𝐷3 + 𝐷5 + 𝐷7 + 𝐷9 D2 +D3+D6+D7 D4 + 𝐷5 + 𝐷6+D7 𝐷8 + 𝐷9 論理式 10進数を4 ビットの2進数に変換の例 図表現が異なるが前の図と基本は同じ。
  35. 35. UEC ④デコーダ1 35 デコード(decode)は、復号ともいい、エンコードの対義語。エンコードした 情報を元に戻すこと。 D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 A 2 A 1 A 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 A0A1A2 D0 D1 D2 D3 D4 D5 D6 D7 A2 V A1 V A0 V ⚫ 2進数を10進数に変換 ✓ 3bit 2 進数を 10 進数に変換 するデコーダ 𝐴2 ⋅ 𝐴1 ⋅ 𝐴0 𝐴2 ⋅ 𝐴1 ⋅ 𝐴0 𝐴2 ⋅ 𝐴1 ⋅ 𝐴0 𝐴2 ⋅ 𝐴1 ⋅ 𝐴0 A2⋅ 𝐴1 ⋅ 𝐴0 A2⋅ 𝐴1 ⋅ 𝐴0 A2⋅ 𝐴1 ⋅ 𝐴0 A2⋅ 𝐴1 ⋅ 𝐴0 論理式 2進数 10進数 入力出力
  36. 36. UEC 論理回路:「順序回路」 36 ⚫ 論理回路 ⚫ デジタルIC(論理演算の電気回路での実現) ⚫ 「論理回路:組合せ回路」と「順序回路」 ⚫ 組合せ回路 ⚫ 順序回路 ✓ 基本論理素子:フリップフロップ • D フリップフロップの動作 • 電気回路素子 • フリップフロップの種類(D-FF,RS-FF,JK- FF,T-FF) ✓ カウンタ ① 1/2逓減回路 ② 1/4逓減回路 ③ 4bitカウンタ ④ 16bitカウンタ ✓ レジスタ ① ラッチ(レジスタ) ② シフトレジスタ ⚫ 加減算回路 ✓ 半加算回路 ✓ 全加減算回路 ① n桁2進加算器の構成(16桁) ② 減算回路の構成 ③ 補数の作り方 ④ n桁の2進加減算器の構成(16桁)
  37. 37. UEC 37 順序論理回路 出力は,入力と内部状態(記憶素子)の両方により定まる論理回路 論理素子:基本論理素子+フリップフロップ(FlipFlop, 略:FF) ⚫ カウンタ(Counter)回路: クロックパルスを数えるための論 理回路。2進数、2進化10進数, n進数のカウンタが作れる ⚫ レジスタ(register)回路: 状態を保持する記憶回路。プロ セッサ内部のレジスタは、計算結 果を一時的に保持したり、メイン メモリを読み書きする際のアドレ スを保持や、プロセッサや周辺機 器の動作状態を保持・変更したり する。 例) 入力 出力 内部状態 D Q Q CK
  38. 38. UEC 38 1. 組合わせ回路:入力が決まると出力が一意に決まる 入力 出力 順序論理回路 出力A 出力B 記憶回路 2. 順序論理回路:入力と内部状態によって,出力が決まる 入力 • 過去の状態 • 入力の履歴 論理回路 論理回路 出力n
  39. 39. UEC 基本論理素子:D フリップフロップ 39 情報(1bit)を"0"または"1"の 状態として保持する(記憶する) ことができる論理素子 ① クロック(CK)入力でフリップフ ロップ(FF)の状態が変化する ② CKの立上るタイミングでD入力を 読み込み,Qに出力する CK D Q QDフリップフロップ D-FF (D flip-flop) D Q Q CK 入力 出力 反転 出力 クロック S R セット リセット 注)セット,リセット端子の説明は後述。本講義 では特に表記しないことにする CKの立上り D入力の 読取り Qに出力
  40. 40. UEC D フリップフロップの動作 状態遷移表現 40 D Q Q CK 入力 出力 反転 出力 クロック 0 1 D=0 CK D=1 CK D=1 CK D=0 CK D-FF 状態遷移図 a. Q=0 で,D=0,CK立上り→ Q=0 b. Q=0 で,D=1,CK立上り→ Q=1 c. Q=1 で,D=1,CK立上り→ Q=1 d. Q=1 で,D=0,CK立上り→ Q=0 CK D Qnext 立上り↑ 0 0 立上り↑ 1 1 立上り↑ なし X Q Qnext:CKの立上り↑で,出力Qの変化値 D-FF
  41. 41. UEC D フリップフロップ 41 電源(+5V) GND(0V) 切かき D Q Q CK S R 2Pin 3Pin 1Pin 6Pin 5Pin 4Pin 7474 Dual D-FFs with Preset and Clear 注)Preset,Clearの小丸は負論理入力であることを示す
  42. 42. UEC D-FFのほかのフリップフロップ 42 J Q QK CK S R Q Q S R Q COMMENT 0 0 Q Hold(保持) 0 1 0 Set 1 0 1 Reset 1 1 1,1 禁止(Q=Q) CK毎に変化 RSフリップフロップ JKフリップフロップ J K Qnext comment 0 0 Q Hold(保持) 0 1 0 Set 1 0 1 Reset 1 1 Q Toggle(反転)Q D-FFのほかにも,RS-FF,JK-FF,T-FFなどがある。 JK-FFは、CKが入力 されたときのJとKの それぞれの入力状態 によって、その出力 が決定される。 FF回路は,入力信号を 取り去っても,その出 力状態を維持する。こ のためFF回路は、ラッ チ(latch:留め金)回路 とも呼ばれる。
  43. 43. UEC D-FFの利用回路 43 • D-FFを利用してパルスを逓減する回路, パルス数を数え上げる回路を作成する • パルス数を逓減する回路は,コンピュー タや制御回路で水晶発振からのタイミン グ信号をていげんすることなどで利用す る。 • パルス数のカウントは例えば回転角度の 検出など多くの用途で利用されている。 ⚫ 論理回路 ⚫ デジタルIC(論理演算の電気回路での実現) ⚫ 「論理回路:組合せ回路」と「順序回路」 ⚫ 組合せ回路 ⚫ 順序回路 ✓ 基本論理素子:フリップフロップ ✓ カウンタ ① 1/2逓減回路 ② 1/4逓減回路 ③ 4bitカウンタ ④ 16bitカウンタ ✓ レジスタ ① ラッチ(レジスタ) ② シフトレジスタ ⚫ 加減算回路 ✓ 半加算回路 ✓ 全加減算回路
  44. 44. UEC ①D-FFを用いたパルス数1/2 逓減回路 44 D Q Q CK ⚫ CK↑で出力が反転する。 これをパルス毎に繰返す ⚫ その結果,CKパルス数の 1/2逓減回路となる CK D Q Q 入力 出力 Q ① CK↑でDの値がQとなる ② すると,DはQに接続されてい るため,Dの入力値が反転する ③ その結果,CK↑のたびに出力Q の反転を繰り返す
  45. 45. UEC ②D-FFを用いたパルス数1/4 逓減回路 45 D1 Q1 CK1 Q1 Q2 Q2 D2 CK2 Ck2↑でQ2が反転する ことの繰返し 1/2 逓減1/2 逓減 D1 Q1 CK1 Q1 Q2 Q2 CK2 D2 Q1 1/2 逓減回路を直列に連結
  46. 46. UEC ③D-FFを用いた4進カウンタ 46 0 0 1 0 0 1 1 1 パルス 数 Q2 Q1 0 0 0 1 0 1 2 1 0 3 1 1 0 1 2 3 21 22 CK1 Q1 Q2 0 1 2 3 0 1 2 3 0 0 0 0 11 11 0 0 0 0 11 11 21 22 21 22 D1 Q1 CK1 Q1 Q2 Q2 D2 CK2 入力パルス数をカウントするカウンター回路 連結数を増やせば2nの2進カウンターが作れる
  47. 47. UEC ④D-FFを用いた16進カウンタ 47 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 D1 Q1 CK1 Q1 Q2 Q2 D2 CK2 D3 Q3 CK3 Q3 Q4 Q4 D4 CK4 CK1 Q1 Q2 Q3 Q4 21 242322 Q1 Q2 Q3 Q4 次のD-FFのCK入力 CK2 CK3 CK4 CK1
  48. 48. UEC ④D-FF 16進カウンタ 48 CK1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 0 0 0 1 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 0 1 1 0 1 1 1 0 0 0 0 1 1 0 0 1 0 1 0 1 1 1 0 1 0 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 0 0 0 Q1 Q2 Q3 Q4 0 0 0 0 0 0 0 0 21 24 23 22 2 進 表 現 パルス数 2進数
  49. 49. UEC ①レジスタ(ex.4bit) 49 多くのコンピュータは、CPUなどと、周辺機器や各種制御部を繋ぐためにバスを 使っている。バス (bus) とは、コンピュータの内部や外部との間でデータを交換す るための共用の経路である。この例では,バス上のデータをタイミングに応じて取 得する回路を示す。このような回路はラッチ(latch)とも呼ばれる。 小容量の記憶回路の例としてレジスタを示す。 D Q Q CK D Q Q CK D Q Q CK D Q Q CK データ用 バス Q0 Q1 Q2 Q3 ck↑でデータ保持 ck↑のタイミングでデータバス上のデータを保持 16,32,64本など 多数線がある 16,32,64bit Registorが一般的
  50. 50. UEC 50 レジスタ(CPU)
  51. 51. UEC ②シフトレジスタ(ex.4bit) 51 ck↑でdata-shift D Q Q CK D Q Q CK D Q Q CK D Q Q CK Q0 Q1 Q2 Q3 CK D 11 1 0 00 1 Q0 Q2 Q1 Q3 シリアル入力 Serial In Parallel Out データはシリアルに入力端子 から入力され、クロック(CK) 信号が入力されるたびにフ リップフロップを1段ずつ進 んでいく Data取込み タイミング
  52. 52. UEC 負論理入力(入力の小丸はなに?) 52 D Q Q CK PRE CLR この小丸は何? 小丸は,負論理 入力であること を示す。 CK D Q Q CLR ① 電圧が5V→0Vなると,出力Qがクリ アされる。 ② レベル信号のため,0Vの間,出力は クリア。 負論理 レベル 信号 クリア 問題:③の4進カウンタを3進 カウンタにせよ。 ヒント:Q0=1, Q1=1となった時にDーFFをCLRする。 CLR入力
  53. 53. UEC 加減算回路 53 ⚫ 論理回路 ⚫ デジタルIC(論理演算の電気回路での実現) ⚫ 「論理回路:組合せ回路」と「順序回路」 ⚫ 組合せ回路 ⚫ 順序回路 ✓ 基本論理素子:フリップフロップ ✓ カウンタ ✓ レジスタ ⚫ 加減算回路 ✓ 半加算回路 ✓ 全加減算回路 ① n桁2進加算器の構成(16桁) ② 減算回路の構成 ③ 補数の作り方 ④ n桁の2進加減算器の構成(16桁
  54. 54. UEC 加算回路(半加算回路) 54 ⚫ 1bitでの演算(a+b) 0 0 1 1 0 1 0 1+ + + + 0 0 1 0 1 a b Sum Carry a b C S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 1bit半加算真理値表 AND XOR a b Sum Carry 𝑎⨁𝑏 𝑎 ⋅ 𝑏 1bit半加算回路 HA Half Adder a b Sum Carry C S 半加算器(1bit) Half Adder ⚫ 半加算器 ✓ 1bit演算を行う ✓ 上位への桁上げ あり ✓ 下位からの桁上 げなし
  55. 55. UEC 加算回路(全加算回路) 55 HA HA a b 下位からの 桁上げ Sum Carry 全加算器(1bit) Full Adder FA Full Adder a b Sum Carry C S d dC S ⚫ 全加算器 ✓ 1bit演算を行う ✓ 上位への桁上げあり ✓ 下位からの桁上げあり 入力 和
  56. 56. UEC n桁2進加算器の構成(16桁) 56 FA FA d0d1 C0C1 FA FA a1 b1 a0 b0a15 b15 a14 b14 d14d15 S1 S0S15 S14 C14C15 ・・・ オーバーフロー ビット 出力(和) ⚫ 計算 (16bit) S=A+B ✓ 入力A (16bit) A(a15 a14 a13…a2 a1 a0) ✓ 入力B (16bit) B(b15 b14 b13…b2 b1 b0) ✓ 出力S (16bit) S(s15 s14 s13…s2 s1 s0) ⚫ n桁2進加算器 ✓ FA(Full Adder) をn個繋ぎ合わ せることで実現 できる ✓ 減算器は次の頁
  57. 57. UEC 減算回路の構成(負数の加算) 57 1. 減算は,負の数の加算とする 2. 2進数で負の数をどう表すか 3. 2進数の補数表現 負の数は補数表現で表す 𝑎 − 𝑏 = 𝑎 + (−𝑏) 例)4桁の2進数について例を示す 3 𝑋: n桁の2進数 ෠𝑋 = 2 𝑛 − 𝑋෠𝑋 = 𝑋の補数とする 𝑋 = 0011 ෠𝑋 = 24 − 𝑋 = 10000 − 0011 = 1101 𝑋 + ෠𝑋 = 0011 + 1101 = 10000検算 -3 下位4桁を取る 無視 0
  58. 58. UEC 58 減算回路の構成(負数の作り方)1 例)4桁(n=4)の補数を作る ෠𝑋 = 24 − 𝑋 = 10000 − 𝑋 ෠𝑋 = ത𝑋 + 1 Xの全ビット反転+1 ⚫ n桁の場合でも同じ ෠𝑋 = ത𝑋 + 1補数 ෠𝑋 = 1111 − 𝑋 + 1 と書換 1111 − 𝑋 = ത𝑋 と置くと ത𝑋 はXの全ビットを反転させたもの 𝑋 = 0011例) ത𝑋 = 0011 = 1100 ෠𝑋 = ത𝑋 + 1 = 1100 + 1 = 1101 3 ത𝑋 = 0101 = 1010 ෠𝑋 = ത𝑋 + 1 = 1010 + 1 = 1011 5 𝑋 = 0101 -5 -3 Xのビットを全て反転させ, +1とすればよい全ビットの反転 +1 全ビット 反転 +1 全ビット 反転 +1
  59. 59. UEC 減算回路の構成(負数の作り方)2 59 補数:(1)Xのビットを全て反転させ,(2)+1とする (1)Xのビットを全て反転 x y f x y f 0 0 0 0 1 1 1 0 1 1 1 0 x f 0 0 1 1 x f 0 1 1 0 y=0 y=1 XOR を使えば, 2 進数の全bit を 反転/非反転とす ることができる制御入力 2進ビット (2)+1とする FA FA d0d1 C0C1 FA FA a1 b1 a0 b0a15 b15 a14 b14 d14d15 S1 S0S15 S14 C14C15 ・・・ d0を“1”と すればよい 反転非反転XOR
  60. 60. UEC n桁の2進加減算器の構成(16桁) 60 FA FA d0 d1 C0C1 FA FA a1 b1 a0 b0 a15 b15 a14 b14 d14d15 S1 S0S15 S14 C14C15 ・・・ 0: add 1: sub オーバーフロー ビット 1. 加算:制御信号が”0” S=A+B 2. 減算:制御信号が”1” S=A-B ① XORは反転素子となりB(b15 b14 b13…b2 b1 b0)の全ビットが反転 ② d0=1となり,最下位桁に桁上げがあること,”+1”に相当 ③ この結果入力Bは補数となる ④ よって,S=A+(-B)が実現。即ち減算となる 制御信号 ത𝐵 ෠𝐵 = ത𝐵 + 1 加減算結果出力
  61. 61. UEC 61 おわり

×