デジタル電子回路:直前対策パック

公式集、全トピックの解法の要点、6 問の演習問題。完全な解答は巻末にあります。

新しい問題科目に戻る

印刷ウィンドウで「PDF として保存」を選ぶと、コピーを端末に保存できます。

1公式と解法

記数法

位取り
2 進数 2k、8 進数 8k、16 進数 16k
10 進数へ
Σ dk·bk
10 進数から
基数で割り、余りを下から上へ読む
16 進数 ↔ 2 進数
16 進数 1 桁 = 4 ビット
2 の補数
ビットを反転して 1 を足す

デジタル論理:ゲート・カルノー図・フリップフロップ

基本ゲート
A·B, A + B, A′, (A·B)′, (A + B)′, A ⊕ B
ブールの規則
X + X′ = 1, X·X′ = 0, X + XY = X, XY + XY′ = X
ド・モルガンの法則
(X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′
カルノー図の並び順
00, 01, 11, 10 (Gray code)
2ᵏ 個のセルのグループ
k 個の変数が消える
4 対 1 マルチプレクサ
F = A′B′I0 + A′BI1 + AB′I2 + ABI3
フリップフロップ
D: Q⁺ = D, T: Q⁺ = T ⊕ Q, JK: Q⁺ = JQ′ + K′Q
カウンタ
n ビット:2ⁿ 状態; mod-N:2ⁿ ≥ N を満たす最小の n; fout = fclk/N
リップルカウンタ
fmax = 1/(n·tpd)
リングカウンタとジョンソンカウンタ
n 状態と 2n 状態

解き方

  1. 回路では、入力から出力へ向かってゲートを 1 つずつ進み、各配線に値を書き込むか、式を書いて真理値表を埋めましょう。
  2. 簡単化するには、1(とドントケアは X として)を、行と列がグレイコード 00, 01, 11, 10 のカルノー図に書き込みましょう。
  3. 1 を、1, 2, 4, 8, 16 個のセルからなる、できるだけ少なくできるだけ大きなグループで、端をまたぎながら覆いましょう。各グループは、一定のままの変数からなる 1 つの積項です。POS 形には 0 をグループ化します。
  4. フリップフロップとカウンタでは、各有効クロックエッジで入力を読み取り、エッジごとの状態を書き出し、n ビットのカウンタは 2ⁿ 個の状態で折り返すことを忘れないようにしましょう。

データ収録とサンプリング

ナイキスト条件
fs > 2·fmax, fN = fs/2
エイリアス周波数
fa = |f − k·fs|, k = round(f/fs)
ステップ幅
1 LSB = VFSR/2ᴺ
量子化誤差(四捨五入)
±½ LSB
切り捨て ADC のコード
D = ⌊Vin/LSB⌋
分解能 r に必要なビット数
2ᴺ ≥ span/r
理想 SQNR(フルスケールの正弦波)
SQNR = 6.02·N + 1.76 dB
データレート
チャネル数 × fs × N bit/s
マルチプレクス ADC
fs = 1/(n·(tc + tset))
UART
Tb = 1/ボーレート;8N1 = 1 バイトあたり 10 ビット;バイト/s = ボーレート/1 フレームのビット数
ボーレート分周比
baud = fclk/(16·D)

解き方

  1. まず与えられた値を書き出します:サンプリング周波数、信号の周波数、ビット数、入力レンジ、ボーレート。
  2. サンプリングの問題では、各周波数を fs/2 と比べます。それより高い周波数は、fs の最も近い整数倍を使って fa = |f − k·fs| の位置に現れます。
  3. 分解能の問題では、1 LSB = VFSR/2ᴺ を求めるか、2ᴺ ≥ 範囲/分解能 を満たす最小の N を求めます。
  4. データレートと UART 通信では、送られるものをすべて数えます:チャネル数、毎秒のサンプル数、1 サンプルあたりのビット数またはバイト数、そして各フレームのスタートビット、パリティビット、ストップビット。

2演習問題

1.記数法ふつう
8 ビットの 2 の補数?−128?64?32?16?8?4?2?1

−54 を 8 ビットの 2 の補数パターンで表しなさい。そのパターンを符号なし 2 進数として読むと、10 進数での値 U はいくつですか?

N = −548 bit
U =
2.記数法むずかしい
ビットをクリックして設定します012806403201608040201

ビットを 1111 0101 XOR 0101 1000 の 8 ビットの結果に設定します。結果の値 R は 10 進でいくつですか?

1111 0101XOR0101 1000
R =
3.デジタル論理:ゲート・カルノー図・フリップフロップふつう
ABCD000111100001111000010302041517161121130151141809011010

カルノー図を使って F(A, B, C, D) = Σm(5, 6, 7, 8, 12, 13, 14) の最小の積和形(SOP)を求めてください。リテラル L は合計でいくつ含まれますか(プライム付きの変数も 1 つのリテラルと数えます)?

F(A, B, C, D) = Σm(5, 6, 7, 8, 12, 13, 14)
L =
4.デジタル論理:ゲート・カルノー図・フリップフロップむずかしい
ABCD000111100001111010011312X4151706112013115014X809111X10

d はドントケア条件を表します。F(A, B, C, D) = Σm(0, 2, 3, 5, 7, 11, 12, 15) + d(4, 8, 10) の最小の SOP 形を求めてください。リテラル L はいくつ含まれますか?

F(A, B, C, D) = Σm(0, 2, 3, 5, 7, 11, 12, 15) + d(4, 8, 10)
L =
5.データ収録とサンプリングふつう
∿01N = 122 kHz? MB

レコーダが 1 チャネルを 2 kHz、12 ビット ADC でサンプリングします。各サンプルは整数バイトで保存されます。2 分間の記録に必要なメモリ M を MB(1 MB = 10⁶ バイト)で求めなさい。

n = 1fs = 2 kHzN = 12t = 2 min
M = MB
6.データ収録とサンプリングむずかしい
SD0​D1​D2​D3​D4​D5​D6​D7​PTb​11·Tb​115200 Bd, 8E1

12 ビット ADC がすべてのサンプルを UART で 115200 baud、8E1 形式(スタートビット、データ 8 ビット、偶数パリティ、ストップビット 1 個)で送ります。各サンプルは 2 バイトの整数バイトで送られ、通信路は常にふさがっています。エイリアシングなしにサンプリングできる最高の信号周波数 fmax を Hz で求めなさい。

baud = 115200 BdN = 128E1
fmax = Hz

3溶液

1.記数法

答え: U = 202

位取り記数法:各桁の値は、その数字に基数のべき乗を掛けたものです。2 進数では各桁の重みが 1、2、4、8、16、…、16 進数では 1、16、256、… で、A–F は 10–15 を表します。8 ビットの 2 の補数では、最上位ビットの重みが +128 ではなく −128 になり、こうして負の数を表します。

反転して 1 を足す

54 = 0011 0110
反転後: 1100 1001
+1 → 1100 1010

符号なしとして読む

1100 1010₂ = 256 − 54 = 202

答え

U = 202
2.記数法

答え: R = 173

ビットの設定:各ビットは 2 のべき乗(128、64、…、1)の値をもちます。16 進の 1 桁はちょうど 4 ビットで、8 ビットの 2 の補数では、いちばん左のビットの値は −128 です。ビット演算は、各ビット位置を別々に扱います。

ビットごとに

XOR は、2 つのビットが異なるところで 1 になります。

1111 0101
XOR 0101 1000
= 1010 1101

結果の値

1010 1101₂ = 173

答え

R = 173
3.デジタル論理:ゲート・カルノー図・フリップフロップ

答え: L = 12

カルノー図:セルはグレイコード(00, 01, 11, 10)の順に並んでいるので、端をまたぐものも含め、隣り合うセルはちょうど 1 つの変数だけが異なります。1 を、1, 2, 4, 8, 16 個のセルからなる長方形で、できるだけ大きく、できるだけ少ない数でグループ化し、すべての 1 を覆います。各グループは 1 つの積項で、グループの中で一定のままの変数からなります。2ᵏ 個のセルのグループでは k 個の変数が消えます。ドントケア(X)はグループを大きくするために使えますが、覆う必要はありません。代わりに 0 をグループ化すると、最小の POS 形が得られます。

ABCD000111100001111000010302041517161121130151141809011010

1 をグループ化する

各グループは 2ᵏ 個のセルからなる長方形です。端のセルは、反対側の端のセルと隣り合っています。

BC′D
BCD′
AC′D′
A′BD

最小の SOP 形

F = BC′D + BCD′ + AC′D′ + A′BD
L = 12

答え

L = 12

同じ大きさの別のグループ分けもあります。項の数もリテラルの数も同じです。

4.デジタル論理:ゲート・カルノー図・フリップフロップ

答え: L = 9

カルノー図:セルはグレイコード(00, 01, 11, 10)の順に並んでいるので、端をまたぐものも含め、隣り合うセルはちょうど 1 つの変数だけが異なります。1 を、1, 2, 4, 8, 16 個のセルからなる長方形で、できるだけ大きく、できるだけ少ない数でグループ化し、すべての 1 を覆います。各グループは 1 つの積項で、グループの中で一定のままの変数からなります。2ᵏ 個のセルのグループでは k 個の変数が消えます。ドントケア(X)はグループを大きくするために使えますが、覆う必要はありません。代わりに 0 をグループ化すると、最小の POS 形が得られます。

主項

1 と X からつくれる最大のグループ。

C′D′, CD, B′D′, B′C, A′BD, A′BC′
ABCD000111100001111010011312X4151706112013115014X809111X10

最小被覆

F = C′D′ + CD + B′D′ + A′BD
L = 9

答え

L = 9

同じ大きさの別のグループ分けもあります。項の数もリテラルの数も同じです。

5.データ収録とサンプリング

答え: M = 0.48 MB

データレート:各チャネルは毎秒 fs 個の N ビットのサンプルを出力するので、生のレートは チャネル数 × fs × N bit/s です。メモリ上では 1 サンプルが整数バイトを占める(12 ビットのサンプルは 2 バイトで保存される)ので、記録に必要なメモリは チャネル数 × fs × 1 サンプルのバイト数 × 時間 です。マルチプレクス ADC はチャネルを 1 つずつ順に変換します:1 回の変換(整定時間を含む)に t かかるので、n チャネルの 1 巡に n·t かかり、各チャネルは 1/(n·t) でサンプリングされます。

1 サンプルのバイト数

⌈12/8⌉ = 2 B

バイトレート

1·2000·2 = 4000 B/s

メモリ

M = 4000·120 = 480000 B = 0.48 MB

答え

M = 0.48 MB
6.データ収録とサンプリング

答え: fmax = 2618 Hz

UART:調歩同期式のシリアル通信は、各バイトをフレームとして送ります:スタートビット(Low)1 つ、データビット、任意のパリティビット、ストップビット(High)1 つまたは 2 つ。ボーレートは毎秒のビット数なので、1 ビットの長さは Tb = 1/ボーレート、n ビットのフレームの長さは n/ボーレートです。よく使われる 8N1 形式は 1 バイトが 10 ビットです。ボーレート発生器はクロックを分周します:ボーレート = fclk/(16·D)、D は整数なので、実際のボーレートは目標値とわずかに異なります。誤差がおよそ 2 % 未満なら、たいてい許容されます。

回線上の 1 サンプルあたりのビット数

2·11 = 22 bit

最高サンプリング周波数

fs,max = 115200/22 = 5236 Hz

ナイキストの限界

fmax = 5236/2 = 2618 Hz

答え

fmax = 2618 Hz

ExamProblems · examproblems.com/courses/digital-electronics