情報45【電験3種 機械】D-A変換器の分解能とユニポーラ・オフセットバイナリ・バイポーラコード!平成19年度 B問題18 完全解説

電験3種 機械科目 情報 平成19年度 B問題18 D-A変換器の分解能は?コード方式も見分ける

今回は平成19年度 機械科目 B問題18を解説します。分解能2〔mV〕のD-A変換器について、ユニポーラ・コードオフセット・バイナリ・コードバイポーラ・コード(2の補数)という3種類のコード方式それぞれの出力電圧を求める(a)と、逆に指定の出力電圧を得るためのディジタル入力量を求める(b)の問題です。

ユニポーラ・コードはV=0.002d、オフセット・バイナリ・コードはV=0.002(d-2048)、バイポーラ・コードは正の範囲でV=0.002d、負の範囲でV=-0.002(4096-d)という3つの直線式を使い分けます。(b)ではこれらの式を10進入力dについて逆算し、最後に16進数に変換します。

目次

平成19年度 機械科目 B問題18:問題文と選択肢

まずは、実際の試験問題を確認してみましょう。

電験3種 機械科目 情報 平成19年度 B問題18 問題文
平成19年度 機械科目 B問題18 問題文

出典:一般財団法人 電気技術者試験センター「平成19年度 第三種電気主任技術者試験」機械科目 B問題18

電験3種 機械科目 【情報】 平成19年度 B問題18

 分解能が2〔mV〕のD-A変換器について,図を参考にして,次の(a)及び(b)に答えよ。

(a) 12ビットのディジタル入力量の(000)16を0〔V〕の出力電圧として,正の電圧のみを扱うユニポーラ・コードによるD-A変換器の場合,ディジタル入力量の(9C4)16は,(ア)〔V〕の出力電圧になる。ディジタル入力量の(000)16から(FFF)16の範囲で,(800)16を0〔V〕の出力電圧とし,(000)16側を負,(FFF)16側を正とするオフセット・バイナリ・コードによるD-A変換器の場合,出力電圧の範囲は,(イ)〔V〕となる。また,2の補数を用いて正負の電圧を扱うバイポーラ・コードによるD-A変換器では,ディジタル入力量の(A24)16は,(ウ)〔V〕の出力電圧になる。上記の記述中の空白箇所(ア),(イ)及び(ウ)に当てはまる数値として,正しいものを組み合わせたのは次のうちどれか。

(b) このD-A変換器がユニポーラ・コードのD-A変換器の場合,出力電圧1.250〔V〕を得るためのディジタル入力量は,(エ)となる。このD-A変換器がオフセット・バイナリ・コードのD-A変換器の場合,出力電圧1.250〔V〕を得るためのディジタル入力量は,(オ),出力電圧-1.250〔V〕を得るためのディジタル入力量は,(カ)となる。このD-A変換器が2の補数によるバイポーラ・コードのD-A変換器の場合,出力電圧-1.250〔V〕を得るためのディジタル入力量は,(キ)となる。上記の記述中の空白箇所(エ),(オ),(カ)及び(キ)に当てはまる数値として,正しいものを組み合わせたのは次のうちどれか。

(ア)(イ)(ウ)
(1)4.968-4.094〜4.096-3.000
(2)4.968-4.094〜4.096-2.998
(3)5.000-4.096〜4.096-3.000
(4)5.000-4.096〜4.094-2.998
(5)5.000-4.096〜4.094-3.000
(エ)(オ)(カ)(キ)
(1)(271)16(A71)16(58F)16(D8F)16
(2)(271)16(271)16(58F)16(58F)16
(3)(271)16(A71)16(D8F)16(58F)16
(4)(625)16(271)16(D8F)16(D8F)16
(5)(625)16(A71)16(D8F)16(D8F)16

出題のポイント:3つのコードの直線式

同じ12ビットの入力でも、コード方式によって0 V の位置が変わります——まず3本の式を書き分けることから始めましょう。

コード方式0 V になる入力出力の式
ユニポーラ(000)16V=0.002d
オフセット・バイナリ★(800)16=2048V=0.002(d−2048)
バイポーラ(2の補数)(000)16★d≧2048 では V=−0.002(4096−d)

12ビットなので入力は0 〜4095 の4,096段——分解能2 mV なので、全体で約8.19 V の幅があります。

ユニポーラは正だけ、他の2つは正負両方——同じ4,096段を、どこを0 V とするかで振り分けていると考えてください。

(a)の3つを計算する

\( (9\mathrm{C}4)_{16}=9\times256+12\times16+4=2500 \)
(ア) まず10進へ
\( V=0.002\times 2500=5.000\ [\mathrm{V}] \)
ユニポーラ
★(ア)
\( V_{\min}=0.002(0-2048)=-4.096 \)
(イ) 下端
\( V_{\max}=0.002(4095-2048)=4.094 \)
(イ) 上端
★−4.096〜4.094 V
\( (\mathrm{A}24)_{16}=10\times256+2\times16+4=2596 \)
(ウ) 10進へ
2048以上なので負
\( V=-0.002(4096-2596)=-3.000\ [\mathrm{V}] \)
バイポーラ
★(ウ)

(イ)の上端が4.096 ではなく4.094——入力の最大は4095 であって4096 ではないからです。1段分(2 mV)だけ足りない——ここが選択肢を分ける決め手になります。

答え(a)の正解は (5)——(ア)5.000 (イ)−4.096〜4.094 (ウ)−3.000 です。
分解能2ミリボルトの12ビットD-A変換器について3種類のコードと端点電圧を比較する図
同じ12ビット値でも、コード方式によって0 Vの位置と正負の解釈が変わります。

(b) 逆算して16進数に直す

(b)は式を d について解くだけ——最後の16進変換で手間取らないよう、手順を決めておきましょう

\( d=\dfrac{1.250}{0.002}=625 \)
(エ) ユニポーラ
\( 625=(271)_{16} \)
\( d=\dfrac{1.250}{0.002}+2048=2673 \)
(オ) オフセット
\( 2673=(\mathrm{A}71)_{16} \)
\( d=\dfrac{-1.250}{0.002}+2048=1423 \)
(カ) オフセット(負)
\( 1423=(58\mathrm{F})_{16} \)
\( d=4096-\dfrac{1.250}{0.002}=3471 \)
(キ) バイポーラ(負)
\( 3471=(\mathrm{D}8\mathrm{F})_{16} \)

10進から16進への直し方

12ビットなら3桁の16進数——256、16、1 の位に分けるだけです。

重み625 の場合
上位256625÷256=2 余り113
中位16113÷16=7 余り1
下位11
結果★(271)16

10 〜15 はA 〜F——2673÷256=10 余り113 なので上位はA残りは625 と同じ113 なので71——合わせて(A71)16 です。

(オ)と(エ)は2048(=(800)16)だけ違う——上位桁に8 を足しただけという見方もできます。2+8=A なので確かに合っています。

平成19年度機械B問題18の各空欄の計算結果と16進入力値をまとめた図
計算結果は(a)が選択肢(5)、(b)が選択肢(1)です。
答え(a)の正解は (5)、(b)の正解は (1)です。

⚠️ よくある間違い
上端を4.096 V としてしまうのが最大の誤り——選択肢(3)がその値です。
入力の最大値は(FFF)16=4095——4096 ではありません「段数は4,096 だが、最大の番号は4,095」——0 から数え始めるから1つ少ないのです。
だから正側は4.094 V まで、負側は−4.096 V まで——上下が対称にならないのがオフセット・バイナリの特徴です。
もう1つ、(ウ)で(A24)16 を正の数として計算しない——2048以上なので負MSB が1 なら負と確認してから式を選びます。

⏱️ 本番での進め方
①3つの式を先に書き出す。ユニポーラ/オフセット/バイポーラ。
②16進→10進は256、16、1 の重みで展開。
③★上端は4095 であって4096 ではない。4.094 V。
④バイポーラはMSB=1 なら負。式を切り替える。

💡 覚え方
「0 V がどこにあるか」でコードが決まる——ユニポーラは端、オフセットは中央そして「4,096段だが最大値は4,095」——0 から数える以上、必ず1つ少ないのです。

オフセット・バイナリ・コードは平成22年度 B問題18令和6年度上期 B問題18でも出題されています(平成22年度令和6年度上期)。

ユニポーラ、オフセットバイナリ、2の補数バイポーラの入力コードと出力電圧の特性図
2の補数バイポーラは(7FF)₁₆の4.094 Vから(800)₁₆の−4.096 Vへ折り返します。

D-A変換器の実際の回路

ディジタルの数値を、どうやって電圧に変えているのか——基本は抵抗による重み付けです。

方式仕組み特徴
重み抵抗形各ビットにR、2R、4R…の抵抗★ビット数が増えると抵抗値の幅が広すぎる
はしご形(R-2R)★R と2R の2種類だけ精度を出しやすく主流

上位ビットほど大きく寄与する——これが「重み付け」です。12ビットなら最上位は最下位の2,048倍効きます。

重み抵抗形では、12ビットで抵抗値が4,096倍の幅——1 kΩ と4 MΩ を同じ精度で作るのは困難です。だからR-2R はしご形が使われます

R と2R の2種類だけで済む——同じ値の抵抗を並べるほうが、比精度を高くできるのです。集積回路の中では、これが決定的な利点になります。

まとめ

(a)(ア) ユニポーラ5.000 V
(a)(イ) オフセットバイナリ範囲-4.096〜4.094 V
(a)(ウ) バイポーラ-3.000 V
(b)(エ) ユニポーラ入力(271)16
(b)(オ)(カ) オフセットバイナリ入力(A71)16 / (58F)16
(b)(キ) バイポーラ入力(D8F)16
答え(a)-(5),(b)-(1)

▼あわせて解きたい関連問題
・コンピュータの5大装置とICメモリの正誤判定:【機械】平成27年度B問題18
・マイクロプロセッサのサイクルタイムと動作周波数:【機械】令和5年度上期B問題18

📚 次に解くべき関連問題
【機械】平成22年度B問題18(情報28)
【機械】令和6年度上期B問題18(情報27)
【機械】平成27年度B問題18(情報44)
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次