14 高度制御タイマー(ADTM)
この章は、CH32F2x、CH32V2x、およびCH32V3xファミリー全体に適用されます。
高度制御タイマーモジュールには、強力な16ビット自動リロードタイマー(TIM1、TIM8、TIM9、TIM10)が搭載されており、 パルス幅の測定やパルスおよびPWM波形の生成などに使用できます。
モーター制御や電源などの分野で使用されます。
高度制御タイマーモジュールには、強力な16ビット自動リロードタイマー(TIM1、TIM8、TIM9、TIM10)が搭載されており、 パルス幅の測定やパルスおよびPWM波形の生成などに使用できます。
モーター制御や電源などの分野で使用されます。
14.1 主な特徴
高度制御タイマー(TIM1/8/9/10)の機能:
・ 16ビット自動リロードカウンタ(アップカウント、ダウンカウント、アップダウンカウントをサポート)
・ 16ビットプリスケーラ(分周比は1~65536の範囲で動的に調整可能)
・ 4つの独立した比較/キャプチャチャネル
・ 各比較/キャプチャチャネルは、入力キャプチャ、出力比較、PWM生成、シングルパルス出力など、複数の動作モードをサポート
・ デッドゾーン時間をプログラム可能な相補出力
・ タイマー制御用の外部信号
・ サイクル決定後にタイマーを更新するための繰り返しカウンタ
・ タイマーの出力信号をリセット状態または既知の状態にするためのブレーク信号入力
・ 複数モードでのDMA生成
・ インクリメンタルエンコーダ
・ タイマー間のカスケード接続と同期
・ 16ビットプリスケーラ(分周比は1~65536の範囲で動的に調整可能)
・ 4つの独立した比較/キャプチャチャネル
・ 各比較/キャプチャチャネルは、入力キャプチャ、出力比較、PWM生成、シングルパルス出力など、複数の動作モードをサポート
・ デッドゾーン時間をプログラム可能な相補出力
・ タイマー制御用の外部信号
・ サイクル決定後にタイマーを更新するための繰り返しカウンタ
・ タイマーの出力信号をリセット状態または既知の状態にするためのブレーク信号入力
・ 複数モードでのDMA生成
・ インクリメンタルエンコーダ
・ タイマー間のカスケード接続と同期
14.2 原理と構造
このセクションでは、高度制御タイマーの内部構造について説明します。
アドバンストコントロールタイマーのクロックは、APBバスクロック(CK_INT)、外部クロック入力ピン(TIMy_ETR)、 クロック出力機能を持つ他のタイマー(ITRx)、またはコンペア/キャプチャチャネルの入力端(TIMy_CHx)から供給できます。
これらの入力クロック信号は、設定された各種フィルタリングと分周処理を経てCK_PSCクロックとなり、コアカウンタ部に出力されます。
さらに、これらの複雑なクロックソースは、タイマー、ADC、DACなどの他の周辺機器にTRGOとして出力することもできます。
アドバンストコントロールタイマーのコアは16ビットカウンタ(CNT)です。
CK_PSCはプリスケーラ(PSC)によって分周され、CK_CNTとなり、CNTに出力されます。
CNTは、アップカウントモード、ダウンカウントモード、およびアップダウンカウントモードをサポートし、 自動リロード値レジスタ(ATRLR)を備えています。
各カウントサイクルが完了すると、CNTは初期値でリロードされます。
さらに、ATRLRがCNTの初期値をリロードする回数をカウントする補助カウンタがあります。
リピートカウントレジスタ(RPTCR)に設定された回数に達すると、特定のイベントを生成できます。
アドバンストコントロールタイマには、4つのコンペア/キャプチャチャネルグループがあります。
各コンペア/キャプチャチャネルグループでは、専用ピンからパルスを入力したり、ピンに波形を出力したりできます。
つまり、コンペア/キャプチャチャネルは入力モードと出力モードをサポートしています。
コンペア/キャプチャレジスタの各チャネルの入力は、フィルタリング、分周、エッジ検出などの操作をサポートし、 チャネル間の相互トリガをサポートし、コアカウンタCNTへのクロック供給も可能です。
各比較/キャプチャチャネルには、比較/キャプチャレジスタ(CHxCVR)のセットがあり、 メインカウンタ(CNT)との比較をサポートしてパルスを出力します。
(1) 外部クロックピン(ETR)入力クロックのルート:ETR→ETRP→ETRF
(2) 内部APBクロック入力ルート:CK_INT
(3) コンペア/キャプチャチャンネルピン(TIMy_CHx)からのルート:TIMy_CHx→TIx→TIxFPx(このルートはエンコーダモードでも使用されます)
(4) その他の内部タイマーからの入力:ITRx
実際の動作は、CK_PSCソースからSMSの入力パルス選択を決定することで、4つのカテゴリに分類できます。
(1) 内部クロックソース(CK_INT)を選択
(2) 外部クロックソースモード1
(3) 外部クロックソースモード2
(4) エンコーダモード
上記の4つのクロックソースは、これらの4つの操作によって選択できます。
その中核となるのはコンペア/キャプチャレジスタで、ペリフェラル入力部のデジタルフィルタリング、 周波数分周とチャネル多重化、出力部コンパレータ、および出力制御によって補完されています。
コンペア/キャプチャチャネルのブロック図を図14-3に示します。
チャネルxピンから入力された信号は、TIxとして選択できます(TI1のソースはCH1以外でも構いません。
タイマー構造ブロック図14-1を参照してください)。
TI1はフィルタ(ICF[3:0])を通過してTI1Fを生成し、エッジ検出器を通過した後、TI1F_RisingとTI1F_Fallingに分割されます。
これらの2つの信号は選択(CC1P)されてTI1FP1を生成し、チャネル2からのTI1FP1とTI2FP1は一緒にCC1Sに送られてIC1として選択され、 ICPS分周を経てコンペア/キャプチャレジスタに送られます。
コンペア/キャプチャレジスタはプリロードレジスタとシャドウレジスタで構成され、読み書き時にはプリロードレジスタのみが操作されます。
キャプチャモードでは、シャドウレジスタでキャプチャが行われ、その後プリロードレジスタにコピーされます。
比較モードでは、プリロードレジスタの内容がシャドウレジスタにコピーされ、その後シャドウレジスタの内容がコアカウンタ (CNT) と比較されます。
14.2.1 概要
図14-1 高度制御タイマの構造ブロック図
図14-1に示すように、アドバンストコントロールタイマーの構造は、入力クロック部、コアカウンタ部、
コンペア/キャプチャチャネル部の3つの部分に大別されます。
アドバンストコントロールタイマーのクロックは、APBバスクロック(CK_INT)、外部クロック入力ピン(TIMy_ETR)、 クロック出力機能を持つ他のタイマー(ITRx)、またはコンペア/キャプチャチャネルの入力端(TIMy_CHx)から供給できます。
これらの入力クロック信号は、設定された各種フィルタリングと分周処理を経てCK_PSCクロックとなり、コアカウンタ部に出力されます。
さらに、これらの複雑なクロックソースは、タイマー、ADC、DACなどの他の周辺機器にTRGOとして出力することもできます。
アドバンストコントロールタイマーのコアは16ビットカウンタ(CNT)です。
CK_PSCはプリスケーラ(PSC)によって分周され、CK_CNTとなり、CNTに出力されます。
CNTは、アップカウントモード、ダウンカウントモード、およびアップダウンカウントモードをサポートし、 自動リロード値レジスタ(ATRLR)を備えています。
各カウントサイクルが完了すると、CNTは初期値でリロードされます。
さらに、ATRLRがCNTの初期値をリロードする回数をカウントする補助カウンタがあります。
リピートカウントレジスタ(RPTCR)に設定された回数に達すると、特定のイベントを生成できます。
アドバンストコントロールタイマには、4つのコンペア/キャプチャチャネルグループがあります。
各コンペア/キャプチャチャネルグループでは、専用ピンからパルスを入力したり、ピンに波形を出力したりできます。
つまり、コンペア/キャプチャチャネルは入力モードと出力モードをサポートしています。
コンペア/キャプチャレジスタの各チャネルの入力は、フィルタリング、分周、エッジ検出などの操作をサポートし、 チャネル間の相互トリガをサポートし、コアカウンタCNTへのクロック供給も可能です。
各比較/キャプチャチャネルには、比較/キャプチャレジスタ(CHxCVR)のセットがあり、 メインカウンタ(CNT)との比較をサポートしてパルスを出力します。
14.2.2 クロック入力
図14-2 高度制御タイマのCK_PSCソースブロック図
アドバンストコントロールタイマーCK_PSCには多くのクロックソースがあり、4つのカテゴリに分類できます。
(1) 外部クロックピン(ETR)入力クロックのルート:ETR→ETRP→ETRF
(2) 内部APBクロック入力ルート:CK_INT
(3) コンペア/キャプチャチャンネルピン(TIMy_CHx)からのルート:TIMy_CHx→TIx→TIxFPx(このルートはエンコーダモードでも使用されます)
(4) その他の内部タイマーからの入力:ITRx
実際の動作は、CK_PSCソースからSMSの入力パルス選択を決定することで、4つのカテゴリに分類できます。
(1) 内部クロックソース(CK_INT)を選択
(2) 外部クロックソースモード1
(3) 外部クロックソースモード2
(4) エンコーダモード
上記の4つのクロックソースは、これらの4つの操作によって選択できます。
14.2.2.1 内部クロックソース (CK_INT)
SMSフィールドが000bに保持されている状態でアドバンストコントロールタイマーが起動されると、クロックとして内部クロックソース (CK_INT) が選択されます。このとき、CK_INTはCK_PSCです。
14.2.2.2 外部クロックソース モード1
SMS が 111b に設定されている場合、外部クロックソース モード1 が有効になります。
外部クロックソース 1 が有効になっている場合、CK_PSC のソースとして TRGI が選択されます。TRGI のソースを選択するには、TS を設定する必要があることに注意してください。
TS では、以下のパルスをクロックソースとして使用できます。
(1) 内部トリガ (ITRx、x は 0、1、2、3)
(2) エッジ検出器通過後のコンペア/キャプチャ 1 の信号 (TI1F_ED)
(3) コンペア/キャプチャ チャネルの TI1FP1 および TI2FP2 信号
(4) 外部クロックピンからの ETRF 信号
外部クロックソース 1 が有効になっている場合、CK_PSC のソースとして TRGI が選択されます。TRGI のソースを選択するには、TS を設定する必要があることに注意してください。
TS では、以下のパルスをクロックソースとして使用できます。
(1) 内部トリガ (ITRx、x は 0、1、2、3)
(2) エッジ検出器通過後のコンペア/キャプチャ 1 の信号 (TI1F_ED)
(3) コンペア/キャプチャ チャネルの TI1FP1 および TI2FP2 信号
(4) 外部クロックピンからの ETRF 信号
14.2.2.3 外部クロックソースモード2
外部トリガモード2を使用して、外部クロックピン入力の立ち上がりエッジまたは立ち下がりエッジをカウントします。
ECEビットがセットされている場合、外部クロックソースモード2が使用されます。
外部クロックソースモード2を使用する場合、CK_PSCとしてETRFが選択されます。
ETRピンはオプションのインバータ(ETP)と周波数分周器(ETPS)を通過してETRPになり、さらにフィルタ(ETF)を通過してETRFになります。
ECEビットがセットされ、SMSが111bに設定されている場合、TSは入力としてETRFを選択します。
ECEビットがセットされている場合、外部クロックソースモード2が使用されます。
外部クロックソースモード2を使用する場合、CK_PSCとしてETRFが選択されます。
ETRピンはオプションのインバータ(ETP)と周波数分周器(ETPS)を通過してETRPになり、さらにフィルタ(ETF)を通過してETRFになります。
ECEビットがセットされ、SMSが111bに設定されている場合、TSは入力としてETRFを選択します。
14.2.2.4 エンコーダモード
エンコーダモードを有効にするには、SMSを001b、010b、および011bに設定します。
エンコーダモードを有効にした後、TI1FP1およびTI2FP2で特定のレベルで信号出力を行うための信号として、別の遷移エッジを選択できます。
このモードは外部エンコーダを使用する場合に使用します。具体的な機能については、セクション14.3.9を参照してください。
エンコーダモードを有効にした後、TI1FP1およびTI2FP2で特定のレベルで信号出力を行うための信号として、別の遷移エッジを選択できます。
このモードは外部エンコーダを使用する場合に使用します。具体的な機能については、セクション14.3.9を参照してください。
14.2.3 カウンタと周辺回路
CK_PSC は分周器(PSC)への入力で、周波数分周に使用されます。
PSC は16ビットで、実際の分周比は R16_TIMy_PSC+1 の値に等しくなります。
CK_PSC は PSC 後、CK_INT になります。
R16_TIMy_PSC の値の変更はリアルタイムには反映されませんが、更新イベント後に PSC に反映されます。
更新イベントには、UG ビットのクリアとリセットが含まれます。
タイマーの中核は 16 ビットカウンタ(CNT)です。
CK_CNT は最終的に CNT に入力されます。
CNT はアップカウントモード、ダウンカウントモード、およびアップダウンカウントモードをサポートし、 各カウントサイクルの完了後に CNT の初期値を再ロードする自動リロード値レジスタ(ATRLR)があります。
さらに、ATRLRがCNTの初期値をリロードする回数を記録する補助カウンタがあります。
この回数が繰り返しカウントレジスタ(RPTCR)に設定された回数に達すると、特定のイベントを生成できます。
PSC は16ビットで、実際の分周比は R16_TIMy_PSC+1 の値に等しくなります。
CK_PSC は PSC 後、CK_INT になります。
R16_TIMy_PSC の値の変更はリアルタイムには反映されませんが、更新イベント後に PSC に反映されます。
更新イベントには、UG ビットのクリアとリセットが含まれます。
タイマーの中核は 16 ビットカウンタ(CNT)です。
CK_CNT は最終的に CNT に入力されます。
CNT はアップカウントモード、ダウンカウントモード、およびアップダウンカウントモードをサポートし、 各カウントサイクルの完了後に CNT の初期値を再ロードする自動リロード値レジスタ(ATRLR)があります。
さらに、ATRLRがCNTの初期値をリロードする回数を記録する補助カウンタがあります。
この回数が繰り返しカウントレジスタ(RPTCR)に設定された回数に達すると、特定のイベントを生成できます。
14.2.4 コンペア/キャプチャチャネルとペリフェラル
図14-3 比較/キャプチャチャネルの構造ブロック図
コンペア/キャプチャチャネルは、複雑な機能を実現するためのタイマーの主要コンポーネントです。
その中核となるのはコンペア/キャプチャレジスタで、ペリフェラル入力部のデジタルフィルタリング、 周波数分周とチャネル多重化、出力部コンパレータ、および出力制御によって補完されています。
コンペア/キャプチャチャネルのブロック図を図14-3に示します。
チャネルxピンから入力された信号は、TIxとして選択できます(TI1のソースはCH1以外でも構いません。
タイマー構造ブロック図14-1を参照してください)。
TI1はフィルタ(ICF[3:0])を通過してTI1Fを生成し、エッジ検出器を通過した後、TI1F_RisingとTI1F_Fallingに分割されます。
これらの2つの信号は選択(CC1P)されてTI1FP1を生成し、チャネル2からのTI1FP1とTI2FP1は一緒にCC1Sに送られてIC1として選択され、 ICPS分周を経てコンペア/キャプチャレジスタに送られます。
コンペア/キャプチャレジスタはプリロードレジスタとシャドウレジスタで構成され、読み書き時にはプリロードレジスタのみが操作されます。
キャプチャモードでは、シャドウレジスタでキャプチャが行われ、その後プリロードレジスタにコピーされます。
比較モードでは、プリロードレジスタの内容がシャドウレジスタにコピーされ、その後シャドウレジスタの内容がコアカウンタ (CNT) と比較されます。
14.3 機能と実装
高度制御タイマの複合機能は、比較・キャプチャチャネル、クロック入力回路、カウンタ、およびタイマ周辺部品の動作によって実現されます。
タイマのクロック入力は、比較・キャプチャチャネルの入力を含む複数のクロックソースから供給できます。
比較・キャプチャチャネルの動作とクロックソースの選択によって、その機能が直接決定されます。
比較・キャプチャチャネルは双方向であり、入力モードと出力モードで動作できます。
OCxとOCxNは、CCxPビットとCCxNPビットによって個別に設定できます。
出力イネーブルはCCxEビットとCCxNEビットによって個別に設定され、デッドゾーンなどの制御はMOEビット、OISビット、OISNビット、OSSIビット、OSSRビットによって行われます。
一方、OCx出力とOCxN出力はデッドゾーンに挿入できるように有効化されており、各チャネルには10ビットのデッドゾーンジェネレータが搭載されています。
ブレーク回路がある場合は、MOEビットを設定します。OCxとOCxNは、OCxREFによって連動して生成されます。
OCxとOCxNが両方ともHighで有効な場合、OCxはOCxREFと同じになりますが、OCxの立ち上がりエッジはOCxREFに遅延を加えて等しくなります。
OCxNはOCxREFの逆位相で、その立ち上がりエッジは基準信号の立ち下がりエッジに対して遅延があり、遅延が有効出力幅よりも大きい場合、 対応するパルスは生成されません。図14-4は、OCx、OCxN、およびOCxREFの関係とデッドゾーンを示しています。
遅延とパルス幅はプログラム可能です。OPMビットを設定すると、次の更新イベントUEVが発生したときにコアカウンタを停止できます(カウンタが0に反転します)。
図14-5に示すように、TI2入力ピンの立ち上がりエッジの開始を検出する必要があります。
Tdelayの遅延後、OC1に長さTpulseの正パルスが生成されます。
(1) TI2をトリガとして設定します。
CC2Sを01bに設定し、TI2FP2をTI2にマッピングします。
CC2Pビットを0bに設定し、TI2FP2を立ち上がりエッジ検出に設定します。
TSを110bに設定し、TI2FP2をトリガソースとして設定します。
SMSを110bに設定し、TI2FP2を使用してカウンタを起動します。
(2) Tdelayは比較/キャプチャレジスタの値によって決定され、Tpulseは自動リロード値レジスタの値と比較/キャプチャレジスタの値によって決定されます。
エンコーダモードは、タイマーの典型的なアプリケーションです。
エンコーダの2相出力にアクセスするために使用できます。
コアカウンタのカウント方向は、エンコーダの回転軸と同期しています。
エンコーダから出力される各パルスは、コアカウンタに1を加算または1を減算します。
エンコーダを使用する手順は、SMSフィールドを001b(TI2エッジのみカウント)、010b(TI1エッジのみカウント)、 または011b(TI1とTI2の両方のエッジでカウント)に設定し、エンコーダを比較/キャプチャチャネル1、2の入力端子に接続し、 リロード値レジスタに値を設定します。
この値は、より大きな値に設定できます。
エンコーダモードでは、タイマーの内部比較/キャプチャレジスタ、プリスケーラ、リピートカウントレジスタなどはすべて正常に動作します。
次の表は、カウント方向とエンコーダ信号の関係を示しています。
表14-1 タイマエンコーダモードのカウント方向とエンコーダ信号の関係
タイマのクロック入力は、比較・キャプチャチャネルの入力を含む複数のクロックソースから供給できます。
比較・キャプチャチャネルの動作とクロックソースの選択によって、その機能が直接決定されます。
比較・キャプチャチャネルは双方向であり、入力モードと出力モードで動作できます。
14.3.1 入力キャプチャモード
入力キャプチャモードは、タイマーの基本機能の1つです。
入力キャプチャモードの原理は、ICxPS信号の特定のエッジが検出されるとキャプチャイベントが発生し、 カウンタの現在の値が比較/キャプチャレジスタ(R16_TIMy_CHCTLRx)にラッチされるというものです。
キャプチャイベントが発生すると、R16_TIMy_INTFRのCCxIFビットがセットされます。
割り込みまたはDMAが有効になっている場合は、対応する割り込みまたはDMAが生成されます。
キャプチャイベント発生時にCCxIFがすでにセットされている場合は、CCxOFビットがセットされます。
CCxIFは、ソフトウェアまたは比較/キャプチャレジスタの読み出しによるハードウェアによってクリアできます。
CCxOFはソフトウェアによってクリアされます。
入力キャプチャモードの使用手順を、チャネル1を例に説明します。
(1) CCxSを設定し、ICx信号のソースを選択します。
例えば、10bに設定され、IC1のソースとしてTI1FP1が選択されている場合、デフォルト設定は使用できません。
CCxSは、デフォルトでコンペアキャプチャモジュールを出力チャネルとして使用します。
(2) ICxFを設定し、TI信号のデジタルフィルタを設定します。
デジタルフィルタは、決定された周波数とサンプリング時間に基づいてジャンプを出力します。
サンプリング周波数と時間はICxFによって決定されます。
(3) CCxPビットを設定し、TIxFPxの極性を設定します。例えば、CC1PビットをLowに維持し、立ち上がりエッジのジャンプを選択します。
(4) ICxPSを設定し、ICx信号をICxPS間の分周係数として設定します。
例えば、分周せずにICxPSを00bに維持します。
(5) CCxEビットを設定して、コアカウンタ(CNT)値を比較/キャプチャレジスタにキャプチャできるようにします。
CC1Eビットを設定します。 (6) 必要に応じてCCxIEビットとCCxDEビットを設定し、割り込みまたはDMAを有効にするかどうかを決定します。
これらの操作が完了すると、コンペア&キャプチャチャネルの設定が完了します。
TI1がキャプチャされたパルスを入力すると、コアカウンタ(CNT)の値がコンペア/キャプチャレジスタに記録され、CC1IFがセットされます。
CC1IFが以前にセットされていた場合、CCIOFビットもセットされます。
CC1IEがセットされている場合は割り込みが生成され、CC1DEがセットされている場合はDMA要求が生成されます。
入力キャプチャイベントは、イベント生成レジスタ(TIMy_SWEVGR)に書き込むことでソフトウェアで生成できます。
入力キャプチャモードの原理は、ICxPS信号の特定のエッジが検出されるとキャプチャイベントが発生し、 カウンタの現在の値が比較/キャプチャレジスタ(R16_TIMy_CHCTLRx)にラッチされるというものです。
キャプチャイベントが発生すると、R16_TIMy_INTFRのCCxIFビットがセットされます。
割り込みまたはDMAが有効になっている場合は、対応する割り込みまたはDMAが生成されます。
キャプチャイベント発生時にCCxIFがすでにセットされている場合は、CCxOFビットがセットされます。
CCxIFは、ソフトウェアまたは比較/キャプチャレジスタの読み出しによるハードウェアによってクリアできます。
CCxOFはソフトウェアによってクリアされます。
入力キャプチャモードの使用手順を、チャネル1を例に説明します。
(1) CCxSを設定し、ICx信号のソースを選択します。
例えば、10bに設定され、IC1のソースとしてTI1FP1が選択されている場合、デフォルト設定は使用できません。
CCxSは、デフォルトでコンペアキャプチャモジュールを出力チャネルとして使用します。
(2) ICxFを設定し、TI信号のデジタルフィルタを設定します。
デジタルフィルタは、決定された周波数とサンプリング時間に基づいてジャンプを出力します。
サンプリング周波数と時間はICxFによって決定されます。
(3) CCxPビットを設定し、TIxFPxの極性を設定します。例えば、CC1PビットをLowに維持し、立ち上がりエッジのジャンプを選択します。
(4) ICxPSを設定し、ICx信号をICxPS間の分周係数として設定します。
例えば、分周せずにICxPSを00bに維持します。
(5) CCxEビットを設定して、コアカウンタ(CNT)値を比較/キャプチャレジスタにキャプチャできるようにします。
CC1Eビットを設定します。 (6) 必要に応じてCCxIEビットとCCxDEビットを設定し、割り込みまたはDMAを有効にするかどうかを決定します。
これらの操作が完了すると、コンペア&キャプチャチャネルの設定が完了します。
TI1がキャプチャされたパルスを入力すると、コアカウンタ(CNT)の値がコンペア/キャプチャレジスタに記録され、CC1IFがセットされます。
CC1IFが以前にセットされていた場合、CCIOFビットもセットされます。
CC1IEがセットされている場合は割り込みが生成され、CC1DEがセットされている場合はDMA要求が生成されます。
入力キャプチャイベントは、イベント生成レジスタ(TIMy_SWEVGR)に書き込むことでソフトウェアで生成できます。
14.3.2 比較出力モード
比較出力モードは、タイマーの基本機能の1つです。
比較出力モードの原理は、コアカウンタ(CNT)の値と比較キャプチャレジスタ(R16_TIMy_CHCTLRx)の値とが一致した際に、特定の変化または波形を出力することです。
OCxMビット(R16_TIMy_CHCTLRx)とCCxPビット(R16_TIMy_CCER)は、出力がハイレベル、ローレベル、またはレベル反転のいずれになるかを決定します。
比較一致イベントが発生すると、CCxIFビットもセットされます。CCxIEビットがセットされている場合は割り込みが生成され、CCxDEビットがセットされている場合はDMA要求が生成されます。
比較出力モードの設定手順は次のとおりです。
(1) コアカウンタ(CNT)のクロックソースと自動リロード値を設定します。
(2) 比較するカウント値を比較キャプチャレジスタ(R16_TIMy_CHxCVR)に設定します。
(3) 割り込みを生成する必要がある場合は、CCxIEビットをセットします。
(4) OCxPEを0に保持し、コンペアレジスタのプリロードレジスタを無効にします。
(5) 出力モードを設定し、OCxMビットとCCxPビットをセットします。
(6) 出力を有効にし、CCxEビットをセットします。
(7) CENビットをセットし、タイマーを開始します。
比較出力モードの原理は、コアカウンタ(CNT)の値と比較キャプチャレジスタ(R16_TIMy_CHCTLRx)の値とが一致した際に、特定の変化または波形を出力することです。
OCxMビット(R16_TIMy_CHCTLRx)とCCxPビット(R16_TIMy_CCER)は、出力がハイレベル、ローレベル、またはレベル反転のいずれになるかを決定します。
比較一致イベントが発生すると、CCxIFビットもセットされます。CCxIEビットがセットされている場合は割り込みが生成され、CCxDEビットがセットされている場合はDMA要求が生成されます。
比較出力モードの設定手順は次のとおりです。
(1) コアカウンタ(CNT)のクロックソースと自動リロード値を設定します。
(2) 比較するカウント値を比較キャプチャレジスタ(R16_TIMy_CHxCVR)に設定します。
(3) 割り込みを生成する必要がある場合は、CCxIEビットをセットします。
(4) OCxPEを0に保持し、コンペアレジスタのプリロードレジスタを無効にします。
(5) 出力モードを設定し、OCxMビットとCCxPビットをセットします。
(6) 出力を有効にし、CCxEビットをセットします。
(7) CENビットをセットし、タイマーを開始します。
14.3.3 強制出力モード
タイマーの比較/キャプチャチャネルの出力モードは、シャドウレジスタと比較/キャプチャレジスタのコアカウンタに依存せずに、
ソフトウェアによって特定のレベルを強制的に出力することができます。
具体的な方法は、OCxMを100bに設定する(OCxREFを強制的にLowにする)、またはOCxMを101bに設定する(OCxREFを強制的にHighにする)ことです。
OCxMを強制的に100bまたは101bに設定した場合、内部コアカウンタと比較/キャプチャレジスタ間の比較処理は継続され、 対応するフラグビットはセットされたままになり、割り込みとDMA要求も生成されることに注意してください。
具体的な方法は、OCxMを100bに設定する(OCxREFを強制的にLowにする)、またはOCxMを101bに設定する(OCxREFを強制的にHighにする)ことです。
OCxMを強制的に100bまたは101bに設定した場合、内部コアカウンタと比較/キャプチャレジスタ間の比較処理は継続され、 対応するフラグビットはセットされたままになり、割り込みとDMA要求も生成されることに注意してください。
14.3.4 PWM入力モード
PWM入力モードは、PWMのデューティサイクルと周波数を測定するために使用されます。
これは、入力キャプチャモードの特殊なケースです。
動作は、以下の違いを除いて入力キャプチャモードと同じです。
PWMは2つの比較/キャプチャチャネルを占有し、2つのチャネルの入力極性は反対に設定されます。
信号の1つはトリガ入力に設定され、SMSはリセットモードに設定されます。
例えば、TI1から入力されるPWM波形の周期と周波数を測定するには、以下の操作が必要です。
(1) TI1 (TI1FP1) をIC1信号の入力に設定します。CC1Sを01bに設定します。
(2) TI1FP1を立ち上がりエッジ有効に設定します。CC1Pは0のままにします。
(3) TI1 (TI1FP2) をIC2信号の入力に設定します。CC2Sを10bに設定します。
(4) TI1FP2を立ち下がりエッジ有効に設定します。 CC2Pを1に設定します。
(5) クロックソースはTI1FP1です。TSを101bに設定します。
(6) SMSをリセットモード(100b)に設定します。
(7) 入力キャプチャを有効にします。CC1EビットとCC2Eビットを設定します。
このように、コンペア/キャプチャレジスタ1の値はPWMの周期、コンペア/キャプチャレジスタ2の値はデューティサイクルとなります。
これは、入力キャプチャモードの特殊なケースです。
動作は、以下の違いを除いて入力キャプチャモードと同じです。
PWMは2つの比較/キャプチャチャネルを占有し、2つのチャネルの入力極性は反対に設定されます。
信号の1つはトリガ入力に設定され、SMSはリセットモードに設定されます。
例えば、TI1から入力されるPWM波形の周期と周波数を測定するには、以下の操作が必要です。
(1) TI1 (TI1FP1) をIC1信号の入力に設定します。CC1Sを01bに設定します。
(2) TI1FP1を立ち上がりエッジ有効に設定します。CC1Pは0のままにします。
(3) TI1 (TI1FP2) をIC2信号の入力に設定します。CC2Sを10bに設定します。
(4) TI1FP2を立ち下がりエッジ有効に設定します。 CC2Pを1に設定します。
(5) クロックソースはTI1FP1です。TSを101bに設定します。
(6) SMSをリセットモード(100b)に設定します。
(7) 入力キャプチャを有効にします。CC1EビットとCC2Eビットを設定します。
このように、コンペア/キャプチャレジスタ1の値はPWMの周期、コンペア/キャプチャレジスタ2の値はデューティサイクルとなります。
14.3.5 PWM出力モード
PWM出力モードは、タイマーの基本機能の1つです。
PWM出力モードの最も一般的な方法は、リロード値を使用してPWM周波数を決定し、キャプチャ比較レジスタを使用してデューティサイクルを決定することです。
PWMモード1またはモード2を使用するには、OCxMに110bまたは111bを設定し、OCxPEビットを設定してプリロードレジスタを有効にし、最後にARPEビットを設定します。
更新イベントが発生すると、プリロードレジスタの値がシャドウレジスタに送信される可能性があるため、コアカウンタがカウントを開始する前に、UGビットを設定してすべてのレジスタを初期化する必要があります。
PWMモードでは、コアカウンタと比較/キャプチャレジスタは常に比較されています。
CMSビットに応じて、タイマーはエッジアラインメントまたはセンターアラインメントのPWM信号を出力できます。
● エッジアラインメント
エッジアラインメントを使用すると、コアカウンタはカウントアップまたはカウントダウンします。
PWMモード1のシナリオでは、コアカウンタの値がコンペア/キャプチャレジスタの値より大きい場合、OCxREFはHighになります。
コアカウンタの値がコンペアキャプチャレジスタの値より小さい場合(コアカウンタがR16_TIMy_ATRLRの値まで増加し、すべて0に戻る場合など)、OCxREFはLowになります。
● 中央アライメント
中央アライメントモードを使用すると、コアカウンタはアップカウントとダウンカウントを交互に実行するモードで動作し、 コアカウンタと比較/キャプチャレジスタの値が一致すると、OCxREFは立ち上がりジャンプと立ち下がりジャンプを実行します。
ただし、比較フラグの3種類の中央アライメントモードでは、ビット設定のタイミングが多少異なります。
中央アライメントモードを使用する場合は、コアカウンタを起動する前にソフトウェア更新フラグ(UGビットの設定)を生成することが最適です。
PWM出力モードの最も一般的な方法は、リロード値を使用してPWM周波数を決定し、キャプチャ比較レジスタを使用してデューティサイクルを決定することです。
PWMモード1またはモード2を使用するには、OCxMに110bまたは111bを設定し、OCxPEビットを設定してプリロードレジスタを有効にし、最後にARPEビットを設定します。
更新イベントが発生すると、プリロードレジスタの値がシャドウレジスタに送信される可能性があるため、コアカウンタがカウントを開始する前に、UGビットを設定してすべてのレジスタを初期化する必要があります。
PWMモードでは、コアカウンタと比較/キャプチャレジスタは常に比較されています。
CMSビットに応じて、タイマーはエッジアラインメントまたはセンターアラインメントのPWM信号を出力できます。
● エッジアラインメント
エッジアラインメントを使用すると、コアカウンタはカウントアップまたはカウントダウンします。
PWMモード1のシナリオでは、コアカウンタの値がコンペア/キャプチャレジスタの値より大きい場合、OCxREFはHighになります。
コアカウンタの値がコンペアキャプチャレジスタの値より小さい場合(コアカウンタがR16_TIMy_ATRLRの値まで増加し、すべて0に戻る場合など)、OCxREFはLowになります。
● 中央アライメント
中央アライメントモードを使用すると、コアカウンタはアップカウントとダウンカウントを交互に実行するモードで動作し、 コアカウンタと比較/キャプチャレジスタの値が一致すると、OCxREFは立ち上がりジャンプと立ち下がりジャンプを実行します。
ただし、比較フラグの3種類の中央アライメントモードでは、ビット設定のタイミングが多少異なります。
中央アライメントモードを使用する場合は、コアカウンタを起動する前にソフトウェア更新フラグ(UGビットの設定)を生成することが最適です。
14.3.6 相補出力とデッドゾーン
図14-4 相補出力とデッドゾーン
コンペア/キャプチャチャネルには通常2つの出力ピンがあり(コンペア/キャプチャチャネル4には出力ピンが1つだけ)、2つの相補信号(OCxとOCxN)を出力します。
OCxとOCxNは、CCxPビットとCCxNPビットによって個別に設定できます。
出力イネーブルはCCxEビットとCCxNEビットによって個別に設定され、デッドゾーンなどの制御はMOEビット、OISビット、OISNビット、OSSIビット、OSSRビットによって行われます。
一方、OCx出力とOCxN出力はデッドゾーンに挿入できるように有効化されており、各チャネルには10ビットのデッドゾーンジェネレータが搭載されています。
ブレーク回路がある場合は、MOEビットを設定します。OCxとOCxNは、OCxREFによって連動して生成されます。
OCxとOCxNが両方ともHighで有効な場合、OCxはOCxREFと同じになりますが、OCxの立ち上がりエッジはOCxREFに遅延を加えて等しくなります。
OCxNはOCxREFの逆位相で、その立ち上がりエッジは基準信号の立ち下がりエッジに対して遅延があり、遅延が有効出力幅よりも大きい場合、 対応するパルスは生成されません。図14-4は、OCx、OCxN、およびOCxREFの関係とデッドゾーンを示しています。
14.3.7 ブレーク信号
ブレーク信号が生成されると、出力イネーブル信号と無効レベルは、MOE、OIS、OISN、OSSI、OSSRビットに応じて変更されます。
ただし、OCxとOCxNは、常に有効レベルになることはありません。
ブレークイベントソースは、ブレーク入力ピンから発生するか、クロック障害イベントから発生する可能性があり、 クロック障害イベントはCSS(クロックセキュリティシステム)によって生成されます。
システムリセット後、ブレーク機能はデフォルトで無効になります(MOEビットはLow)。
BKEビットを設定すると、ブレーク機能が有効になります。
入力ブレーク信号の極性は、BKPビットを設定することで設定できます。
BKE信号とBKP信号は同時に書き込むことができます。
実際の書き込み前にAPBクロック遅延が発生するため、書き込まれた値を正しく読み出すには、APBサイクルを待つ必要があります。
選択されたレベルがブレークピンに現れると、システムは以下のアクションを生成します。
(1) MOEビットが非同期にクリアされ、SOOIビットの設定に応じて、出力は無効状態、アイドル状態、またはリセット状態に設定されます。
(2) MOEがクリアされた後、各出力チャネルはOSIxによって決定されたレベルを出力します。
(3) 補助出力中:出力は極性に応じて無効状態になります。
(4) BIEがセットされている場合、BIFがセットされたときに割り込みが生成されます。BDEビットがセットされている場合、DMA要求が生成されます。
(5) AOEがセットされている場合、イベントUEVの次の更新時にMOEビットが自動的にセットされます。
ただし、OCxとOCxNは、常に有効レベルになることはありません。
ブレークイベントソースは、ブレーク入力ピンから発生するか、クロック障害イベントから発生する可能性があり、 クロック障害イベントはCSS(クロックセキュリティシステム)によって生成されます。
システムリセット後、ブレーク機能はデフォルトで無効になります(MOEビットはLow)。
BKEビットを設定すると、ブレーク機能が有効になります。
入力ブレーク信号の極性は、BKPビットを設定することで設定できます。
BKE信号とBKP信号は同時に書き込むことができます。
実際の書き込み前にAPBクロック遅延が発生するため、書き込まれた値を正しく読み出すには、APBサイクルを待つ必要があります。
選択されたレベルがブレークピンに現れると、システムは以下のアクションを生成します。
(1) MOEビットが非同期にクリアされ、SOOIビットの設定に応じて、出力は無効状態、アイドル状態、またはリセット状態に設定されます。
(2) MOEがクリアされた後、各出力チャネルはOSIxによって決定されたレベルを出力します。
(3) 補助出力中:出力は極性に応じて無効状態になります。
(4) BIEがセットされている場合、BIFがセットされたときに割り込みが生成されます。BDEビットがセットされている場合、DMA要求が生成されます。
(5) AOEがセットされている場合、イベントUEVの次の更新時にMOEビットが自動的にセットされます。
14.3.8 シングルパルスモード
図14-5 シングルパルス生成
シングルパルスモードを使用すると、マイクロコントローラは特定のイベントに応答し、遅延後にパルスを生成できます。
遅延とパルス幅はプログラム可能です。OPMビットを設定すると、次の更新イベントUEVが発生したときにコアカウンタを停止できます(カウンタが0に反転します)。
図14-5に示すように、TI2入力ピンの立ち上がりエッジの開始を検出する必要があります。
Tdelayの遅延後、OC1に長さTpulseの正パルスが生成されます。
(1) TI2をトリガとして設定します。
CC2Sを01bに設定し、TI2FP2をTI2にマッピングします。
CC2Pビットを0bに設定し、TI2FP2を立ち上がりエッジ検出に設定します。
TSを110bに設定し、TI2FP2をトリガソースとして設定します。
SMSを110bに設定し、TI2FP2を使用してカウンタを起動します。
(2) Tdelayは比較/キャプチャレジスタの値によって決定され、Tpulseは自動リロード値レジスタの値と比較/キャプチャレジスタの値によって決定されます。
14.3.9 エンコーダモード
エンコーダの2相出力にアクセスするために使用できます。
コアカウンタのカウント方向は、エンコーダの回転軸と同期しています。
エンコーダから出力される各パルスは、コアカウンタに1を加算または1を減算します。
エンコーダを使用する手順は、SMSフィールドを001b(TI2エッジのみカウント)、010b(TI1エッジのみカウント)、 または011b(TI1とTI2の両方のエッジでカウント)に設定し、エンコーダを比較/キャプチャチャネル1、2の入力端子に接続し、 リロード値レジスタに値を設定します。
この値は、より大きな値に設定できます。
エンコーダモードでは、タイマーの内部比較/キャプチャレジスタ、プリスケーラ、リピートカウントレジスタなどはすべて正常に動作します。
次の表は、カウント方向とエンコーダ信号の関係を示しています。
表14-1 タイマエンコーダモードのカウント方向とエンコーダ信号の関係
| Counting active edge | Relative signal level | TI1FP1 signal edge | TI2FP2 signal | ||
|---|---|---|---|---|---|
| Rising edge | Falling edge | Rising edge | Falling edge | ||
| Only count at TI1 edge | High | Downcount | Upcount | Not count | |
| Low | Upcount | Downcount | |||
| Only count at TI2 edge | Hight | Not count | Upcount | Downcount | |
| Low | Downcount | Upcount | |||
| Count on both edges of TI1 and TI2 | High | Downcount | Upcount | Upcount | Downcount |
| Low | Upcount | Downcount | Downcount | Upcount | |
14.3.10 タイマー同期モード
タイマーはクロックパルス(TRGO)を出力するだけでなく、他のタイマーからの入力(ITRx)も受信できます。
各タイマーのITRxのソース(他のタイマーのTRGO)は異なります。
表14-2に、タイマーの内部トリガ接続を示します。
表14-2 TIMy内部トリガ接続
各タイマーのITRxのソース(他のタイマーのTRGO)は異なります。
表14-2に、タイマーの内部トリガ接続を示します。
表14-2 TIMy内部トリガ接続
| Slave timer | ITR0(TS=000) | ITR1(TS=001) | ITR2(TS=010) | ITR3(TS=011) |
| TIM1 | TIM5 | TIM2 | TIM3 | TIM4 |
| TIM8 | TIM1 | TIM2 | TIM4 | TIM5 |
| TIM9 | TIM10 | TIM5 | TIM6 | TIM7 |
| TIM10 | TIM9 | TIM2 | TIM4 | TIM5 |
14.3.11 デバッグモード
システムがデバッグモードに入ると、タイマーはDBGモジュールの設定に従って実行を継続するか停止します。
14.4 レジスタの説明
表14-3 TIM1関連レジスタ
| Name | Access address TIMy 0x4001**** | Description | Reset value | |||
|---|---|---|---|---|---|---|
| y=1 | y=8 | y=9 | y=10 | |||
| R16_TIMy_CTLR1 | 2C00 | 3C00 | 4C00 | 5C00 | Control register1 | 0x0000 |
| R16_TIMy_CTLR2 | 2C04 | 3C04 | 4C04 | 5C04 | Control register2 | 0x0000 |
| R16_TIMy_SMCFGR | 2C08 | 3C08 | 4C08 | 5C08 | Slave mode configuration register | 0x0000 |
| R16_TIMy_DMAINTENR | 2C0C | 3C0C | 4C0C | 5C0C | DMA/interrupt enable register | 0x0000 |
| R16_TIMy_INTFR | 2C10 | 3C10 | 4C10 | 5C10 | Interrupt flag register | 0x0000 |
| R16_TIMy_SWEVGR | 2C14 | 3C14 | 4C14 | 5C14 | Event generation register | 0x0000 |
| R16_TIMy_CHCTLR1 | 2C18 | 3C18 | 4C18 | 5C18 | Compare/capture control register1 | 0x0000 |
| R16_TIMy_CHCTLR2 | 2C1C | 3C1C | 4C1C | 5C1C | Compare/capture control register2 | 0x0000 |
| R16_TIMy_CCER | 2C20 | 3C20 | 4C20 | 5C20 | Compare/capture enable register | 0x0000 |
| R16_TIMy_CNT | 2C24 | 3C24 | 4C24 | 5C24 | Counter | 0x0000 |
| R16_TIMy_PSC | 2C28 | 3C28 | 4C28 | 5C28 | Prescaler | 0x0000 |
| R16_TIMy_ATRLR | 2C2C | 3C2C | 4C2C | 5C2C | Auto-reload register | 0x0000 |
| R16_TIMy_RPTCR | 2C30 | 3C30 | 4C30 | 5C30 | Repeat count register | 0x0000 |
| R16_TIMy_CH1CVR | 2C34 | 3C34 | 4C34 | 5C34 | Compare/capture register1 | 0x0000 |
| R16_TIMy_CH2CVR | 2C38 | 3C38 | 4C38 | 5C38 | Compare/capture register2 | 0x0000 |
| R16_TIMy_CH3CVR | 2C3C | 3C3C | 4C3C | 5C3C | Compare/capture register3 | 0x0000 |
| R16_TIMy_CH4CVR | 2C40 | 3C40 | 4C40 | 5C40 | Compare/capture register4 | 0x0000 |
| R16_TIMy_BDTR | 2C44 | 3C44 | 4C44 | 5C44 | Break and dead zone register | 0x0000 |
| R16_TIMy_DMACFGR | 2C48 | 3C48 | 4C48 | 5C48 | DMA configuration register | 0x0000 |
| R16_TIMy_DMAADR | 2C4C | 3C4C | 4C4C | 5C4C | DMA address register in continuous mode | 0x0000 |
14.4.1 制御レジスタ1 (TIMy_CTLR1) (y:* = 1:2/8:3/9:4/10:5)
CTLR1 = ConTroL Register1 | Access base address 0x4000*C00 Offset address: 0x00
■レジスター内容
注:カウンタが有効(CEN=1)の場合、エッジアライメントモードからセンターアライメントモードに切り替えることはできません。
注:カウンタがセンターアライメントモードまたはエンコーダモードに設定されている場合、このビットは無効です。
ソフトウェアはこのビットを介してUEVイベントのソースを選択します。
ソフトウェアはこのビットを通じてUEVイベントの生成を許可/禁止します。
注:CENビットがソフトウェアでセットされると、外部クロック、ゲーティングモード、エンコーダモードのみが動作します。
トリガーモードでは、CENビットがハードウェアによって自動的にセットされます。
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | CKD | ARPE | CMS | DIR | OPM | URS | UDIS | CEN | |||||||
| RO | RW | RW | RW | RW | RW | RW | RW | RW | |||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
CKD
これらの2ビットは、タイマークロック(CK_INT)の周波数、デッドゾーン時間、およびデッドゾーンジェネレータとデジタルフィルタ(ETR、TIx)に使用されるサンプリングクロックの分周比を定義します。| 00 | Tdts=Tck_int |
| 01 | Tdts = 2 x Tck_int |
| 10 | Tdts = 4 x Tck_int |
| 11 | Reserved |
ARPE
自動リロードおよびプリロード有効化ビット(Auto reload and preload enable bit)| 1 | 自動リロードレジスタ(ATRLR)が有効 |
| 0 | 自動リロードレジスタ(ATRLR)が無効 |
CMS
中央揃えモードの選択(Central alignment mode selection)| 00 | エッジアライメントモード。 カウンタは方向ビット (DIR) に従ってカウントアップまたはカウントダウンします。 |
| 01 | センターアライメントモード1。 カウンタは交互にカウントアップとカウントダウンを行います。 出力として設定されているチャネル (CHCTLRx レジスタの CCxS=00) の出力比較割り込みフラグビットは、カウンタがカウントダウンしているときのみセットされます。 |
| 10 | センターアライメントモード2。 カウンタは交互にカウントアップとカウントダウンを行います。 出力として設定されているチャネル (CHCTLRx レジスタの CCxS=00) の出力比較割り込みフラグビットは、カウンタがカウントアップしているときのみセットされます。 |
| 11 | センターアライメントモード3。 カウンタは交互にカウントアップとカウントダウンを行います。 出力として設定されているチャネル (CHCTLRx レジスタの CCxS=00) の出力比較割り込みフラグビットは、カウンタがカウントアップしているときのみセットされます。 |
DIR
反対方向(Counter direction:)| 1 | Downcount |
| 0 | Upcount |
OPM
シングルパルスモード(Single pulse mode:)| 1 | 次の更新イベント(CENビットのクリア)が発生すると、カウンタは停止します |
| 0 | 次の更新イベントが発生しても、カウンタは停止しません |
URS
更新要求ソース。(Update request source;)ソフトウェアはこのビットを介してUEVイベントのソースを選択します。
| 1 | 更新割り込みまたはDMA要求が有効な場合、カウンタのオーバーフロー/アンダーフローのみが更新割り込みまたはDMA要求を生成します |
| 0 | 更新割り込みまたはDMA要求が有効な場合、以下のいずれかのイベントが更新割り込みまたはDMA要求を生成します - カウンタのオーバーフロー/アンダーフロー - UGビットをセット - モードコントローラから更新を生成する |
UDIS
更新無効。(Update disabled.)ソフトウェアはこのビットを通じてUEVイベントの生成を許可/禁止します。
| 1 | UEVを無効にします。 更新イベントは生成されず、レジスタ(ARR、PSC、CCRx)は値を維持します。 UGビットがセットされているか、モードコントローラからハードウェアリセットが発行された場合、カウンタとプリスケーラは再初期化されます。 |
| 0 | UEVを許可します。更新(UEV)イベントは、以下のいずれかのイベントによって生成されます。 - カウンタのオーバーフロー/アンダーフロー - UGビットのセット - モードコントローラからの更新の生成 バッファ付きレジスタには、プリロードされた値がロードされます。 |
CNE
カウンタ有効(Counter enable)| 1 | カウンタ有効 |
| 0 | カウンタ無効 |
トリガーモードでは、CENビットがハードウェアによって自動的にセットされます。
14.4.2 制御レジスタ2 (TIMy_CTLR2) (y:* = 1:2/8:3/9:4/10:5)
CTLR2 = Control register2 | Access base address 0x4000*C00 Offset address: 0x04
■レジスター内容
注:LOCK(TIMy_BDTRレジスタ)のレベル1、2、3が設定された後は、このビットを変更できません
注:LOCK(TIMy_BDTRレジスタ)レベル1、2、または3が設定された後は、このビットを変更できません。
OIS4を参照してください。
OIS3Nを参照してください。
OIS4を参照してください。
OIS3Nを参照してください。
OIS4を参照してください。
これらの3ビットは、マスターモード時にスレーブタイマーへ送信される同期情報(TRGO)を選択するために使用されます。
可能な組み合わせは以下のとおりです。
注:このビットは、相補出力を持つチャネルでのみ機能します。
注: このビットは、コンプリメンタリ出力を持つチャネルでのみ機能します。
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | OSI4 | OSI3N | OSI3 | OSI2N | OSI2 | OSI1N | OSI1 | TI1S | MMS | CCDS | CCUS | Reserved | CCPC | ||
| RO | RW | RW | RW | RW | RW | RW | RW | RW | RW | RW | RW | RO | RW | ||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
OIS4
出力アイドル状態4(Output idle status 4)| 1 | MOE=0でOC4Nが実装されている場合、デッドゾーン後OC1=1 |
| 0 | MOE=0でOC4Nが実装されている場合、デッドゾーン後OC1=0 |
OSI3N
出力アイドル状態3の場合(During the output idle status 3)| 1 | MOE=0の場合、デッドゾーン通過後OC1N=1 |
| 0 | MOE=0の場合、デッドゾーン通過後OC1N=0 |
OIS3
出力アイドルステータス3(Output idle status 3)OIS4を参照してください。
OIS2N
出力アイドル状態2の場合(During the output idle status 2)OIS3Nを参照してください。
OIS2
出力アイドルステータス2(Output idle status 2)OIS4を参照してください。
OIS1N
出力アイドル状態1の場合(During the output idle status 1)OIS3Nを参照してください。
OIS1
出力アイドルステータス1(Output idle status 1)OIS4を参照してください。
TI1S
TI1の選択(TI1 selection)| 1 | TIMy_CH1、TIMy_CH2、TIMy_CH3ピンはXORを介してTI1入力に接続されます |
| 0 | TIMy_CH1ピンはTI1入力に直接接続されます |
MMS
マスターモード選択(Master mode selection)これらの3ビットは、マスターモード時にスレーブタイマーへ送信される同期情報(TRGO)を選択するために使用されます。
可能な組み合わせは以下のとおりです。
| 000 | リセット TIMy_EGRレジスタのUGビットがトリガ出力(TRGO)として使用されます。 トリガ入力によって生成されたリセット(スレーブモードコントローラがリセットモード)の場合、TRGOの信号は実際のリセットに対して遅延します。 |
| 001 | イネーブル カウンタは信号CNT_ENをトリガ出力(TRGO)として使用できるようにします。 場合によっては、複数のタイマーを同時に起動したり、一定時間内にスレーブタイマーをイネーブルするように制御したりする必要があります。 カウンタイネーブル信号は、ゲートモードでは、CEN制御ビットとトリガ入力信号の論理和によって生成されます。 カウンタイネーブル信号がトリガ入力によって制御される場合、マスター/スレーブモードが選択されていない限り、TRGOに遅延が発生します(TIMy_SMCRレジスタのMSMビットの説明を参照)。 |
| 010 | 更新 更新イベントがトリガ入力(TRGO)として選択されます。例えば、マスタータイマーのクロックをスレーブタイマーの分周器として使用できます。 |
| 011 | 比較パルス キャプチャが発生するか比較が成功し、CC1IFフラグがセットされる(既にハイであっても)場合、トリガ出力は正パルス(TRGO)を送信します。 |
| 100 | 比較OC1REF信号がトリガ出力(TRGO)として使用されます。 |
| 101 | 比較OC2REF信号がトリガ出力(TRGO)として使用されます。 |
| 110 | 比較OC3REF信号がトリガ出力(TRGO)として使用されます。 |
| 111 | 比較OC4REF信号がトリガ出力(TRGO)として使用されます。 |
CCDS
キャプチャ/コンペアのDMA選択(DMA selection of capture/compare)| 1 | 更新イベントが発生すると、CHxCVRのDMA要求が転送されます。 |
| 0 | CHxCVRが発生すると、CHxCVRのDMA要求が生成されます。 |
CCUS
コンペア/キャプチャ制御更新選択ビット(Compare/capture control update selection bit)| 1 | CCPC がセットされている場合、COM ビットまたは TRGI の立ち上がりエッジで更新できます。 |
| 0 | CCPC がセットされている場合、COM ビットをセットすることによってのみ更新できます。 |
CCPC
コンペア/キャプチャプリロード制御ビット(Compare/capture preload control bit)| 1 | CCxE、CCxNE、OCxMビットがプリロードされます。 これらのビットが設定された後は、COMビットの設定後にのみ更新されます。 |
| 0 | CCxE、CCxNE、OCxMビットはプリロードされません。 |
14.4.3 スレーブモード設定モード (TIMy_SMCFGR) (y:* = 1:2/8:3/9:4/10:5)
SMCFGR = Slave Mode ConFiGuration Register | Access base address 0x4000*C00 Offset address: 0x08
■レジスター内容
このビットは、ETRを直接入力するか、反転ETRを入力するかを選択します。
注1:スレーブモードは、外部クロックモード2(リセットモード、ゲーティングモード、トリガモード)と同時に使用できます。
ただし、TRGIをETRFに接続することはできません(TSビットを「111」にすることはできません)。
注2:外部クロックモード1と外部クロックモード2の両方が同時に有効になっている場合、外部クロックの入力はETRFになります。
周波数はTIMyCLK周波数の1/4以下にする必要があり、以下の設定で周波数を下げることができます。
実際には、デジタルフィルタはイベントカウンタです。出力の遷移を検証するにはN個のイベントが必要です。
以下の3ビットで、カウンターの同期に使用するトリガー入力ソースを選択します。
注:詳細は表14-2を参照してください。
コアカウンタのクロックとトリガモードを選択します。
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ETP | ECE | ETPS | ETF | MSM | TS | Reserved | IMS | ||||||||
| RO | RW | RW | RW | RW | RW | RO | RW | ||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
ETP
ETRトリガ極性選択(ETR trigger polarity selection)このビットは、ETRを直接入力するか、反転ETRを入力するかを選択します。
| 1 | ETR反転、ローレベルまたは立ち下がりエッジでアクティブ |
| 0 | ETR、ハイレベルまたは立ち上がりエッジで有効。 |
ECE
外部クロックモード2の有効化選択(External clock mode 2 enable selection)| 1 | 外部クロックモード2を有効にする。 |
| 0 | 外部クロックモード2を無効にする。 |
ただし、TRGIをETRFに接続することはできません(TSビットを「111」にすることはできません)。
注2:外部クロックモード1と外部クロックモード2の両方が同時に有効になっている場合、外部クロックの入力はETRFになります。
ETPS
外部トリガ・プリスケーラ(External trigger prescaler)周波数はTIMyCLK周波数の1/4以下にする必要があり、以下の設定で周波数を下げることができます。
| 00 | プリスケールOFF |
| 01 | ETRP周波数を2分周 |
| 10 | ETRP周波数を4分周 |
| 11 | ETRP周波数を8分周 |
ETF
外部トリガーフィルタリング(External trigger filtering)実際には、デジタルフィルタはイベントカウンタです。出力の遷移を検証するにはN個のイベントが必要です。
| 0000 | フィルタなし、サンプリングはFdtsで行われます。 |
| 0001 | Fsampling=Fck_int、N=2 |
| 0010 | Fsampling=Fck_int、N=4 |
| 0011 | Fsampling=Fck_int、N=8 |
| 0100 | Fsampling=Fdts/2、N=6 |
| 0101 | Fsampling=Fdts/2、N=8 |
| 0110 | Fsampling=Fdts/4、N=6 |
| 0111 | Fsampling=Fdts/4、N=8 |
| 1000 | Fsampling=Fdts/8、N=6 |
| 1001 | Fsampling=Fdts/8、N=8 |
| 1010 | Fsampling=Fdts/16、N=5 |
| 1011 | Fsampling=Fdts/16、N=6 |
| 1100 | Fsampling=Fdts/16、N=8 |
| 1101 | Fsampling=Fdts/32、N=5 |
| 1110 | Fsampling=Fdts/32、N=6 |
| 1111 | Fsampling=Fdts/32、N=8 |
MSM
マスター/スレーブモードの選択(Master/Slave mode selection)| 1 | トリガー入力(TRGI)のイベントを遅延させ、現在のタイマー(TRGO経由)とそのスレーブタイマー間の完全な同期を実現します。 これは、複数のタイマーを単一の外部イベントに同期させる必要がある場合に非常に便利です。 |
| 0 | 無効 |
TS
トリガー選択ビット(Trigger selection bits)以下の3ビットで、カウンターの同期に使用するトリガー入力ソースを選択します。
| 00 | 内部トリガー0 (ITR0) |
| 01 | 内部トリガー1 (ITR1) |
| 10 | 内部トリガー2 (ITR2) |
| 11 | 内部トリガー3 (ITR3) |
| 100 | TI1のエッジ検出器 (TI1F_ED) |
| 101 | フィルタリング後のタイマー入力1 (TI1FP1) |
| 110 | フィルタリング後のタイマー入力2 (TI2FP2) |
| 111 | 外部トリガ入力 (ETRF) SMSが0の場合にのみ値を変更できます。 |
IMS
入力モードの選択(Input mode selection)コアカウンタのクロックとトリガモードを選択します。
| 000 | 内部クロック CK_INT で駆動します。 |
| 001 | エンコーダモード 1 TI1FP1 のレベルに応じて、コアカウンタは TI2FP2 のエッジでカウントアップまたはカウントダウンします。 |
| 010 | エンコーダモード 2 TI2FP2 のレベルに応じて、コアカウンタは TI1FP1 のエッジでカウントアップまたはカウントダウンします。 |
| 011 | エンコーダモード 3 別の信号の入力レベルに応じて、コアカウンタは TI1FP1 と TI2FP2 のエッジでカウントアップまたはカウントダウンします。 |
| 100 | リセットモード トリガ入力 (TRGI) の立ち上がりエッジでカウンタが初期化され、レジスタを更新するための信号が生成されます。 |
| 101 | ゲーティングモード トリガ入力(TRGI)がハイのとき、カウンタのクロックがオンになります。 トリガ入力がローになると、カウンタは停止し、カウンタの開始と停止が制御されます。 |
| 110 | トリガモード カウンタはトリガ入力TRGIの立ち上がりエッジで開始し、カウンタの開始のみが制御されます。 |
| 111 | 外部クロックモード1 選択されたトリガ入力(TRGI)の立ち上がりエッジでカウンタが駆動されます。 |
14.4.4 DMA/割り込み有効レジスタ(TIMy_DMAINTENR)(y:* = 1:2/8:3/9:4/10:5)
DMAINTENR = DMA/INTerrupt ENable Register | Access base address 0x4000*C00 Offset address: 0x0C
■レジスター内容
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | TDE | COMDE | CC4DE | CC3DE | CC2DE | CC1DE | UDE | BIE | TIE | COMIE | CC4IE | CC3IE | CC2IE | CC1IE | UIE |
| RO | RW | RW | RW | RW | RW | RW | RW | RW | RW | RW | RW | RW | RW | RW | RW |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
TED
トリガーDMA要求有効ビット(Trigger DMA request enable bit)| 1 | トリガーDMA要求有効 |
| 0 | トリガーDMA要求無効 |
COMDE
COM の DMA 要求有効ビット(DMA request enable bit of COM)| 1 | COMのDMA要求が有効。 |
| 0 | COMのDMA要求が無効。 |
CC4DE
比較/キャプチャ4のDMA要求有効ビット(DMA request enable bit of compare/capture4)| 1 | 比較/キャプチャ4のDMA要求が有効。 |
| 0 | 比較/キャプチャ4のDMA要求が無効。 |
CC3DE
比較/キャプチャ3のDMA要求有効ビット(DMA request enable bit of compare/capture3)| 1 | 比較/キャプチャ3のDMA要求が有効。 |
| 0 | 比較/キャプチャ3のDMA要求が無効。 |
CC2DE
比較/キャプチャ2のDMA要求有効ビット(DMA request enable bit of compare/capture2)| 1 | 比較/キャプチャ2のDMA要求が有効。 |
| 0 | 比較/キャプチャ2のDMA要求が無効。 |
CC1DE
比較/キャプチャ1のDMA要求有効ビット(DMA request enable bit of compare/capture1)| 1 | 比較/キャプチャ1のDMA要求が有効。 |
| 0 | 比較/キャプチャ1のDMA要求が無効。 |
UDE
DMA 更新要求有効ビット。(Update DMA request enable bit)| 1 | DMA 更新要求有効ビットが有効。 |
| 0 | DMA 更新要求有効ビットが無効。 |
BIE
ブレーク割り込み有効ビット(Break interrupt enable bit)| 1 | ブレーク割り込み有効。 |
| 0 | ブレーク割り込み無効。 |
TIE
トリガ割り込み有効ビット(Trigger interrupt enable bit)| 1 | トリガ割り込み有効。 |
| 0 | トリガ割り込み無効。 |
COMIE
COM割り込み有効ビット(COM interrupt enable bit)| 1 | COM割り込み有効。 |
| 0 | COM割り込み無効。 |
CC4IE
コンペア/キャプチャ4の割り込み許可ビット(Interrupt enable bit of compare/capture4)| 1 | コンペア/キャプチャ4の割り込み許可。 |
| 0 | コンペア/キャプチャ4の割り込み禁止。 |
CC3IE
コンペア/キャプチャ3の割り込み許可ビット(Interrupt enable bit of compare/capture3)| 1 | コンペア/キャプチャ3の割り込み許可。 |
| 0 | コンペア/キャプチャ3の割り込み禁止。 |
CC2IE
コンペア/キャプチャ2の割り込み許可ビット(Interrupt enable bit of compare/capture2)| 1 | コンペア/キャプチャ2の割り込み許可。 |
| 0 | コンペア/キャプチャ2の割り込み禁止。 |
CC1IE
コンペア/キャプチャ1の割り込み許可ビット(Interrupt enable bit of compare/capture1)| 1 | コンペア/キャプチャ1の割り込み許可。 |
| 0 | コンペア/キャプチャ1の割り込み禁止。 |
UIE
更新割り込み有効ビット(Update interrupt enable bit)| 1 | 更新割り込み有効。 |
| 0 | 更新割り込み無効。 |
14.4.5 割り込みフラグレジスタ(TIMy_INTFR)(y:* = 1:2/8:3/9:4/10:5)
INTFR = INTerrupt Flag Register | Access base address 0x4000*C00 Offset address: 0x10
■レジスター内容
このフラグビットはハードウェアによってセットされ、ソフトウェアで0を書き込むことでクリアされます。
このフラグビットはハードウェアによってセットされ、ソフトウェアで0を書き込むことでクリアされます。
このフラグビットはハードウェアによってセットされ、ソフトウェアで0を書き込むことでクリアされます。
このフラグビットはハードウェアによってセットされ、ソフトウェアで0を書き込むことでクリアされます。
ブレーク入力が有効になると、このビットはハードウェアによってセットされ、ソフトウェアによってクリアされます。
トリガイベントが発生すると、ハードウェアによってセットされ、ソフトウェアによってクリアされます。
トリガイベントには、ゲーティングモード以外のモードでRW0 TRGI入力端子に有効なエッジが検出された場合、またはゲーティングモードで任意のエッジが検出された場合が含まれます。
COMイベントが発生すると、このビットはハードウェアによってセットされ、ソフトウェアによってクリアされます。
COM割り込みフラグビット。
COMイベントが発生すると、このビットはハードウェアによってセットされ、ソフトウェアによってクリアされます。
■比較/キャプチャレジスタ4が出力モードに設定されている場合:
このビットは、カウンタ値が比較値と一致するとハードウェアによってセットされます(センター対称モードを除く)。
このビットはソフトウェアによってクリアされます。
■比較/キャプチャレジスタ4が入力モードに設定されている場合:
このビットは、キャプチャイベントが発生するとハードウェアによってセットされ、ソフトウェアによってクリアされるか、比較/キャプチャレジスタの読み取りによってクリアされます。
■比較/キャプチャレジスタ3が出力モードに設定されている場合:
このビットは、カウンタ値が比較値と一致するとハードウェアによってセットされます(センター対称モードを除く)。
このビットはソフトウェアによってクリアされます。
■比較/キャプチャレジスタ3が入力モードに設定されている場合:
このビットは、キャプチャイベントが発生するとハードウェアによってセットされ、ソフトウェアによってクリアされるか、比較/キャプチャレジスタの読み取りによってクリアされます。
■比較/キャプチャレジスタ2が出力モードに設定されている場合:
このビットは、カウンタ値が比較値と一致するとハードウェアによってセットされます(センター対称モードを除く)。
このビットはソフトウェアによってクリアされます。
■比較/キャプチャレジスタ2が入力モードに設定されている場合:
このビットは、キャプチャイベントが発生するとハードウェアによってセットされ、ソフトウェアによってクリアされるか、比較/キャプチャレジスタの読み取りによってクリアされます。
■比較/キャプチャレジスタ1が出力モードに設定されている場合:
このビットは、カウンタ値が比較値と一致するとハードウェアによってセットされます(センター対称モードを除く)。
このビットはソフトウェアによってクリアされます。
■比較/キャプチャレジスタ1が入力モードに設定されている場合:
このビットは、キャプチャイベントが発生するとハードウェアによってセットされ、ソフトウェアによってクリアされるか、比較/キャプチャレジスタの読み取りによってクリアされます。
更新イベントが発生すると、このビットはハードウェアによってセットされ、ソフトウェアによってクリアされます。
更新イベントは、以下のRW0状況で発生します。
UDIS=0の場合、繰り返しカウンタ値がオーバーフローまたはアンダーフローした場合。
URS=0、UDIS=0の場合、UGビットがセットされたとき、またはカウンタコアがソフトウェアによって再初期化されたとき。
URS=0、UDIS=0の場合、カウンタCNTがトリガイベントによって再初期化されたとき。
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | CC4OF | CC3OF | CC2OF | CC1OF | Reserved | BIF | TIF | COMIF | CC4IF | CC3IF | CC2IF | CC1IF | UIF | ||
| RO | RWO | RWO | RWO | RWO | RO | RWO | RWO | RWO | RWO | RWO | RWO | RWO | RWO | ||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
CC4OF
(Overcapture flag bit of compare/capture 4) コンペア/キャプチャ4のオーバーキャプチャフラグビットは、コンペア/キャプチャが入力キャプチャモードに設定されている場合にのみ使用されます。このフラグビットはハードウェアによってセットされ、ソフトウェアで0を書き込むことでクリアされます。
| 1 | カウンタの値がコンペア/キャプチャレジスタにキャプチャされると、CC4IFのステータスがセットされます。 |
| 0 | オーバーキャプチャは発生しません。 |
CC3OF
(Overcapture flag bit of compare/capture 3) コンペア/キャプチャ3のオーバーキャプチャフラグビットは、コンペア/キャプチャが入力キャプチャモードに設定されている場合にのみ使用されます。このフラグビットはハードウェアによってセットされ、ソフトウェアで0を書き込むことでクリアされます。
| 1 | カウンタの値がコンペア/キャプチャレジスタにキャプチャされると、CC3IFのステータスがセットされます。 |
| 0 | オーバーキャプチャは発生しません。 |
CC2OF
(Overcapture flag bit of compare/capture 2) コンペア/キャプチャ2のオーバーキャプチャフラグビットは、コンペア/キャプチャが入力キャプチャモードに設定されている場合にのみ使用されます。このフラグビットはハードウェアによってセットされ、ソフトウェアで0を書き込むことでクリアされます。
| 1 | カウンタの値がコンペア/キャプチャレジスタにキャプチャされると、CC2IFのステータスがセットされます。 |
| 0 | オーバーキャプチャは発生しません。 |
CC1OF
(Overcapture flag bit of compare/capture 1) コンペア/キャプチャ1のオーバーキャプチャフラグビットは、コンペア/キャプチャが入力キャプチャモードに設定されている場合にのみ使用されます。このフラグビットはハードウェアによってセットされ、ソフトウェアで0を書き込むことでクリアされます。
| 1 | カウンタの値がコンペア/キャプチャレジスタにキャプチャされると、CC1IFのステータスがセットされます。 |
| 0 | オーバーキャプチャは発生しません。 |
BIF
ブレーク割り込みフラグビット(Break interrupt flag bit)ブレーク入力が有効になると、このビットはハードウェアによってセットされ、ソフトウェアによってクリアされます。
| 1 | 設定された有効レベルがブレークピン入力で検出されます。 |
| 0 | ブレークイベントは生成されません。 |
TIF
トリガ割り込みフラグビット(Trigger interrupt flag bit)トリガイベントが発生すると、ハードウェアによってセットされ、ソフトウェアによってクリアされます。
トリガイベントには、ゲーティングモード以外のモードでRW0 TRGI入力端子に有効なエッジが検出された場合、またはゲーティングモードで任意のエッジが検出された場合が含まれます。
| 1 | トリガイベント発生。 |
| 0 | トリガイベントは発生していません。 |
COMIF
COM割り込みフラグビット(COM interrupt flag bit)COMイベントが発生すると、このビットはハードウェアによってセットされ、ソフトウェアによってクリアされます。
COM割り込みフラグビット。
COMイベントが発生すると、このビットはハードウェアによってセットされ、ソフトウェアによってクリアされます。
| 1 | COMイベント発生。 |
| 0 | COMイベント未発生。 |
CC4IF
比較/キャプチャレジスタ4の割り込みフラグビット(Interrupt flag bit of compare/capture 4)■比較/キャプチャレジスタ4が出力モードに設定されている場合:
このビットは、カウンタ値が比較値と一致するとハードウェアによってセットされます(センター対称モードを除く)。
このビットはソフトウェアによってクリアされます。
| 1 | コアカウンタの値が比較/キャプチャレジスタ4の値と一致した。 |
| 0 | 一致しない |
| 1 | カウンタ値が比較/キャプチャレジスタ4によってキャプチャされた。 |
| 0 | 入力キャプチャは生成されない。 |
CC3IF
比較/キャプチャレジスタ3の割り込みフラグビット(Interrupt flag bit of compare/capture 3)■比較/キャプチャレジスタ3が出力モードに設定されている場合:
このビットは、カウンタ値が比較値と一致するとハードウェアによってセットされます(センター対称モードを除く)。
このビットはソフトウェアによってクリアされます。
| 1 | コアカウンタの値が比較/キャプチャレジスタ3の値と一致した。 |
| 0 | 一致しない |
| 1 | カウンタ値が比較/キャプチャレジスタ3によってキャプチャされた。 |
| 0 | 入力キャプチャは生成されない。 |
CC2IF
比較/キャプチャレジスタ2の割り込みフラグビット(Interrupt flag bit of compare/capture 2)■比較/キャプチャレジスタ2が出力モードに設定されている場合:
このビットは、カウンタ値が比較値と一致するとハードウェアによってセットされます(センター対称モードを除く)。
このビットはソフトウェアによってクリアされます。
| 1 | コアカウンタの値が比較/キャプチャレジスタ2の値と一致した。 |
| 0 | 一致しない |
| 1 | カウンタ値が比較/キャプチャレジスタ2によってキャプチャされた。 |
| 0 | 入力キャプチャは生成されない。 |
CC1IF
比較/キャプチャレジスタ1の割り込みフラグビット(Interrupt flag bit of compare/capture 1)■比較/キャプチャレジスタ1が出力モードに設定されている場合:
このビットは、カウンタ値が比較値と一致するとハードウェアによってセットされます(センター対称モードを除く)。
このビットはソフトウェアによってクリアされます。
| 1 | コアカウンタの値が比較/キャプチャレジスタ1の値と一致した。 |
| 0 | 一致しない |
| 1 | カウンタ値が比較/キャプチャレジスタ1によってキャプチャされた。 |
| 0 | 入力キャプチャは生成されない。 |
UIF
更新割り込みフラグビット(Update interrupt flag bit)更新イベントが発生すると、このビットはハードウェアによってセットされ、ソフトウェアによってクリアされます。
| 1 | 更新割り込みが生成される。 |
| 0 | 更新割り込みは生成されない。 |
UDIS=0の場合、繰り返しカウンタ値がオーバーフローまたはアンダーフローした場合。
URS=0、UDIS=0の場合、UGビットがセットされたとき、またはカウンタコアがソフトウェアによって再初期化されたとき。
URS=0、UDIS=0の場合、カウンタCNTがトリガイベントによって再初期化されたとき。
14.4.6 イベント生成レジスタ(TIMy_SWEVGR)(y:* = 1:2/8:3/9:4/10:5)
SWEVGR = EVent Generation Register | Access base address 0x4000*C00 Offset address: 0x14
■レジスター内容
このビットはソフトウェアによってセットまたはクリアされ、ブレークイベントを生成します。
このビットはソフトウェアによってセットされ、ハードウェアによってクリアされてトリガーイベントを生成します。
コンペア/キャプチャ制御更新イベントを生成します。
このビットはソフトウェアによってセットされ、ハードウェアによって自動的にクリアされます。
注:このビットは、コンプリメンタリ出力を持つチャネル(チャネル 1、2、3)でのみ有効です。
比較/キャプチャイベント4を生成しています(Generating compare/capture event 4)
このビットはソフトウェアによってセットされ、ハードウェアによってクリアされます。
これは比較/キャプチャイベントを生成するために使用されます。
比較/キャプチャイベント3を生成しています(Generating compare/capture event 3)
このビットはソフトウェアによってセットされ、ハードウェアによってクリアされます。
これは比較/キャプチャイベントを生成するために使用されます。
比較/キャプチャイベント2を生成しています(Generating compare/capture event 2)
このビットはソフトウェアによってセットされ、ハードウェアによってクリアされます。
これは比較/キャプチャイベントを生成するために使用されます。
比較/キャプチャイベント1を生成しています(Generating compare/capture event 1)
このビットはソフトウェアによってセットされ、ハードウェアによってクリアされます。
これは比較/キャプチャイベントを生成するために使用されます。
このビットはソフトウェアによってセットされ、ハードウェアによって自動的にクリアされます。
注:分周器のカウンタもクリアされますが、分周器の係数は変更されません。
中心対称モードまたはアップカウントモードでは、コアカウンタがクリアされます。
ダウンカウントモードでは、コアカウンタはリロード値レジスタの値を取得します。
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | BG | TG | COMG | CC4G | CC3G | CC2G | CC1G | UG | |||||||
| RO | RO | WO | WO | WO | WO | WO | WO | WO | |||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
BG
ブレークイベント生成ビット(Break event generation bit)このビットはソフトウェアによってセットまたはクリアされ、ブレークイベントを生成します。
| 1 | ブレークイベントが生成されます。このとき、MOE=0、WO BIF=1です。 対応する割り込みとDMAが有効な場合、対応する割り込みとDMAが生成されます。 |
| 0 | 影響なし。 |
TG
トリガーイベント生成ビット(Trigger event generation bit)このビットはソフトウェアによってセットされ、ハードウェアによってクリアされてトリガーイベントを生成します。
| 1 | トリガーイベントを生成します。 TIF がセットされ、対応する割り込みと DMA が有効な場合、対応する割り込みと DMA が生成されます。 |
| 0 | 影響なし。 |
COMG
コンペア/キャプチャ制御更新生成ビット(Compare/capture control update generation bit)コンペア/キャプチャ制御更新イベントを生成します。
このビットはソフトウェアによってセットされ、ハードウェアによって自動的にクリアされます。
| 1 | CCPC=1 の場合、CCxE、CCxNE、OCxM ビットの更新が許可されます。 |
| 0 | 影響しません。 |
CC4G
比較/キャプチャイベントはビット4を生成します(Compare/capture event generates bit4)比較/キャプチャイベント4を生成しています(Generating compare/capture event 4)
このビットはソフトウェアによってセットされ、ハードウェアによってクリアされます。
これは比較/キャプチャイベントを生成するために使用されます。
| 1 | 比較/キャプチャ4で比較/キャプチャイベントを生成しています。 ・比較/キャプチャ4が出力として設定されている場合: CC4IFビットがセットされます。 対応する割り込みとWO DMAが有効な場合は、対応する割り込みとDMAが生成されます。 ・比較/キャプチャが入力として設定されている場合: 現在のコアカウンタ値が比較/キャプチャレジスタ4にキャプチャされます。 CC4IFビットがセットされ、対応する割り込みとDMAが有効な場合は、 対応する割り込みとDMAが生成されます。 CC4IFビットがセットされている場合は、CC4OFビットがセットされます。 |
| 0 | 影響なし。 |
CC3G
比較/キャプチャイベントはビット3を生成します(Compare/capture event generates bit3)比較/キャプチャイベント3を生成しています(Generating compare/capture event 3)
このビットはソフトウェアによってセットされ、ハードウェアによってクリアされます。
これは比較/キャプチャイベントを生成するために使用されます。
| 1 | 比較/キャプチャ1で比較/キャプチャイベントを生成しています。 ・比較/キャプチャ3が出力として設定されている場合: CC3IFビットがセットされます。 対応する割り込みとWO DMAが有効な場合は、対応する割り込みとDMAが生成されます。 ・比較/キャプチャが入力として設定されている場合: 現在のコアカウンタ値が比較/キャプチャレジスタ1にキャプチャされます。 CC3IFビットがセットされ、対応する割り込みとDMAが有効な場合は、 対応する割り込みとDMAが生成されます。 CC3IFビットがセットされている場合は、CC3OFビットがセットされます。 |
| 0 | 影響なし。 |
CC2G
比較/キャプチャイベントはビット2を生成します(Compare/capture event generates bit2)比較/キャプチャイベント2を生成しています(Generating compare/capture event 2)
このビットはソフトウェアによってセットされ、ハードウェアによってクリアされます。
これは比較/キャプチャイベントを生成するために使用されます。
| 1 | 比較/キャプチャ2で比較/キャプチャイベントを生成しています。 ・比較/キャプチャ2が出力として設定されている場合: CC2IFビットがセットされます。 対応する割り込みとWO DMAが有効な場合は、対応する割り込みとDMAが生成されます。 ・比較/キャプチャが入力として設定されている場合: 現在のコアカウンタ値が比較/キャプチャレジスタ2にキャプチャされます。 CC2IFビットがセットされ、対応する割り込みとDMAが有効な場合は、 対応する割り込みとDMAが生成されます。 CC2IFビットがセットされている場合は、CC1OFビットがセットされます。 |
| 0 | 影響なし。 |
CC1G
比較/キャプチャイベントはビット1を生成します(Compare/capture event generates bit1)比較/キャプチャイベント1を生成しています(Generating compare/capture event 1)
このビットはソフトウェアによってセットされ、ハードウェアによってクリアされます。
これは比較/キャプチャイベントを生成するために使用されます。
| 1 | 比較/キャプチャ1で比較/キャプチャイベントを生成しています。 ・比較/キャプチャ1が出力として設定されている場合: CC1IFビットがセットされます。 対応する割り込みとWO DMAが有効な場合は、対応する割り込みとDMAが生成されます。 ・比較/キャプチャが入力として設定されている場合: 現在のコアカウンタ値が比較/キャプチャレジスタ1にキャプチャされます。 CC1IFビットがセットされ、対応する割り込みとDMAが有効な場合は、 対応する割り込みとDMAが生成されます。 CC1IFビットがセットされている場合は、CC1OFビットがセットされます。 |
| 0 | 影響なし。 |
UG
更新イベント生成ビットは更新イベントを生成します(The update event generation bit generates the update)このビットはソフトウェアによってセットされ、ハードウェアによって自動的にクリアされます。
| 1 | カウンタを初期化し、更新イベントを生成します。 |
| 0 | 影響しません。 |
中心対称モードまたはアップカウントモードでは、コアカウンタがクリアされます。
ダウンカウントモードでは、コアカウンタはリロード値レジスタの値を取得します。
14.4.7 比較/キャプチャ制御レジスタ1 (TIMy_CHCTLR1) (y:* = 1:2/8:3/9:4/10:5)
CHCTLR1 = Compare/capture ConTroL Register1 | Access base address 0x4000*C00 Offset address: 0x18
チャネルは入力(キャプチャモード)または出力(比較モード)として使用できます。
チャネルの方向は対応するCCxSビットによって定義されます。
このレジスタの他のビットの機能は、入力モードと出力モードで異なります。
OCxxは出力モードにおけるチャネルの機能を示し、ICxxは入力モードにおけるチャネルの機能を示します。
■レジスター内容
■比較モード(ピン方向は出力):
3ビットは出力リファレンス信号OC2REFの動作を定義し、OC2REFはOC2とOC2Nの値を決定します。
OC2REFはハイレベルでアクティブですが、OC2とOC2NのアクティブレベルはCC2PビットとCC2NPビットに依存します。
注:LOCKレベルが3に設定され、CC1S=00bに設定されると、このビットは変更できなくなります。
PWMモード1またはPWMモード2では、OC1REFレベルは、比較結果が変化したとき、または出力比較モードでフリーズモードからPWMモードに切り替えたときにのみ変化します。
注:LOCKレベルが3に設定され、CC1S=00の場合、このビットは変更できません。
シングルパルスモード(OPM=1)の場合のみ、プリロードレジスタを確認せずにPWMモードを使用できます。
それ以外の場合、動作は不確定です。
このビットは、トリガ入力イベントに対するコンペア/キャプチャ出力の応答を高速化するために使用されます。
注: コンペア/キャプチャ2は、チャネルがオフ(CC2Eがゼロ)の場合にのみ書き込み可能です。
注: コンペア/キャプチャ1は、チャネルがオフ(CC1Eがゼロ)の場合にのみ書き込み可能です。
■キャプチャモード(ピン方向は入力)
これらのビットは、TI1入力のサンプリング周波数とデジタルフィルタ長を設定します。
デジタルフィルタはイベントカウンタで構成され、出力の遷移を検証するにはN個のイベントが必要です。
これらの2ビットは、コンペア/キャプチャ2の分周器係数を定義します。
CC1E=0 になると、分周器はリセットされます。
これらの2ビットは、チャネルの方向(入力/出力)と入力ピンの選択を定義します。
注:CC1Sは、チャネルが閉じられている(CC1Eが0)場合にのみ書き込み可能です。
チャネルの方向は対応するCCxSビットによって定義されます。
このレジスタの他のビットの機能は、入力モードと出力モードで異なります。
OCxxは出力モードにおけるチャネルの機能を示し、ICxxは入力モードにおけるチャネルの機能を示します。
■レジスター内容
| pin MODE | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Compare output | OC2CE | OC2M | OC2PE | OC2FE | CC2S | OC1CE | OC1M | OC1PE | OC1FE | CC1S | ||||||
| Capture input | IC2F | IC2PSC | IC1F | IC1PSC | ||||||||||||
| -- | RWO | RWO | RWO | RWO | RWO | RWO | RWO | RWO | RWO | RWO | RWO | RWO | RWO | RWO | RWO | RWO |
| -- | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
■比較モード(ピン方向は出力):
OC2CE
コンペア/キャプチャ2のイネーブルビットをクリアします(Clear enable bit of compare/capture 2)| 1 | ETRF入力のハイレベルが検出されると、OC2REFビットをゼロにクリアします。 |
| 0 | OC2REFはETRF入力の影響を受けません。 |
OC2M
コンペア/キャプチャレジスタ2のモード設定(Mode setting of compare/capture 2)3ビットは出力リファレンス信号OC2REFの動作を定義し、OC2REFはOC2とOC2Nの値を決定します。
OC2REFはハイレベルでアクティブですが、OC2とOC2NのアクティブレベルはCC2PビットとCC2NPビットに依存します。
| 000 | 固定。 コンペア/キャプチャレジスタの値とコアカウンタとの比較値はOC1REFに影響を与えません。 |
| 001 | 有効レベルに強制。 コアカウンタと比較/キャプチャレジスタ1の値が同じ場合、OC1REFを強制的にハイレベルにします。 |
| 010 | 強制的に非アクティブレベルに設定します。 コアカウンタの値が比較/キャプチャレジスタ1の値と同じ場合、OC1REFを強制的にローレベルにします。 |
| 011 | 反転。 コアカウンタと比較キャプチャレジスタ1の値が同じ場合、OC1REFのレベルを反転します。 |
| 100 | 非アクティブレベルに強制します。 OC1REFをローレベルに強制します。 |
| 101 | 非アクティブレベルに強制します。 OC1REFをハイレベルに強制します。 |
| 110 | PWMモード1: カウントアップ時、コアカウンタが比較キャプチャレジスタの値を超えると、チャネル1は非アクティブレベルになります。 それ以外の場合は、アクティブレベルになります。 カウントダウン時、コアカウンタが比較キャプチャレジスタの値を超えると、チャネル1はアクティブレベルになります。 それ以外の場合は、非アクティブレベルになります。 |
| 111 | PWMモード2: カウントアップ時、コアカウンタが比較キャプチャレジスタの値を超えると、チャネル1はアクティブレベルになります。 それ以外の場合は、非アクティブレベルになります。 カウントダウン中、コアカウンタがコンペア/キャプチャレジスタの値を超えると、チャネル1は非アクティブレベルになります。 それ以外の場合は、アクティブレベル(OC1REF=1)になります。 |
PWMモード1またはPWMモード2では、OC1REFレベルは、比較結果が変化したとき、または出力比較モードでフリーズモードからPWMモードに切り替えたときにのみ変化します。
OC2PE
コンペア/キャプチャレジスタ2のプリロード有効ビット。(Preload enable bit of compare/capture register 2)| 1 | コンペア/キャプチャレジスタのプリロード機能を有効にします。 読み出しおよび書き込み操作はプリロードレジスタに対してのみ行われます。 コンペア/キャプチャレジスタ1のプリロード値は、更新イベントの到着時に現在のシャドウレジスタにロードされます。 |
| 0 | キャプチャレジスタ2のプリロード機能を無効にします。 コンペア/キャプチャレジスタ2にはいつでも書き込むことができ、書き込まれた値は直ちに有効になります。 |
シングルパルスモード(OPM=1)の場合のみ、プリロードレジスタを確認せずにPWMモードを使用できます。
それ以外の場合、動作は不確定です。
OC2FE
コンペア/キャプチャ2高速イネーブルビット(Compare/capture 2 fast enable bit)このビットは、トリガ入力イベントに対するコンペア/キャプチャ出力の応答を高速化するために使用されます。
| 1 | トリガに入力された有効エッジの効果は、比較一致と同等です。 したがって、比較結果に関わらず、OCは比較レベルに設定されます。 サンプリングトリガの有効エッジとコンペア/キャプチャ2出力間の遅延は、3クロックサイクルに短縮されます。/td> |
| 0 | カウンタとコンペア/キャプチャレジスタ2の値に応じて、トリガがオンになっていてもコンペア/キャプチャ2は通常どおり動作します。 トリガ入力に有効エッジがある場合、コンペア/キャプチャ2出力をアクティブにするための最小遅延は5クロックサイクルになります。 OC2FEは、チャネルがPWM1またはPWM2モードに設定されている場合にのみ機能します。 |
CC2S
コンペア/キャプチャ2の入力選択(Input selection of compare/capture 2)| 00 | コンペア/キャプチャ2は出力として設定されます。 |
| 01 | コンペア/キャプチャ2は入力として設定され、IC2はTI2にマッピングされます。 |
| 10 | コンペア/キャプチャ2は入力として設定され、IC2はTI1にマッピングされます。 |
| 11 | コンペア/キャプチャ2は入力として設定され、IC2はTRCにマッピングされます。 このモードは、内部トリガ入力が選択されている(TSビットで選択)場合にのみ機能します。 |
OC1CE
比較/キャプチャ 1 クリア有効ビット(Compare/capture 1 clear enable bit)OC1M
比較/キャプチャ1のモード設定ビット(Mode setting bits of compare/capture 1)OC1PE
比較/キャプチャレジスタ 1 のプリロード有効ビット(Preload enable bit of compare/capture register 1)OC1FE
比較/キャプチャ 1 の高速有効化ビット(Fast enable bit of compare/capture 1)CC1S
コンペア/キャプチャ1の入力選択(Input selection of compare/capture 1)| 00 | コンペア/キャプチャ1は出力として設定されます。 |
| 01 | コンペア/キャプチャ1は入力として設定され、IC1はTI2にマッピングされます。 |
| 10 | コンペア/キャプチャ1は入力として設定され、IC1はTI1にマッピングされます。 |
| 11 | コンペア/キャプチャ1は入力として設定され、IC1はTRCにマッピングされます。 このモードは、内部トリガ入力が選択されている(TSビットで選択)場合にのみ機能します。 |
■キャプチャモード(ピン方向は入力)
IC2F
入力キャプチャ2フィルタ設定ビット(Input capture2 filter configuration bits)これらのビットは、TI1入力のサンプリング周波数とデジタルフィルタ長を設定します。
デジタルフィルタはイベントカウンタで構成され、出力の遷移を検証するにはN個のイベントが必要です。
| 0000 | フィルタなし、サンプリングはFdtsで行われます。 |
| 0001 | Fsampling=Fck_int, N=2 |
| 0010 | Fsampling=Fck_int,N=4 |
| 0011 | Fsampling=f=Fck_int, N=8 |
| 0100 | Fsampling=Fdts/2, N=6 |
| 0101 | Fsampling=Fdts/2, N=8 |
| 0110 | Fsampling=Fdts/4, N=6 |
| 0111 | Fsampling=Fdts/4, N=8 |
| 1000 | Fsampling=Fdts/8, N=6 |
| 1001 | Fsampling=Fdts/8, N=8 |
| 1010 | Fsampling=Fdts/16, N=5 |
| 1011 | Fsampling=Fdts/16, N=6 |
| 1100 | Fsampling=Fdts/16, N=8 |
| 1101 | Fsampling=Fdts/32, N=5 |
| 1110 | Fsampling=Fdts/32, N=6 |
| 1111 | Fsampling=Fdts/32, N=8 |
IC2PSC
コンペア/キャプチャ2の分周器設定ビット(Compare/capture 2 prescaler configuration bits)これらの2ビットは、コンペア/キャプチャ2の分周器係数を定義します。
CC1E=0 になると、分周器はリセットされます。
| 00 | 分周器なし。キャプチャ入力ポートで検出されたエッジごとにキャプチャをトリガーします。 |
| 01 | 2イベントごとにキャプチャをトリガーします。 |
| 10 | 4イベントごとにキャプチャをトリガーします。 |
| 11 | 8イベントごとにキャプチャをトリガーします。 |
CC2S
コンペア/キャプチャ2入力選択ビット(Compare/capture 2 input selection bits)これらの2ビットは、チャネルの方向(入力/出力)と入力ピンの選択を定義します。
| 00 | コンペア/キャプチャ1は出力として設定されます。 |
| 01 | コンペア/キャプチャ1は入力として設定されます。 IC1はTI1にマッピングされます。 |
| 10 | コンペア/キャプチャ1は入力として設定されます。 IC1はTI2にマッピングされます。 |
| 11 | コンペア/キャプチャ1は入力として設定されます。 IC1はTRCにマッピングされます。 このモードは、内部トリガ入力が選択されている(TSビットで選択)場合にのみ機能します。 |
IC1F
入力キャプチャ1 フィルタ構成ビット(Input capture1 filter configuration bits)IC1PSC
比較/キャプチャ 1 のプリスケール構成ビット(Prescale configuration bits of compare/capture 1)CC1S
比較/キャプチャ 1 の入力選択ビット(Input selection bits of compare/capture 1)14.4.8 比較/キャプチャ制御レジスタ2 (TIMy_CHCTLR2) (y:* = 1:2/8:3/9:4/10:5)
CHCTLR2 = Compare/capture ConTroL Register2 | Access base address 0x4000*C00 Offset address: 0x1C
チャネルは入力(キャプチャモード)または出力(比較モード)として使用できます。
チャネルの方向は対応するCCxSビットによって定義されます。
このレジスタの他のビットの機能は、入力モードと出力モードで異なります。
OCxxは出力モードにおけるチャネルの機能を示し、ICxxは入力モードにおけるチャネルの機能を示します。
■レジスター内容
■比較モード(ピン方向は出力):
3ビットは出力リファレンス信号OC4REFの動作を定義し、OC4REFはOC4とOC4Nの値を決定します。
OC4REFはハイレベルでアクティブですが、OC4とOC4NのアクティブレベルはCC4PビットとCC4NPビットに依存します。
注:LOCKレベルが3に設定され、CC3S=00bに設定されると、このビットは変更できなくなります。
PWMモード1またはPWMモード2では、OC3REFレベルは、比較結果が変化したとき、または出力比較モードでフリーズモードからPWMモードに切り替えたときにのみ変化します。
注:LOCKレベルが3に設定され、CC3S=00の場合、このビットは変更できません。
シングルパルスモード(OPM=1)の場合のみ、プリロードレジスタを確認せずにPWMモードを使用できます。
それ以外の場合、動作は不確定です。
このビットは、トリガ入力イベントに対するコンペア/キャプチャ出力の応答を高速化するために使用されます。
注: コンペア/キャプチャ4は、チャネルがオフ(CC4Eがゼロ)の場合にのみ書き込み可能です。
注: コンペア/キャプチャ3は、チャネルがオフ(CC3Eがゼロ)の場合にのみ書き込み可能です。
■キャプチャモード(ピン方向は入力)
これらのビットは、TI3入力のサンプリング周波数とデジタルフィルタ長を設定します。
デジタルフィルタはイベントカウンタで構成され、出力の遷移を検証するにはN個のイベントが必要です。
これらの2ビットは、コンペア/キャプチャ4の分周器係数を定義します。
CC3E=0 になると、分周器はリセットされます。
これらの2ビットは、チャネルの方向(入力/出力)と入力ピンの選択を定義します。
注:CC3Sは、チャネルが閉じられている(CC3Eが0)場合にのみ書き込み可能です。
チャネルの方向は対応するCCxSビットによって定義されます。
このレジスタの他のビットの機能は、入力モードと出力モードで異なります。
OCxxは出力モードにおけるチャネルの機能を示し、ICxxは入力モードにおけるチャネルの機能を示します。
■レジスター内容
| pin MODE | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Compare output | OC4CE | OC4M | OC4PE | OC4FE | CC4S | OC3CE | OC3M | OC3PE | OC3FE | CC3S | ||||||
| Capture input | IC4F | IC4PSC | IC3F | IC3PSC | ||||||||||||
| -- | RWO | RWO | RWO | RWO | RWO | RWO | RWO | RWO | RWO | RWO | RWO | RWO | RWO | RWO | RWO | RWO |
| -- | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
■比較モード(ピン方向は出力):
OC4CE
コンペア/キャプチャ4のイネーブルビットをクリアします(Clear enable bit of compare/capture 4)| 1 | ETRF入力のハイレベルが検出されると、OC4REFビットをゼロにクリアします。 |
| 0 | OC4REFはETRF入力の影響を受けません。 |
OC4M
コンペア/キャプチャレジスタ4のモード設定(Mode setting of compare/capture 4)3ビットは出力リファレンス信号OC4REFの動作を定義し、OC4REFはOC4とOC4Nの値を決定します。
OC4REFはハイレベルでアクティブですが、OC4とOC4NのアクティブレベルはCC4PビットとCC4NPビットに依存します。
| 000 | 固定。 コンペア/キャプチャレジスタの値とコアカウンタとの比較値はOC3REFに影響を与えません。 |
| 001 | 有効レベルに強制。 コアカウンタと比較/キャプチャレジスタ1の値が同じ場合、OC3REFを強制的にハイレベルにします。 |
| 010 | 強制的に非アクティブレベルに設定します。 コアカウンタの値が比較/キャプチャレジスタ1の値と同じ場合、OC3REFを強制的にローレベルにします。 |
| 011 | 反転。 コアカウンタと比較キャプチャレジスタ1の値が同じ場合、OC3REFのレベルを反転します。 |
| 100 | 非アクティブレベルに強制します。 OC3REFをローレベルに強制します。 |
| 101 | 非アクティブレベルに強制します。 OC3REFをハイレベルに強制します。 |
| 110 | PWMモード1: カウントアップ時、コアカウンタが比較キャプチャレジスタの値を超えると、チャネル1は非アクティブレベルになります。 それ以外の場合は、アクティブレベルになります。 カウントダウン時、コアカウンタが比較キャプチャレジスタの値を超えると、チャネル1はアクティブレベルになります。 それ以外の場合は、非アクティブレベルになります。 |
| 111 | PWMモード2: カウントアップ時、コアカウンタが比較キャプチャレジスタの値を超えると、チャネル1はアクティブレベルになります。 それ以外の場合は、非アクティブレベルになります。 カウントダウン中、コアカウンタがコンペア/キャプチャレジスタの値を超えると、チャネル1は非アクティブレベルになります。 それ以外の場合は、アクティブレベル(OC3REF=1)になります。 |
PWMモード1またはPWMモード2では、OC3REFレベルは、比較結果が変化したとき、または出力比較モードでフリーズモードからPWMモードに切り替えたときにのみ変化します。
OC4PE
コンペア/キャプチャレジスタ4のプリロード有効ビット。(Preload enable bit of compare/capture register 4)| 1 | コンペア/キャプチャレジスタのプリロード機能を有効にします。 読み出しおよび書き込み操作はプリロードレジスタに対してのみ行われます。 コンペア/キャプチャレジスタ1のプリロード値は、更新イベントの到着時に現在のシャドウレジスタにロードされます。 |
| 0 | キャプチャレジスタ4のプリロード機能を無効にします。 コンペア/キャプチャレジスタ4にはいつでも書き込むことができ、書き込まれた値は直ちに有効になります。 |
シングルパルスモード(OPM=1)の場合のみ、プリロードレジスタを確認せずにPWMモードを使用できます。
それ以外の場合、動作は不確定です。
OC4FE
コンペア/キャプチャ4高速イネーブルビット(Compare/capture 4 fast enable bit)このビットは、トリガ入力イベントに対するコンペア/キャプチャ出力の応答を高速化するために使用されます。
| 1 | トリガに入力された有効エッジの効果は、比較一致と同等です。 したがって、比較結果に関わらず、OCは比較レベルに設定されます。 サンプリングトリガの有効エッジとコンペア/キャプチャ4出力間の遅延は、3クロックサイクルに短縮されます。/td> |
| 0 | カウンタとコンペア/キャプチャレジスタ4の値に応じて、トリガがオンになっていてもコンペア/キャプチャ4は通常どおり動作します。 トリガ入力に有効エッジがある場合、コンペア/キャプチャ4出力をアクティブにするための最小遅延は5クロックサイクルになります。 OC4FEは、チャネルがPWM1またはPWM2モードに設定されている場合にのみ機能します。 |
CC4S
コンペア/キャプチャ4の入力選択(Input selection of compare/capture 4)| 00 | コンペア/キャプチャ4は出力として設定されます。 |
| 01 | コンペア/キャプチャ4は入力として設定され、IC4はTI4にマッピングされます。 |
| 10 | コンペア/キャプチャ4は入力として設定され、IC4はTI3にマッピングされます。 |
| 11 | コンペア/キャプチャ4は入力として設定され、IC4はTRCにマッピングされます。 このモードは、内部トリガ入力が選択されている(TSビットで選択)場合にのみ機能します。 |
OC3CE
比較/キャプチャ 3 クリア有効ビット(Compare/capture 3 clear enable bit)OC3M
比較/キャプチャ3のモード設定ビット(Mode setting bits of compare/capture 3)OC3PE
比較/キャプチャレジスタ 3 のプリロード有効ビット(Preload enable bit of compare/capture register 3)OC3FE
比較/キャプチャ 3 の高速有効化ビット(Fast enable bit of compare/capture 3)CC3S
コンペア/キャプチャ3の入力選択(Input selection of compare/capture 3)| 00 | コンペア/キャプチャ3は出力として設定されます。 |
| 01 | コンペア/キャプチャ3は入力として設定され、IC3はTI4にマッピングされます。 |
| 10 | コンペア/キャプチャ3は入力として設定され、IC3はTI3にマッピングされます。 |
| 11 | コンペア/キャプチャ3は入力として設定され、IC3はTRCにマッピングされます。 このモードは、内部トリガ入力が選択されている(TSビットで選択)場合にのみ機能します。 |
■キャプチャモード(ピン方向は入力)
IC4F
入力キャプチャ4フィルタ設定ビット(Input capture2 filter configuration bits)これらのビットは、TI3入力のサンプリング周波数とデジタルフィルタ長を設定します。
デジタルフィルタはイベントカウンタで構成され、出力の遷移を検証するにはN個のイベントが必要です。
| 0000 | フィルタなし、サンプリングはFdtsで行われます。 |
| 0001 | Fsampling=Fck_int, N=2 |
| 0010 | Fsampling=Fck_int,N=4 |
| 0011 | Fsampling=f=Fck_int, N=8 |
| 0100 | Fsampling=Fdts/2, N=6 |
| 0101 | Fsampling=Fdts/2, N=8 |
| 0110 | Fsampling=Fdts/4, N=6 |
| 0111 | Fsampling=Fdts/4, N=8 |
| 1000 | Fsampling=Fdts/8, N=6 |
| 1001 | Fsampling=Fdts/8, N=8 |
| 1010 | Fsampling=Fdts/16, N=5 |
| 1011 | Fsampling=Fdts/16, N=6 |
| 1100 | Fsampling=Fdts/16, N=8 |
| 1101 | Fsampling=Fdts/32, N=5 |
| 1110 | Fsampling=Fdts/32, N=6 |
| 1111 | Fsampling=Fdts/32, N=8 |
IC4PSC
コンペア/キャプチャ4の分周器設定ビット(Compare/capture 4 prescaler configuration bits)これらの2ビットは、コンペア/キャプチャ4の分周器係数を定義します。
CC3E=0 になると、分周器はリセットされます。
| 00 | 分周器なし。キャプチャ入力ポートで検出されたエッジごとにキャプチャをトリガーします。 |
| 01 | 2イベントごとにキャプチャをトリガーします。 |
| 10 | 4イベントごとにキャプチャをトリガーします。 |
| 11 | 8イベントごとにキャプチャをトリガーします。 |
CC4S
コンペア/キャプチャ4入力選択ビット(Compare/capture 4 input selection bits)これらの2ビットは、チャネルの方向(入力/出力)と入力ピンの選択を定義します。
| 00 | コンペア/キャプチャ3は出力として設定されます。 |
| 01 | コンペア/キャプチャ3は入力として設定されます。 IC3はTI3にマッピングされます。 |
| 10 | コンペア/キャプチャ3は入力として設定されます。 IC3はTI4にマッピングされます。 |
| 11 | コンペア/キャプチャ3は入力として設定されます。 IC3はTRCにマッピングされます。 このモードは、内部トリガ入力が選択されている(TSビットで選択)場合にのみ機能します。 |
IC3F
入力キャプチャ3 フィルタ構成ビット(Input capture1 filter configuration bits)IC3PSC
比較/キャプチャ 3 のプリスケール構成ビット(Prescale configuration bits of compare/capture 3)CC3S
比較/キャプチャ 3 の入力選択ビット(Input selection bits of compare/capture 3)14.4.9 比較/キャプチャ有効レジスタ(TIMy_CCER)(y:* = 1:2/8:3/9:4/10:5)
CCER = Compare/Capture Enable Register | Access base address 0x4000*C00 Offset address: 0x20
■レジスター内容
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | CC4D | CC4E | CC3NP | CC3NE | CC3P | CC3E | CC2NP | CC2NE | CC2P | CC2E | CC1NP | CC1NE | CC1P | CC1E | |
| RO | RW | RW | RW | RW | RW | RW | RW | RW | RW | RW | RW | RW | RW | RW | |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
CC4P
比較/キャプチャ 4の出力極性設定ビット(Output polarity setting bit of compare/capture 4)CC4E
比較/キャプチャ 4の出力有効ビット(Output enable bit of compare/capture 4)CC3NP
比較/キャプチャ 3の相補出力イネーブルビット(Complementary output enable bit of compare/capture 3)CC3NE
比較/キャプチャ 3の相補出力イネーブルビット(Complementary output enable bit of compare/capture 3)CC3P
比較/キャプチャ 3の出力極性設定ビット(Output polarity setting bit of compare/capture 3)CC3E
比較/キャプチャ 3の出力有効ビット(Output enable bit of compare/capture 3)CC2NP
比較/キャプチャ 3の相補出力イネーブルビット(Complementary output enable bit of compare/capture 3)CC2NE
比較/キャプチャ 3の相補出力イネーブルビット(Complementary output enable bit of compare/capture 3)CC2P
比較/キャプチャ 3の出力極性設定ビット(Output polarity setting bit of compare/capture 3)CC2E
比較/キャプチャ 3の出力有効ビット(Output enable bit of compare/capture 3)CC1NP
比較/キャプチャ 3の相補出力イネーブルビット(Complementary output enable bit of compare/capture 3)CC1NE
比較/キャプチャ 3の相補出力イネーブルビット(Complementary output enable bit of compare/capture 3)CC1P
比較/キャプチャ 3の出力極性設定ビット(Output polarity setting bit of compare/capture 3)CC1E
比較/キャプチャ 3の出力有効ビット(Output enable bit of compare/capture 3)14.4.10 高度制御タイマーのカウンタ(TIMy_CNT)(y:* = 1:2/8:3/9:4/10:5)
CNT = CouNTer of advanced-control timer | Access base address 0x4000*C00 Offset address: 0x24
■レジスター内容
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CNT | |||||||||||||||
| RW | |||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
CNT
タイマーカウンターのリアルタイム値(Real-time value of timer counter)14.4.11 カウントクロックプリスケーラ(TIMy_PSC)(y:* = 1:2/8:3/9:4/10:5)
PSC = Count clock prescaler | Access base address 0x4000*C00 Offset address: 0x28
■レジスター内容
カウンタのクロック周波数は、分周器の入力周波数/(PSC+1)に等しくなります。
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| PSC | |||||||||||||||
| RW | |||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
PSC
タイマーの分周器の分周係数(The frequency division factor of the timer's prescaler)カウンタのクロック周波数は、分周器の入力周波数/(PSC+1)に等しくなります。
14.4.12 自動リロードレジスタ(TIMy_ATRLR)(y:* = 1:2/8:3/9:4/10:5)
ATRLR = AuTo ReLoad Register | Access base address 0x4000*C00 Offset address: 0x2C
■レジスター内容
ATRLRの動作と更新時間については、セクション14.2.3を参照してください。
ATRLRが空になると、カウンタは停止します。
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ATRLR | |||||||||||||||
| RW | |||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
ATRLR
これらのビットの値はカウンタにロードされます(The value of these bits is loaded into the counter)ATRLRの動作と更新時間については、セクション14.2.3を参照してください。
ATRLRが空になると、カウンタは停止します。
14.4.13 繰り返しカウントレジスタ(TIMy_RPTCR)(y:* = 1:2/8:3/9:4/10:5)
RPTCR = RePeaT Count Register | Access base address 0x4000*C00 Offset address: 0x30
■レジスター内容
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | RPTCR | ||||||||||||||
| RO | RW | ||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
RPTCR
繰り返されるカウンタ値(Repeated counter value)14.4.14 比較/キャプチャレジスタ1 (TIMy_CH1CVR) (y:* = 1:2/8:3/9:4/10:5)
CH1CVR = Compare/capture Register1 | Access base address 0x4000*C00 Offset address: 0x34
■レジスター内容
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CH1CVR | |||||||||||||||
| RW | |||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
CH1CVR
比較/キャプチャレジスタチャネル1の値(Value of compare/capture register channel 1)14.4.15 比較/キャプチャレジスタ2 (TIMy_CH2CVR) (y:* = 1:2/8:3/9:4/10:5)
CH2CVR = Compare/capture Register2 | Access base address 0x4000*C00 Offset address: 0x38
■レジスター内容
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CH2CVR | |||||||||||||||
| RW | |||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
CH2CVR
比較/キャプチャレジスタチャネル2の値(Value of compare/capture register channel 2)14.4.16 比較/キャプチャレジスタ3 (TIMy_CH3CVR) (y:* = 1:2/8:3/9:4/10:5)
CH3CVR = Compare/capture Register3 | Access base address 0x4000*C00 Offset address: 0x3C
■レジスター内容
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CH3CVR | |||||||||||||||
| RW | |||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
CH3CVR
比較/キャプチャレジスタチャネル3の値(Value of compare/capture register channel 3)14.4.17 比較/キャプチャレジスタ4 (TIMy_CH4CVR) (y:* = 1:2/8:3/9:4/10:5)
CH4CVR = Compare/capture Register4 | Access base address 0x4000*C00 Offset address: 0x40
■レジスター内容
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CH4CVR | |||||||||||||||
| RW | |||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
CH4CVR
比較/キャプチャレジスタチャネル4の値(Value of compare/capture register channel 4)14.4.18 ブレークおよびデッドゾーンレジスタ(TIMy_BDTR)(y:* = 1:2/8:3/9:4/10:5)
BDTR = Break and Dead zone Register | Access base address 0x4000*C00 Offset address: 0x44
■レジスター内容
ブレーク信号が有効になると、非同期でクリアされます。
注:LOCKレベル1が設定されている場合、このビットは変更できません。
このビットへの書き込みは、APBクロックの1周期後に有効になります。
注:LOCKレベル1が設定されている場合、このビットは変更できません。
このビットへの書き込みは、APBクロックの1周期分が必要です。
注:LOCK レベル 1 が設定されている場合、このビットは変更できません。
注:LOCK レベル 1 が設定されている場合、このビットは変更できません。
注: システムをリセットした後、LOCKビットへの書き込みは1回のみ可能で、リセットするまで再度変更することはできません。
これらのビットは、相補出力間のデッドゾーンの持続時間を定義します。
DT がその持続時間を表すと仮定します。
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| MOE | AOE | BKP | BKE | OSSR | OSSI | LOCK | DTG | ||||||||
| RW | RW | RW | RW | RW | RW | RW | RW | ||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
MOE
マスター出力有効ビット(Master output enable bit)ブレーク信号が有効になると、非同期でクリアされます。
| 1 | OCxおよびOCxNを出力として設定します。 |
| 0 | OCxおよびOCxNの出力を無効にし、強制的にアイドル状態にします。 |
AOE
自動出力有効(Automatic output enable)| 1 | MOEはソフトウェアで設定するか、次の更新イベントで設定できます。 |
| 0 | MOEはソフトウェアでのみ設定できます。 |
BKP
ブレーク入力極性設定ビット(Break input polarity setting bit)| 1 | ブレーク入力はハイレベルでアクティブ。 |
| 0 | ブレーク入力はローレベルでアクティブ。 |
このビットへの書き込みは、APBクロックの1周期後に有効になります。
BKE
ブレーク機能有効ビット(Break function enable bit)| 1 | ブレーク入力有効 |
| 0 | ブレーク入力無効 |
このビットへの書き込みは、APBクロックの1周期分が必要です。
OSSR
| 1 | タイマーが動作していないとき、CCxE=1 または CCxNE=1 にすると、 まず OC/OCN をオンにして非アクティブレベルを出力し、次に OCx と OCxN をイネーブル出力信号 =1 に設定します。 |
| 0 | タイマーが動作していないときは OC/OCN 出力をディセーブルにします。 |
OSSI
| 1 | タイマーが動作していないとき、CCxE=1 または CCxNE=1 になると、 OC/OCN はまずアイドルレベルを出力し、次に OCx、OCxN は出力信号 = 1 を有効にします。 |
| 0 | タイマーが動作していないときは OC/OCN 出力を無効にします。 |
LOCK
ロック機能の設定(Lock function setting)| 00 | ロック機能をオフにします。 |
| 01 | ロックレベル1 DTG、BKE、BKP、AOE、OISx、OISxNビットへの書き込みはできません。 |
| 10 | ロックレベル2 ロックレベル1のビットへの書き込み、CC極性ビット、OSSR、OSSIビットへの書き込みはできません。 |
| 11 | ロックレベル3 ロックレベル2の各ビットへの書き込み、CC制御ビットへの書き込みはできません。 |
DTG
デッドゾーン設定ビット(Dead zone setting bits)これらのビットは、相補出力間のデッドゾーンの持続時間を定義します。
DT がその持続時間を表すと仮定します。
| 0xx | DTG[7:5]=0xx=>DT=DTG[7:0]*Tdtg、Tdtg =TDTS; |
| 10x | DTG[7:5]=10x=>DT=(64+DTG[5:0])*Tdtg、Tdtg= 2*TDTS; |
| 110 | DTG[7:5]=110=>DT=(32+DTG[4:0])*Tdtg、Tdtg =8 ×TDTS; |
| 111 | DTG[7:5]=111=>DT=(32+DTG[4:0])*Tdtg、Tdtg =16 *TDTS |
14.4.19 DMA構成レジスタ(TIMy_DMACFGR)(y:* = 1:2/8:3/9:4/10:5)
DMACFGR = DMA ConFiGuration Register | Access base address 0x4000*C00 Offset address: 0x48
■レジスター内容
実際の値はこれらのビットの値 + 1 です。
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | DBL | Reserved | DBA | ||||||||||||
| RO | RWO | RO | RWO | ||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
DBL
DMA連続転送の長さ。実際の値はこれらのビットの値 + 1 です。
DBA
これらのビットは、連続モードにおける制御レジスタ1のアドレスからのDMAのオフセットを定義します。14.4.20 連続モードのDMAアドレスレジスタ(TIMy_DMAADR)(y:* = 1:2/8:3/9:4/10:5)
DMAADR = DMA ADdress Register in continuous mode | Access base address 0x4000*C00 Offset address: 0x4C
■レジスター内容
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DMAADR | |||||||||||||||
| RW | |||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
DMAADR
連続モードでの DMA アドレス(DMA address in continuous mode)更新日
2025/11/24 19:52 管理者 平林 剛
