平成31年 春期 エンベデッドシステムスペシャリスト 午前II 問15

表のインターバルタイマーを用いて約20ミリ秒ごとにタイマー割り込みを発生させたいとき、16ビットタイマーコンペアレジスタに設定する値は10進数で幾つか。
ここで、システムクロックは32MHzとする。

項目 説明
タイマークロック システムクロックを32分周したもの
16ビットタイマーカウンタ タイマークロックの立ち上がりに同期してインクリメントされる。
16ビットタイマーコンペアマッチレジスタから初期化指示があると0で初期化される。
16ビットタイマーコンペアマッチレジスタ 設定された値と16ビットタイマーカウンタ値が一致するとタイマー割込みを発生し、16ビットタイマーカウンタに初期化指示を出す。

 ア  1  イ  19  ウ  1,999  エ  19,999


答え エ


解説
タイマークロックはシステムクロックを32分周したもので、システムクロックが32MHzなので、タイマークロック周波数は1MHzになる。
1MHzの周波数で20ミリ秒をカウントするには、20,000サイクル必要であり、16ビットタイマーカウンタは初期化されると0になり、タイマークロックの立ち上がりに同期してインクリメントするので、16ビットタイマーコンペアレジスタに設定する20,000サイクル目の値は19,999(エ)になる。


キーワード
・インターバルタイマー

キーワードの解説
  • インターバルタイマー(interval timer)
    一定間隔で割込みを発生させるタイマーです。
    組込み装置などで装置内部の時間(システムタイマー)の更新に使用したり、OSが行う定期処理にも使われます。

もっと、「インターバルタイマー」について調べてみよう。

戻る 一覧へ 次へ