ハードウェアタイマーの割り込み|科目A-1(応用情報技術者) 令和7年 秋期午前試験 問23
出典:令和7年秋期 午前 問23
分野:ハードウェア(中分類) / ハードウェア(小分類)
16ビットのダウンカウントのカウンターを用い,カウンターの値が0になると割込みを発生するハードウェアタイマーがある。カウンターに初期値として10進数の150をセットしてタイマーをスタートすると,最初の割込みが発生するまでの時間は何マイクロ秒か。ここで,タイマーの入力クロックは16MHzを32分周したものとする。
- ア:0.3
- イ:2
- ウ:150
- エ:300
TSUNAGARU-ADVICE
まず押さえたいこと
ハードウェアタイマーの割込み発生時間は、分周後のクロック周波数から1カウント当たりの時間を求め、カウンターが0になるまでのカウント数を掛けることで考えます。ダウンカウンターでは、初期値から1ずつ減少して0に到達するまでの時間を求めます。
迷ったときの判断軸
分周では、元のクロック周波数を分周数で割って実際にカウンターへ入る周波数を求めます。その後、周波数の逆数が1クロック当たりの時間になる点を押さえましょう。また、MHzからHz、秒からマイクロ秒への単位変換を途中で混同しないことも重要です。
科目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マイクロ秒
したがって、エが適切です。