Skip to content

Latest commit

 

History

History
397 lines (319 loc) · 60.4 KB

general_purpose_timer.org

File metadata and controls

397 lines (319 loc) · 60.4 KB

General Purpose Timer

General Purpose Timerは、SC OBC FPGAの運用時間の管理や、FPGA内の CPUや IPコアへのタイミング通知を行うためのタイマーモジュールです。 General Purpose Timerは、Global Timer・Software Interrupt Timer・Hardware Interrupt Timerと呼ばれる、3つの32bitアップカウンターで構成されています。

Global Timerは、FPGAのリセット解除から動作する Free Run Timerです。 リセットの解除後からの時刻を数えるために使われます。 Global Timerの最小時間は 0.0625秒であり、最大 268435455.9375秒(約 8年 186日)までカウントする事ができます。 Software Interrupt Timerと Hardware Interrupt Timerの最小時間は Prescalerにより設定する事ができます。

Global Timerと Software Interrupt Timerは、CPUに割り込みを発生させるタイマーとして使用します。 Global Timerは タイマーに対し 4つの比較チャネルを持っており、Software Timerは 8つの比較チャネルを持っています。

Hardware Interrupt Timerは、SC OBC FPGAの内部のIPコアに対しイベントを通知する、Hardware Schedulerとして使用します。 Hardware Interrupt Timerは タイマーに対し 8つの比較チャネルを持っており、そのうち 7つを IPコアへのイベントトリガに使用する事ができます。

Hardware Interrupt Timerの出力チャネルと、接続されている IP Coreの対応を以下に示します。

Output Compare ChannelIP CoreFunction
1NoneHardware Schedulerの周期を決めるタイマーとして使用
2System Monitor (Hardware Health Monitor)Current Voltage Monitorからのデータ読み出しアクセス要求
3System Monitor (Hardware Health Monitor)Temperature Sensorからのデータ読み出しアクセス要求
4-8Reserved-

レジスタ詳細

General Purpose Timerは、Base Address 0x4F05_0000に配置されています。

OffsetSymbolRegisterInitial
0x0000GPTMR_GTRGlobal Timer Register0x00000000
0x0004GPTMR_TECRTimer Enable Control Register0x00000000
0x0008GPTMR_SITRRSoftware Interrupt Timer Remaining Register0x00000000
0x000CGPTMR_HITRRHardware Interrupt Timer Remaining Register0x00000000
0x0010GPTMR_GTSRGlobal Timer Interrupt Status Register0x00000000
0x0014GPTMR_GTERGlobal Timer Interrupt Enable Register0x00000000
0x0020GPTMR_GTOCR1Global Timer Output Compare Register 10x00000000
0x0024GPTMR_GTOCR2Global Timer Output Compare Register 20x00000000
0x0028GPTMR_GTOCR3Global Timer Output Compare Register 30x00000000
0x002CGPTMR_GTOCR4Global Timer Output Compare Register 40x00000000
0x0100GPTMR_SITCRSoftware Interrupt Timer Control Register0x00000000
0x0104GPTMR_SITPRSoftware Interrupt Timer Prescaler Register0x00000000
0x0108GPTMR_SITSRSoftware Interrupt Timer Status Register0x00000000
0x010CGPTMR_SITERSoftware Interrupt Timer Enable Register0x00000000
0x0110GPTMR_SITOCR1Software Interrupt Timer Output Compare Register 10x00000000
0x0114GPTMR_SITOCR2Software Interrupt Timer Output Compare Register 20x00000000
0x0118GPTMR_SITOCR3Software Interrupt Timer Output Compare Register 30x00000000
0x011CGPTMR_SITOCR4Software Interrupt Timer Output Compare Register 40x00000000
0x0120GPTMR_SITOCR5Software Interrupt Timer Output Compare Register 50x00000000
0x0124GPTMR_SITOCR6Software Interrupt Timer Output Compare Register 60x00000000
0x0128GPTMR_SITOCR7Software Interrupt Timer Output Compare Register 70x00000000
0x012CGPTMR_SITOCR8Software Interrupt Timer Output Compare Register 80x00000000
0x0200GPTMR_HITCRHardware Interrupt Timer Control Register0x00000000
0x0204GPTMR_HITPRHardware Interrupt Timer Prescaler Register0x00000000
0x0210GPTMR_HITOCR1Hardware Interrupt Timer Output Compare Register 10x00000000
0x0214GPTMR_HITOCR2Hardware Interrupt Timer Output Compare Register 20x00000000
0x0218GPTMR_HITOCR3Hardware Interrupt Timer Output Compare Register 30x00000000
0x021CGPTMR_HITOCR4Hardware Interrupt Timer Output Compare Register 40x00000000
0x0220GPTMR_HITOCR5Hardware Interrupt Timer Output Compare Register 50x00000000
0x0224GPTMR_HITOCR6Hardware Interrupt Timer Output Compare Register 60x00000000
0x0228GPTMR_HITOCR7Hardware Interrupt Timer Output Compare Register 70x00000000
0x022CGPTMR_HITOCR8Hardware Interrupt Timer Output Compare Register 80x00000000
0xF000GPTMR_VERGeneral Purpose Timer IP Version Register-

Global Timer Register (Offset: 0x0000)

Global Timer Registerは、Global Timerの現在の値を示すレジスタです。

Global Timerは、SC OBC FPGAの起動後に発生するシステムリセットの解除からカウントを開始するカウンターです。 このタイマーの値を読み出す事で起動後の時間を知る事ができます。

Global Timerの動作クロックは、FPGAに入力する原発クロックです。 そのため、システムがどんな状態であってもカウント動作を行います。

Timerの最小時間は、0.0625秒であり、最大 268435455.9375秒(約 8年186日)までカウントする事ができます。

bitSymbolFieldDescriptionR/W
31:4GPTMR_GTINTGlobal Timer Integer FieldGlobal Timerの整数部分を示すフィールドです。Bit 4が 2^0秒を示します。そのため、このフィールドは 1秒に 1回インクリメントされます。Bit 4: 2^0(1)秒 Bit 5: 2^1 (2)秒 Bit 6: 2^2 (4)秒 ・・・ Bit 31: 2^27 (134217728)秒 このフィールドは、システムの起動後 ソフトウェアによって書き換える事ができます。R/W
3:0GPTMR_GTFLOATGlobal Timer Float FieldGlobal Timerの小数部分を示すフィールドです。Bit 0が 2^-4秒を示します。そのため、このフィールドは 0.0625秒に 1回インクリメントされます。 Bit 3: 2^-1 (0.5)秒 Bit 2: 2^-2 (0.25)秒 Bit 1: 2^-3 (0.125)秒 Bit 0: 2^-4 (0.0625)秒 このフィールドは、GPTMR_GTINTフィールドに書き込みがあった時 “0”にクリアされます。RO

Timer Enable Control Register (Offset: 0x0004)

Timer Enable Control Registerは、Software Interrupt Timerと Hardware Interrupt Timerの動作を制御するレジスタです。

bitSymbolFieldDescriptionR/W
31:2-ReservedReserved-
1GPTMR_HITENHardware Interrupt Timer EnableHardware Interrupt Timerの動作設定を行います。 0: Hardware Interrupt Timer 無効 (停止) 1: Hardware Interrupt Timer 有効 (動作)R/W
0GPTMR_SITENSoftware Interrupt Timer EnableSoftware Interrupt Timerの動作設定を行います。 0: Software Interrupt Timer 無効 (停止) 1: Software Interrupt Timer 有効 (動作)R/W

Software Interrupt Timer Remaining Register (Offset: 0x0008)

Software Interrupt Timer Remaining Registerは Software Interrupt Timerの現在のカウント値を示すレジスタです。

Software Interrupt Timerの最小時間は、Software Interrupt Timer Prescaler Registerの設定値により決まります。

bitSymbolFieldDescriptionR/W
31:0GPTMR_SITCNTSoftware Interrupt Timer CountSoftware Interrupt Timerの現在のカウント値を示します。RO

Hardware Interrupt Timer Remaining Register (Offset: 0x000C)

Hardware Interrupt Timer Remaining Registerは Hardware Interrupt Timerの現在のカウント値を示すレジスタです。

Hardware Interrupt Timerの最小時間は、Hardware Interrupt Timer Prescaler Registerの設定値により決まります。

bitSymbolFieldDescriptionR/W
31:0GPTMR_HITCNTHardware Interrupt Timer CountHardware Interrupt Timerの現在のカウント値を示します。RO

Global Timer Interrupt Status Register (Offset: 0x0010)

Global Timer Interrupt Status Registerは、Global Timerの割り込みステータスを示すレジスタです。

Global Timerに起因する割り込みが発生した時、割り込み要因に対応するビットがセットされます。 それぞれのビットは “1”をセットすると、割り込みをクリアする事ができます。

bitSymbolFieldDescriptionR/W
31:17-ReservedReserved-
16GPTMR_GTROVSTSGlobal Timer Rollover FlagGlobal Timerの Roll Overが発生した事を示すビットです。Global Timerがカウンター動作によって 0xFFFFFFFFから 0x0に戻ったとき “1”にセットされます。R/WC
15:4-ReservedReserved-
3GPTMR_GTOCF4STSGlobal Timer Output Compare Channel 4 FlagGlobal Timer出力比較チャネル 4の比較イベントが発生した事を示すビットです。Global Timerのカウンター値と Global Timer Output Compare Register 4の値が一致したとき “1”にセットされます。R/WC
2GPTMR_GTOCF3STSGlobal Timer Output Compare Channel 3 FlagGlobal Timer出力比較チャネル 3の比較イベントが発生した事を示すビットです。Global Timerのカウンター値と Global Timer Output Compare Register 3の値が一致したとき “1”にセットされます。R/WC
1GPTMR_GTOCF2STSGlobal Timer Output Compare Channel 2 FlagGlobal Timer出力比較チャネル 2の比較イベントが発生した事を示すビットです。Global Timerのカウンター値と Global Timer Output Compare Register 2の値が一致したとき “1”にセットされます。R/WC
0GPTMR_GTOCF1STSGlobal Timer Output Compare Channel 1 FlagGlobal Timer出力比較チャネル 1の比較イベントが発生した事を示すビットです。Global Timerのカウンター値と Global Timer Output Compare Register 1の値が一致したとき “1”にセットされます。R/WC

Global Timer Interrupt Enable Register (Offset: 0x0014)

Global Timer Interrupt Enable Registerは、Global Timerの動作において発生した割り込みイベントを割り込み出力信号に通知するか設定するためのレジスタです。

このレジスタで “1”にセットされた割り込みイネーブルビットと、Global Timer Interrupt Status Registerの対応する割り込みステータスビットが “1”にセットされた時、Global Timer割り込みを出力します。

bitSymbolFieldDescriptionR/W
31:17-ReservedReserved-
16GPTMR_GTROVENBGlobal Timer Rollover Flag EnableGPTMR_GTROVSTSイベントが発生した時に、割り込み信号を出力するかどうかを設定します。R/W
15:4-ReservedReserved-
3GPTMR_GTOCF4ENBGlobal Timer Output Compare Channel 4 Flag EnableGPTMR_GTOCF4STSイベントが発生した時に、割り込み信号を出力するかどうかを設定します。R/W
2GPTMR_GTOCF3ENBGlobal Timer Output Compare Channel 3 Flag EnableGPTMR_GTOCF3STSイベントが発生した時に、割り込み信号を出力するかどうかを設定します。R/W
1GPTMR_GTOCF2ENBGlobal Timer Output Compare Channel 2 Flag EnableGPTMR_GTOCF2STSイベントが発生した時に、割り込み信号を出力するかどうかを設定します。R/W
0GPTMR_GTOCF1ENBGlobal Timer Output Compare Channel 1 Flag EnableGPTMR_GTOCF1STSイベントが発生した時に、割り込み信号を出力するかどうかを設定します。R/W

Global Timer Output Compare Register 1-4 (Offset: 0x0020-0x002C)

Global Timer Output Compare Register 1-4は、Global Timerのタイマー出力値に対する比較イベントを生成するための設定レジスタです。

Global Timerは、出力比較を行うチャネルを 4つ持っています。 Global Timerのカウント値と、本レジスタの設定値が一致したときに、対応するチャネルの比較イベントを生成します。 このレジスタの値が “0”に設定されている場合、そのチャネルの出力比較機能は無効になります。

bitSymbolFieldDescriptionR/W
31:0GPTMR_GTCOMP1Global Timer Output Compare Channel 1 Value出力比較チャネル 1の比較イベントを生成する Global Timerのカウント値を設定します。R/W
bitSymbolFieldDescriptionR/W
31:0GPTMR_GTCOMP2Global Timer Output Compare Channel 2 Value出力比較チャネル 2の比較イベントを生成する Global Timerのカウント値を設定します。R/W
bitSymbolFieldDescriptionR/W
31:0GPTMR_GTCOMP3Global Timer Output Compare Channel 3 Value出力比較チャネル 3の比較イベントを生成する Global Timerのカウント値を設定します。R/W
bitSymbolFieldDescriptionR/W
31:0GPTMR_GTCOMP4Global Timer Output Compare Channel 4 Value出力比較チャネル 4の比較イベントを生成する Global Timerのカウント値を設定します。R/W

Software Interrupt Timer Control Register (Offset: 0x0100)

Software Interrupt Timer Control Registerは、Software Interrupt Timerの制御方法を指定するレジスタです。

このレジスタは、Timer Enable Control Registerの GPTMR_SITENビットをセットする前に設定する必要があります。

bitSymbolFieldDescriptionR/W
31:5-ReservedReserved-
4GPTMR_SITSWRSoftware Interrupt Timer Software ResetSoftware Interrupt Timerのソフトウェアリセットを行うためのビットです。このビットに”1”を書き込むと、Software Interrupt Timerに関連する以下レジスタのリセットを行います。 - Software Interrupt Timer Remaining Register(GPTMR_SITRR) - Software Interrupt Timer Control Register(GPTMR_SITCR) - Software Interrupt Timer Prescaler Register(GPTMR_SITPR) - Software Interrupt Timer Status Register(GPTMR_SITSR) - Software Interrupt Timer Enable Register(GPTMR_SITER) - Software Interrupt Timer Output Compare Register 1-8(GPTMR_SITOCR1-8) リセットが完了すると、このビットは”0”に戻ります。R/W
3:2-ReservedReserved-
1GPTMR_SITRUNMDSoftware Interrupt Timer Run Mode Select出力比較チャネル 1で比較イベントが発生した時の Software Interrupt Timerの動作モードを設定します。0: Restartモード 1: Free Runモード Restartモードは、出力比較チャネル 1で比較イベントが発生した時、Software Interrupt Timerのカウント値を “0”にリセットするモードです。Software Interrupt Timerは 0に戻った後、カウント動作を再開します。Free Runモードは、出力比較チャネル 1で比較イベントが発生した時、Software Interrupt Timerのカウント値をクリアせずカウントを続けるモードです。Software Interrupt Timerが 0xFFFFFFFFになると、Roll Overしカウンターは 0に戻ります。R/W
0GPTMR_SITENBMDSoftware Interrupt Timer Enable Mode SelectTimer Enable Control Registerの GPTMR_SITENビットがセットされた時の Software Interrupt Timerの値を設定します。0: 前回のカウント値からカウントを再開 1: カウント値を 0にクリアしカウントを開始R/W

Software Interrupt Timer Prescaler Register (Offset: 0x0104)

Software Interrupt Timer Prescaler Registerは、Software Interrupt TimerのPrescalerを設定するためのレジスタです。

Software Interrupt Timerは、24 MHzのクロックで動作します。 このレジスタには、Software Interrupt Timerをカウントアップするための、クロックサイクル数を設定します。

このレジスタは、Timer Enable Control Registerの GPTMR_SITENビットをセットする前に設定する必要があります。

bitSymbolFieldDescriptionR/W
31:16-ReservedReserved-
15:0GPTMR_SITPSCSoftware Interrupt Timer PrescaleSoftware Interrupt Timerをカウントアップするための動作クロックに対するサイクル数を設定します。R/W

GPTMR_SITPSCに設定する値は、Software Interrupt Timerの動作クロック周波数 (24 MHz)とカウンターのカウントアップ間隔から、以下の計算で算出することができます。

$GPTMR\_SITPSC = 24 × 10^6 × Software\ Interrupt\ Timer\ Countup\ Interval[s] -1$

Software Interrupt Timer Status Register (Offset: 0x0108)

Software Interrupt Timer Status Registerは、Software Interrupt Timerの割り込みステータスを示すレジスタです。

Software Interrupt Timerに起因する割り込みが発生した時、割り込み要因に対応するビットがセットされます。 それぞれのビットは “1”をセットすると、割り込みをクリアする事ができます。

bitSymbolFieldDescriptionR/W
31:17-ReservedReserved-
16GPTMR_SITROVSTSSoftware Interrupt Timer Rollover FlagSoftware Interrupt TimerのRoll Overが発生した事を示すビットです。Software Interrupt Timerがカウンター動作によって 0xFFFFFFFFから 0x0に戻ったときに本ビットが”1”にセットされます。R/WC
15:8-ReservedReserved-
7GPTMR_SITOCF8STSSoftware Interrupt Timer Output Compare Channel 8 FlagSoftware Interrupt Timer出力比較チャネル8の比較イベントが発生した事を示すビットです。Software Interrupt Timerのカウンター値と Software Interrupt Timer Output Compare Register 8の値が一致したときに “1”にセットされます。R/WC
6GPTMR_SITOCF7STSSoftware Interrupt Timer Output Compare Channel 7 FlagSoftware Interrupt Timer出力比較チャネル7の比較イベントが発生した事を示すビットです。Software Interrupt Timerのカウンター値と Software Interrupt Timer Output Compare Register 7の値が一致したときに “1”にセットされます。R/WC
5GPTMR_SITOCF6STSSoftware Interrupt Timer Output Compare Channel 6 FlagSoftware Interrupt Timer出力比較チャネル6の比較イベントが発生した事を示すビットです。Software Interrupt Timerのカウンター値と Software Interrupt Timer Output Compare Register 6の値が一致したときに “1”にセットされます。R/WC
4GPTMR_SITOCF5STSSoftware Interrupt Timer Output Compare Channel 5 FlagSoftware Interrupt Timer出力比較チャネル5の比較イベントが発生した事を示すビットです。Software Interrupt Timerのカウンター値と Software Interrupt Timer Output Compare Register 5の値が一致したときに “1”にセットされます。R/WC
3GPTMR_SITOCF4STSSoftware Interrupt Timer Output Compare Channel 4 FlagSoftware Interrupt Timer出力比較チャネル4の比較イベントが発生した事を示すビットです。Software Interrupt Timerのカウンター値と Software Interrupt Timer Output Compare Register 4の値が一致したときに “1”にセットされます。R/WC
2GPTMR_SITOCF3STSSoftware Interrupt Timer Output Compare Channel 3 FlagSoftware Interrupt Timer出力比較チャネル3の比較イベントが発生した事を示すビットです。Software Interrupt Timerのカウンター値と Software Interrupt Timer Output Compare Register 3の値が一致したときに “1”にセットされます。R/WC
1GPTMR_SITOCF2STSSoftware Interrupt Timer Output Compare Channel 2 FlagSoftware Interrupt Timer出力比較チャネル2の比較イベントが発生した事を示すビットです。Software Interrupt Timerのカウンター値と Software Interrupt Timer Output Compare Register 2の値が一致したときに “1”にセットされます。R/WC
0GPTMR_SITOCF1STSSoftware Interrupt Timer Output Compare Channel 1 FlagSoftware Interrupt Timer出力比較チャネル1の比較イベントが発生した事を示すビットです。Software Interrupt Timerのカウンター値と Software Interrupt Timer Output Compare Register 1の値が一致したときに “1”にセットされます。R/WC

Software Interrupt Timer Enable Register (Offset: 0x010C)

Software Interrupt Timer Enable Registerは、Software Interrupt Timerの動作において発生した割り込みイベントを割り込み出力信号に通知するか設定するためのレジスタです。

このレジスタで “1”にセットされた割り込みイネーブルビットと、Software Interrupt Timer Status Registerの対応する割り込みステータスビットが “1”にセットされた時、Software Interrupt Timerの割り込みを出力します。

bitSymbolFieldDescriptionR/W
31:17-ReservedReserved-
16GPTMR_SITROVENBSoftware Interrupt Timer Rollover Flag EnableGPTMR_SITROVSTSイベントが発生した時に、割り込み信号を出力するかどうかを設定します。R/W
15:8-ReservedReserved-
7GPTMR_SITOCF8ENBSoftware Interrupt Timer Output Compare Channel 8 Flag EnableGPTMR_SITOCF8STSイベントが発生した時に、割り込み信号を出力するかどうかを設定します。R/W
6GPTMR_SITOCF7ENBSoftware Interrupt Timer Output Compare Channel 7 Flag EnableGPTMR_SITOCF7STSイベントが発生した時に、割り込み信号を出力するかどうかを設定します。R/W
5GPTMR_SITOCF6ENBSoftware Interrupt Timer Output Compare Channel 6 Flag EnableGPTMR_SITOCF6STSイベントが発生した時に、割り込み信号を出力するかどうかを設定します。R/W
4GPTMR_SITOCF5ENBSoftware Interrupt Timer Output Compare Channel 5 Flag EnableGPTMR_SITOCF5STSイベントが発生した時に、割り込み信号を出力するかどうかを設定します。R/W
3GPTMR_SITOCF4ENBSoftware Interrupt Timer Output Compare Channel 4 Flag EnableGPTMR_SITOCF4STSイベントが発生した時に、割り込み信号を出力するかどうかを設定します。R/W
2GPTMR_SITOCF3ENBSoftware Interrupt Timer Output Compare Channel 3 Flag EnableGPTMR_SITOCF3STSイベントが発生した時に、割り込み信号を出力するかどうかを設定します。R/W
1GPTMR_SITOCF2ENBSoftware Interrupt Timer Output Compare Channel 2 Flag EnableGPTMR_SITOCF2STSイベントが発生した時に、割り込み信号を出力するかどうかを設定します。R/W
0GPTMR_SITOCF1ENBSoftware Interrupt Timer Output Compare Channel 1 Flag EnableGPTMR_SITOCF1STSイベントが発生した時に、割り込み信号を出力するかどうかを設定します。R/W

Software Interrupt Timer Output Compare Register 1-8 (Offset: 0x0110-0x012C)

Software Interrupt Timer Output Compare Register 1-8は、Software Interrupt Timerのタイマー出力値に対する比較イベントを生成するための設定レジスタです。

Software Interrupt Timerは、出力比較を行うチャネルは 8つ持っています。 Software Interrupt Timerのカウント値と、本レジスタの設定値が一致したとき、対応するチャネルの比較イベントを生成します。 レジスタの値が “0”に設定されている場合、そのチャネルの出力比較機能は無効になります。

bitSymbolFieldDescriptionR/W
31:0GPTMR_SITCOMP1Software Interrupt Timer Output Compare Channel 1 Value出力比較チャネル 1の比較イベントを生成する Software Interrupt Timerのカウント値を設定します。R/W
bitSymbolFieldDescriptionR/W
31:0GPTMR_SITCOMP2Software Interrupt Timer Output Compare Channel 2 Value出力比較チャネル 2の比較イベントを生成する Software Interrupt Timerのカウント値を設定します。R/W
bitSymbolFieldDescriptionR/W
31:0GPTMR_SITCOMP3Software Interrupt Timer Output Compare Channel 3 Value出力比較チャネル 3の比較イベントを生成する Software Interrupt Timerのカウント値を設定します。R/W
bitSymbolFieldDescriptionR/W
31:0GPTMR_SITCOMP4Software Interrupt Timer Output Compare Channel 4 Value出力比較チャネル 4の比較イベントを生成する Software Interrupt Timerのカウント値を設定します。R/W
bitSymbolFieldDescriptionR/W
31:0GPTMR_SITCOMP5Software Interrupt Timer Output Compare Channel 5 Value出力比較チャネル 5の比較イベントを生成する Software Interrupt Timerのカウント値を設定します。R/W
bitSymbolFieldDescriptionR/W
31:0GPTMR_SITCOMP6Software Interrupt Timer Output Compare Channel 6 Value出力比較チャネル 6の比較イベントを生成する Software Interrupt Timerのカウント値を設定します。R/W
bitSymbolFieldDescriptionR/W
31:0GPTMR_SITCOMP7Software Interrupt Timer Output Compare Channel 7 Value出力比較チャネル 7の比較イベントを生成する Software Interrupt Timerのカウント値を設定します。R/W
bitSymbolFieldDescriptionR/W
31:0GPTMR_SITCOMP8Software Interrupt Timer Output Compare Channel 8 Value出力比較チャネル 8の比較イベントを生成する Software Interrupt Timerのカウント値を設定します。R/W

Hardware Interrupt Timer Control Register (Offset: 0x0200)

Hardware Interrupt Timer Control Registerは、Hardware Interrupt Timerの制御方法を指定するレジスタです。

このレジスタは、Timer Enable Control Registerの GPTMR_HITENビットをセットする前に設定する必要があります。

bitSymbolFieldDescriptionR/W
31:30GPTMR_HITOPMD8Hardware Interrupt Timer Output Compare Channel 8 Operation Mode Select出力比較チャネル 8で比較イベントが発生した時の Hardware Interrupt信号の動作モードを定義するフィールドです。接続相手の IPコア仕様に合わせ設定する必要があります。0b00: 割り込みを無効にします。 0b01: トグル形式で割り込みを出力します。 0b10: パルス形式の割り込みを出力します。 0b11: ハンドシェイク形式の割り込みを出力します。R/W
29:28GPTMR_HITOPMD7Hardware Interrupt Timer Output Compare Channel 7 Operation Mode Select出力比較チャネル 7で比較イベントが発生した時の Hardware Interrupt信号の動作モードを定義するフィールドです。接続相手の IPコア仕様に合わせ設定する必要があります。0b00: 割り込みを無効にします。 0b01: トグル形式で割り込みを出力します。 0b10: パルス形式の割り込みを出力します。 0b11: ハンドシェイク形式の割り込みを出力します。R/W
27:26GPTMR_HITOPMD6Hardware Interrupt Timer Output Compare Channel 6 Operation Mode Select出力比較チャネル 6で比較イベントが発生した時の Hardware Interrupt信号の動作モードを定義するフィールドです。接続相手の IPコア仕様に合わせ設定する必要があります。0b00: 割り込みを無効にします。 0b01: トグル形式で割り込みを出力します。 0b10: パルス形式の割り込みを出力します。 0b11: ハンドシェイク形式の割り込みを出力します。R/W
25:24GPTMR_HITOPMD5Hardware Interrupt Timer Output Compare Channel 5 Operation Mode Select出力比較チャネル 5で比較イベントが発生した時の Hardware Interrupt信号の動作モードを定義するフィールドです。接続相手の IPコア仕様に合わせ設定する必要があります。0b00: 割り込みを無効にします。 0b01: トグル形式で割り込みを出力します。 0b10: パルス形式の割り込みを出力します。 0b11: ハンドシェイク形式の割り込みを出力します。R/W
23:22GPTMR_HITOPMD4Hardware Interrupt Timer Output Compare Channel 4 Operation Mode Select出力比較チャネル 4で比較イベントが発生した時の Hardware Interrupt信号の動作モードを定義するフィールドです。接続相手の IPコア仕様に合わせ設定する必要があります。0b00: 割り込みを無効にします。 0b01: トグル形式で割り込みを出力します。 0b10: パルス形式の割り込みを出力します。 0b11: ハンドシェイク形式の割り込みを出力します。R/W
21:20GPTMR_HITOPMD3Hardware Interrupt Timer Output Compare Channel 3 Operation Mode Select出力比較チャネル 3で比較イベントが発生した時の Hardware Interrupt信号の動作モードを定義するフィールドです。接続相手の IPコア仕様に合わせ設定する必要があります。0b00: 割り込みを無効にします。 0b01: トグル形式で割り込みを出力します。 0b10: パルス形式の割り込みを出力します。 0b11: ハンドシェイク形式の割り込みを出力します。R/W
19:18GPTMR_HITOPMD2Hardware Interrupt Timer Output Compare Channel 2 Operation Mode Select出力比較チャネル 2で比較イベントが発生した時の Hardware Interrupt信号の動作モードを定義するフィールドです。接続相手の IPコア仕様に合わせ設定する必要があります。0b00: 割り込みを無効にします。 0b01: トグル形式で割り込みを出力します。 0b10: パルス形式の割り込みを出力します。 0b11: ハンドシェイク形式の割り込みを出力します。R/W
17:16GPTMR_HITOPMD1Hardware Interrupt Timer Output Compare Channel 1 Operation Mode Select出力比較チャネル 1で比較イベントが発生した時の Hardware Interrupt信号の動作モードを定義するフィールドです。接続相手の IPコア仕様に合わせ設定する必要があります。0b00: 割り込みを無効にします。 0b01: トグル形式で割り込みを出力します。 0b10: パルス形式の割り込みを出力します。 0b11: ハンドシェイク形式の割り込みを出力します。R/W
15:5-ReservedReserved-
4GPTMR_HITSWRHardware Interrupt Timer Hardware ResetHardware Interrupt Timerのソフトウェアリセットを行うためのビットです。このビットに “1”を書き込むと、Hardware Interrupt Timerに関連する以下のレジスタのリセットを行います。 - Hardware Interrupt Timer Remaining Register(GPTMR_HITRR) - Hardware Interrupt Timer Control Register(GPTMR_HITCR) - Hardware Interrupt Timer Prescaler Register(GPTMR_HITPR) - Hardware Interrupt Timer Output Compare Register 1-8(GPTMR_HITOCR1-8) リセットが完了すると、このビットは “0”に戻ります。R/W
3:2-ReservedReserved-
1GPTMR_HITRUNMDHardware Interrupt Timer Run Mode Select出力比較チャネル 1で比較イベントが発生した時の Hardware Interrupt Timerの動作モードを設定します。0: Restartモード 1: Free Runモード Restartモードは、出力比較チャネル 1で比較イベントが発生した時、Hardware Interrupt Timerのカウント値を “0”にリセットするモードです。Hardware Interrupt Timerは 0に戻った後、カウント動作を再開します。Free Runモードは、出力比較チャネル 1で比較イベントが発生した時、Hardware Interrupt Timerのカウント値をクリアせずカウントを続けるモードです。Hardware Interrupt Timerが 0xFFFFFFFFになると、Roll Overしカウンターは 0に戻ります。R/W
0GPTMR_HITENBMDHardware Interrupt Timer Enable Mode SelectTimer Enable Control Registerの GPTMR_HITENビットがセットされた時の Hardware Interrupt Timerの値を設定します。 0: 前回のカウント値からカウントを再開 1: 値を 0にクリアしカウントを開始R/W

Hardware Interrupt Timer Prescaler Register (Offset: 0x0204)

Hardware Interrupt Timer Prescaler Registerは、Hardware Interrupt Timerの Prescalerを設定するためのレジスタです。

Hardware Interrupt Timerは、24 MHzのクロックで動作します。 このレジスタには、Hardware Interrupt Timerをカウントアップするための、クロックサイクル数を設定します。

このレジスタは、Timer Enable Control Registerの GPTMR_HITENビットをセットする前に設定する必要があります。

bitSymbolFieldDescriptionR/W
31:16-ReservedReserved-
15:0GPTMR_HITPSCHardware Interrupt Timer PrescaleHardware Interrupt Timerがカウントアップするための動作クロックに対するサイクル数を設定します。R/W

GPTMR_HITPSCに設定する値は、Hardware Interrupt Timerの動作クロック周波数 (24 MHz)とカウンターのカウントアップ間隔から、以下の計算で算出することができます。

$GPTMR\_HITPSC = 24 × 10^6 × Hardware\ Interrupt\ Timer\ Countup\ Interval[s] -1$

Hardware Interrupt Timer Output Compare Register 1-8 (Offset: 0x0210-0x022C)

Hardware Interrupt Timer Output Compare Register 1-8は、Hardware Interrupt Timerのタイマー出力値に対する比較イベントを生成するための設定レジスタです。

Hardware Interrupt Timerは、出力比較を行うチャネルを 8つ持っています。 Hardware Interrupt Timerのカウント値と、本レジスタの設定値が一致したとき、対応するチャネルの比較イベントを生成します。 このレジスタの値が “0”に設定されている場合、そのチャネルの出力比較機能は無効になります。

bitSymbolFieldDescriptionR/W
31:0GPTMR_HITCOMP1Hardware Interrupt Timer Output Compare Channel 1 Value出力比較チャネル 1の比較イベントを生成する Hardware Interrupt Timerのカウント値を設定します。R/W
bitSymbolFieldDescriptionR/W
31:0GPTMR_HITCOMP2Hardware Interrupt Timer Output Compare Channel 2 Value出力比較チャネル 2の比較イベントを生成する Hardware Interrupt Timerのカウント値を設定します。R/W
bitSymbolFieldDescriptionR/W
31:0GPTMR_HITCOMP3Hardware Interrupt Timer Output Compare Channel 3 Value出力比較チャネル 3の比較イベントを生成する Hardware Interrupt Timerのカウント値を設定します。R/W
bitSymbolFieldDescriptionR/W
31:0GPTMR_HITCOMP4Hardware Interrupt Timer Output Compare Channel 4 Value出力比較チャネル 4の比較イベントを生成する Hardware Interrupt Timerのカウント値を設定します。R/W
bitSymbolFieldDescriptionR/W
31:0GPTMR_HITCOMP5Hardware Interrupt Timer Output Compare Channel 5 Value出力比較チャネル 5の比較イベントを生成する Hardware Interrupt Timerのカウント値を設定します。R/W
bitSymbolFieldDescriptionR/W
31:0GPTMR_HITCOMP6Hardware Interrupt Timer Output Compare Channel 6 Value出力比較チャネル 6の比較イベントを生成する Hardware Interrupt Timerのカウント値を設定します。R/W
bitSymbolFieldDescriptionR/W
31:0GPTMR_HITCOMP7Hardware Interrupt Timer Output Compare Channel 7 Value出力比較チャネル 7の比較イベントを生成する Hardware Interrupt Timerのカウント値を設定します。R/W
bitSymbolFieldDescriptionR/W
31:0GPTMR_HITCOMP8Hardware Interrupt Timer Output Compare Channel 8 Value出力比較チャネル 8の比較イベントを生成する Hardware Interrupt Timerのカウント値を設定します。R/W

General Purpose Timer IP Version Register (Offset: 0xF000)

General Purpose Timer IP Version Registerは、General Purpose Timerの IPコアバージョンを示すレジスタです。

bitSymbolFieldDescriptionR/W
31:24GPTMR_MAJVERGeneral Purpose Timer IP Major VersionGeneral Purpose TimerコアのMajor Versionを示します。RO
23:16GPTMR_MINVERGeneral Purpose Timer IP Minor VersionGeneral Purpose TimerコアのMinor Versionを示します。RO
15:0GPTMR_PATVERGeneral Purpose Timer IP Patch VersionGeneral Purpose TimerコアのPatch Versionを示します。RO