16ビットのダウンカウンターを用い,カウンターの値が0になると割込みを発生するハードウェアタイマーがある。
カウンターに初期値として10進数の150をセットしてタイマーをスタートすると,最初の割込みが発生するまでの時間は何マイクロ秒か。
ここで,タイマーの入力クロック周波数は16MHzを32分周したものとする。
正答4
解説
正解は4です。
ダウンカウンターは、入力クロックが1回入るごとに値を1ずつ減らします。
初期値150から0になるまでに150回のクロックが必要です。
入力クロックは16MHzを32分周したものなので、まず1クロックの周期を求めます。
【計算】
入力クロックの周波数は 16MHz÷32=0.5MHz(500kHz)です。
1クロックの周期は 1÷500,000秒=2マイクロ秒です。
初期値150が0になるまでの時間は 150×2マイクロ秒=300マイクロ秒です。
【選択肢別解説】
1:× 0.3マイクロ秒は、150を分周後の周波数500(kHz)で割るなど単位の扱いを誤った値です。
正しくは300マイクロ秒です。
2:× 2マイクロ秒は、クロック1回分の周期にすぎません。
150回分の時間ではありません。
3:× 150マイクロ秒は、1クロックを1マイクロ秒とした値です。
分周後の周期は2マイクロ秒です。
4:○ 1クロック2マイクロ秒を150回数えるので、300マイクロ秒です。
【ポイント】
分周とは、周波数を整数分の1に下げることです。
分周後の周波数の逆数が1カウントの時間になり、それにカウント数を掛けると割込みまでの時間が求まります。