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