ハードウェアタイマーの割り込み|科目A-1 令和7年 秋期午前試験 問23
出典:令和7年秋期 午前 問23
分野:ハードウェア(中分類) / ハードウェア(小分類)
16ビットのダウンカウントのカウンターを用い,カウンターの値が0になると割込みを発生するハードウェアタイマーがある。カウンターに初期値として10進数の150をセットしてタイマーをスタートすると,最初の割込みが発生するまでの時間は何マイクロ秒か。ここで,タイマーの入力クロックは16MHzを32分周したものとする。
- ア:0.3
- イ:2
- ウ:150
- エ:300
TSUNAGARU-ADVICE
まず押さえたいこと
ハードウェアタイマーでは、入力クロックの1周期ごとにカウンターが1ずつ減り、0になると割込みが発生します。16MHzを32分周すると0.5MHz、つまり1カウントは2マイクロ秒です。分周後のクロック周期を先に求めることがポイントです。
迷ったときの判断軸
16MHzのまま計算せず、32分周後の周波数で考えます。0.5MHzは1秒間に500,000回なので、1回のカウントに2マイクロ秒かかります。初期値150から0まで150カウント分進むため、1カウントの時間に150を掛けて求めると整理しやすくなります。
科目Bにつなげるために
特にプロフェッショナルデジタルスキル(システム)試験合格を目指す方は、クロック周波数・分周・カウント値から割込み周期を求める考え方を押さえておくと有効です。組込みシステムでは、周期処理・タイマー割込み・センサー読み取り間隔の設計につながります。
入力クロックは16MHzを32分周したものなので、タイマーに入るクロック周波数は次のようになります。
16MHz ÷ 32 = 0.5MHz = 500,000Hz
500,000Hzは、1秒間に500,000回カウントすることを表します。したがって、1カウント当たりの時間は次のようになります。
1 ÷ 500,000 = 0.000002秒 = 2マイクロ秒
カウンターの初期値は150なので、0になるまでに150回分カウントします。
2マイクロ秒 × 150 = 300マイクロ秒
したがって、エが適切です。