タイマ
タイマとは
タイマとは時間を測定する機能や、ある設定した時間が経過した後通知する機能を持つ周辺回路です。これは家電製品で使用する「タイマ機能」と基本的に同じです。
タイマは「カウンタ」、「データレジスタ」および「比較器」から構成されます。カウンタにはクロックが入力され、クロックの1周期ごとにカウントします。
例えばクロックの周波数が1Hzとすると1秒ごとにカウンタはカウントします。したがってカウンタの値を読めば時間の経過がわかることになります。
次に、時間経過を通知するために、「データレジスタ」と「比較器」があります。
データレジスタには、何秒後に通知したいか、そのときのカウンタの値をセットします。比較器は、カウンタがカウントされると、カウンタの値とデータレジスタの値を比較します。そして、カウンタとデータレジスタの値が一致したとき、比較器はその結果を通知します。つまり、時間経過を通知することができます。この通知には、一般的に割込み(タイマ割込み)として使用されます。
例えば、カウンタの値が「0」でクロック信号の周期が1Hzの時、データレジスタの値をプログラムで「3」にセットしカウンタのカウントをスタートします。比較器は、カウンタの値が「3」、つまり、3秒経過するとタイマ割込みで3秒の時間が経過したことを通知します。
前述の例では、「秒」単位ですが、マイコンで制御する機器の場合、「ミリ秒」や「マイクロ秒」の単位で時間経過を管理する必要があります。
この場合は、カウンタに入力するクロック信号の周波数を速くすることで可能になります。