記数法
- 位取り
- 2 進数 2k、8 進数 8k、16 進数 16k
- 10 進数へ
- Σ dk·bk
- 10 進数から
- 基数で割り、余りを下から上へ読む
- 16 進数 ↔ 2 進数
- 16 進数 1 桁 = 4 ビット
- 2 の補数
- ビットを反転して 1 を足す
公式集、全トピックの解法の要点、6 問の演習問題。完全な解答は巻末にあります。
8 ビットのパターン 1100 0011 は、符号付き整数を 2 の補数で表しています。10 進数での値 N はいくつですか?
ビットを 1100 0110 AND 0101 1011 の 8 ビットの結果に設定します。結果の値 R は 10 進でいくつですか?
このカルノー図には、隣り合う 1 をもたない 1 がちょうど 1 つあり、最小の SOP 形では 1 セルのグループ(4 リテラルの完全な最小項)のままです。図の端をまたぐ隣接も数えます。そのセルをクリックしてください。
4 ビットのリングカウンタ Q₃Q₂Q₁Q₀ は 1010 から始まります。クロックエッジごとにビットは 1 つ右へシフトし(Q₃ → Q₂ → Q₁ → Q₀)、Q₃ には Q₀ が入ります。6 クロックエッジのあとの状態 Q = Q₃Q₂Q₁Q₀ を 10 進数で答えてください。
入力範囲 0〜5 V の 12 ビット ADC が切り捨てを行い、その出力コードは ⌊Vin/LSB⌋、1 LSB = VFSR/2ᴺ です。入力 4.398 V に対する 10 進の出力コード D を求めなさい。
温度センサが 10 mV/°C(0 °C で 0 V)を出力します。その信号を 20 倍に増幅し、入力範囲 0〜3.3 V の 12 ビット ADC に入力します(1 LSB = VFSR/2ᴺ)。1 LSB に対応する温度変化 ΔTLSB を求めなさい。
答え: N = −61
位取り記数法:各桁の値は、その数字に基数のべき乗を掛けたものです。2 進数では各桁の重みが 1、2、4、8、16、…、16 進数では 1、16、256、… で、A–F は 10–15 を表します。8 ビットの 2 の補数では、最上位ビットの重みが +128 ではなく −128 になり、こうして負の数を表します。
ほかのビットは通常の正の重みのままです。
答え: R = 66
ビットの設定:各ビットは 2 のべき乗(128、64、…、1)の値をもちます。16 進の 1 桁はちょうど 4 ビットで、8 ビットの 2 の補数では、いちばん左のビットの値は −128 です。ビット演算は、各ビット位置を別々に扱います。
AND は、両方のビットが 1 のところだけ 1 になります。
答え: AB = 10, CD = 11
カルノー図:セルはグレイコード(00, 01, 11, 10)の順に並んでいるので、端をまたぐものも含め、隣り合うセルはちょうど 1 つの変数だけが異なります。1 を、1, 2, 4, 8, 16 個のセルからなる長方形で、できるだけ大きく、できるだけ少ない数でグループ化し、すべての 1 を覆います。各グループは 1 つの積項で、グループの中で一定のままの変数からなります。2ᵏ 個のセルのグループでは k 個の変数が消えます。ドントケア(X)はグループを大きくするために使えますが、覆う必要はありません。代わりに 0 をグループ化すると、最小の POS 形が得られます。
隣り合う 1 がある 1 は、2 つ以上のグループに加わることができます。
答え: Q = 10
フリップフロップとカウンタ:フリップフロップは、有効なクロックエッジでだけ変化します。D は入力をコピーし(Q⁺ = D)、T は T = 1 のときトグルし、JK は 00 で保持、01 でリセット、10 でセット、11 でトグルします。n ビットの 2 進カウンタには 2ⁿ 個の状態があり、2ⁿ を法として数えます。mod-N カウンタは 0, 1, …, N − 1 と数えて 0 に戻り、2ⁿ ≥ N を満たす最小の n 個のフリップフロップが必要です。リップルカウンタの各段は周波数を半分にするので、mod-N カウンタの最後の出力は fclk/N で動作します。n 個のフリップフロップのジョンソンカウンタには 2n 個の状態があり、リングカウンタには n 個あります。
答え: D = 3602
ADC の分解能:N ビットの変換器は、フルスケール範囲 VFSR を 0 から 2ᴺ − 1 までの 2ᴺ 個のコードに分けます。1 ステップは 1 LSB = VFSR/2ᴺ で、変換器が表示できる最小の変化です。切り捨て ADC はコード ⌊Vin/LSB⌋ を出力します。四捨五入する ADC は真の値から ½ LSB より離れることがなく、これが量子化誤差です。ビットが 1 つ増えるごとに LSB は半分になり、フルスケールの正弦波に対する理想的な信号対量子化雑音比 SQNR = 6.02·N + 1.76 dB はおよそ 6 dB 向上します。ある範囲で分解能 r を得るには、2ᴺ ≥ 範囲/r を満たす最小の N を選びます。
2 進数では 111000010010 です。
答え: ΔTLSB = 0.004028 °C
ADC の分解能:N ビットの変換器は、フルスケール範囲 VFSR を 0 から 2ᴺ − 1 までの 2ᴺ 個のコードに分けます。1 ステップは 1 LSB = VFSR/2ᴺ で、変換器が表示できる最小の変化です。切り捨て ADC はコード ⌊Vin/LSB⌋ を出力します。四捨五入する ADC は真の値から ½ LSB より離れることがなく、これが量子化誤差です。ビットが 1 つ増えるごとに LSB は半分になり、フルスケールの正弦波に対する理想的な信号対量子化雑音比 SQNR = 6.02·N + 1.76 dB はおよそ 6 dB 向上します。ある範囲で分解能 r を得るには、2ᴺ ≥ 範囲/r を満たす最小の N を選びます。
ADC は 16.5 °C でフルスケールに達します。
ExamProblems · examproblems.com/courses/digital-electronics