検索
連載

マイコンのタイマー、PWMの仕組み〜超基礎編〜 Q&Aで学ぶマイコン講座(119)(2/3 ページ)

マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、超初級者の方からよく質問される「タイマー、PWMの仕組み(超基礎編)」についてです。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
解説します

タイマーの機能と基本構成

 タイマーの最も基本的な機能は、時間をカウントすることです。ユーザーが希望する時間を設定すると周期の決まったクロックをカウントし、割り込みなどのイベントで知らせてくれます。カウントする方法はアップカウントとダウンカウントがあります。

 図3に、図1を詳しく解説した図を示します。

<strong>図3:タイマーの基本構成(少し詳しく)</strong>
図3:タイマーの基本構成(少し詳しく)[クリックで拡大]

 カウンターの値を、0からスタートして、1ずつ加算していき、ユーザーが設定した値までカウントすると、CPUに時間が経過したことを知らせる割り込み信号またはイベント信号を送ります。このような動作を、アップカウントと言います。その場合のカウンターをアップカウンターと呼びます。図3の時間設定レジスタにユーザーの希望する値を書き込みます。カウンターはクロックに従って、+1加算器で1ずつ加算します(1ずつ加算することをインクリメントと言います)。カウンターの値と時間設定レジスタの値を、常時一致検出回路でチェックし、一致したときに割り込み信号またはイベント信号をCPUに送ります。

 例えば、1MHzのクロックを使う場合、周期は1マイクロ秒(μs)です。このとき、時間設定レジスタの値を125(十進数)に設定しておくと、1μs×125=125μsを数えることができます。さらに、125μsを検出したら、カウンターのレジスタが0にリセットされるようにすることで、再び0からカウントが始まり、125μs後に再びイベント信号が生成されます。この動作を繰り返すと、125μsの周期の信号を得ることができます。

 一方、あらかじめカウンターの値をユーザーの希望する値に設定しておき、そこから1ずつ減算してカウンターの値が0になる事を検出する手法もあります。このような動作を、ダウンカウントと言います。その場合のカウンターをダウンカウンターと呼びます。

 図3のプリセットレジスタにユーザーはあらかじめカウント値を設定します。設定した値は、自動的にカウンターのレジスタに移され、クロックが入ると1ずつ減算します(1ずつ減算することをデクリメントと言います)。カウンターの値が0になると、割り込み信号またはイベント信号をCPUに送ります。

 例えば、1MHzのクロックを使い、プリセットレジスタの値を125(十進数)に設定しておくと、ダウンカウントして1μs×125=125μsを数えることができます。さらに、125μsを検出したら、プリセットレジスタの値の125が、カウンターのレジスタにセットされますので、再びダウンカウントが始まり、125μs後に再びイベント信号が生成されます。この動作を繰り返すと、125μsの周期の信号を得ることができます。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る