Alligator ユーザーズマニュアル 2013.12.20 版 表紙 (C) 2009-2013 New Japan Radio Co., Ltd. Preliminary Alligator Preliminary 更新履歴 ドラフト初版 ......................................... 2009.07.03 改訂 1 版 ............................................. 2010.01.25 ・UART モジュール: RXBKLVL ビットおよび DMA 機能の仕様削除 ・その他誤記訂正 改訂 2 版 ............................................. 2012.04.12 ・PSPWM モジュール: 2 入力イベント機能の仕様変更 ・PSATD モジュール: 入力バッファアンプ機能削除 ・その他誤記訂正 改訂 3 版 ............................................. 2013.12.20 ・表紙、ヘッダ、フッタ表記変更 ii 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator アウトライン 1 1.1 外部端子 ...............................................................................................................3 1.1.1 機能入出力端子 .............................................................................................3 1.2 動作モード ...........................................................................................................8 1.2.1 モードエントリー .........................................................................................8 1.2.2 ブートモード ................................................................................................9 1.3 メモリマップとメモリ ....................................................................................... 10 1.3.1 IO レジスタマップ ...................................................................................... 11 1.3.2 割り込みベクタ ...........................................................................................17 1.4 割り込み ............................................................................................................. 18 1.4.1 割り込みソース ...........................................................................................18 1.4.2 スリープ動作復帰リソース ......................................................................... 19 1.5 その他の機能...................................................................................................... 20 1.5.1 デバッグ機能 ..............................................................................................20 1.5.2 バスエラー ..................................................................................................21 1.5.3 JTAG ...........................................................................................................21 システム制御(SIM)モジュール 23 2.1 クロック制御...................................................................................................... 23 2.1.1 発振器 ......................................................................................................... 24 2.1.2 生成器 ......................................................................................................... 24 2.1.3 ベースクロック生成.................................................................................... 26 2.2 低消費電力動作 ..................................................................................................26 2.2.1 ソフトウェアによる生成器の設定値変更 ................................................... 27 2.2.2 スリープ動作 ..............................................................................................28 2.3 割り込み例外制御...............................................................................................28 2.3.1 バスタイムアウト ....................................................................................... 30 2.3.2 システム例外 ..............................................................................................30 2.3.3 trap 命令...................................................................................................... 31 2.4 リセット制御...................................................................................................... 31 2.4.1 リセットソース ...........................................................................................32 2.5 COP(Computer-Operated-Properly)................................................................ 34 2.6 WUT (Wake Up Timer) .................................................................................... 35 2.7 ホルト動作 ......................................................................................................... 36 2.8 ホルト動作完了通知 ...........................................................................................36 2.9 モードエントリー...............................................................................................37 2.10 デバッグ機能サポート .....................................................................................37 2.11 レジスタ ...........................................................................................................38 メモリ制御(MEMCTL)モジュール 49 3.1 スタンバイ動作 ..................................................................................................49 3.2 メモリアクセス用ウェイト数............................................................................. 49 3.3 フラッシュ書き込みと消去 ................................................................................ 49 3.3.1 モード設定 ..................................................................................................49 3.3.2 書き込み・消去時間設定 ............................................................................ 49 3.3.3 アドレス設定 ..............................................................................................50 3.3.4 書き込み・消去設定.................................................................................... 50 3.3.5 セキュリティ認証 ....................................................................................... 51 3.4 レジスタ ............................................................................................................. 52 プログラムメモリ(PMEM) モジュール 59 4.1 アウトライン...................................................................................................... 59 4.2 プログラム用フラッシュ ROM(PFLASH)........................................................60 4.2.1 メモリマップ ..............................................................................................61 4.2.2 実体フラッシュ ROM とバスウェイトサイクル ......................................... 62 4.2.3 P バスアクセス ...........................................................................................62 4.2.4 X バスアクセス ...........................................................................................62 4.3 ベクタ用 RAM(VRAM).................................................................................... 63 4.4 ブート ROM(BROM)....................................................................................... 63 4.5 ラインバッファによる P バスアクセス..............................................................63 4.5.1 ラインバッファに関するレジスタビットの書込みと更新 ..........................64 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. iii 頁 Alligator Preliminary 4.5.2 ラインバッファのライン数の設定 ..............................................................64 4.5.3 PFLASH のラインバッファリング..............................................................65 4.6 セキュリティ...................................................................................................... 65 4.7 低消費電力動作 ..................................................................................................65 4.8 レジスタ ............................................................................................................. 65 データメモリ(DMEM) モジュール 67 5.1 アウトライン...................................................................................................... 67 5.2 セキュリティ...................................................................................................... 67 5.3 低消費電力動作 ..................................................................................................67 5.4 レジスタ ............................................................................................................. 67 ブートプログラム (BootPGM) 69 6.1 MMI2C によるブート起動 ..................................................................................71 6.2 UART によるブート起動 .................................................................................... 72 汎用入出力ポート(GPIO)モジュール 73 7.1 端子入出力部...................................................................................................... 75 7.1.1 端子入出力部端子機能 ................................................................................ 76 7.2 端子接続選択部 ..................................................................................................79 7.2.1 シリアル(UART/SPI.A/MMI2C) モジュール接続端子 ............................... 81 7.2.2 タイマー(RTM2/GPT) モジュール接続端子 ............................................. 81 7.2.3 外部割込みモジュール(EXTHIRQ) 接続端子 ............................................ 82 7.2.4 電源制御用 A/D 変換(PSATD) モジュール接続端子 .................................85 7.2.5 電源制御用 PWM(PSPWM)モジュール接続端子 ................................... 86 7.2.6 コンパレータモジュール(COMP3) 接続端子............................................ 88 7.3 モジュール入力生成部 ....................................................................................... 90 7.3.1 モジュール端子の設定 ................................................................................ 93 7.4 レジスタ ............................................................................................................. 95 外部高速割込み(EXTHIRQ)モジュール 101 8.1 非同期割込み制御回路 .....................................................................................102 8.2 同期割込み制御回路 .........................................................................................104 8.3 レジスタ ...........................................................................................................106 リアルタイマー 2(RTM2)モジュール 109 9.1.1 プリスケーラとクロック生成 ...................................................................109 9.1.2 カウンタ....................................................................................................110 9.1.3 比較チャンネル .........................................................................................111 9.2 デバッグ機能サポート .....................................................................................111 9.3 レジスタ ...........................................................................................................112 汎用タイマー(GPT) モジュール 117 10.1 機能ブロック部 ..............................................................................................118 10.1.1 プリスケーラ ..........................................................................................118 10.1.2 カウンタ機能部.......................................................................................118 10.1.3 チャンネル機能部 ...................................................................................123 10.2 入力制御部 .....................................................................................................127 10.3 出力制御部 .....................................................................................................127 10.3.1 アウトプットコンペア動作 .....................................................................128 10.3.2 PWM 動作 ...............................................................................................129 10.4 割込み.............................................................................................................135 10.5 デバッグ機能サポート ...................................................................................135 10.6 レジスタ .........................................................................................................136 10.6.1 MAP ビットセット..................................................................................141 UART(UART)モジュール 145 11.1 全体概要 .........................................................................................................146 11.2 データ受信 .....................................................................................................149 11.2.1 受信方法..................................................................................................150 11.3 データ送信 .....................................................................................................151 11.3.1 送信方法..................................................................................................151 11.4 特殊動作 .........................................................................................................152 11.5 LIN 動作への対応 ...........................................................................................153 11.6 レジスタ .........................................................................................................154 iv 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator MMI2C(MMI2C)モジュール 161 12.1 基本動作 .........................................................................................................164 12.2 基本バイト転送方法 .......................................................................................165 12.2.1 スタートパケット / リピートスタートパケット / データパケット検出 ..165 12.2.2 データとアクノレッジ状態.....................................................................165 12.2.3 I2CF ビット.............................................................................................165 12.2.4 エラー状態 ..............................................................................................166 12.3 パケット .........................................................................................................167 12.4 実行フレーム..................................................................................................168 12.4.1 アドレスフレーム ...................................................................................170 12.4.2 データフレーム.......................................................................................177 12.4.3 ストップフレーム ...................................................................................181 12.4.4 マスターとスレーブ動作 ........................................................................183 12.5 レジスタ .........................................................................................................186 SPI(SPI.A)モジュール 193 13.1 SPI 動作 .........................................................................................................194 13.1.1 マスター動作 ..........................................................................................195 13.1.2 スレーブ動作 ..........................................................................................196 13.2 レジスタ .........................................................................................................197 電源制御用 PWM(PSPWM) モジュール 201 14.1 クロック系統..................................................................................................201 14.2 ハードウェア動作...........................................................................................203 14.2.1 カウンタコンペア基本回路動作..............................................................203 14.2.2 PWM 基本回路 ........................................................................................204 14.3 PWM チャンネル部 ........................................................................................209 14.3.1 クロック系回路.......................................................................................209 14.3.2 主 PWM 生成器と副 PWM 生成器 ..........................................................209 14.4 微細モードと通常モード................................................................................213 14.4.1 微細モード ..............................................................................................214 14.4.2 通常モード ..............................................................................................216 14.5 PWM チャンネル動作方式 .............................................................................218 14.5.1 相補付き PWM 動作方式.........................................................................220 14.5.2 相補付き PWM2 動作方式.......................................................................228 14.5.3 2 相 PWM 動作方式.................................................................................233 14.5.4 基本 PWM 動作方式 ................................................................................236 14.5.5 DAT 側レジスタの更新 ...........................................................................240 14.5.6 PWMDATx レジスタのホストアクセス ..................................................240 14.5.7 カウンタのホストアクセス.....................................................................241 14.5.8 PWM チャンネル状態と割り込み ...........................................................241 14.5.9 PWM 出力ハードウェア..........................................................................243 14.5.10 チャンネル制御出力信号 ......................................................................245 14.6 PWM チャンネル部イベント機能とキャプチャ機能......................................247 14.6.1 PWM チャンネル入力部..........................................................................247 14.6.2 イベント動作 ..........................................................................................254 14.6.3 キャプチャ動作.......................................................................................270 14.7 PWM チャンネル制御部 .................................................................................271 14.7.1 複数チャンネル連携動作 ........................................................................271 14.7.2 イベント機能部の拡張設定.....................................................................275 14.8 制御出力 .........................................................................................................276 14.9 割込み.............................................................................................................283 14.10 ホストアクセス ............................................................................................284 14.11 デバッグ機能サポート .................................................................................286 14.12 レジスタ .......................................................................................................287 14.12.1 PWM コンフィグレジスタ ....................................................................289 14.12.2 PWM チャンネルコンフィグレジスタ ..................................................290 14.12.3 PWM 制御 / 状態 / データレジスタ .......................................................294 複数 PWM チャンネル動作例 303 電源制御用 A/D 変換(PSATD) モジュール 315 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. v頁 Alligator Preliminary 15.1 モジュールの使用許可 ...................................................................................315 15.2 ADC クロック ................................................................................................316 15.3 ATD タイマー .................................................................................................317 15.4 アナログ A/D 変換部の設定............................................................................318 15.5 ADC 入力チャンネル部 ..................................................................................319 15.6 A/D 変換方法 ..................................................................................................319 15.6.1 入力チャンネル毎の A/D 変換処理 .........................................................320 15.6.2 同時サンプル機能 ...................................................................................325 15.7 変換動作選択..................................................................................................326 15.7.1 ソフトウェア起動動作 ............................................................................327 15.7.2 ハードウェア起動動作 ............................................................................327 15.8 変換後の処理とデータ ...................................................................................333 15.8.1 変換データ処理.......................................................................................333 15.8.2 ポストデータ処理 ...................................................................................333 15.8.3 データレジスタの格納と ACTy ビット ...................................................334 15.8.4 ポストデータ処理のデータレジスタ ......................................................336 15.9 割込み.............................................................................................................336 15.10 ホストアクセス ............................................................................................337 15.11 レジスタ .......................................................................................................340 コンパレータ(COMP3) モジュール 355 16.1 レジスタ .........................................................................................................357 vi 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. Alligator vii 頁 Alligator Preliminary アウトライン このチップは 16 ビットの DSP である "XIMO16" をコアとした、計測制御用マイコンに必要な基本 的なモジュールを内部に持ったデバイスです。 内部には最大 256 ワードの IO 領域にマッピングされた MMI2C や SPI.A などの通信モジュール、波 形生成機能を持つ PSPWM、12 ビット最大 2MHz 動作の PSATD、約 16K ワードのプログラムとデー タ用フラッシュ ROM、約 4K ワードのプログラム用 RAM、約 2K ワードのデータ用 RAM があります。 内部バスは DSP のプログラムを転送する P バス、データバスのうち読み書き可能な X バス、積和 演算の係数等読み出し等に使用する Y バスがあります。また、IO ペリフェラルモジュールは X バスま たは S バスを使用します。 ■ 注意事項 本技術資料に掲載されている製品の仕様等は、予告なく変更することがあります。ご使用にあたっ ては、納入仕様書の取り交わしが必要です。また、掲載内容の正確さには万全を期しておりますが、掲 載内容について何らかの法的な保証を行うものではありません。 製品の外部端子は、製品パッケージにより異なります。引き出されない端子状態は、標準で表 1-3: のプルアップ/プルダウン設定に従います。 1頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 1-1: Alligator ブロック図 TESTMODE XIMO16 TEST (RESETB) (STOPEN) TMS TCK TDI TDO TRSTB GPIO BSCAN X ブリッジ SPCK SPDA SPDB RDYB EXTCLK TXD RXD EXTCLK UART DBG16A TDEB OSCI OSCO OSCI OSCO SIM STOPENB PMEM MODE0 MODE1 PFLASH RESETB MEMCTL MMI2C TIMI[7:0] TIMO[7:0] RESETB MONCLK LVI CDRESETB CLKGEN PWRON EVT[1:0] (TESTMODE) (PA6) RESETOB COPOUTB MONCLK EXTCLK [3:0] STOPEN IMRESETB H バス S バス GPIOB (PORT)[7:0] TIFM TDEB DMEM SCL SDA EXTCLK GPIOB(SFOUT/DDR)[7:0] P SPI.A IO バス制御 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 Y バス制御 BBRG GPIOA(SFOUT/DDR)[7:6] GPIOA(PORT)[7:0] (CLKMONENB) PA4 PA5 PA6 PA7 TMS TCK TDI TDO TRSTB GPT MRSTB PLL EXTHIRQ VPP/TM[2:0] EXTIRQ[1:0] PWRONENB LVIENB CLKMONENB RTM2 PSATD EXTCLKA EXTCLKB PCLK GPIOC(PORT)[7:0] PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 GPIOC(SFOUT/DDR)[7:0] EXTCLK AYEXTCLK 2 15 [14:13] CTLIN [14:0] [14:0] [12:0] AVDD AVSS 13 1 [13] [12:0] VRH VRL [13:0] AVDD AVSS VRH VRL 14 I (PC3) R COMPO[1] GPIOD(PORT)[7:0] I (PC5) R COMPO[2] PD0 PD1 PD2 PD3 PD4 PD5 PD6 PD7 (PC4) 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. PSPWM (PC2) COMPO[0] PWM0[0] PWM0B[0] PWM0[1] PWM0B[1] PWM0[2] PWM0B[2] PWM0[3] PWM0B[3] R PWMCO[13:0] I (PC1) PCLK (PC0) PWM[0] PWMI[1] PWMI[2] PWMI[3] COMP3 AN15 AN14 AN13 AN12 AN11 AN10 AN9 AN8 AN7 AN6 AN5 AN4 AN3 AN2 AN1 AN0 (AVSS) AN11 AN10 AN9 AN8 AN7 AN6 AN5 AN4 AN3 AN2 AN1 AN0 2頁 Alligator Preliminary 外部端子 1.1 外部端子は、機能入出力端子、デジタル内部電源端子、デジタル入出力用の電源端子、アナログ電 源端子、PLL 専用電源端子で構成されます。すべての出力端子と入出力端子はリセット端子によりデ バイス内のクロックに非同期でハイインピーダンス状態になります。 1.1.1 機能入出力端子 機能入出力端子には、合計 50 本の機能端子と合計 10 本のシステム端子があります。少ピン仕様対 応のため、デバッグ用端子を簡易 JTAG 機能に選択し、機能端子を 42 本に減らすことも可能です。そ の場合、STOPEN 端子は GND 端子の隣に TIFM 端子は VDD 端子の隣に置かなければなりません。 • 出力ドライバを使用する MMI2C 用端子、UART 出力端子、SPI.A 入出用端子は GPIO モ ジュールの MODOUT ビットをセットした場合にオープンドレインでドライブされることがあ ります。 • RESETB 端子は SIM モジュールの RESETB 端子と IMRESETB 端子に入力、RESETOB 信号 と COPOUTB 信号のいずれかがアクティブ(ローレベル)であるときに、ローレベル出力で あるオープンドレイン端子です。 • COMP3 モジュールの全チャンネルの入力端子(COMPI[2:0]) と参照電圧端子(COMPR[2:0]) は PC0 から PC5 までの端子に常に接続されます。 • PSPWM モジュールの PWMO[3:0] と PWMOB[3:0] 端子は外部専用端子である PD0 から PD7 までの端子を使用します。端子レベルは GPIO モジュールを通して、読み出すことも可能で す。 • PSATD モジュールの全端子は外部専用端子を使用します。 - AVDD 端子と VRH 端子は隣り合った位置にあります。LSI 内、あるいは、パッケージ 中で接続されて入 / 出力されることがあります。 - AVSS 端子と VRL 端子は隣り合った位置にあります。LSI 内、あるいは、パッケージ 中で接続されて入 / 出力されることがあります。 システム端子の使用については、ユーザー解放はしていません。 • STOPEN 端子がハイレベルであるとき、スリープストップ動作の使用が許可になります。ロー レベルであるときは、スリープストップ動作は使用できません。この端子は GND 端子の隣に 置かれます。 • TIFM 端子ではデバッグ用端子機能の選択に使用されます。この端子がハイレベルであるとき は、通常の JTAG 動作になります。この端子がローレベルであるときは、簡易 JTAG 動作にな ります。この端子は VDD 端子の隣に置かれます。 - デフォルトでは TIFM 端子はハイレベルであり、JTAG 動作が使用されます。 - JTAG 動作では TRSTB 端子、TMS 端子、TCK 端子、TDI 端子、TDO 端子、TDEB 端 子の合計 6 本の端子をデバッグ動作に使用します。 - 簡易 JTAG 動作ではバウンダリスキャン機能(JTAG 機能)は使用できません。また、 TCK 端子、TDI 端子、TDO 端子の合計 3 本の端子を使用します。TDEB 端子は常にハ イレベル出力されます。 • デバッグ / テスト用端子として、PWRONENB 端子、LVIENB 端子、CLKMONENB 端子、 MRSTB 端子、PWRDWNB 端子があります。 - PWRONENB 端子がローレベルであるときは、パワーオン回路出力が使用され、ハイ レベルであるときはパワーオン回路出力が常にアクティブ(常に電源投入を示す)に なります。 - LVIENB 端子がローレベルであるときは、電源監視回路出力が使用され、ハイレベル であるときは電源開始回路出力が常にアクティブ(常に電源電圧が安定している)に なります。 3頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator - CLKMONENB 端子がローレベルであるときは、クロックモニター回路出力が使用さ れ、ハイレベルであるときはクロックモニター回路出力が常にアクティブ(常にク ロックが安定している)になります。 - MRSTB 端子はローレベルであるとマスターリセットとして、すべてを初期化します。 - 通常は PWRONENB 端子、LVIENB 端子、CLKMONENB 端子はローレベルで活性化 状態、MRSTB 端子、PWRDWNB 端子は不活性状態にあります。 • VPP/TM0/TM1/TM2 端子は PROM のテスト用端子です。 このインテグレーションでの内部モジュール固定端子と外部端子の接続を表 1-1 に示します。 表 1-1:外部端子とモジュール接続固定端子 端子 モジュール 信号名 方向 RESETB 入/ ロー 出 入出力信号 少ピ ン 信号名 方向 ○ RESETB 入 IMRESETB 入 即時リセット RESETB 出 リセット出力 モジュール名 機能 SIM 外部リセット COPOUTB 出 入 ○ OSCI (入) OSCO 出 ○ OSCO (出) TMS 入出 - TMS 入出 TCK 入出 ○ TCK 入出 JTAG データクロック TDI 入出 ○ TDI 入出 JTAG データ入力 OSCI COP 出力 OSC 発振器入力 発振器出力 BSCANA デバッグ TDO 入出 ○ TDO 入出 JTAG データ出力 TRSTB 入 - TRSTB 入 JTAG リセット TDEB 入出 - TDEB 入出 DBG16A デバッグイネーブル TESTMODE 入 ○ - (入) TEST テストモード PA4 入出 - PA5 入出 - PA6 入出 ○ PA7 入出 ○ PB0 入出 ○ PB1 入出 ○ PB2 入出 ○ PB3 入出 ○ PB4 入出 ○ PB5 入出 ○ PB6 入出 ○ PB7 入出 ○ - PC0 入出 ○ COMPI[0] 入 PC1 入出 ○ COMPR[0] 入 コンペア 0 参照 PC2 入入 ○ COMPI[1] 入 コンペア 1 入力 PC3 入出 - COMPR[1] 入 コンペア 1 参照 PC4 入出 ○ COMPI[2] 入 コンペア 2 入力 PC5 入出 - COMPR[2] 入 コンペア 2 参照 PC6 入出 ○ PC7 入出 ○ 2013.12.20 版 COMP3 コンペア 0 入力 - (C) 2009-2013 New Japan Radio Co., Ltd. 4頁 Alligator Preliminary 表 1-1:外部端子とモジュール接続固定端子 端子 モジュール 信号名 方向 PD0 出 PD1 少ピ ン 入出力信号 信号名 方向 ○ PWMO[0] 出 ○ PWMOB[0] モジュール名 機能 PSPWM PWMO[0] 出力 PWMOB[0] 出力 PD2 ○ PWMO[1] PWMO[1] 出力 PD3 ○ PWMOB[1] PWMOB[1] 出力 PD4 ○ PWMO[2] PWMO[2] 出力 PD5 - PWMOB[2] PWMOB[2] 出力 PD6 ○ PWMO[3] PWMO[3] 出力 PD7 - PWMOB[3] PWMOB[3] 出力 AN0 ○ AN0 AN1 入 ○ AN1 PSATD 入力 1(アナログ) AN2 ○ AN2 PSATD 入力 2(アナログ) AN3 ○ AN3 PSATD 入力 3(アナログ) AN4 ○ AN4 PSATD 入力 4(アナログ) AN5 ○ AN5 PSATD 入力 5(アナログ) AN6 ○ AN6 PSATD 入力 6(アナログ) AN7 ○ AN7 PSATD 入力 7(アナログ) AN8 ○ AN8 PSATD 入力 8(アナログ) AN9 ○ AN9 PSATD 入力 9(アナログ) AN10 - AN10 PSATD 入力 10(アナログ) AN11 - AN11 PSATD 入力 11(アナログ) AVDD ○ AVDD アナログ電源 VRH 参照ハイ側電圧 AVSS アナロググランド VRL 参照ロー側電圧 VRH AVSS ○ VRL 入 PSATD PSATD 入力0(アナログ) システム端子(テスト用 / 固定端子 / ユーザー使用禁止) - STOPENB 入 MRSTB - MRST 入 TIFM - TIFM 入 PWRONENB - STOPEN 入 - SIM 発振器停止許可 DBG16A デバッグ端子モード選択 POWERON PWRON 使用許可 マスターリセット LVIENB - - LVI LVI 使用許可 CLKMONENB - - MONCLK クロックモニター使用許可 VPP - VPP TM0 入出 - TM0 TM1 - TM1 TM2 - TM2 入出 PFLASH フラッシュ ROM 用高電圧電源 フラッシュ ROM 用アナログテスト機能 [2:0] モジュールの端子は前述した1)外部端子に直接接続2)他のモジュールに直接接続3)GPIO モ ジュールを通して外部端子あるいは他のモジュールに直接接続に分類できます。表 1-2 で示すモジュー ル接続端子は2)あるいは3)のケースを示します。 5頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 1-2:モジュール接続端子 モジュール端子 信号名 方向 本数 TXD 入出 1 モジュール名 接続先 機能 UART GPIO UART TXD RXD 入出 1 UART RXD EXTCLK 入 1 UART 外部クロック入力 SPCK 入出 1 SPDA 入出 1 SPI シリアルデータ A SPDB 入出 1 SPI シリアルデータ B RDYB 入 1 SPI スレーブレディ EXTCLK 入 1 SCL 入出 1 SDA 入出 1 I2C データ EXTCLK 入 1 MMI2C 外部クロック入力 EXTCLKA 入 1 EXTCLKB 入 1 SPI.A GPIO SPI シリアルクロック SPI 外部クロック入力 MMI2C RTM2 GPIO I2C クロック GPIO RTIM2 外部クロック入力 A RTIM2 外部クロック入力 B TIMI[7:0] 入 8 TIMO[7:0] 出 8 GPT チャンネル 出力 EXTCLK[3:0] 入 4 GPT 外部クロック EVT[1:0] 入 2 GPT 外部イベント PWMI[3:0] 入 4 PWMCO[12:0] 出 13 PWMCO[13] 出 1 EXTCLK 入 1 AYEXTCLK 入 1 CTLIN[13:0] 入 14 GPT PSPWM PSATD GPIO GPT チャンネル 入力 GPIO(COMP3) PWM 入力チャンネル PSATD PWM 制御出力 GPIO PWM 制御出力 GPIO PSATD 外部クロック PSATD 外部非同期クロック入力 PSPWM PSATD 制御入力 CTLIN[14] 入 1 GPIO PSATD 制御入力 EXTIRQ[1:0] 入 2 EXTHIRQ GPIO 外部割込み入力 COMPO[2:0] 出 3 COMP3 GPIO COMP3 出力 信号とドライブレベル、プルアップ / プルダウン等を示します : • RESETB 端子はシュミットレベル入力とオープンドレイン出力となります。 • 他の端子は CMOS レベル入力、CMOS ドライブ出力になります。 • ドライバ中の P は P チャンネルトランジスタドライブでハイ側ドライバ、N は N チャンネル トランジスタドライブはロー側ドライバを示します。ハイインピーダンス出力可能なドライバ は Z が付いています。一般的には CMOS ドライブで PNZ、オープンドレインドライブでは NZ になります。 • 出力バッファのドライバ電流駆動能力については、TDO 端子と TDEB 端子は 8mA、他の端子 は 4mA ドライブになります。 • リセットはリセット中の端子レベルを示します。W-H はプルアップ抵抗によるハイレベル、 W-L はプルダウン抵抗によるローレベル、L はローレベル、H はハイレベル、Z はハイイン ピーダンスを示します。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 6頁 Alligator Preliminary 表 1-3:外部端子とドライブ 端子 備考 リセット 機能 入出 力 名 - - IMRESETB 入 SIM - RESETB 入 NZ - RESETOB 出 COPOUTB 出 - OSCI (入) - OSCO (出) W-H TMS 入出 W-H TCK 入出 W-H TDI 入出 信号名 方向 ドライバ RESETB 入/ オー プン ドレ イン 出 入 (-) OSCO 出 (PN) TMS 入出 PNZ アップ TCK 入出 PNZ アップ TDI 入出 PNZ アップ OSCI プル TDO 入出 PNZ アップ W-H TDO 入出 TRSTB 入 - ダウン W-L TRSTB 入 OSC DBG16A TDEB 入出 PNZ H TDEB TESTMODE 入 - - - PA4 入出 PNZ Z PA5 入出 PNZ PA6 入出 PNZ PA7 入出 PNZ PB0 入出 PNZ PB1 入出 PNZ PB2 入出 PNZ PB3 入出 PNZ PB4 入出 PNZ PB5 入出 PNZ PB6 入出 PNZ PB7 入出 PNZ PC0 入出 PNZ COMPI[0] 入 PC1 入出 PNZ COMPR[0] 入 デジアナ共用 PC2 入出 PNZ COMPI[1] 入 デジアナ共用 PC3 入出 PNZ COMPR[1] 入 デジアナ共用 PC4 入出 PNZ COMPI[2] 入 デジアナ共用 PC5 入出 PNZ COMPR[2] 入 デジアナ共用 PC6 入出 PNZ PC7 入出 PNZ PD0 入/ 出 PNZ PD1 7頁 モジュール 入出 (入) (テスト) - Z Z COMP3 デジアナ共用 - Z PWMO[0] 出 PSPWM 1GHzPWM 出力可能 PWMOB[0] PD2 PWMO[1] PD3 PWMOB[1] PD4 PWMO[2] PD5 PWMOB[2] PD6 PWMO[3] PD7 PWMOB[3] (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 1-3:外部端子とドライブ 端子 信号名 方向 ドライバ AN0 入 - モジュール プル リセット 機能 入出 力 名 - AN0 入 PSATD アナログ AN1 AN1 アナログ AN2 AN2 アナログ AN3 AN3 アナログ AN4 AN4 アナログ AN5 AN5 アナログ AN6 AN6 アナログ AN7 AN7 アナログ AN8 AN8 アナログ AN9 AN9 アナログ AN10 AN10 アナログ AN11 AVDD AN11 入出 AVDD 入出 AVSS VRH アナログ 入出 AVDD と VRH は隣接 入出 AVSS と VRL は隣接 VRH AVSS VRL VRL STOPEN 入 - MRSTB - TIFM - アップ W-H STOPENB W-H ダウン W-L 入 SIM GND 端子の隣 入 DBG16A VDD 端子の隣 TIFM PWRONENB - POWERON LVIENB - LVI CLKMONENB VPP 1.2 備考 入出 - - VPP TM0 TM0 TM1 TM1 TM2 TM2 MONCLK 入出 PFLASH 高電圧 アナログ 高電圧 動作モード このデバイスにはテスト動作を示すテストモードと、ユーザー動作を示すユーザーモード及びブー トモードがあります。ユーザーモードとブートモードは例外処理ベクタが異なり、ブートモードはデ バイス起動時にブート ROM コードを実行するように動作します。(ブートモードのリセットベクタは ブート ROM コードの先頭アドレスを指し示します。) 1.2.1 モードエントリー 各モードエントリーは TESTMODE 端子、RESETB 端子と JTAG 関連端子の状態で定められます。 また、デバッガーなどで JTAG を使用している JTAG アクティブ状態と JTAG を使用していない JTAG 初期化状態とでモードエントリー方法が異なります。 表 1-4 及び表 1-5 では JTAG 初期化状態と JTAG アクティブ状態でのユーザー/ ブートモードのエン トリー方法及び、モードの保持の方法を示します。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 8頁 Alligator Preliminary 表 1-4:JTAG 初期化状態モードエントリー モード JTAG 状態 TESTMODE テストモード * Hi RESETB TIFM ユーザーモード 通常 JTAG Lo 簡易 JTAG Lo − Hi Hi ブートモード 通常 JTAG Hi Lo − Lo TCK TDI − Hi Lo − Hi Lo − Lo Hi 簡易 JTAG ユーザーブート保持 TRSTB * Lo Hi − • JTAG 初期化状態では、TDI 端子によってユーザー / ブートモードを決定できます。 - 通常 JTAG 状態では TIFM 端子をハイレベルかつ TRSTB 端子をローレベルにしなけれ ばなりません。 - 簡易 JTAG 状態では TIFM 端子をローレベルかつ TCK 端子をハイレベルにしなければ なりません。JTAG アクティブ状態から JTAG 初期化状態への移行は、TCK 端子をハ イレベルに固定し、システムクロック 4096 サイクル後になります。 表 1-5:JTAG アクティブ状態モードエントリー モード JTAG 状態 TESTMODE テストモード * Hi ユーザーモード 通常 JTAG Lo ブートモード RESETB TRSTB PB7 Hi Hi Hi 簡易 JTAG Lo − Hi 通常 JTAG Hi Hi Lo Lo − Lo − Lo 簡易 JTAG ユーザーブート保持 TIFM * Hi − • JTAG アクティブ状態では、PB7 端子によってユーザー / ブートモードを決定できます。 - 通常 JTAG 状態では TIFM 端子と TRSTB 端子をハイレベルにしなければなりません。 - 簡易 JTAG 状態では TIFM 端子をローレベルにしなければなりません。 • TESTMODE 端子がハイレベルであるとき、常にテストモードになります。 • TESTMODE 端子がローレベルであるとき、RESETB 端子をローレベルからハイレベルにする ことでユーザー / ブートモードを保持することが出来ます。 1.2.2 ブートモード ブートプログラムは MMI2C あるいは UART を使用して、内部メモリにデータを書き込みます。 ブート動作での起動デバイスの選択は PC6 端子、PC7 端子で行われます。この端子による起動デバ イスの選択はソフトウェアにより GPIO モジュールを通して行われます。 表 1-6:ブート動作 ブート選択 機能端子 ブート起動 PC6 PC7 PA6 PA7 Hi Hi - - 選択無し TXD RXD UART 起動 Lo 9頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 1-6:ブート動作 ブート選択 機能端子 ブート起動 PC6 PC7 PA6 PA7 Hi Lo SCL SDA Lo MMI2C マスター起動 MMI2C スレーブ起動 ユーザー動作時のブートモードでの起動デバイスの選択は以下になります: • PC7 端子と PC6 端子がハイレベルであると即座にブートジャンプをします。 • PC7 端子がハイレベルかつ PC6 端子がローレベルであると UART によるブート起動になりま す。TXD は PA6 端子、RXD は PA7 端子を使用します。 • PC7 端子がローレベルであると MMI2C によるブート起動になります。ブートマスター選択端 子は PC6 端子となり、ハイレベルであればマスター動作、ローレベルであればスレーブ動作 が選択されます。SCL は PA6 端子、SDA は PA7 端子を使用します。 1.3 メモリマップとメモリ このデバイスは 64K ワードのアドレス空間をもちます。0x0000 から 0x00ff までを 256 ワードの IO 空間、0x800 から 0x0FFF までをデータ用 RAM からなる DMEM、0x6000 から 0xFFFF までを、プロ グラム用メモリとしてユーザープログラムや例外処理ベクタやブートメモリ空間を持ち、PROM や RAM からなる PMEM とします(DMEM、PMEM はモジュール仕様書参照)。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 10 頁 Alligator Preliminary 図 1-2: メモリマップ P バス 256 2K 0x0000 0x00FF X バス Y バス S バス IO (256) I/O 0x0800 DRAM 0x0FFF 0x6000 PRAM 4K 64 0x6DFF 0x6E00 0x6E3F PREG 0xC000 PROM 16K 0xFCFF 0xFD00 512 224 28 4 1.3.1 0xFEFF 0xFF00 0xFFDF 0xFFE0 0xFFFB 0xFFFC 0xFFFF BROM PROM VRAM PROM IO レジスタマップ IO レジスタは 0x0000 から 0xff の 256 ワードのアドレス空間におかれます。バス接続は S バスある いは X バスになります。表 1-7 は 0x0000 からのオフセットアドレスになります。 11 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 1-7:IO 領域レジスタ アドレス モジュール バス接続 0x00 SIM X バス レジスタ名 SIM コンフィグ SIMCFG 0x01 SIM 制御 SIMCTL 0x02 生成器制御 SIMCGEN 0x03 ベースクロック制御 SIMBASE 0x04 COP 制御 SIMCOPCL 0x05 COP データ SIMCOPDT 0x06 WUT 制御 SIMWUT 0x07 (予約) 0x08 SIM 割込み制御 0 SIMINT0 0x09 SIM 割込み制御 1 SIMINT1 0x0a SIM 割込み制御 2 SIMINT2 0x0b SIM 割込み制御 3 SIMINT3 0x0c SIM 割込み状態 SIMINTS 0x0d システム例外処理 SIMEXCP 0x0e バスエラー制御 SIMBERCL バスエラーアドレス SIMBERAD デバッグ制御 A DBGCTLA 0x0f 0x10 DBG X バス 0x11 デバッグ制御 B DBGCTLB 0x12 デバッグ状態 A DBGSTATA 0x13 デバッグ状態 B DBGSTATB 0x14 デバッグ内部制御 0A DBGCR0A 0x15 デバッグ内部制御 0B DBGCR0B 0x16 デバッグ内部制御 1A DBGCR1A 0x17 デバッグ内部制御 1B DBGCR1B 0x18 デバッグ内部制御 2A DBGCR2A 0x19 デバッグ内部制御 2B DBGCR2B 0x1a デバッグ内部制御 3 DBGCR3 0x1b デバッグ内部制御 4 DBGCR4 0x1c デバッグ内部制御 5 DBGCR5 0x1d デバッグ内部状態 DBGSR 0x1e デバッグ制御 6A DBGCR6A 0x1f デバッグ制御 6B DBGCR6B 0x20 メモリ制御設定 MEMCTL 0x21 メモリ制御ウェイト数設定 MEMWAIT 0x22 メモリ制御フラッシュ制御 0 MEMFL0 0x23 メモリ制御フラッシュ制御 1 MEMFL1 0x24 メモリ制御フラッシュ制御 2 MEMFL2 0x25 メモリ制御フラッシュ制御 3 MEMFL3 0x26 メモリ制御オプション 0 MEMOPT0 メモリ制御オプション 1 MEMOPT1 メモリ制御オプション 2 MEMOPT2 0x27 0x28 MEMCTL X バス 0x29 (予約) 0x2a メモリ制御プログラムメモリ 0x2b-2d MEMPMEM (予約) 0x2e メモリ制御セキュリティ設定 MEMSEC 0x2f メモリ制御セキュリティデータ MEMSECDT 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 12 頁 Alligator Preliminary 表 1-7:IO 領域レジスタ アドレス モジュール バス接続 0X30 RTM2 X バス レジスタ名 RTM 制御 RTMCTL 0x31 RTM カウンタ A RTMCTA 0x32 RTM カウンタ B RTMCTB 0x33 RTM チャンネル制御 RTMCHCTL 0x34 RTM チャンネル 0 比較 RTMCH0 0x35 RTM チャンネル 1 比較 RTMCH1 0x36 RTM チャンネル 2 比較 RTMCH2 0x37 0X38 SPI.A S バス RTM チャンネル 3 比較 RTMCH3 SPI コンフィグ SPICFG 0x39 SPI 制御 SPICTL 0X3a SPI データ SPIDAT 0x3b 0x3c (予約) EXTHIRQ X バス 外部高速割込み制御 COMP3 S バス コンパレータ制御 UART S バス UART コンフィグ 0 UARTCFG0 0x41 UART コンフィグ 1 UARTCFG1 0x42 UART コンフィグ 2 UARTCFG2 0x43 UART 制御 UARTCTL 0x44 UART 状態 UARTSTAT 0x45 UART データ UARTDAT 0x46 UARTLIN0 UARTLIN0 0x3d 0x3e (予約) 0x3f 0x40 EXTIRQ COMPCTL (予約) 0x47 UARTLIN1 UARTLIN1 I2C コンフィグ I2CCFG 0x49 I2C コンフィグ 2 I2CCFG2 0x4a I2C 制御 I2CCTL 0x4b I2C ステータス I2CSTA 0x4c I2C データ I2CDAT 0x48 MMI2C S バス 0x4d-f 0x50 (予約) GPT X バス GPT 制御 0 GPTCTL0 0x51 GPT 制御 1 GPTCTL1 0x52 GPT 制御 2 GPTCTL2 0x53 GPT 制御 3 GPTCTL3 0x54 GPT 制御 4 GPTCTL4 0x55 GPT 制御 5 GPTCTL5 0x56 GPT カウンタ A データ GPTCTA 0x57 GPT カウンタ B データ GPTCTB 0x58 GPT チャンネル 0 データ GPTCH0DT 0x59 GPT チャンネル 1 データ GPTCH1DT 0x5a GPT チャンネル 2 データ GPTCH2DT 0x5b GPT チャンネル 3 データ GPTCH3DT 0x5c GPT チャンネル 4 データ GPTCH4DT 0x5d GPT チャンネル 5 データ GPTCH5DT 0x5e GPT チャンネル 6 データ GPTCH6DT 0x5f GPT チャンネル 7 データ GPTCH7DT 13 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 1-7:IO 領域レジスタ アドレス モジュール バス接続 レジスタ名 0x60 ATD 制御 0 ATDCTL0 0x61 ATD 制御 1 ATDCTL1 0x62 ATD 制御 2 ATDCTL2 0x63 (使用禁止) 0x64 ATD 制御 4 ATDCTL4 0x65 ATD 制御 5 ATDCTL5 0x66 ATD 制御 6 ATDCTL6 0x67 ATD 制御 7 ATDCTL7 0x68 ATD 制御 8 ATDCTL8 0x69 ATD 制御 9 ATDCTL9 0x6a ATD 制御 10 ATDCTL10 0x6b ATD 制御 11 ATDCTL11 0x6c ATD 制御 12 ATDCTL12 0x6d ATD 制御 13 ATDCTL13 0x6e ATD チャンネル 0 ATDCH0 0x6f ATD チャンネル 1 ATDCH1 0x70 ATD チャンネル 2 ATDCH2 0x71 ATD チャンネル 3 ATDCH3 0x72 ATD チャンネル 4 ATDCH4 0x73 ATD チャンネル 5 ATDCH5 0x74 ATD チャンネル 6 ATDCH6 0x75 ATD チャンネル 7 ATDCH7 0x76 ATD チャンネル 8 ATDCH8 0x77 ATD チャンネル 9 ATDCH9 ATD チャンネル 10 ATDCH10 0x79 ATD チャンネル 11 ATDCH11 0x7a ATD チャンネル 12 ATDCH12 0x7b ATD チャンネル 13 ATDCH13 0x7c ATD データ制御 0 ATDDATC0 0x7d ATD データ制御 1 ATDDATC1 0x78 0x7e PSATD X バス (使用禁止) 0x7f ATD データレジスタ 16 ATDDAT16 0x80 ATD データレジスタ 0 ATDDAT0 0x81 ATD データレジスタ 1 ATDDAT1 0x82 ATD データレジスタ 2 ATDDAT2 0x83 ATD データレジスタ 3 ATDDAT3 0x84 ATD データレジスタ 4 ATDDAT4 0x85 ATD データレジスタ 5 ATDDAT5 0x86 ATD データレジスタ 6 ATDDAT6 0x87 ATD データレジスタ 7 ATDDAT7 0x88 ATD データレジスタ 8 ATDDAT8 0x89 ATD データレジスタ 9 ATDDAT9 0x8a ATD データレジスタ 10 ATDDAT10 0x8b ATD データレジスタ 11 ATDDAT11 0x8c ATD データレジスタ 12 ATDDAT12 0x8d ATD データレジスタ 13 ATDDAT13 0x8e ATD データレジスタ 14 ATDDAT14 0x8f ATD データレジスタ 15 ATDDAT15 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 14 頁 Alligator Preliminary 表 1-7:IO 領域レジスタ アドレス 0x90-9f 15 頁 モジュール バス接続 レジスタ名 (予約) (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 1-7:IO 領域レジスタ アドレス モジュール バス接続 0xa0 レジスタ名 PWM コンフィグ 0 PWMCFG0 0xa1 PWM コンフィグ 1 PWMCFG1 0xa2 PWM チャンネルコンフィグ 00 PWMCCFG00 0xa3 PWM チャンネルコンフィグ 10 PWMCCFG10 0xa4 PWM チャンネルコンフィグ 20 PWMCCFG20 0xa5 PWM チャンネルコンフィグ 30 PWMCCFG30 0xa6 PWM チャンネルコンフィグ 01 PWMCCFG01 0xa7 PWM チャンネルコンフィグ 11 PWMCCFG11 0xa8 PWM チャンネルコンフィグ 21 PWMCCFG21 0xa9 PWM チャンネルコンフィグ 31 PWMCCFG31 0xaa PWM チャンネルコンフィグ 02 PWMCCFG02 0xab PWM チャンネルコンフィグ 12 PWMCCFG12 0xac PWM チャンネルコンフィグ 22 PWMCCFG22 0xad PWM チャンネルコンフィグ 32 PWMCCFG32 0xae PWM チャンネルコンフィグ 03 PWMCCFG03 0xaf PWM チャンネルコンフィグ 13 PWMCCFG13 0xb0 PWM チャンネルコンフィグ 23 PWMCCFG23 0xb1 PWM チャンネルコンフィグ 33 PWMCCFG33 0xb2 PWM 制御 0 PWMCTL0 0xb3 PWM 制御 1 PWMCTL1 0xb4 PWM 割込み制御 0 PWMIRQ0 0xb5 PWM 割込み制御 1 PWMIRQ1 0xb6 PWM 状態 0 PWMSTAT0 0xb7 PWM 状態 1 PWMSTAT1 PWM チャンネル制御 0 PWMCCTL0 0xb9 PWM チャンネル制御 1 PWMCCTL1 0xba PWM チャンネル制御 2 PWMCCTL2 0xbb PWM チャンネル制御 3 PWMCCTL3 0xbc PWM0 カウンタデータ PWMCNT0 0xbd PWM1 カウンタデータ PWMCNT1 0xbe PWM2 カウンタデータ PWMCNT2 0xbf PWM3 カウンタデータ PWMCNT3 0xc0 PWM0 データ 0 PWM0DAT0 0xc1 PWM0 データ 1 PWM0DAT1 0xc2 PWM0 データ 2 PWM0DAT2 0xc3 PWM0 データ 3 PWM0DAT3 0xc4 PWM0 データ 4 PWM0DAT4 0xc5 PWM0 データ 5 PWM0DAT5 0xc6 PWM0 データ 6 PWM0DAT6 0xc7 PWM0 データ 7 PWM0DAT7 0xc8 PWM1 データ 0 PWM1DAT0 0xc9 PWM1 データ 1 PWM1DAT1 0xca PWM1 データ 2 PWM1DAT2 0xcb PWM1 データ 3 PWM1DAT3 0xcc PWM1 データ 4 PWM1DAT4 0xcd PWM1 データ 5 PWM1DAT5 0xce PWM1 データ 6 PWM1DAT6 0xcf PWM1 データ 7 PWM1DAT7 0xb8 2013.12.20 版 PSPWM X バス (C) 2009-2013 New Japan Radio Co., Ltd. 16 頁 Alligator Preliminary 表 1-7:IO 領域レジスタ アドレス モジュール バス接続 レジスタ名 0xd0 PWM2 データ 0 PWM2DAT0 0xd1 PWM2 データ 1 PWM2DAT1 0xd2 PWM2 データ 2 PWM2DAT2 0xd3 PWM2 データ 3 PWM2DAT3 0xd4 PWM2 データ 4 PWM2DAT4 0xd5 PWM2 データ 5 PWM2DAT5 0xd6 PWM2 データ 6 PWM2DAT6 PWM2 データ 7 PWM2DAT7 PWM3 データ 0 PWM3DAT0 0xd9 PWM3 データ 1 PWM3DAT1 0xda PWM3 データ 2 PWM3DAT2 0xdb PWM3 データ 3 PWM3DAT3 0xdc PWM3 データ 4 PWM3DAT4 0xdd PWM3 データ 5 PWM3DAT5 0xde PWM3 データ 6 PWM3DAT6 PWM3 データ 7 PWM3DAT7 0xd7 0xd8 PSPWM X バス 0xdf 0xe0-ef 0xf0 (予約) ポート 0 PORT0 0xf1 GPIO S バス ポート 1 PORT1 0xf2 ポート出力設定 0 DDR0 0xf3 ポート出力設定 1 DDR1 0xf4 ポートモジュール出力設定 0 MODOUT0 0xf5 ポートモジュール出力設定 1 MODOUT1 0xf6 ポート機能 PORTFUNC 0xf7 (予約) 0xf8 入力ブリッジ 0 GPIOBG0 0xf9 入力ブリッジ 1 GPIOBG1 0xfa 入力ブリッジ 2 GPIOBG2 0xfb 入力ブリッジ 3 GPIOBG3 0xfc 入力ブリッジ 4 GPIOBG4 0xfd-ff 1.3.2 ( 予約) 割り込みベクタ 割り込みベクタは以下に割り付けられます。ユーザーモードとブートモードは異なるベクタアドレ スを持っています。 17 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 1-8:割込み要求モジュールとベクタアドレス 例外処理リソース 例外番号 リセット ベクタアドレス ユーザーモード ブートモード 0 0xFFFF 0xFFEF DEBUG 命令 1 0xFFFE 0xFFEE 不正動作 2 0xFFFD 0xFFED 不正割り込み 3 0xFFFC 0xFFEC ペリフェラル割込み 0 4 0xFFFB 0xFFEB ペリフェラル割込み 1 5 0xFFFA 0xFFEA ペリフェラル割込み 2 6 0xFFF9 0xFFE9 ペリフェラル割込み 3 7 0xFFF8 0xFFE8 ペリフェラル割込み 4 8 0xFFF7 0xFFE7 ペリフェラル割込み 5 9 0xFFF6 0xFFE6 ペリフェラル割込み 6 10 0xFFF5 0xFFE5 ペリフェラル割込み 7 11 0xFFF4 0xFFE4 ペリフェラル割込み 8 12 0xFFF3 0xFFE3 ペリフェラル割込み 9 13 0xFFF2 0xFFE2 ペリフェラル割込み 10 14 0xFFF1 0xFFE1 ペリフェラル割込み 11 15 0xFFF0 0xFFE0 1.4 割り込み 1.4.1 割り込みソース 不正動作割込み等のシステム機能ではない、ユーザー機能による割込みソースは全部で 25 本ありま す。これらの割込みソースはモジュール仕様で管理されています。これらの割込みソースを割込み要 求入力番号に合わせて、ホスト設定によりペリフェラル割込み 0 から 11 にマッピングをする必要があ ります。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 18 頁 Alligator Preliminary 表 1-9:割込み要求入力ソース 例外処理リソース モジュール 信号 EXTHIRQ 割込み要求(外部割込み 0) INTINUM ビット 0 INTINUM[0] 割込み要求(外部割込み 1) 1 INTINUM[1] RTM2 割込み要求 2 INTINUM[2] UART 割込み要求 3 INTINUM[3] MMI2C 割込み要求 4 INTINUM[4] SPI.A 割込み要求 5 INTINUM[5] GPT 割込み要求 [0] 6 INTINUM[6] 割込み要求 [1] 7 INTINUM[7] 割込み要求 [2] 8 INTINUM[8] PSPWM PSATD SIM(WUT) 割込み要求 [3] 9 INTINUM[9] 割込み要求 [4] 10 INTINUM[10] 割込み要求 [0] 11 INTINUM[11] 割込み要求 [1] 12 INTINUM[12] 割込み要求 [2] 13 INTINUM[13] 割込み要求 [3] 14 INTINUM[14] 割込み要求 [4] 15 INTINUM[15] 割込み要求 [5] 16 INTINUM[16] 割込み要求 [6] 17 INTINUM[17] 割込み要求 [7] 18 INTINUM[18] 割込み要求 [0] 19 INTINUM[19] 割込み要求 [1] 20 INTINUM[20] 割込み要求 [2] 21 INTINUM[21] 割込み要求 [3] 22 INTINUM[22] 割込み要求 [4] 23 INTINUM[23] 割込み要求 24 INTINUM[24] 25-31 INTINUM[25-31] (使用禁止) 1.4.2 割込み要求入力番号 スリープ動作復帰リソース スリープ動作復帰リソースは以下になります。 19 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 1-10:復帰例外処理とスリープ動作 例外処理 スリープ動作 IDLE DOZE リセット DEBUG 命令 - ○ ○ - 外部割込み 0(EXTIRQ[0]) ○ 外部割込み 1(EXTIRQ[1]) ○ RTM2 ○ - GPT ○ - UART ○ - MMI2C ○ - SPI.A ○ - PSPWM ○ - PSATD ○ - WUT 1.5 その他の機能 1.5.1 デバッグ機能 STOP − 不正動作 不正割り込み SIESTA ○ ○ - JTAG 機能を使用したデバッグ動作をするとき、ハードウェアデバッグモードでのバッググランド動 作状態(ブレークポイントヒット後のデバッグアクティブ状態)にあるとき、次にモジュールの動作 が停止されます。また、バスタイムアウト機能は停止されます。 表 1-11:デバッグ動作で停止する機能 フリーズ動作 FREEZE ビット 機能 COP 機能停止 FREEZE[0] - COP 設定可能 FREEZE[1] COP 設定カウンタ機能停止 FREEZE[2] ソフトリセットカウンタ機能停止 FREEZE[3] バスタイムアウト機能停止 FREEZE[4] ウェイクアップタイマー停止 FREEZE[5] プリスケーラ停止 FREEZE[6] プリスケーラを停止する カウンタ A 停止 FREEZE[7] カウンタ A を停止する カウンタ B 停止 FREEZE[8] カウンタ B を停止する プリスケーラ停止 FREEZE[9] プリスケーラを停止する カウンタ A 停止 FREEZE[10] カウンタ A を停止する カウンタ B 停止 FREEZE[11] カウンタ B を停止する カウンタ停止 FREEZE[12] プリスケーラとカウンタを停止する モジュール 機能 SIM RTM2 GPT PSPWM 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 20 頁 Alligator Preliminary 表 1-11:デバッグ動作で停止する機能 フリーズ動作 FREEZE ビット 機能 モジュール 機能 RESETOUT リセット出力停止 FREEZE[16] RESETB 端子の方向制御 0: 入力に固定 1: リセット出力有効 ( バックグラウンド動作かどうかに 関わらずこの設定は有効です ) XIMO16 機能停止 - デバッグアクティブ状態で機能は停止する。 この時、内部リセット状態でも内部リソー スはアクセス可能となる。 DBG16 バス制御 メモリ制御 メモリ 1.5.2 バスエラー バスエラーを出力する動作は内部バス制御部と IO バス制御部が行います。バスエラーを検出すると、 内部バス制御部が内部モジュールに対して、バスアクセス強制終了(バスターミネート)要求をアサー トし、以下のモジュールのうち、バスアクセスを行っているモジュールはその信号を受けてバスアク セスを強制終了します。 表 1-12:バスエラーを発生しうるモジュール モジュール 備考 RTM2 GPT PSPWM PSATD バス制御 (SIM) メモリ(MEMCTL) 1.5.3 JTAG デバイス ID は 0x000025a5 になります。その内訳は、新日本無線 ( 株 ) の生産者番号は 0x52(バン ク 6)、バージョンは 0x0 と部品番号は 0x0002 です。 表 1-13:デバイス ID デバイス ID[31:0] 21 頁 ビット位置 [31:28] [27:12] [11:1] [0] ビット長 4 16 11 1 内容 バージョン 部品番号 生産者番号 固定値 コード 0000 0000 0000 0000 0010 010 1101 0010 1 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. Alligator 22 頁 Alligator Preliminary システム制御(SIM)モジュール SIM(System-Integration-Module)は LSI 全体の制御を行います。この SIM はクロック制御、例外 制御、リセット制御、モードエントリー部からなります。また、この SIM は DSP コアである XIMO16A と直に接続されたモジュールになります。 図 2-1: SIM ブロックダイアグラム OSCI OSCO 発振器 システムクロック 生成器 PLL /N クロック制御 STOPENB MONCLK RESETB IMRESETB リセット制御 CDRESETB (System-Integration-Module) RESETOB COPOUTB SIM COP SPECIAL 内部 DSP モードエントリー 2.1 内部リセット 割り込み例外制御 内部モジュール クロック制御 クロック制御部は、SIM 外部に接続される発振器を制御し、まずメインクロックを生成します。発 振器を使用しないときは、OSCO 端子をオープンとし、OSCI 端子から外部クロックを入力します。こ の発振器出力を発振クロック (gclk) とします。そして、gclk の 1/2 分周のクロックを基本クロック (iclk) とします。また、外部クロックのデューティと最高周波数の仕様は別定義されます。 この gclk を生成器に入力し、メインクロック (mclk) を生成します。内部がリセット状態にあるとき は生成器は初期化され停止し、基本クロック (iclk) がメインクロックとなります。ソフトウェアにより 生成器を動作開始させ、その後、生成器が安定動作をすると、生成器クロックがメインクロック (mclk) となります。 この生成されたメインクロックを使用してシステムクロックを生成し、内部に供給します。 外部入力のモニター用クロック(MONCLK 信号)は発振クロック (gclk) のクロックモニター動作に 用いられます。 23 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 2-2: クロック部概念 クロック選択 (Xtal) OSCI 発振器 OSCO 発振クロック (gclk) /2 基本クロック (iclk) メインクロック (mclk) システムクロック (sysclk) システムクロック動作 生成器 生成器クロック 発振器動作 マルチプレクサ 生成器制御 PLL クロック (pclk) (製品検査用) STOPENB 発振器制御へ クロック モニター クロックモニター動作へ MONCLK 2.1.1 発振器 発振クロック (gclk) は OSCI/OSCO 端子に接続される発振器より生成されます。 OSCI 信号は水晶発振器入力、または外部クロック入力となります。OSCO 信号は水晶発振器出力 となります。また外部クロックを入力する場合は使用しません。発振器が動作を始めクロックを出力 し始めた後、安定動作とみなされると、クロックが出力されます。 外部の電源電圧が低下状態にあり、CDRESETB 信号がアサートされている状態で発振器は停止しま す。 また STOPENB 信号がローレベルであり、かつスリープ動作の STOP 状態になる場合にも発振器は 停止します。STOPENB 信号がハイレベルであるときは、スリープ動作に関わらず発振器は常に動作 します。 2.1.2 生成器 生成器は gclk を PLL により逓倍、分周器で分周、そして望む周波数の生成器クロックを生成します。 リセット状態であるときは生成器は初期化、パワーダウン状態であり、GENEN 信号以下のホストレジ スタビットは初期化されます。コールドリセットやスリープ動作の STOP 状態にあるとき、STOPENB 信号がローレベルであれば生成器はパワーダウンモードになります。 リセット状態にあるとき、生成器の動作は停止かつ GENEN 信号はクリアされた状態にあります。リ セット復帰後、ホストがソフトウェア設定で生成器の動作を開始させる必要があります。 生成器は GENEN 信号がクリアされた状態にあるとき、動作は停止し、システムは基本クロック (iclk) と同じ周波数で動作しています。つまり、メインクロックとシステムクロックの周波数は CLKMUL ビットや CLKDIV ビットの値に関係なく、基本クロックの周波数で動作しています。 生成器動作を開始させるには、GENEN 信号をセットします。そうすると、生成器クロックは CLKMUL ビットと CLKDIV ビットの値に従った周波数を持ちます。 CLKOPT ビットは LSI に使用される様々な PLL に対応させます。CLKMUL ビットは PLL 出力周波 数の 1 から 64 逓倍比を設定できます。CLKDIV ビットは逓倍されたクロックを分周する分周器の分周 比を設定します。この分周器では 4 から 64 まで、4 刻みの整数に分周比を設定できます。この分周ク ロックが生成器クロックとして使用されます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 24 頁 Alligator Preliminary よって生成器クロックの周波数はgclkの周波数をfgclk とすると、(fgclk・(CLKMUL+1))/(4・(CLKDIV+1)) で与えられます。 ホストが生成器の設定に関連する SIMCGEN レジスタに値を書き込むと、SIM 内部クロック制御部 が書き込んだホストレジスタの値を内部の生成器に与え、CLKMUL ビットで与えられる逓倍比に従っ て PLL の動作開始になります。そして、PLL がロック安定動作をすると、PLL から逓倍されたクロッ クが出力されます。そして、分周器はそのクロックを CLKDIV ビットに従って分周し、生成器クロッ ク信号を出力します。 ホストによる GENSTART ビットのセット書き込みにより、デバイスは GENEN 信号のセットと生 成器の動作開始を行います。ホストによるこのビットの読み出しは GENEN 信号の内容を示します。ま た、ホストによる GENSTOP ビットのセット書き込みにより、デバイスは GENEN 信号のクリアと生 成器の動作停止を行います。ホストによるこのビットの読み出しは生成器の動作状態を示します。 図 2-3: 生成器ブロック図 逓倍器 分周器 x1-64 /4-64 (CLKMUL) (CLKDIV) 発振クロック (gclk) PLL 制御 PLL クロック (pclk) PLL PLL 状態 生成器クロック CLKMUL ビット CLKDIV ビット CLKOPT ビット 2.1.2.1 ホストレジスタビット コールドリセット、エラーリセットを含むリセットや生成器の不安定動作検出であるときは、生成 器は初期化され、GENEN 信号、CLKSEL ビット、CLKOPT ビット、CLKDIV ビット、CLKMUL ビッ トは初期値になります。 CLKMUL ビットと CLKDIV ビット 逓倍比は CLKMUL[5:0] ビットで与えられます。この与えられる逓倍比は PLL の性能を左右しますの で、CLKMUL ビットの設定範囲による保証値は異なります。 表 2-1:CLKMUL ビット 25 頁 CLKMUL 逓倍比 0 1 1 2 2-61 CLKMUL+1 62 63 63 64 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator CLKDIV[3:0] ビットは分周比を設定します。 表 2-2:CLKDIV ビット CLKDIV 分周比 0 4 1 8 3-13 (CLKDIV+1) x 4 14 60 15 64 CLKSEL ビット 生成器が動作状態の時のシステムクロックに使用するクロックソースを選択します。生成器が動作 状態で無い場合には、このビットの値に関わらずシステムクロックは常に基本クロック (iclk) が選択さ れます。 表 2-3:CLKSEL ビット CLKSEL[1:0] システムクロックソース 0 生成器クロック 1 基本クロック iclk 2 発振クロック gclk 3 ( 予約 ) CLKOPT ビット 使用する水晶振動子より生成される gclk の周波数と、所望する逓倍比とによって適切な値を選択す る必要があります。 表 2-4:CLKOPT ビットと gclk 周波数 fgclk[MHz] CLKMUL 実装範囲 CLKOPT[1:0] 2.1.3 min max min max 0 3.2 32 0 63 1 18 32 3 12 2 30 64 3 15 3 60 128 1 7 ベースクロック生成 ベースクロックはシステムクロックに同期した、イネーブル信号形態のクロックになります。シス テムクロックの 1 周期分だけがハイレベルになるような周期信号を形成します。 ベースクロックは BASEDIV ビットで設定した分周比で基本クロック iclk 信号を分周したものになり ます。基本クロックがシステムクロックと同じか、それよりも速い周波数を持つとき、ベースクロッ クを正しく生成することは出来ません。このベースクロックは内部モジュールにおいて、所定の固定 周波数源として使用されます。 BASEDIV ビットがゼロであるときは、ベースクロックは停止されます。 2.2 低消費電力動作 低消費電力動作には生成器の逓倍比と分周比を設定してシステムクロックの周波数を変える方法と 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 26 頁 Alligator Preliminary sleep 命令実行によるスリープ動作による方法があります。 図 2-4: 低消費電力動作フロー 発振器 / 入力クロック 動作検出 動作検出 生成器 出力開始 基本クロック 出力開始 システムクロック 生成器 (逓倍・分周比) 設定変更 生成器エラー 割り込み 割り込み 割り込み 割り込み 生成器設定変更 クロック出力停止 sleep 命令 通常動作 STOP リセット SIESTA リセット WAIT リセット IDLE リセット 生成器動作停止 発振器動作 2.2.1 64 サイクル メインクロック システムクロック IO クロック 出力 ソフトウェアによる生成器の設定値変更 生成器内の分周器に関係する CLKDIV ビットの変更だけによる生成器クロック信号の周波数変更は、 PLL を含む逓倍器の動作には無関係であるので生成器内の逓倍器に関するパラメータ変更に比べ短い 回復時間でクロック出力を開始します。 CLKOPT ビットや CLKMUL ビットの変更による生成器内の逓倍器に関するパラメータ変更では、逓 倍器の PLL の動作を変更することになるので、PLL 動作の変更そして安定後に、クロック出力を開始 することになります。このような生成器の設定値変更は動作安定するまで、生成器クロックは停止さ れます。 27 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 2.2.2 Alligator スリープ動作 sleep 命令を実行したとき、SLEEPON ビットの内容に従ってスリープ動作の各状態に移行します。 STOPENB 信号がハイレベルかつ SLEEPON ビットが 0x4 であるときは、STOP 状態には移行せず、 SIESTA 状態に移行します。生成器を使用しないときは、スリープ動作に伴う生成器に対する操作をス キップします。 また、COPSLEEP ビットをセットするとスリープ動作中にも COP 動作を続けます。 表 2-5:SLEEPON ビット スリープ動作状態 SLEEPON ビット STOPENB 信号 ローレベル ハイレベル 0x0 IDLE 0x1 WAIT 0x2 ( 予約 ) 0x3 SIESTA 0x4 STOP SIESTA 0x5-7 IDLE スリープ動作には STOP,SIESTA,WAIT,IDLE の各状態があります。それらのステージでは以下の内 部動作をすることにより、消費電力を下げることになります。 表 2-6:スリープ動作 内部動作 スリープ動作状態 発振器 / 入力 クロック 生成器 (pll) クロック 基本クロック (iclk) システムク ロック / IO クロック STOP 停止 停止 停止 停止 SIESTA - WAIT - IDLE - スリープ動作からの復帰はリセットあるいは割り込みからになります。割り込みからの復帰はこの スリープ動作固有のステートフローを使用しますが、リセットからの復帰はリセットのステートフ ロー内の動作になります。 STOPENB 信号がハイレベルであるとき、STOP 動作では STOP 状態には入らず SIESTA 状態にな ります。 スリープ -SIESTA 動作では生成器を停止させますが、GENEN ビットをクリアした生成器停止状態 からのスリープ -SIESTA 動作であれば、PLL の電源を遮断された状態になり、一層の低消費電力動作 が可能になります。 2.3 割り込み例外制御 割り込みやリセットベクタなどを処理する例外制御部はベクタアドレス生成と割り込み制御機能を 持ちます。例外処理リソースは例外番号の 0 から 15 に振り分けられます。例外番号の 0 から 3 はシス テム領域であり、4 から 15 がペリフェラルの割り込み領域になります。システム領域の例外番号 0 は リセット、1 は debug 命令、2 は不正動作割り込み、3 は不正割り込み割り込みになり、システム領域 の割り込み処理はマスク不可能割り込み (NMI) として扱われます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 28 頁 Alligator Preliminary 表 2-7:割り込み要求信号とベクタアドレス ベクタアドレス 例外処理リソース 例外番号 INTLVL/INTST ビット位置 ユーザーモード ブートモード リセット 0 - 0xFFFF 0xFFEF DEBUG 命令 1 0xFFFE 0xFFEE 不正動作 2 0xFFFD 0xFFED 不正割り込み 3 0xFFFC 0xFFEC ペリフェラル割り込み 0 4 [4] 0xFFFB 0xFFEB ペリフェラル割り込み 1 5 [5] 0xFFFA 0xFFEA ペリフェラル割り込み 2 6 [6] 0xFFF9 0xFFE9 ペリフェラル割り込み 3 7 [7] 0xFFF8 0xFFE8 ペリフェラル割り込み 4 8 [8] 0xFFF7 0xFFE7 ペリフェラル割り込み 5 9 [9] 0xFFF6 0xFFE6 ペリフェラル割り込み 6 10 [10] 0xFFF5 0xFFE5 ペリフェラル割り込み 7 11 [11] 0xFFF4 0xFFE4 ペリフェラル割り込み 8 12 [12] 0xFFF3 0xFFE3 ペリフェラル割り込み 9 13 [13] 0xFFF2 0xFFE2 ペリフェラル割り込み 10 14 [14] 0xFFF1 0xFFE1 ペリフェラル割り込み 11 15 [15] 0xFFF0 0xFFE0 ペリフェラル割り込みはマスク可能な割り込みであり、その割り込み番号ごとにレベルを割り付ら れますが、リセットと DEBUG 命令、不正動作、不正割り込みについてはマスク不可能の割り込みレ ベルであるので、INTLVL ビットは存在しません。 モジュールの割り込み要求の状態は INTST ビットで確認できます。 ペリフェラル割り込み ペリフェラルからの割り込み要求入力は全部で 32 本可能です。INTINUM[i] ビットにより、その割り 込み要求入力から 12 本のペリフェラル割り込みを割り当てる必要があります。割り込み要求入力番号 はインテグレーションによって定められます。 表 2-8:INTINUM[i] ビット INTINUM[i] ペリフェラル割り込み番号 INTINUM[i] ペリフェラル割り込み番号 0 割り込み要求無し 8 ペリフェラル割り込み 4 1 9 ペリフェラル割り込み 5 2 10 ペリフェラル割り込み 6 3 11 ペリフェラル割り込み 7 4 ペリフェラル割り込み 0 12 ペリフェラル割り込み 8 5 ペリフェラル割り込み 1 13 ペリフェラル割り込み 9 6 ペリフェラル割り込み 2 14 ペリフェラル割り込み 10 7 ペリフェラル割り込み 3 15 ペリフェラル割り込み 11 INTINUM ビットが 0 から 3 であるときは、対象のペリフェラル割り込み入力からのペリフェラル割 り込み番号は設定されず、割り込み要求はされません。このビットが 4 から 15 であるときに、ペリ フェラル割り込み番号を設定することが出来ます。複数の割り込み入力が同じ INTINUM ビットを設定 した場合には複数の割り込み入力が同じペリフェラル割り込み番号を持つことになります。 この INTINUM ビットに書き込むには MAP ビットでマッピングを設定して、INTCTL ビットに書き 込みます。ペリフェラル割り込み要求入力の状態は INTIST ビットで確認できます。 最大 12 本あるペリフェラル割り込みはそれぞれ固有のベクタアドレスと割り込みレベルを持ちま す。その割り込みレベルは、それぞれ割り込み要因に対して INTLVL[n] ビット(n は例外番号)で割り 込み不許可と 3 つの割り込みレベルのうち一つを割り付けることが出来ます。この割り込みレベルは、 割り込みレベル 2 が最もレベルが高く、割り込みレベル 1、割り込みレベル 0 という順にレベルが低 29 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator くなります。 表 2-9:INTLVL[n] ビット INTLVL[n] 内容 0 割り込み不許可 1 割り込みレベル 0 2 割り込みレベル 1 3 割り込みレベル 2 備考 多重割り込み要求があった場合には、まず、割り込み要求ソースが持つ INTLVL ビットで設定された 割り込みレベルを比較し、最も優先レベルが高い割り込み要求ソースを選択します。そして、同じ割 り込みレベルを持つ割り込み要求ソースがある場合は、その中からこの例外番号の最も小さいものに 割り込み優先権を与えます。 高速割り込み(FINT) FINTNUM ビットを使用して高速割り込み (FINT) を適用する割り込みソースを示す例外番号を 1 つ だけ選択できます。この FINTNUM ビットが 0x0 から 0x3、あるいは未使用の割り込みソースの例外 番号をアサインすると高速割り込みは未使用とみなされます。 高速割り込み処理では通常割り込みのように例外ベクタを使用せずにFINTADRビットの内容を実行 先頭アドレスとします。 高速割り込み(FINT)に対応させるには、FINTNUM ビットと FINTADR ビットを設定する必要があ ります。 多重高速割り込み処理対応ではないので、FINTNUM ビットで高速割り込みの割り込みソースを変え る場合には、高速割り込みが処理中でないこと、かつ、現行の割り当てた高速割り込みソースが割り 込み不許可であることを確認してあることが必要です。 2.3.1 バスタイムアウト 内部バスに接続されたペリフェラルは RDY 信号を使ってアクセス時間の延長を図ることが出来ま す。しかしながら、なんらかの問題でペリフェラルの RDY 信号がアサートされないと LSI システム全 体が停止したように見えてしまいます。この問題を避けるために設定された時間を越えても RDY 信号 がアサートされないのならば、システムが強制的に RDY 信号をアサートし、バスを強制中断させま す。この時間をバスタイムアウト時間とし、TIMEOUT ビットを設定します。この TIMEOUT ビットで 設定したシステムクロック数を超えるとバスタイムアウトとして、不正動作割り込み要求となります。 この TIMEOUT ビットが 0x0 であるときは、バスタイムアウト動作は使用されません。 表 2-10:TIMEOUT ビット 2.3.2 TIMEOUT タイムアウト 0x0 機能しない 0x1 64 サイクル 0x2 128 サイクル 0x3 256 サイクル 備考 システム例外 リセット、DEBUG 命令、不正動作割り込み、不正割り込み割り込みが発生したときはシステムの例 外処理として扱われます。これらはマスク不可能割り込みとして扱われます。 2.3.2.1 不正動作割り込み 不正動作割り込みの際はホストレジスタビットでその割り込みソースを知ることが出来ます。この 不正動作割り込みは COP タイムアウトを除いて不許可にする方法はありません。この不正動作割り込 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 30 頁 Alligator Preliminary みはマスク不可能割り込みであり、不正動作割り込み要求から不正動作割り込みサービスの間に複数 の不正動作割り込みソースがあっても、1つのソースの実行として取り扱われます。 表 2-11:不正動作割り込みソース 割り込みソース 状態ビット ソース 未定義命令実行 ILOP DSP コア COP タイムアウト COPI SIM/COP 未定義アドレスアクセス ADRF MISC/BUS バスタイムアウト BUSOUT バスミスアライメント ADRMIS 不正動作割り込み処理中に新たな不正動作割り込みが発生するとシステムエラーリセットになりま す。 2.3.2.2 バスエラー割り込み 未定義アドレス割り込み、バスタイムアウト割り込み、バスミスアラインメント割り込みはバスエ ラー割り込みとして扱われます。バスエラーを発生したバス要因がシステム内で使われなくても、バ スエラーの状態ビットがセットされます。よって、状態ビットがセットされても必ずしもバスエラー 割り込みにはなりません。 これらの割り込みが発生した際にその割り込みを発生させたバスの種類は BERR ビットで特定でき ます。 表 2-12:BERR ビット ビット位置 バスの種類 0 P バス 1 X バス 2 Y バス また、その発生アドレスは BERRMUX ビットでバスの種類を選択して、BERRAD ビットを通して 読み取ることが出来ます。 表 2-13:BERRMUX ビット 2.3.3 BERRMUX ビット バスの種類 0 P バス 1 X バス 2 Y バス trap 命令 trap 命令でのベクタは TRAPNUM ビットで設定します。trap 命令でのベクタフェッチの際に使用さ れます。 2.4 リセット制御 リセット制御部は多種のリセットソースから内部リセットを生成します。リセットソースは内部リ セット、発振器、生成器、クロック出力動作に影響を与えます。 リセットソースの種類によって、コールドリセット、エラーリセット、通常リセットの種類の動作 があります。 31 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator コールドリセット クロック非同期要因による致命的なコールドリセット要求によるリセットでは、発振器停止、生成 器停止、クロック停止、マスターリセットと内部リセットが出力されます。コールドリセット要求解 除により、クロックアップに移行し、発振器動作、クロック出力、内部リセット出力となり、その後、 通常リセットに移行します。 通常リセット 通常のリセットでは一定のクロック期間内部は内部リセットが出力され、発振器動作、生成器停止、 内部クロック出力になります。その後、通常動作に移行します。 エラーリセット 致命的なエラー原因によるリセット要求を意味するエラーリセットでは、発振器、生成器、クロッ ク停止、マスターリセットと内部リセットが出力されます。エラーリセット解除後、クロックアップ、 そして、通常リセットに移行します。 図 2-5: 通常リセットとエラーリセット クロック アップ エラー リセット エラー リセット要求 コールド リセット要求解除 通常 リセット要求 コールド リセット要求 コールド リセット 2.4.1 通常 リセット 通常動作 リセットソース リセットソースは外部端子だけではなく、いくつか存在します。このリセットソースにより内部動 作の停止制御がおこなわれます。リセット解除後、そのリセット要因を知ることが出来ます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 32 頁 Alligator Preliminary 表 2-14:不正動作リセットソース 内部動作 リセットソース 状態ビット 種類 発振器 生成器 内部クロック 停止 停止 リセット出力 ソース コールド COLDRST コールド 停止a 即時 IMMRST 通常 - - 外部 EXTRST 通常 クロックモニター CKMONRST コールド 停止b 停止 ○ 生成器エラー CGENRST エラー - - ○ システムエラー SYSRST エラー ○ COP 内部リセット COPRST エラー / 通常c ○ ソフトウェア SOFTRST 通常 ○ ○ a. STOPENB 信号がローレベルであること b. STOPENB 信号がローレベルであること c. COPERR ビットでエラーもしくは通常を選択、連続した COP リセットはシステムエラー要求となる 2.4.1.1 リセットソースの種類 それぞれのリセットソースを説明します。リセット復帰後にはリセットソースの種類はホストレジ スタビットで確認できます。 コールドリセット 低電源電圧検出あるいはパワーオンリセットにより、コールドリセットとなります。コールドリセッ ト状態ではクロックに関係なく非同期で内部リセットがアサートされます。 また、COLDRST ビットのセットでコールドリセットを確認出来ます。 即時リセット スリープ命令のストップ動作中に RESETB 信号がローレベルであるとき、即時リセットとなります。 IMMRST ビットのセットで即時リセットを確認出来ます。 外部リセット RESETB 信号がローレベルになると内部同期かつフィルタリング後に外部リセットとなり、内部リ セットがアサートされます。RESETB 信号がハイレベルになると内部同期かつフィルタリング後に外 部リセット解除となります。このとき、EXTRST ビットのセットで外部リセットを確認出来ます。 クロックモニターリセット 発振器あるいは外部クロックから生成した gclk の不具合動作を検出する機能をクロックモニターと 呼びます。この不具合動作でクロックモニター検出となり、コールドリセット要求になります。内部 リセット解除後に CKMONRST ビットのセットでクロックモニターリセットを確認出来ます。 このクロックモニター機能はモニタークロック(MONCLK 信号)の周波数以下であることを検出し ます。このクロックモニター機能はコールドスタート要求あるいはスリープ動作での STOP 状態は除 外されます。 生成器エラーリセット 生成器の不安定動作検出は生成器エラーリセットとなり、エラーリセット要求になります。内部リ セット解除後に、CGENRST ビットのセットで生成器エラーリセットを確認出来ます。 生成器の不安定動作は PLL のアンロック、スリープ動作の STOP 状態からの解除で PLL の動作安定 33 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 化時間のタイムアウトなどがあります。 システムエラーリセット 不正動作割り込み処理中に新たな不正動作割り込みが発生するとシステムエラーリセットとなり、 エラーリセット要求になります。内部リセット解除後に、SYSRST ビットのセットでシステムエラー リセットを確認出来ます。 COP リセットが連続した場合もシステムエラー要求となります。 COP リセット COPINE ビットがセットされているとき、COP タイムアウトで COP リセットとなります。このと き、COPERR ビットがクリアされていると通常リセット要求、COPERR ビットがセットされている とエラーリセット要求になります。内部リセット解除後に、COPRST ビットのセットで COP リセッ トを確認出来ます。 連続した COP リセット要求であるときは COPERR ビットの内容に関わらずシステムエラーリセッ トになります。 ソフトウェアリセット ホストが 64 システムクロック以内に RESET ビットを 2 回セットすると、ソフトウェアリセットと して、通常リセット要求になります。内部リセット解除後に、SOFTRST ビットのセットでソフトウェ アリセットを確認出来ます。 2.4.1.2 リセット出力と外部リセット信号 リセット要因のうち、コールドリセット、クロックモニターリセット、生成器エラーリセット、シ ステムエラーリセット、COP 内部リセット、ソフトウェアリセットはリセット出力 RESETOUT 信号 として外部に出力されます。 リセット端子の接続はインテグレーションによって異なりますが、標準ではリセット出力 RESETOUT および COP 外部リセット出力 COPOUT は外部リセット入力信号と Wired OR で接続され、 RESETB 端子より入力される外部リセット信号となります。 2.5 COP(Computer-Operated-Properly) システムが正常に動作しているかを検出するハードウェアです。別名 Watch Dog Timer(WDT)と も呼ばれます。基本クロック(iclk)を最長 224-1(16777215 サイクル :1.6Hz~@27MHz)間隔で動作 チェックをする事が可能です。 このCOP動作に関連する制御ビットはリセット解除後、216システムクロックサイクル以内にWRBIT ビットがセットしてあるときに、一度だけ書き込むことが出来ます。また、リセットによる COP 初期 化として、COP 動作、内部リセット、外部リセットは許可されます。 この COP 動作を行わせるには COPE ビットがセットされてある必要があります。また、COPSLEEP ビットがクリアされていると、スリープ動作中の COP 動作を停止させます。COP カウンタがオーバー フローすると COP タイムアウトになります。この時、COPOUTE ビットがセットしてあれば、COP 外部リセットはアサートされます。 この COP タイムアウト時に COPINE ビットをセットしてあると COP リセットとして内部リセット を要求します。連続した COP リセット(COP 二重リセット)では致命的なシステム障害検出として エラーリセット要求になります。また、COPERR ビットがセットしてあるときに、COP タイムアウ トすると COP リセットはエラーリセット要求になります。 COPIE ビットがセットしてあれば、COP タイムアウトによる不正動作割り込み要求可能となり、 COP タイムアウトによる割り込みとして COPI ビットがセットされ、不正動作割り込みが要求されま す。また、この COPIE ビットをクリアすると COPI ビットは常にクリアされます。 この COP 起因の不正動作割り込みサービスルーチンでは COPI ビットをクリアする必要がありま す。この COPI ビットがセットしているときに、次の COP タイムアウトにより(COP2 重タイムアウ トとして)さらに COPI ビットをセットしようとすると、致命的なシステム障害検出としてエラーリ 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 34 頁 Alligator Preliminary セット要求になります。 表 2-15:COP 制御とその状態 設定ビット 状態ビット 制御 COPE COPINE COPERR COPIE COPRST SYSRST COPI 1 1 0 - 1 0 0 COP2 重リセット 0 - 1 1 0 COP エラーリセット 1 - 1 1 0 - 1 0 0 1 0 1 0 COP リセット COP 割り込み 0 COP2 重割り込み COP 不活性 1 0 - 0 0 0 0 0 - - - 0 0 0 COP 動作では、基本クロック(iclk)を 8 ビットのプリスケーラで分周し、その出力を 16 ビットの COP カウンタで更に分周します。そのカウンタ値に対して、COPCNT ビットで設定した値と一致す ると COP タイムアウトとします。この COP タイムアウトであるとき、基本クロック(iclk)の 16 ク ロック分の COP 動作出力を与えます。また、この COP がタイムアウトすると、COP カウンタはリ セットされ、更にカウントを続けます。COPCNT ビットの読み出しは COP カウンタ値を返します。 COPDT ビットにコンプリメンタリデータを書き込む事で COP カウンタをクリアします。前の書き 込みデータが 0x5 であれば 0xa、前の書き込みデータが 0xa であれば 0x5 を書いて、COP カウンタを クリアさせます。 COP タイムアウトにより、リセットが起動した場合は COP リセットは即座に解除されます。 図 2-6: COP カウンタ COP タイムアウト 8 ビットプリスケーラ 16 ビット COP カウンタ 分周数 カウンタ値 基本クロック(iclk) COPCNT ビット 2.6 WUT (Wake Up Timer) SIM は基本クロック (iclk) によって動作するタイマ、WUT(Wake Up Timer) を持っています。WUTE ビットをセットするとこのタイマは動作状態になります。 WUT は iclk を WUTPRES ビットによって設定されるプリスケーラで分周したクロックで動作する 8 ビットのカウンタを持ちます。プリスケーラによって分周されたクロックは基本クロック (iclk) の 1/ (28+WUTPRES) の周期を持ち、この周期でカウンタをカウントアップします。 WUTCLR ビットをセットすると、このカウンタはゼロにクリアされます。WUTIM ビットの読み出 しはカウンタの値を返します。 また WUT は 8 ビットの比較器を持っています。比較値はリセットによって 0xFF に初期化され、 WUTIM ビットへの書き込みによってその値が設定されます。 WUTMAT ビットはカウンタと比較値との値が一致するとセットされます。またこのとき WUTMATE 35 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator ビットがセットされていると割り込みが発生します。WUTMAT ビットは アされます。 1 を書き込むことでクリ WUTMOD ビットがセットされている場合、カウンタ値は比較値まで達すると、自動的にゼロに戻 るモジュロカウンタとして動作します。WUTMOD ビットがクリアされているとそのままカウントを 続けるフリーランカウンタとなります。 このタイマはシステムクロックに関係無く動作します。よってシステムが SLEEP WAIT や SLEEP SIESTA の状態にあり、システムクロックが停止している場合でも割り込みが発生します。この割り込 みによって SLEEP 状態からの起動を掛けることが可能です。まだモジュロカウンタとして動作させた 場合には入力クロックに同期した周期を持つ定期割り込み発生源とすることができます。 図 2-7: WUT WUTMAT ビットセット プリスケーラ 8ビット WUT カウンタ 分周数 カウンタ値 基本クロック(iclk) WUTIM ビットアクセス 2.7 ホルト動作 動作中にバスなどの DSP コア動作に関係する設定を変更するとき、HALTSYNC ビットをセットし て、一時的に DSP コアを停止、その後、自動的に復帰させることが出来ます。この動作は DSP コア に対して一時的にホルト信号をアサートし、その後、自動的にホルト信号をネゲートします。 2.8 ホルト動作完了通知 表 2-16 に示す機能動作は DSP コアのホルト動作を必要とします。レジスタビットに定められた値 を書き込むと動作開始となります。この機能動作開始書き込み直後の SIM モジュールに対するアクセ スは無視されます。 表 2-16:HALTCOMP ビットのセット要因 動作 レジスタビット ホルト同期 HALTSYNC ビットセット クロック生成器 GENSTART ビットセット GENSTOP ビットセット CLKMUL ビット変更 CLKDIV ビット変更 CLKSEL ビット変更 CLKOPT ビット変更 ホルト同期 HALTSYNC ビットセット 機能動作が終了し、ホルト動作から抜けると HALTCOMP ビットがセットされます。この HALTCOMP ビットをセットすると、自動クリアされます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 36 頁 Alligator Preliminary モードエントリー 2.9 各モードエントリーは TESTMODE 端子、RESETB 端子と JTAG 関連端子の状態で定められます。 また、デバッガーなどで JTAG を使用している JTAG アクティブ状態と JTAG を使用していない JTAG 初期化状態とでモードエントリー方法が異なります。 表 2-17 及び表 2-18 では JTAG 初期化状態と JTAG アクティブ状態でのユーザー / ブートモードの エントリー方法及び、モードの保持の方法を示します。 表 2-17:JTAG 初期化状態モードエントリー モード JTAG 状態 TESTMODE RESETB TIFM TRSTB Lo Hi 簡易 JTAG 通常 JTAG テストモード * Hi ユーザーモード 通常 JTAG Lo ブートモード TDI Lo − Hi Lo − Hi Hi Hi Lo − Lo Lo − Hi Lo − 簡易 JTAG ユーザーブート保持 TCK * Hi − • JTAG 初期化状態では、TDI 端子によってユーザー / ブートモードを決定できます。 - 通常 JTAG 状態では TIFM 端子をハイレベルかつ TRSTB 端子をローレベルにしなけれ ばなりません。 - 簡易 JTAG 状態では TIFM 端子をローレベルかつ TCK 端子をハイレベルにしなければ なりません。JTAG アクティブ状態から JTAG 初期化状態への移行は、TCK 端子をハ イレベルに固定し、システムクロック 4096 サイクル後になります。 表 2-18:JTAG アクティブ状態モードエントリー モード JTAG 状態 TESTMODE TRSTB PB7 Hi Hi Hi 簡易 JTAG Lo − Hi 通常 JTAG Hi Hi Lo Lo − Lo テストモード * Hi ユーザーモード 通常 JTAG Lo ブートモード RESETB TIFM Lo − 簡易 JTAG ユーザーブート保持 * Hi − • JTAG アクティブ状態では、PB7 端子によってユーザー / ブートモードを決定できます。 - 通常 JTAG 状態では TIFM 端子と TRSTB 端子をハイレベルにしなければなりません。 - 簡易 JTAG 状態では TIFM 端子をローレベルにしなければなりません。 • TESTMODE 端子がハイレベルであるとき、常にテストモードになります。 • TESTMODE 端子がローレベルであるとき、RESETB 端子をローレベルからハイレベルにする ことでユーザー / ブートモードを保持することが出来ます。 2.10 デバッグ機能サポート デバイスのデバッグ機能を使用し、デバッグ動作がアクティブ動作に移行すると、以下の動作が停 止します。デバッグモジュール内のレジスタビット操作により、それぞれの動作無効化が可能です。 • COP 機能停止 • COP 設定可能 37 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator • COP 設定カウンタ機能停止 • WUT カウンタ停止 • ソフトリセットカウンタ機能停止 • バスタイムアウト機能停止 レジスタ 2.11 SIM 制御モジュール内のレジスタを表2-19に示します。全部で16ワードの大きさが必要になります。 表 2-19:SIM 制御モジュール内のレジスタ アドレスオフセッ ト レジスタ名 SIM コンフィグ SIMCFG +0 SIM 制御 SIMCTL +1 生成器制御 SIMCGEN +2 ベースクロック制御 SIMBASE +3 COP 制御 SIMCOPCL +4 COP データ SIMCOPDT +5 WUT 制御 SIMWUT +6 予約 - +7 SIM 割り込み制御 0 SIMINT0 +8 SIM 割り込み制御 1 SIMINT1 +9 SIM 割り込み制御 2 SIMINT2 +10 SIM 割り込み制御 3 SIMINT3 +11 SIM 割り込み状態 SIMINTS +12 システム例外処理 SIMEXCP +13 バスエラー制御 SIMBERCL +14 バスエラーアドレス SIMBERAD +15 以降にレジスタの詳細を示します。 表 2-20:SIM コンフィグレジスタ SIMCFG ビット位置 8 0 +7 +6 +5 +4 +3 +2 +1 +0 ビット - SLEEPON - - - - RW - RW - - - - RST - ビット COPIE - RW RW RST 0 WRBIT 0x0 - - - - TIMEOUT - RESET - WRBIT - RW - WS - RW - 0x3 - 0 - 0 書き込み許可 SIM 内の書き込み保護が必要な特に明示されたホストレジスタビットに対して、この WRBIT ビットがセットされているときに書き込み許可を与えます。このビットのセットと同時に TIMEOUT ビットの書き込み変更は行えません。 0 - 書き込み出来ません 1 - 書き込み出来ます 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 38 頁 Alligator Preliminary ソフトウェアリセット RESET ソフトウェア書き込みによるリセットを発生します。1 回目のセットから 64 サイクル以内 に 2 回目のセットを行うとソフトウェアリセット動作を要求します。 1 - ソフトウェアリセットを要求します バスタイムアウト TIMEOUT[1:0] バスのタイムアウトクロック数を設定します。このビット値が 0x0 であるときはタイムアウ ト動作は使用されません。WRBIT ビットをセットしているときに書き込みが可能です。 COP 割り込み許可 COPIE COP タイムアウトによる不正動作割り込み要求の許可、そして、COPI ビットのセット許可 を与えます。このビットをクリアすると COPI ビットは常にクリアされます。 0 - COP タイムアウトによる不正動作割り込み要求をしません 1 - COP タイムアウトによる不正動作割り込み要求をします スリープ動作設定 SLEEPON[2:0] sleep 命令実行時のスリープ動作を設定します。 表 2-21:SIM 制御レジスタ SIMCTL ビット位置 8 0 +7 +6 +5 +4 +3 +2 ビット TEST MAP RW RW RW RST 0 0 0 0 0x0 ビット HALTCOMP - - HALTSYNC MODE RW RC - - WS RST 0 - - 0 +1 +0 - - R - - MODE[3:0] SIM の動作モードを示します。 MODE[0] STOPENB 信号のレベルを示します。 MODE[3:1] ( 予約 ) HALTSYNC ホルト同期 一時的に DSP コアの動作を停止させます。停止後、自動復帰をします。 1 - 一時的に DSP コアの動作を停止、その後、自動復帰をさせます。 HALTCOMP ホルト動作終了 ホルト機能を使用する機能動作が終了したことを示します。このビットをセットすると、ク リアされます。 1 - ホルト機能を使用する機能動作が完了したことを示します。 MAP[3:0] レジスタマッピング ホストレジスタアクセスに関するマッピングを定めます。 TEST[3:0] テスト テストに使用されます。ユーザーは 0x0 以外の値を書き込み禁止です。WRBIT ビットを セットしているときに書き込みが可能です。 39 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 2-22:生成器制御レジスタ SIMCGEN ビット位置 8 +7 +5 +4 +3 +2 +1 +0 CLKSEL GENSTOP GENSTART ビット CLKOPT CLKMUL RW RW RW RST 0x0 ビット 0 +6 0x00 CLKDIV RW RW RW WS,R WS,R RST 0xF 0x0 0 0 GENSTART 生成器動作開始 生成器の動作を許可させます。WRBIT ビットをセットしているときに書き込みが可能です。 読み出しは GENEN 信号 ( 生成器動作許可ビット ) の値を返します。 1 - ( 書き込み ) 生成器を動作させます 0 - ( 読み出し ) 生成器に対して動作許可をしています。 1 - ( 読み出し ) 生成器に対して動作許可をしていません。 GENSTOP 生成器動作停止 生成器の動作を停止させます。WRBIT ビットをセットしているときに書き込みが可能です。 読み出しは生成器動作状態を返します。 1 - ( 書き込み ) 生成器を停止させます。 0 - ( 読み出し ) 生成器は動作していません。 1 - ( 読み出し ) 生成器は動作しています。 CLKSEL[1:0] システムクロック選択 システムクロックに使用するクロックを、生成器クロック、基本クロック (iclk)、gclk から選 択します。WRBIT ビットをセットしているときに書き込みが可能です。 00 01 10 11 - システムクロックに生成器クロックを選択します。 システムクロックに基本クロックを選択します。 システムクロックに発振クロックを選択します。 予約 CLKDIV[3:0] クロック分周比 生成器のクロック分周比を設定します。WRBIT ビットをセットしているときに書き込みが可 能です。 CLKMUL[5:0] クロック逓倍比 生成器のクロック逓倍比を設定します。WRBIT ビットをセットしているときに書き込みが可 能です。 CLKOPT[1:0] 生成器オプション 生成器のオプション機能を設定します。このビット機能は使用する PLL などによって異なり ます。WRBIT ビットをセットしているときに書き込みが可能です。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 40 頁 Alligator Preliminary 表 2-23:ベースクロック制御レジスタ SIMBASE ビット位置 8 +7 +6 +5 +4 ビット BASEDIV RW RW RST 0 +3 +2 +1 +0 0x00 ビット - - - - - - - - RW - - - - - - - - RST - - - - - - - - BASEDIV[7:0] ベースクロック分周値 ベースクロック生成器のクロック分周数を設定します。このビットがゼロであるときは、 ベースクロックは停止されます。WRBIT ビットをセットしているときに書き込みが可能で す。 表 2-24:COP 制御レジスタ SIMCOPCL ビット位置 +7 +6 +5 +4 ビット - - - - RW - - - - RST - - - - - ビット - COPSTAT - COPERR RW - R - RW RST - 0 - 0 8 0 +3 +2 +1 +0 - - - COPSLEEP COPOUTE COPINE COPE RW RW RW RW 1 1 1 1 COPDT W このレジスタビットの 0 から 4 は WRBIT ビットがセットされている時に、リセット解除後、216 シス テムクロックサイクル以内に一度だけ書き込むことが出来ます。また、このレジスタビットの 8 から 15 は WRBIT ビットがクリアされている時にのみ書き込み可能になります。 COPE COP 動作許可 COP 動作を許可します。WRBIT ビットをセットしているときに書き込みが可能です。 0 - COP 動作を許可しません。 1 - COP 動作を許可します。 COPINE COP 内部リセット COP 動作検出により内部リセットをかけます。WRBIT ビットをセットしているときに書き 込みが可能です。 0 - COP 動作検出により内部リセット動作を行いません。 1 - COP 動作検出により内部リセット動作を行います。 COPOUTE COP 外部リセット COP 動作検出により COPOUTB 信号をローレベルにします。WRBIT ビットをセットして いるときに書き込みが可能です。 0 - COP 動作検出により COPOUTB 信号をローレベルにしません。 1 - COP 動作検出により COPOUTB 信号をローレベルにします。 COPSLEEP COP スリープ スリープ動作中に COP 動作を行わせます。WRBIT ビットをセットしているときに書き込み が可能です。 0 - スリープ動作中に COP 動作をしません。 1 - スリープ動作中に COP 動作をします。 41 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator COP エラーリセット COPERR COP 内部リセットをエラーリセット要求にします。WRBIT ビットをセットしているときに 書き込みが可能です。 0 - COP 内部リセットを通常リセットとします。 1 - COP 内部リセットをエラーリセットとします。 COP 動作状態 COPSTAT COP タイムアウト中を示します。 0 - COP タイムアウト中ではありません 1 - COP タイムアウト中です。 COP データ COPDT[3:0] COP データを書き込みます。WRBIT ビットがクリアされているときに書き込みが可能です。 表 2-25:COP データレジスタ SIMCOPDT ビット位置 +7 +6 +5 +4 ビット 8 RW RST 0 +3 +1 +0 1 1 1 1 1 1 1 1 RW 1 1 1 1 ビット COPCNT[7:0] RW RW RST +2 COPCNT[15:8] 1 1 1 1 このレジスタビットは WRBIT ビットがセットされている時に、リセット解除後、216 システムクロッ クサイクル以内に一度だけ書き込むことが出来ます。 COPCNT[15:0] COP カウンタ 16 ビットの長さを持つビットで、書き込みは COP カウンタのタイムアウト値、即ち COP カウンタの最大値を設定します。リセットでこのタイムアウト値は 0xffff になります。読み 出しは現在の COP カウンタの値を示します。WRBIT ビットをセットしているときに書き込 みが可能です。 表 2-26:WUT 制御レジスタ SIMWUT ビット位置 8 0 +7 +6 +5 +4 +3 ビット WUTIM RW RW 0 0 +1 +0 RST 0 0 0 0 0 ビット WUTMOD WUTPRES WUTMATE WUTMAT WUTCLR WUTE RW RW RW RW RC WS RW RST 0 0x7 0 0 0 0 WUTE 0 +2 WUT 動作許可 WUT(Wake Up Timer) の動作許可を設定します。 0 - WUT の動作を許可しません。 1 - WUT の動作を許可します。 WUTCLR WUT カウンタクリア このビットに 1 をセットすると WUT のカウンタをクリアします。 1 - WUT のカウンタをクリアします。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 42 頁 Alligator Preliminary WUT 比較一致 WUTMAT WUT のカウンタが比較値と一致するとセットされます。このビットに 1 をセットするとク リアされます。 1 - WUT のカウンタが比較値と一致しました。 WUTMAT 割り込み許可 WUTMATE WUTMAT ビットによる割り込み要求の許可を設定します。 0 - WUTMAT ビットのセットによる割り込み要求をしません。 1 - WUTMAT ビットのセットによる割り込み要求をします。 WUT プリスケーラ分周比 WUTPRES[2:0] カウンタのクロックのプリスケーラの分周比を設定します。分周比は 1/(28+WUTPRES) に設 定されます。 WUTE ビットがクリアされているときにのみ書き込みが可能です。 WUT モジュロ動作設定 WUTMOD カウンタのカウントアップ動作の設定します。このビットがセットされている場合、カウン タは比較値との一致後、自動的にゼロに戻るモジュロカウンタとして動作します。 0 - カウンタはフリーランカウンタとして動作します。 1 - カウンタはモジュロカウンタとして動作します。 WUTIM[7:0] Wake Up Timer このビットへの書き込みは WUT の比較値を設定します。このビット読み出しは WUT のカ ウンタ値を返します。 表 2-27:SIM 割り込み制御 0 レジスタ SIMINT0 ビット位置 8 +7 +6 +4 +3 +2 +1 +0 ビット INTLVL[7] INTLVL[6] INTLVL[5] INTLVL[4] RW RW RW RW RW RST 0 ビット 0 +5 0 0 0 0 TRAPNUM 0 0 RW RW RW RST 0xf 0x0 FINTNUM[3:0] 0 FINTNUM 高速例外番号設定 高速割り込み(FINT)に対応する例外番号を設定します。このビットの値が 0x0 から 0x3 であるときは、高速割り込み動作要求を行いません。 TRAPNUM[3:0] trap 命令例外番号設定 trap 命令に対応する例外番号を設定します。 INTLVL[n:n=4~7][1:0] 割り込みレベル 例外番号 4 から7の割り込みレベルを選択します。 43 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 2-28:SIM 割り込み制御 1 レジスタ SIMINT1 ビット位置 +7 ビット 8 RW +5 +4 +3 INTLVL[14] RW RST 0 +6 INTLVL[15] +2 RW 0 0 +1 INTLVL[13] RW 0 0 +0 INTLVL[12] RW 0 0 0 0 ビット INTLVL[11] INTLVL[10] INTLVL[9] INTLVL[8] RW RW RW RW RW RST 0 0 0 0 0 0 0 0 INTLVL[n:n=8~15][1:0]割り込みレベル 例外番号 8 から 15 の割り込みレベルを選択します。 表 2-29:SIM 割り込み制御 2 レジスタ SIMINT2 ビット位置 15-0 ビット 表 2-30「SIMINT2 レジスタ読み出し / 書き込み」参照 RW RW RST - このレジスタは MAP ビットにより読み出しと書き込みリソースが異なります。 表 2-30:SIMINT2 レジスタ読み出し / 書き込み FINTADR[15:0] MAP 読み出し 書き込み 備考 0 INTIST[15:0] FINTADR 1-7 (不定) (使用禁止) 8 FINTADR 9-15 ( 不定) FINT 開始アドレス FINT 動作での実行開始アドレスを格納します。リセットで 0xffc0 になりますが、初期化が 必要です。 INTIST[15:0] ペリフェラル割り込み入力状態 ペリフェラル割り込み入力がアサートされていることを示します。このビット位置は割り込 み入力番号を示します。 0 - ペリフェラル割り込み入力はアサートされていません。 1 - ペリフェラル割り込み入力はアサートされています 表 2-31:SIM 割り込み制御 3 レジスタ SIMINT3 ビット位置 +7 +6 +5 +4 +3 +2 ビット位置 表 2-32「SIMINT3 レジスタ読み出し / 書き込み」参照 ビット RW RW - 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. +1 +0 44 頁 Alligator Preliminary このレジスタは MAP ビットにより読み出しと書き込みリソースが異なります。 表 2-32:SIMINT3 レジスタ読み出し / 書き込み MAP 読み出し 書き込み 0 INTIST[31:16] INTINUM[3:0] 1 (不定) INTINUM[7:4] 2 INTINUM[11:8] 3 INTINUM[15:12] 4 INTINUM[19:16] 5 INTINUM[23:20] 6 INTINUM[27:24] 7 INTINUM[31:28] 8 INTINUM[3:0] 9 INTINUM[7:4] 10 INTINUM[11:8] 11 INTINUM[15:12] 12 INTINUM[19:16] 13 INTINUM[23:20 14 INTINUM[27:24] 15 INTINUM[31:28] INTIST[31:16] 備考 (使用禁止) ペリフェラル割り込み入力状態 ペリフェラル割り込み入力がアサートされていることを示します。このビット位置は割り込 み入力番号を示します。 0 - ペリフェラル割り込み入力はアサートされていません。 1 - ペリフェラル割り込み入力はアサートされています ペリフェラル割り込み入力設定 INTINUM[i] ペリフェラル割り込み入力に対して例外番号を設定します。この i は割り込み入力番号を示し ます。 表 2-33:INTCTL ビット書き込み SIMINT3 MAP 45 頁 備考 [15:12] [11:8] [7:4] [3:0] 0 INTINUM[3] INTINUM[2] INTINUM[1] INTINUM[0] 1 INTINUM[7] INTINUM[6] INTINUM[5] INTINUM[4] 2 INTINUM[11] INTINUM[10] INTINUM[9] INTINUM[8] 3 INTINUM[15] INTINUM[14] INTINUM[13] INTINUM[12] 4 INTINUM[19] INTINUM[18] INTINUM[17] INTINUM[16] 5 INTINUM[23] INTINUM[22] INTINUM[21] INTINUM[20] 6 INTINUM[27] INTINUM[26] INTINUM[25] INTINUM[24] 7 INTINUM[31] INTINUM[30] INTINUM[29] INTINUM[28] (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 2-34:SIM 割り込み状態レジスタ SIMINTS ビット位置 8 0 +7 +6 +5 +4 +3 +2 +1 +0 ビット INTST[15] INTST[14] INTST[13] INTST[12] INTST[11] INTST[10] INTST[9] INTST[8] RW R R R R R R R R RST - - - - - - - - ビット INTST[7] INTST[6] INTST[5] INTST[4] - - - - RW R R R R - - - - RST - - - - - - - - 割り込み状態 INTST[15:4] 割り込み要求状態を示します。 表 2-35:システム例外処理レジスタ SIMEXCP ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット - - - ADRMIS BUSOUT ADRF COPI ILOP 8 0 RW - - - RC RC RC RC RC RST - - - 0 0 0 0 0 ビット SOFTRST COPRST SYSRST CGENRST CKMONRST EXTRST IMMRST COLDRST RW R R R R R R R R RST - - - - - - - - COLDRST コールドリセット 直前のリセットアサートが CDRESETB 信号あるいは内部 LVI/POR によりアサートされた コールドリセットであることを示します。 0 - 直前のリセットはコールドリセットによるリセットではありません 1 - 直前のリセットはコールドリセットによるリセットです IMMRST 外部即時リセット 直前のリセットアサートが IMRESETB 信号による外部即時リセットであることを示します。 0 - 直前のリセットは外部即時リセットではありません 1 - 直前のリセットは外部即時リセットです EXTRST 外部リセット 直前のリセットアサートが RESETB 信号による外部リセットであることを示します。 0 - 直前のリセットは外部リセットではありません 1 - 直前のリセットは外部リセットです CKMONRST クロックモニターリセット 直前のリセットアサートがクロックモニターリセットであることを示します。 0 - 直前のリセットはクロックモニターリセットではありません 1 - 直前のリセットはクロックモニターリセットです CGENRST 生成器エラーリセット 直前のリセットアサートがクロック生成器の不安定による生成器エラーリセットであること を示します。 0 - 直前のリセットは生成器エラーリセットではありません 1 - 直前のリセットは生成器エラーリセットです 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 46 頁 Alligator SYSRST Preliminary システムリセット 直前のリセットアサートがシステムエラーリセットであることを示します。 0 - 直前のリセットはシステムリセットではありません 1 - 直前のリセットはシステムリセットです COPRST COP リセット 直前のリセットアサートが COP リセットであることを示します。 0 - 直前のリセットは COP リセットではありません 1 - 直前のリセットは COP リセットです SOFTRST ソフトウェアリセット 直前のリセットアサートがホストによる RESET ビットセットによるソフトウェアリセット であることを示します。 0 - 直前のリセットはソフトウェアリセットではありません 1 - 直前のリセットはソフトウェアリセットです ILOP 未定義命令実行による不正動作割り込み 未定義命令実行による不正動作割り込みであることを示します。このビットをセットすると クリアされます。 0 - 未定義命令実行による不正動作割り込みではありません 1 - 未定義命令実行による不正動作割り込みです COPI COP タイムアウトによる不正動作割り込み COP タイムアウトによる不正動作割り込みであることを示します。このビットをセットする とクリアされます。 0 - COP タイムアウトによる不正動作割り込みではありません 1 - COP タイムアウトによる不正動作割り込みです ADRF 未定義アドレスアクセスによる不正動作割り込み 未定義のアドレス空間アクセスによる不正動作割り込みであることを示します。このビット をセットするとクリアされます。 0 - 未定義アドレスアクセスによる不正動作割り込みではありません 1 - 未定義アドレスアクセスによる不正動作割り込みです BUSOUT バスタイムアウトによる不正動作割り込み バスアクセスが規定クロック内で終了せずバスのタイムアウト終了したことによる不正動作 割り込みであることを示します。このビットをセットするとクリアされます。 0 - バスタイムアウトによる不正動作割り込みではありません 1 - バスタイムアウトによる不正動作割り込みです ADRMIS ミスアライメントによる不正動作割り込み バスアクセスでミスアライメントを検出したことによる不正動作割り込みであることを示し ます。このビットをセットするとクリアされます。 0 - ミスアライメントによる不正動作割り込みではありません 1 - ミスアライメントによる不正動作割り込みです 47 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 2-36:バスエラー制御レジスタ SIMBERCL ビット位置 +7 +6 +5 - +4 +3 +2 - - - +1 +0 - - ビット 8 0 RW RST - - ビット - - RW - RST - BERRMUX - - RW - - 0x0 - BERR RC 0 0 0 バスエラー要因 BERR[2:0] バスエラーを発生させたバスの種類を示します。ビットをセットするとクリアされます。 BERRMUX[1:0] バスエラーデータ選択 バスエラーを発生させたアドレスは SIMBERAD レジスタに反映します。この SIMBERAD レジスタを通して読み出せるバスの種類を選択します。 表 2-37:バスエラーデータレジスタ SIMBERAD ビット位置 8 +7 +6 +5 +3 ビット BERRAD[15:8]/TESTOPT[15:8] RW R/W RST - - - ビット 0 +4 - +1 +0 - - - - - - BERRAD[7:0]/TESTOPT[7:0] RW RST - +2 R/W - BERRAD[15:0] - - - - バスエラーアドレス バスエラーを発生させたアドレスを格納します。BERRMUX ビットでこの SIMBERAD レジ スタを通して読み出せるバスの種類を選択します。 TESTOPT[15:0] テストオプション テストの設定に使用します。ユーザーの書き込みは禁止です。WRBIT ビットをセットしてい るときに書き込みが可能です。リセット直後の値はゼロになります。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 48 頁 Alligator Preliminary メモリ制御(MEMCTL)モジュール Alligator で使用するプログラムメモリ(PMEM)モジュールとデータメモリ(DMEM) モジュールを 制御するメモリ制御(MEMCTL)モジュールです。 このモジュールの機能は、内蔵するフラッシュ ROM(PFLASH) 、プログラム RAM(PRAM)およ びデータ RAM(DRAM)の各メモリに対して、メモリアクセスのウェイト数、フラッシュ ROM 書き 込みや消去の制御、セキュリティの制御を行います。また、このモジュールはデバッグ動作時も使用 できます。 3.1 スタンバイ動作 内蔵メモリは、低消費電力状態であるスタンバイ動作にできます。スタンバイ動作にするには、 PFLASH は PFSTDBY ビット、PRAM は PRSTDBY ビット、DRAM は DRSTDBY ビットをセットします。 3.2 メモリアクセス用ウェイト数 PFLASH へのアクセス時間が、バスの要求するノンウェイトのアクセス時間に比べて長い場合は、 バスアクセスにウェイトサイクルを挿入してタイミングを合わせる必要があります。その他のメモリ は、ノンウェイトで動作させます。 このウェイト数の設定は、メモリ制御モジュールの PFWAIT ビットで行います。PFWAIT ビットの 値が 0x0 であるときはノンウェイト、0x1 で 1 ウェイト、0xf で 15 ウェイトになります。リセットに より 0x4 に設定されます。 PFWAIT ビットにウェイト数を書き込んでから、SIM モジュールの HALTSYNC ビットをセットする と、内部にウェイト数が取り込まれ、ウェイト数が更新されます。PFWAIT ビットを読み込むと、設 定値ではなく読み込んだ時点での内部ウェイト数を返します。 HALTSYNC ビットをセットすると、DSP コアの動作を一時停止し、HALT 状態としてバスが開放さ れます。この HALT 状態にある時、自動的に内部にウェイト数が設定され、その後、通常動作に移行 します。 3.3 フラッシュ ROM 書き込みと消去 PMEM モジュールの PFLASH への書き込みと消去は、この MEMCTL モジュール経由で行います。 PFLASH は、32 ビットデータ幅 x 8K(16K ワード)の大きさです。ページサイズは、32 ビットデー タ幅 x 256(512 ワード)になります。 3.3.1 モード設定 PFLASH への書き込み動作と消去動作の選択は、MODE ビットで行います。また、FLSEL ビットで 書き込み / 消去するフラッシュ ROM の構造を選択します。Alligator では、FLSEL ビットは 0x4 を選 択します。PFLASH へのアクセス方法の選択は、SFTACC ビットで行います。SFTACC ビットがクリ アされているとハードウェア書き込み・消去動作になります。Alligator では、SFTACC ビットはハー ドウェア書き込み・消去動作を選択します。 3.3.2 書き込み・消去時間設定 PFLASH は、書き込みと消去動作において、固有のセットアップ / ホールド時間、消去時間、プロ グラム時間を持ちます。それらの時間を生成するにはプログラムタイミング生成器を使用します。 プログラムタイミング生成器では、8 ビットのモジュロカウンタにより、システムクロックを(US ビット +1)の分周比を持つ US クロックを生成します。そして、この US クロックを使用して、固定 US クロック数で設定される各種セットアップタイミングと、16 ビット長の PGM ビットで設定される US クロック数をプログラム時間や消去時間に設定し使用します。 US ビットを使用して、US クロックは 1us 以上の周期を持たせなければなりません。また、PGM 49 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator ビットは書き込み動作ではプログラム時間、ページ消去動作ではページ消去時間、バルク消去動作で はバルク消去時間に合わせなければなりません。 なお、ユーザーベクタの 4 ワード(0xfffc から 0xffff)を含む最終ページ領域にはページ消去を行え ません。 図 3-1: プログラムタイミング生成器 US クロック システムクロック 8 ビットモジュロカウンタ (1/(US +1) ) プログラム / 消去時間 書き込み・消去時間 生成器(16 ビットカウンタ) (1/PGM) 表 3-1 に書き込み / 消去時間を示します。この最小値と最大値を満たすように MEMOPT1 レジスタ にある PGM ビットを設定しなければなりません。 表 3-1:書き込み・消去時間 値 UC クロック 数 備考 us PGM ビット 書き込み ms PGM ビット ページ / バルク消去 パラメータ 最小 最大 単位 Tprog 20 40 Terase 20 40 アドレス設定 3.3.3 書き込みやページ消去動作ではアドレス情報を持つ WRADR ビットを使用しますが、この WRADR ビットで示す値は Alligator のアドレスではなく、メモリ内のアドレスになります。例えば、PFLASH が Alligator として 0xC000 番地から置かれた時に、0xC000 番地にデータを書き込むには WRADR ビッ トに 0x0000 を設定します。 WRADR ビットには、16 ビット単位のワードアドレスで、書き込みアドレスを設定しますが、この 書き込みデータは 2 ワード単位ですので、WRADR ビットの最下位ビットは無視されます。 WRDAT ビットに下位ワードそして上位ワードの順にデータを書き込むと、書き込み動作の開始にな ります。2 回目のワードデータの書き込みだけが、書き込み開始となります。AUTOADR ビットをセッ トしておくと、2 ワード単位で書き込みアドレスがインクリメントされます。 書き込み・消去設定 3.3.4 書き込み / 消去動作をさせるには、PFWREN ビットをセットします。この PFWREN ビットがセッ トされている間は、PFLASH からの読み出しはできません。 WRDAT ビットへの書き込みは、書き込み / 消去動作の開始となり、書き込み / 消去動作中は RUN ビットがセットされます。また、書き込み / 消去動作を強制的に終了させたい場合は、END ビットを セットすると、書き込み / 消去動作を終了させることができます。END ビットのセットにより書き込 み / 消去動作を中断した場合、PFLASH の内容は保証されません。 3.3.4.1 書き込み動作 MODE ビットをクリアすると書き込み動作になります。書き込みデータサイズは 2 ワード単位(32 ビット)であり、この 2 ワード単位で書き込み動作を終了させます。 • マニュアルモードでの書き込み BUSWAIT ビットをクリアするとマニュアルモードになります。上記の説明に従った WRDAT ビットへの書き込みが、PFLASH への書き込み動作の開始になります。書き込み動作が終了す ると、RUN ビットはクリアされます。 • バスウェイトモードでの書き込み 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 50 頁 Alligator Preliminary BUSWAIT ビットをセットするとバスウェイトモードになります。上記の説明に従った WRDAT ビットへの書き込みが、PFLASH への書き込み動作の開始になります。バスはウェイ ト動作に入り、書き込みが終了すると、ウェイト動作を終了させます。 このモードで動作させる場合、COP 動作やバスウェイトタイムアウト動作は有効に機能する ため、書き込み動作の不具合にならないよう設定する必要があります。 3.3.4.2 消去動作 MODE ビットをセットすると消去動作になります。消去サイズの選択は、ERSIZE ビットで行いま す。Alligator では、512 ワード消去のページ分割 0 か全消去のバルク消去を選択します。 消去動作では、WRDAT ビットに任意のデータを書き込むと消去動作の開始になります。バルク消去 では WRADR ビットの内容は無視されますが、ページ消去では WRADR ビットが使用され、ページサ イズに準じて、WRADR ビットの上位側が使用されます。 • マニュアルモードでの消去 BUSWAIT ビットをクリアするとマニュアルモードになります。上記の説明に従った WRDAT ビットへの書き込みにより、PFLASH への消去動作の開始になります。消去動作が終了する と、RUN ビットはクリアされます。 • バスウェイトモードでの消去 BUSWAIT ビットをセットするとバスウェイトモードになります。上記の説明に従った WRDAT ビットへの書き込みが、PFLASH への消去動作の開始になります。バスはウェイト動 作に入り、消去が終了すると、ウェイト動作を終了させます。 このモードで動作させる場合、COP 動作やバスウェイトタイムアウト動作は有効に機能する ため、消去動作の不具合にならないよう設定する必要があります。 3.3.4.3 最終ページ領域の消去制限 PFLASH の最終ページ領域(0xfe00-0xffff)は、システムプログラム、システムデータ、ユーザーベ クタなどが置かれます。この領域の消去は、バルク消去のみが許され、ページ消去は無視されます。 3.4 レジスタ このモジュールは全部で 16 ワードの大きさを持ちます。レジスタマップを表 3-2 に示します。尚、 このモジュール内の全てのレジスタビットはデバッグ中に読み書き可能です。 表 3-2:メモリ制御モジュールレジスタ レジスタ名 アドレス メモリ制御設定 MEMCTL +0 メモリ制御ウェイト数設定 MEMWAIT +1 メモリ制御フラッシュ制御 0 MEMFL0 +2 メモリ制御フラッシュ制御 1 MEMFL1 +3 メモリ制御フラッシュ制御 2 MEMFL2 +4 メモリ制御フラッシュ制御 3 MEMFL3 +5 メモリ制御オプション 0 MEMOPT0 +6 メモリ制御オプション 1 MEMOPT1 +7 メモリ制御オプション 2 MEMOPT2 +8 (予約) メモリ制御プログラムメモリ +9 MEMPMEM (予約) 51 頁 +10 +11-13 メモリ制御セキュリティレジスタ 0 MEMSECREG0 +14 メモリ制御セキュリティレジスタ 1 MEMSECREG1 +15 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 以降にレジスタの詳細を示します。 表 3-3:メモリ制御設定レジスタ MEMCTL ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット - - - - - - - - 8 0 RW - - - - - - - - RST 0 0 0 0 0 0 0 0 ビット DRSTDBY - PRSTDBY PFSTDBY - - MEMRST - RW RW - RW RW - - WS - RST 0 0 0 0 0 0 0 0 +3 +2 +1 +0 0 0 0 0 0 0 MEM 制御リセット MEMRST メモリ制御モジュールをリセットします。 1 - メモリ制御モジュールをリセットします。 PFLASH スタンバイ動作 PFSTDBY PFLASH をスタンバイ動作にします。 0 - PFLASH をスタンバイ動作にしません。 1 - PFLASH をスタンバイ動作にします。 PRAM スタンバイ動作 PRSTDBY PRAM をスタンバイ動作にします。 0 - PRAM をスタンバイ動作にしません。 1 - PRAM をスタンバイ動作にします。 DRAM スタンバイ動作 DRSTDBY DRAM をスタンバイ動作にします。 0 - DRAM をスタンバイ動作にしません。 1 - DRAM をスタンバイ動作にします。 表 3-4:メモリ制御ウェイト数設定レジスタ MEMWAIT ビット位置 8 0 +7 +6 +5 +4 ビット - - - - RW - - - - RST 0 0 0 0 ビット - - - - RW - - - - RST 0 0 0 0 PFWAIT[3:0] PFWAIT RW 0 1 PFLASH ウェイト数 PFLASH のウェイト数を設定します。このレジスタビットを読み込むと現時点のウェイト数 を返します。 実際のウェイト数は SIM モジュールの HALTSYNC ビットのセットで更新されます。この ビットの書き込みだけでは更新されません。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 52 頁 Alligator Preliminary 表 3-5:メモリ制御フラッシュ制御レジスタ 0 MEMFL0 ビット位置 +7 +6 ビット 8 RW RST 0 +5 +4 FLSEL RW 0 0 +3 +2 +1 +0 WRSYSDAT WRSYS SFTACC MODE RW RW RW RW 0 0 0 0 0 0 ビット - - - - - - - PFWREN RW - - - - - - - RW RST 0 0 0 0 0 0 0 0 PFLASH 書き込み / 消去許可 PFWREN PFLASH の読み出しを不許可、書き込み / 消去動作の許可を与えます。 0 - PFLASH の読み出しは可能、書き込み / 消去動作はできません。 1 - PFLASH の書き込み / 消去動作は可能、読み出しはできません。 書き込み・消去選択 MODE PFLASH の書き込み / 消去動作で書き込みあるいは消去を選択します。 0 - 書き込み動作を選択します。 1 - 消去動作を選択します。 フラッシュ ROM の書き込み・消去選択 SFTACC PFLASH の書き込み / 消去動作でアクセス方法を選択します。 0 - ハードウェア書き込み・消去動作を選択します。 1 - ソフトウェアアクセス動作を選択します(使用禁止)。 システムプログラム書き込み保護解除 WRSYS システムプログラムへの書き込み保護を解除します 0 - システムプログラムへの書き込み保護を有効にします。 1 - システムプログラムへの書き込み保護を解除します(使用禁止)。 システムデータ書き込み保護解除 WRSYSDAT システムデータへの書き込み保護を解除します。 0 - システムデータへの書き込み保護を有効にします。 1 - システムデータへの書き込み保護を解除します(使用禁止) 。 フラッシュ選択 FLSEL[3:0] 書き込み / 消去するフラッシュ ROM の構造を選択します。 常に 0x4 に設定します。 表 3-6:メモリ制御フラッシュ制御レジスタ 1 MEMFL1 ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット - - - RUN - - - END RW - - - R - - - WS RST 0 0 0 0 0 0 0 0 8 0 53 頁 ビット - - ERSIZE - AUTOADR - BUSWAIT RW - - RW - RW - RW RST 0 0 0 0 0 0 0 0 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary BUSWAIT[1:0] Alligator バスモード 書き込み / 消去方法を選択します。 0 - マニュアルモードの書き込み / 消去動作を選択します。 1 - バスウェイトモードの書き込み / 消去動作を選択します。 アドレスインクリメント動作 AUTOADR 書き込み動作でのアドレスインクリメント動作を設定します。 0 - アドレスインクリメント動作を使用しません。 1 - アドレスインクリメント動作を使用します。 消去サイズ選択 ERSIZE[1:0] 消去動作での消去サイズを選択します。 00 01 10 11 - ページ分割 0 を選択します。 ページ分割 1 を選択します(使用禁止)。 ページ分割 2 を選択します(使用禁止)。 バルクを選択します。 動作終了 END 書き込み / 消去動作を終了させます。 1 - 書き込み / 消去動作を終了させます。 書き込み / 消去状態 RUN 書き込み / 消去動作の状態を示します。 0 - 書き込み / 消去動作中ではありません。 1 - 書き込み / 消去動作中です。 表 3-7:メモリ制御フラッシュ制御レジスタ 2 MEMFL2 ビット位置 8 +7 +6 +5 +4 ビット WRADRT15:8] RW RW RST 0 0 0 0 ビット 0 +3 +1 +0 0 0 0 0 0 0 0 0 WRADR[7:0] RW RST +2 RW 0 WRADR[15:0] 0 0 0 書き込み / 消去アドレス 書き込み / 消去動作でのアドレスを指定します。読み出しは動作中のアドレスを返します。 表 3-8:メモリ制御フラッシュ制御レジスタ 3 MEMFL3 ビット位置 +7 +6 +5 +4 ビット 8 RW RST 0 0 0 0 WRDAT[7:0] RW RW 2013.12.20 版 +2 +1 +0 0 0 0 0 0 0 0 0 RW 0 ビット RST +3 WRDAT15:8] 0 0 0 0 (C) 2009-2013 New Japan Radio Co., Ltd. 54 頁 Alligator Preliminary WRDAT[15:0] 書き込み / 消去アドレス 書き込み / 消去動作でのデータを指定します。 表 3-9:メモリ制御オプションレジスタ 0 MEMOPT0 ビット位置 8 0 +7 +6 +5 +4 ビット US[7:0] RW RW +3 +2 +1 +0 RST 0 0 0 0 0 0 0 0 ビット - - - - - - - INFOAREA RW - - - - - - - - RST 0 0 0 0 0 0 0 0 +7 +6 +5 +3 +2 +1 +0 0 0 0 0 0 0 0 0 +3 +2 +1 +0 MEMOPT1 ビット位置 8 +4 ビット PGM[15:8] RW RW RST 0 0 0 0 ビット 0 PGM[7:0] RW RST RW 0 0 0 +7 +6 +5 0 MEMOPT2 ビット位置 8 0 +4 ビット - - - - - - - - RW - - - - - - - - RST 0 0 0 0 0 0 0 0 ビット - - - - - - - - RW - - - - - - - - RST 0 0 0 0 0 0 0 0 INFOAREA PFLASH の領域選択 常に 0 に設定します。 US[7:0] US クロック分周比 US クロック分周比を設定します。US クロックは、システムクロックを(US ビット+1) で分周した値です。 55 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator プログラム / 消去時間 PGM[15:0] プログラム / 消去時間を設定します。プログラム / 消去時間は、US クロックを PGM ビット で指定された値で分周した値です。 表 3-10:プログラム制御プログラムメモリレジスタ MEMPMEM ビット位置 8 0 +7 +6 +5 +4 +3 +2 +1 +0 ビット - - - PFCLR - PFPRE - PFLINEEN RW - - - WS - RW - RW 0 0 0 0 0 0 RST 0 0 0 0 ビット - - - - RW - - - - RST 0 0 0 0 PLINE RW 0 0 このレジスタビットへ書き込みした値は、SIM モジュールの HALTSYNC ビットのセットで更 新されます。また、これらレジスタビットからの読み出しは、現時点の値を返します。 P ラインバッファ使用数 PLINE[3:0] プログラムメモリのラインバッファで使用するライン数を設定します。読み出しは内部の設 定内容を示します。 P ラインバッファ PFLASH 使用許可 PFLINEEN プログラムメモリの PFLASH 用にラインバッファを使用するか設定をします。読み出しは内 部の設定内容を示します。 0 - PFLASH 用ラインバッファを使用しません。 1 - PFLASH 用ラインバッファを使用します。 P ラインバッファ PFLASH プリフェッチ PFPRE プログラムメモリのラインバッファで PFLASH 用ラインプリフェッチ動作を行うかどうかを 設定します。読み出しは内部の設定内容を示します。 0 - PFLASH 用ラインプリフェッチ動作を行いません。 1 - PFLASH 用ラインプリフェッチ動作を行います。 P ラインバッファ PFLASH 有効タグクリア PFCLR プログラムメモリの PFLASH が使用するラインバッファの有効タグをクリアします。 1 - PFLASH の有効タグをクリアします。 表 3-11:メモリ制御セキュリティレジスタ 0 MEMSECREG0 ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット - - - - - - - - RW - - - - - - - - RST 0 0 0 0 0 0 0 0 8 0 ビット - - - - - - - - RW - - - - - - - - RST 0 0 0 0 0 0 0 0 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 56 頁 Alligator Preliminary セキュリティに関わるレジスタです。 表 3-12:メモリ制御セキュリティレジスタ 1 MEMSECREG1 ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット - - - - - - - - RW - - - - - - - - RST 0 0 0 0 0 0 0 0 8 0 ビット - - - - - - - - RW - - - - - - - - RST 0 0 0 0 0 0 0 0 セキュリティに関わるレジスタです。 57 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. Alligator 58 頁 Alligator Preliminary プログラムメモリ(PMEM) モジュール Alligator で使用するプログラムメモリモジュールは約 16K ワードのプログラム用フラッシュ ROM (PFLASH)、約 4K ワードのプログラム用 SRAM(PRAM)、ベクタ RAM(VRAM)、ブート ROM (BROM)、128 ビット長 8 ラインのラインバッファから構成されます。また、フラッシュ ROM の書き 込みについては別仕様で定義します。 アウトライン 4.1 PFLASH は直接あるいはラインバッファを通して読み出し専用の P データバス(R) とラインバッ ファを通さずに読み出し専用の X データバス(R) に接続されます。 PRAM は読み出し専用の P データバス(R)、読み出し専用 X データバス(R)、書き込み専用 P デー タバス(W)、書き込み専用 X データバス (W) に接続されます。 VRAM は読み出し専用の P データバス(R)、読み出し専用 X データバス(R) と書き込み専用 X デー タバス(W) に接続されます。 BROM は読み出し専用の P データバス(R) と読み出し専用 X データバス(R) に接続されます。 また、デバッグ用途で書き込み専用 P バスが PRAM に接続されます。 図 4-1: ブロック図 フラッシュROM(PFLASH) SRAM (PRAM) (16KW) (4KW) ベクタ RAM (28W) (VRAM) ブート ROM (512W) (BROM) 32(2W) 64(4W) ラインバッファ (64W) 64(4W) P データバス (R) 32(2W) X データバス (R) 16(1W) P データバス(W) 32(2W) X データバス(W) このプログラムメモリモジュール全体ではほぼ 40K ワードのサイズがあります。このうち PRAM は 0x6000 から 0x6fff で 4K ワード、PFLASH は 0xC000 から 0xfcff と 0xff00 から 0xffdf、0xfffc から 0xffff の3つの領域でほぼ 16K ワード分けて置かれます。VRAM は 0xffe0 から 0xfffb の 28 ワードに置かれ、 BROM は 0xfd00 から 0xfeff の 512 ワードに置かれます。 59 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 4-2: PMEM メモリマップ P バス (読み込み) X バス X バス Y バス (読み込み) (書き込み) (読み込み) 0x6000 PRAM 4K 0x6FFF 0xC000 PFLASH 16K 512 0xFCFF 0xFD00 0xFEFF 0xFF00 224 28 4 4.2 0xFFDF 0xFFE0 0xFFFB 0xFFFC 0xFFFF BROM PFLASH VRAM PFLASH プログラム用フラッシュ ROM(PFLASH) このプログラム用フラッシュROM(PFLASH)は内部に実体フラッシュROM を持っています。PMEM モジュールにとって、PFLASH からの P バス読み出しは PFLASH から直接、あるいは、PFLASH に接 続されたラインバッファを通して行います。PFLASH からの X バス読み出しは PFLASH から直接行い ます。また、X バスと P バスアクセスの同時アクセスがあれば、X バスが優先されます。 PFLASH は 32 ビット幅のデータバスを持ちます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 60 頁 Alligator Preliminary 図 4-3: メモリマップ PFLASH 0xC000 0xFF00 ユーザー プログラム システム プログラム 224 16K 0xFFDF (0xFFE0) システムデータ 28 0xFCFF (0xFFFB) 0xFFFC 512 256 4.2.1 0xFF00 0xFFFF ユーザーベクタ 4 0xFFFF メモリマップ この PFLASH は全体で 16K ワードの大きさがあります。0xc000 から 0xfcff まではプログラムデー タが置かれ、0xfffc から 0xfff にはユーザーベクタ領域のうちの 4 ワードが置かれます。 0xff00 から 0xffdf はシステムプログラムが置かれユーザーからのアクセスは出来ますが、使用は認 められません。また、ベクタ RAM 領域である 0xffe0 から 0xfffb にシステムデータが置かれます。ブー ト ROM 領域である 0xfd00 から 0xfeff までの 512 ワードは使用出来ません。 表 4-1:PFLASH マップ 61 頁 アドレス PFLASH 内アドレス 内容 0xC000-0xC001 0x0000-0x0001 ユーザープログラム ( 16K) - - 0xfcfe-0xfcff 0x3cfe-0x3cff 0xfd00-0xfd01 0x3d00-0x3d01 - - 0xfefe-0xfeff 0x3efe-0x3eff 0xff00-0xff01 0x3f00-0x3f01 - - 0xffde-0xffdf 0x3fde-0x3fdf 0xffe0-0xffe1 0x3fe0-0x3fe1 - - 0xfffa-0xfffb 0x3ffa-0x3ffb 0xfffc-0xfffd 0x3ffc-0x3ffd 0xfffe-0xffff 0x3ffe-0x3fff (リザーブ) (512) システムプログラム (224) システムデータ (28) ユーザーベクタ (4) (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 4.2.2 Alligator 実体フラッシュ ROM とバスウェイトサイクル 実体フラッシュROM のアクセス時間が、バスの要求するノンウェイトのアクセス時間に比べて長い 場合は、バスアクセスにウェイトサイクルを挿入してタイミングを合わせる必要があります。アクセ ス時間は別項に定めますが、現時点では 50ns 以下とします。 このウェイトサイクルはメモリ制御部のPFWAIT[3:0]ビットで行います。このビットによりノンウェ イトから最大 15 サイクルのウェイトサイクルを持たせることが出来ます。このビットはリセットで 0x4、つまり 4 サイクルのウェイトサイクルを持たせます。 PFWAIT ビットにウェイト数を書き込んでから、SIM モジュールのホストレジスタビットである、 HALTSYNC ビットをセットすると、内部にウェイト数が取り込まれウェイトサイクルが更新されます。 4.2.3 P バスアクセス PFLASH の P バスからの読み出しはラインバッファを介して可能です。 以下のいずれかの条件のとき、ラインバッファを使用せず、PFWAIT ビットに設定されたウエイト 数を持った PFLASH からの直接読み出しになります。 • PFWAIT ビットの設定が 0 サイクルウェイト、つまり、ノンウェイトアクセス • PFLINEEN ビットがクリアされている 4.2.4 X バスアクセス PFLASH の X バスを通したデータ読み出しは PFWAIT ビットに従設定されたウエイト数を持った PFLASH からの直接読み出しになります。この読み出し幅は 2 ワード(32 ビット)になります。 SRAM(PRAM) はプログラム用として PMEM モジュール内部にあります。SRAM(PRAM)からの P バス読み出しは 64 ビット幅、X バス読み出しは 32 ビット幅、X バス書き込みは 16 ビット単位の 32 ビット幅になり、すべてノンウェイトで行われます。また、X バスと P バスアクセスの同時読み出し アクセスがあれば、X バスが優先されます。 PRAM 内の実体 SRAM の読み出しデータ幅は 64 ビット幅、書き込みデータ幅は 16 ビット単位の 64 ビット幅になっています。 アドレス空間は 0x6000 から 0x6dff のプログラム領域に置かれ、4K ワードのサイズを持ちます。プ ログラム領域である 0x6000 から 0x6fff の領域のうち、ユーザープログラム領域としてユーザーが使用 可能な領域は 0x6000 から 0x6fbf になります。0x6fc0 から 0x6fff までの 64 ワードはシステムプログラ ム領域として使用され、ユーザーの使用は禁止されています。 図 4-4: PRAM メモリマップ 0x6000 ユーザープログラム 4K 0x6FBF 64 2013.12.20 版 0x6FC0 0x6FFF システムプログラム (C) 2009-2013 New Japan Radio Co., Ltd. 62 頁 Alligator 4.3 Preliminary ベクタ用 RAM(VRAM) ベクタ用 RAM(VRAM)は FF 等のハードワイヤで構成されたノンウェイトのバスアクセスが可能な メモリです。VRAM からの P バスの読み出し、X バス読み出し / 書き込みはバスに直結されます。ま た、X バスと P バスアクセスの同時アクセスがあれば、X バスが優先されます。 VRAM は 0xffe0 から 0xffee のブート割り込みベクタ領域、0xffef のブートリセットベクタ領域、0xfff0 から 0xffb までのユーザーベクタ領域の 3 つに別れ、合計で 28 ワードのサイズを持ちます。 ブート割り込みベクタとユーザーベクタは読み書き可能なメモリ(RAM) になります。ブートリセッ トベクタは読み出し専用のメモリ(ROM) であり、ブートプログラム領域の先頭番地を示すデータ (0xfd00) を持ちます。 尚、アドレス 0xfffc から 0xffff までのユーザーリセットベクタを含む上位4つのユーザー例外処理ベ クタは PFLASH に置かれます。 図 4-5: VRAM メモリマップ 0xFFE0 15 ブート割り込みベクタ 0xFFEE ブートリセットベクタ 1 0xFFEF 0xFFF0 12 ユーザーベクタ 0xFFFB 4.4 ブート ROM(BROM) このブート ROM(BROM)は P バスと X バスに接続される読み出し専用メモリ(ROM)になりま す。また、ハードワイヤで作られているので、バスアクセスはノンウェイトで動作します。BROM は アドレス 0xFD00 から 0xFEFF までに 512 ワードのブートプログラム領域から成ります。 図 4-6: BROM メモリマップ 0xFD00 ブートプログラム 512 0xFEFF 4.5 ラインバッファによる P バスアクセス ラインバッファは P バスと PFLASH の間に入り、1 つのライン幅は 64 ビット(4 ワード)の幅を持 つ、最大 16 ライン分のバッファとして動作します。1 つのラインバッファはラインと呼ばれ、ライン データ、有効タグ、タグアドレスからなります。 このラインバッファはライン外のアドレスアクセスがあると、実体メモリからデータを読み出し、ラ イン毎のラインデータとタグアドレスを更新し、有効タグをセットします。PFLASH からのデータ読 み出しは PFWAIT ビットで設定されたウェイト数に従います。 この更新方法は LRU(Least Recently Used) 方式が使用され、一番古いアクセス履歴のあるライン 63 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator が入れ替わります。 図 4-7: ラインバッファ PFLASH より 32(2W) ラインデータ 0 ライン 0 ラインバッファ (最大 16) ライン 1-14 ラインデータ 1-14 ラインデータ 15 ライン 15 有効タグ 64(4W) P データバス 4.5.1 ラインバッファに関するレジスタビットの書き込みと更新 PMEM のラインバッファに関係するレジスタビットは MEMPMEM レジスタにあり、ウェイト数に 関するレジスタビットと同じメカニズムを採用しています。つまり、これらのレジスタビットは 2 重 バッファ構造になっており、これらのレジスタビットに書き込んだ後に SIM モジュールの HALTSYNC ビットのセットで内部に取り込まれます。これらのレジスタビットの書き込みだけでは内部は更新さ れません。また、読み出しは内部のレジスタビットの内容を返します。 PLINE ビット、PFLINEEN ビット、PFPRE ビットへの書き込みの際にそれらのビット内容が変化 すると、これらのビットへの書き込みと認識され、HALTSYNC ビットのセットが必要になります。し かしながら、内容が変化しなければ書き込みと認識されません。また、PFCLR ビットのセットにも、 HALTSYNC ビットのセットが必要になります。 4.5.2 ラインバッファのライン数の設定 ラインバッファとして使用するライン数を PLINE[3:0] ビットで設定します。この値はそのまま PFLASH で使用されるライン数になります。 表 4-2:PLINE ビットとライン 2013.12.20 版 PLINE ビット 使用ライン数 使用ライン番号 0x0 1 0 0x1 2 0-1 0x2 3 0-2 0x3 4 0-3 0x4 5 0-4 0x5 6 0-5 0x6 7 0-6 0x7 8 0-7 0x8 9 0-8 0x9 10 0-9 0xa 11 0-10 0xb 12 0-11 (C) 2009-2013 New Japan Radio Co., Ltd. 64 頁 Alligator Preliminary 表 4-2:PLINE ビットとライン 4.5.3 PLINE ビット 使用ライン数 使用ライン番号 0xc 13 0-12 0xd 14 0-13 0xe 15 0-14 0xf 16 0-15 PFLASH のラインバッファリング PFLASH のプログラムアクセスには内部で使用する実体フラッシュ ROM が低速であるために、ラ インバッファを介してのアクセスが効率的です。使用するライン数は PLINE ビットで設定、PFLASH にラインバッファを使用するには PFLINEEN ビットをセットします。 PFLASH のデータ読み出しは PFWAIT ビットに従ったウェイト数に従い、PFLASH の読み出し 1 回 につき、1つのラインに格納します。また、PFLINEEN ビットがクリア、あるいは、PFWAIT ビット によりノンウェイトアクセス設定であるときはラインバッファを使用しません。 ラインバッファ内に有効なデータが載っていれば、ホストはノンウェイトでライン中のデータを読 みます。ライン内に有効なデータが無ければ、PFLASH の読み出しを行いラインの更新をします。 PFLASH で使用するライン上の有効タグをすべて消去するには PFCLR ビットをセットします。こ のとき、ライン上のデータには影響はありません。 この PFLASH のライン機能では現在使用中のラインアドレスの次のアドレスを持つラインを自動的 に読み出すことも可能であり、0xC000 から 0xfcff までのユーザープログラムの領域のみ可能です。こ の動作を行わせるには PFPRE ビットをセットします。 デバイスのSLEEP命令実行やシステムクロックの周波数変更などのクロック関係機能を使用する際 には必ずこのライン機能をディセーブルさせる必要があります。このライン機能を使用したままク ロック関係機能を使用すると、間違ったデータを読み込む可能性があります。 4.6 セキュリティ ユーザープログラムとユーザーベクタ領域の読み出しに関して、セキュリティが有効であるときに は次の制限がかかります: • セキュリティが有効であるときに PFLASH からの X バスへのデータ読み出しは常にゼロを返 します。 • デバッグ動作のバックグランドモード、かつ、セキュリティが有効であるときに PFLASH から の P バスの読み出しはゼロを返します。 4.7 低消費電力動作 低消費電力動作であるときに PFLASH と PRAM はスタンバイ動作に入り、いかなるアクセスも出来 ません。この低消費電力動作についてはメモリ制御モジュールで定めます。 4.8 レジスタ プログラムメモリモジュールのホストレジスタはメモリ制御モジュール内に置かれます。 65 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. Alligator 66 頁 Alligator Preliminary データメモリ(DMEM) モジュール Alligator で使用するデータメモリモジュールは 2K ワードのデータ用 SRAM(DRAM) から構成され ます。 5.1 アウトライン データ用 SRAM(DRAM) は 2K ワードの大きさを持ち、32 ビット幅の排他的な読み / 書き動作を行 う X バスと Y バスの 2 つのポートを持った 2 ポート RAM になります。X バスは読み出し専用の X デー タバス(R) と書き込み専用の X データバス(W)、Y バスは読み出し専用の Y データバス(R) を持ち ます。2 ポート RAM ですので、X データバスと Y データバスは同時アクセスが可能です。 また、X データバスの書き込みは 1 ワード(16 ビット)幅あるいは 2 ワード(32 ビット)幅で可能です。 図 5-1: ブロック図 SRAM (DRAM) (2KW) X ポート Y ポート X データバス (W) X データバス(R) Y データバス(R) このデータ用 SRAM(DRAM) は 0x0800 から 0x0fff までの 2K ワード置かれます。 図 5-2: メモリマップ 0x0800 2K DRAM 0x0FFF 5.2 セキュリティ セキュリティが有効であってもこのモジュールは動作制限がかかりません。 5.3 低消費電力動作 低消費電力動作であるときに DRAM はスタンバイ動作に入り、いかなるアクセスも出来ません。こ の低消費電力動作についてはメモリ制御モジュールで定めます。 5.4 レジスタ データメモリモジュールのホストレジスタはメモリ制御モジュール内に置かれます。 67 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. Alligator 68 頁 Alligator Preliminary ブートプログラム (BootPGM) このブートプログラム(BootPGM) は Alligator 用として PMEM 内に置かれます。アドレス 0x7DC0 から 0x7DFF までの 64 ワードの PMEM システムプログラム領域内に、ジャンプテーブルとワークエ リア、アドレス 0xFD00 から 0xFEFF までの 512 ワードの ROM にプログラム、0xFFE0 から 0xFFEF までの 16 ワードにベクタ RAM と ROM を置きます。 このブートプログラムコードの最終命令はジャンプテーブルの先頭アドレスにジャンプします。こ のジャンプテーブルはシステムプログラム用 RAM の先頭アドレス 0x7DC0 と 0x7DC1 の2ワードに 置かれます。 図 6-1: ブートプログラム使用領域 ジャンプテーブル(上) ジャンプテーブル(下) 0x7DC0 0x7DC1 PMEM システムプログラム (64) ワークエリア (62) 0x7DFF 0xFD00 ブートプログラム領域 (512) ブート プログラム (512) 0xFEFF 0xFFE0 は ROM を示す ベクタ RAM 領域 (15) ブート割り込みベクタ (15) 0xFFEE ブートリセットベクタ は RAM を示す 0xFFEF ベクタ ROM 領域 (1) ブートプログラムと起動デバイス選択 RESETB 端子の立ち上がりで JTAG 端子の設定を読み込みます。その端子設定がブートモードであ るとき、リセットから復帰すると、ブート ROM に格納されたプログラム(ブートプログラム)を読み 込んでプロセッサは動作を始めます。そのブートプログラムは MMI2C あるいは UART を使用して、内 部メモリにデータを書き込みます。 このブートプログラム開始時に SIMEXCP レジスタを読み込み、SOFTRST ビットがクリアされて いるときは、COP 動作を禁止してから、ブートプログラムを実行します。また、SOFTRST ビットが セットされているときは、ソフトウェアリセットによる起動とみなし、即座にジャンプテーブルの先 頭アドレスに飛びます。 ブート動作での起動デバイスの選択は PC6 端子、PC7 端子で行われます。この端子による起動デバ イスの選択はソフトウェアにより GPIO モジュールを通して行われます。 69 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 6-1:ブート動作 ブート選択 機能端子 ブート起動 PC6 PC7 PA6 PA7 ハイ ハイ − − 選択無し TXD RXD UART 起動 SCL SDA MMI2C マスター起動 ロー ハイ ロー ロー MMI2C スレーブ起動 ユーザー動作時のブートモードでの起動デバイスの選択は以下になります: • PC7 端子と PC6 端子がハイレベルであると即座にブートジャンプとして、ジャンプテーブル の先頭アドレスからの実行になります。 • PC7 端子がハイレベル、かつ、PC6 端子がローレベルであると UART によるブート起動にな ります。TXD は PA6 端子、RXD は PA7 端子を使用します。 • PC7 端子がローレベルであると MMI2C によるブート起動になります。ブートマスター選択端 子は PC6 端子となり、ハイレベルであればマスター動作、ローレベルであればスレーブ動作 が選択されます。SCL は PA6 端子、SDA は PA7 端子を使用します。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 70 頁 Alligator Preliminary 図 6-2: 起動デバイス選択 RESETB 端子立ち上がり ユーザーモード JTAG 端子設定 通常動作 ブートモード セット SOFTRST ビット クリア COP 動作の禁止 PC7:ハイレベル /PC6:ハイレベル PC6 端子と PC7 端子レベル PC7: ローレベル PC6: ハイレベル PC7: ローレベル PC6: ローレベル PC7: ハイレベル PC6: ローレベル MMI2C 起動 UART 起動 ソフトウェアリセットの実行 ジャンプ ブートプログラムは、I2C 機能を持った MMI2C 起動あるいは UART 起動になります。ワードデータ 内のデータバイトの転送順は下位から上位バイトのリトルエンディアンバイトになります。 MMI2C 起動であるとき、外部ホストあるいは外付けメモリのデータを内蔵メモリに書き込みます。 ブートマスター選択端子である PC6 端子がローレベルであれば、スレーブ動作としてホストからの データ書き込みを待ちます。また、ハイレベルであれば、マスター動作として外付けメモリからデー タを読み込んで、内部に書き込みます。 UART 起動ではホストから送られたデータを内蔵メモリに書き込みます。 MMI2C のスレーブ動作と UART 起動による外部ホストからのデータ受信 ブロックデータ転送では最初にワード(2 バイト)単位の転送ワード数を受信します。次に、転送先 の先頭アドレスを受信します。そして、アドレスをインクリメントしながら、転送ワード数分のワー ドデータを受信します。そして、再び、転送ワード数を受信します。このとき、ワード数がゼロとい う値を受信したときは、このデータブロックの終了とします。この値がゼロでないときは、該当ブロッ クのデータ受信が続きます。これはブロック内でデータが飛び飛びにおかれている場合に使用されま す。 この時、2 ワードのジャンプテーブルと必要であればユーザーベクタへのデータ転送を必ず行わなけ ればなりません。そして、このジャンプテーブルにはユーザープログラムへのジャンプを示す、bra 71 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator (ユーザー先頭アドレス)の命令を格納する必要があります。 図 6-3: データロード 開始 ワード数は転送ワード数 ワード数(下) ワード数(上) YES ワード数 = 0? 終了 NO 先頭アドレス (下) 先頭アドレス (上) データ (下) ワードデータ転送 データ (上) (データ上下の 2 バイト) NO ワード数終了? YES ※()内はバイト位置を示します。 ※データはバイト単位の転送になります 6.1 MMI2C によるブート起動 MMI2C によるブート起動はスレーブ動作による方法とマスター動作による方法があります。 スレーブ動作 最終データであるワード数データの上位バイト転送でデータロード終了とします。尚、そのワード 数データの内容は 2 バイトの 0x0000 になります。 尚、このデバイスのアドレスは 0x1F(0011111) となります。 マスター動作 データ読み出しの際に、ワード数や開始アドレス、ゼロワード数などもデータとしてシーケンシャ ルに読み出されるので、外付けメモリのアドレス 0 から読み出される順番にデータを予め書き込んで おく必要があります。最終受信データを示すワード数データを読み込んだ後は、データロード終了と 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 72 頁 Alligator Preliminary して、1 バイトから 2 バイトのダミーデータを読みます。尚、この読み込んだダミーデータは破棄さ れます。尚、そのワード数データの内容は 2 バイトの 0x0000 になります。 マスター動作の開始時にスレーブのアドレスを 0x50 から 0x57(0x1010xxx)までスキャンして応 答を待ちます。応答があれば、最初に応答したアドレスを接続先スレーブアドレスとして使用します。 そして、この一致したアドレスを使用してデータ転送を行います。 このとき、スレーブからのアドレス応答が無い場合はデータ転送終了としてソフトウェアリセット を実行します。 全てのブロックデータを書き込むと、ブートプログラムはソフトウェアリセットを実行し、自己リ セットをかけて、ブートプログラムを終了します。 図 6-4: MMI2C によるブートプログラムフロー 開始 ローレベル ハイレベル ブートマスター 選択端子レベル? マスター動作 スレーブ動作 ロード ロード ダミーデータの読み込み & 終了 ソフトウェアリセットの実行 終了 6.2 UART によるブート起動 UART によるブートは 20MHz の発振器を使用し、以下の設定データを受信できます。 表 6-2:ブートの UART 設定 内容 データ長 8 ビット ボーレート 9600 から 19200 パリティ 無し ストップ 1 ビット データ送信側はリセット解除 (RESETB 信号ネゲート ) 後、0.5ms 以上置いてから同期データとして 0x00,0x55 を送り、その後に続けてダウンロードデータを送ります。同期データ以降は送信したデー タが TXD にエコーバックされます。 73 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. Alligator 74 頁 Alligator Preliminary 汎用入出力ポート(GPIO)モジュール Alligator で使用するユーザー用端子を制御するモジュールです。端子レベルの読み出し、出力ドラ イブの有無、そして内部モジュール接続機能を持ちます。内部は端子のドライブや入力機能を持つ端 子入出力部、内部モジュールと端子入出力部のブリッジ回路である端子接続選択部、モジュール用の 同期化回路やフィルタなどからなるモジュール入力生成部からなります。 図 7-1: 汎用入出力ポートモジュールブロック図 ホスト S バス 端子入出力部 端子 モジュール 端子接続選択部 モジュール入力 生成部 このモジュールが取り扱う外部端子は双方向端子のポート A の 4 から7、ポート B とポート C、そ してポート D になります。これら全端子の出力ドライブの有無と出力レベル、そして端子レベルの読 み出しが可能です。また、それらの端子に内部モジュール端子のプログラマブル接続が可能です。 73 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 7-2: GPIO と内部モジュール接続 1 1 SCL 1 1 1 1 1 1 SDA EXTCLK MMI2C RXD TXD EXTCLK UART 1 1 SPCK 1 1 SPDA 1 1 1 1 1 1 SPDB RDYB EXTCLK SPI.A EXTCLKA EXTCLKB RTM2 外部端子 4 2 8 8 EXTCLK[3:0] EVT[1:0] TIMI[7:0] TIMO[7:0] GPT GPIO 4 4 4 PWMI[3:0] PWMO[3:0] PWMCO[13:0] PWMOB[3:0] 14 PSPWM 1 2 1 1 3 CTLIN[14:13] CTLIN[12:0] EXTCLK SYEXTCLK 13 PSATD COMPO[2:0] COMP3 2 EXTIRQ[1:0] EXTHIRQ 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 74 頁 Alligator 7.1 Preliminary 端子入出力部 このデバイスの表 7-1 に示す端子は標準汎用入出力ポートを基本にしています。このポートは後述 する様々な機能を持ちます。また、ポート A の 0 から 3 は実端子には存在せず、PORT ビットは読み 出し専用ビットとして扱われ、TESTMODE 端子、RESETB 端子、STOPENB 端子、CLKMONENB 端 子などの制御用端子のモニター用に使用出来ます。 75 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 7-1:GPIO モジュール使用端子 汎用ポートレジスタ 端子 備考 GPIO MOD OUT DDR A 0 - - 1 - - STOPENB 2 - - CLKMONENB 3 - - TESTMODE RESETB PA4 4 PA5 5 PA6 6 PA7 7 PB0 B 1 PB2 2 PB3 3 PB4 4 PB5 5 PB6 6 PB7 7 C 0 PC1 1 PC2 2 PC3 3 PC4 4 PC5 5 PC6 6 PC7 7 PD0 D 入力専用、出力バッファなし 0 PB1 PC0 7.1.1 レジスタビット ポー トx コンパレータ選択出力 0 コンパレータ選択出力 1 コンパレータ選択出力 2 0 - - PD1 1 - - PD2 2 - - PD3 3 - - PD4 4 - - PD5 5 - - PD6 6 - - PD7 7 - - PSPWM 出力端子 端子機能 端子入出力部のそれぞれの端子は PORTx ビット、MODOUT ビット、DDR ビットを独立に持ちま す。このビットの設定 / アクセスにより、出力ドライブの有無と出力レベル、端子レベルの読み出し、 内部モジュールの出力がホスト設定により設定可能になります。 コンパレータモジュールの入力に接続される PC0 端子、PC2 端子、PC4 端子を除く入出力端子の 接続を図 7-3 に示します。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 76 頁 Alligator Preliminary 図 7-3: 端子入出力部 1 端子 MODOUT MODOUT 読み出し / 書き込み DDR 端子 P 出力 DDR 読み出し / 書き込み イネーブル MUX N 出力 データ PORT PORT 書き込み PORT 読み出し 同期化回路 モジュール出力許可 モジュール出力データ モジュール入力前データ コンパレータモジュールの入力に接続される PC0 端子、PC2 端子、PC4 端子の入出力端子の接続 を図 7-4 に示します。コンパレータ選択出力が PORT 読み出しとして使用されます。 77 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 7-2:PORTC0/2/4 ビット読み出し PORTC ビット読み出しとデータ内容 動作 条件 読み出し結果 条件 GPIO PORTC[0] ビット読み出し COMPEN0 ビット =0 PC0 端子読み出し COMPEN0 ビット =1 COMPO[0] 読み出し PORTC[2] ビット読み出し COMPEN1 ビット =0 PC2 端子読み出し COMPEN1 ビット =1 COMPO[1] 読み出し PORTC[4] ビット読み出し COMPEN2 ビット =0 PC4 端子読み出し COMPEN2 ビット =1 COMPO[2] 読み出し コンパレータ選択出力は入力に接続されたコンパレータの COMPENx ビットがクリアされていれ ば、端子レベル、セットされているとコンパレータ出力になります。 図 7-4: 端子入出力部 PC0/PC2/PC4 端子 MODOUT MODOUT 読み出し / 書き込み DDR (PC0/2/4) 端子 出力 P DDR 読み出し / 書き込み イネーブル MUX 出力 データ N PORT PORT 書き込み PORT 読み出し コンパレータ コンパレータ選択出力 x 出力選択 (x=0,1,2) 同期化回路 COMPENx(X=0,1,2) モジュール出力許可 モジュール出力データ レジスタビットとモジュール出力の組み合わせで表 7-3 で示すポート出力が定まります。 表 7-3:ポート出力機能 ドライバ 出力 レジスタビット モジュール出力 ハイ ロー MODOUT DDR PORT 許可 データ HI-Z オフ オフ 0 0 - - - ロー オフ オン 1 0 ロー - ハイ オン オフ HI-Z オフ オフ ロー オン HI-Z オフ HI-Z オフ HI-Z オフ 0 オン HI-Z オフ オフ ロー オフ オン ハイ オン オフ 0 ハイ ロー ハイ オフ ハイ 2013.12.20 版 1 1 1 ロー - ハイ ロー ハイ 1 - (C) 2009-2013 New Japan Radio Co., Ltd. ロー ハイ ロー ハイ 78 頁 Alligator Preliminary ソフトウェアによる汎用ポート機能 ソフトウェアにより、端子入力としての端子レベルの読み出し、また端子出力として任意のレベル を出力することが出来ます。 PORT ビットを読み出すと端子入力レベルを取り込むことが可能です。これは、MODOUT ビットの 値に関わらず、同期化回路を経た端子レベルを読み出すことになります。端子がローレベルであれば クリア、ハイレベルであればセットを返します。また、PORT ビットへのデータ書き込みは MODOUT ビットや DDR ビットに関係なく、常に可能です。 MODOUT ビットがクリアされているとき、ソフトウェアによる汎用ポート機能の動作になります。 DDR ビットがクリアされていると、出力ドライバはオフであり、端子は入力状態になります。DDR ビットがセットされていると、PORT ビットに書き込まれた内容が端子に出力され、このビットがク リアであればローレベル出力、セットであればハイレベル出力になります。オープンドレイン動作に するには PORT ビットをクリアした状態で、DDR ビットを使用します。 表 7-4:汎用ポート機能 DDR ビット 機能 備考 論理 端子 入力 0 出力オフ 出力 1 出力オン PORT ビットを出力 モジュール出力機能 MODOUT ビットをセットすることで、端子をモジュールの出力あるいは入出力として動作すること が出来ます。この動作をモジュール出力機能と呼びます。モジュール接続出力あるいは出力が無い端 子は、常に汎用ポート機能として動作し、モジュール出力機能を持つ MODOUT ビットが存在しません。 表 7-5:モジュール出力機能 機能 モジュール出力 DDR ビット PORT ビット 備考 論理 端子 論理 1 ロー / ハイ出力 - ローレベル、ハイレベルか HI-Z 出力 0 ロー出力 0 ローレベルか HI-Z 出力 ハイ出力 1 ハイレベルか HI-Z 出力 モジュール出力機能では、モジュール出力から、端子の入出力方向を決める出力ドライバのオン / オ フ、そして、出力レベルのハイ / ローデータが端子に反映されます。また、モジュール出力は GPIO で はクロック同期化せずに端子に出力されます。つまり、モジュールが使用するクロックで出力は変化 します : • DDR ビットをセットすると、モジュールの出力がそのまま端子に反映されます。モジュール 出力が出力ドライバのオン / オフ、そして、出力レベルのハイ / ローを制御することになりま す。このとき、オープンドレイン動作なども行うことが可能です。 • DDR ビットをクリアしたときには、PORT ビットにより出力動作が異なります : - PORT ビットがクリアされていると、出力はローレベルあるいはドライバオフ(ハイ インピーダンス)動作しかできません。このとき、モジュールがハイレベルを出力し ようとしても、ドライバオフ(つまりオープンドレイン動作)になります。 - PORT ビットがセットされていると、出力はハイレベルあるいはドライバオフ(ハイ インピーダンス)動作しかできません。このとき、モジュールがローレベルを出力し ようとしても、それはドライバオフになります。 7.2 端子接続選択部 この端子接続選択部は端子入出力部に表 7-6 に示したモジュール端子を選択接続させます : 79 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator • MMI2C モジュールの端子はオープンドレイン出力になります。 • UART モジュールの端子出力は WOR ビットによって選択可能になります。 • GPT モジュールの TIMO 信号の端子出力許可は MODOUT ビットで設定します。 • COMP3 モジュールの出力端子である COMPO[2:0] 端子は、この端子接続選択部を通して内部 モジュールに接続されます。 • PSPWM モジュールの PWMCO[12:0] 信号出力は GPIO モジュールを通さずに PSATD モ ジュールの CTLIN[12:0] 信号入力に接続されます。PWMCO[13] 信号出力は GPIO モジュール を通して、ホストレジスタ設定により CTLIN[13] 信号入力に接続可能です。また、PSATD モ ジュールの CTLIN[14:13] 信号入力は GPIO モジュールを通して、ホストレジスタ設定により 外部端子あるいは PWMCO 信号に接続されます。 • PSPWM モジュールの PWMO 出力と PWMOB 出力は GPIO モジュールを通らずに端子入出力 回路に直接繋がれます。 表 7-6:モジュール端子 入出力信号 モジュー ル名 信号名 方向 UART TXD 双 SPI.A MMI2C RTM2 GPT RXD 双 EXTCLK 入 SPCK 双 SPDA 双 SPDB 双 RDYB 入 EXTCLK 入 SCL 双 SDA 双 EXTCLK 入 EXTCLKA 入 EXTCLKB 入 TIMI[7:0] 入 TIMO[7:0] 出 EXTCLK[3:0] 入 EVT[1:0] 入 EXTHIRQ EXTIRQ[1:0] 入 PSATD EXTCLK 入 AYEXTCLK 入 CTLIN[14:13] 入 PSPWM COMP3 備考 WOR ビットは MODOUT ビットがセットの時、有効 オープンドレイン出力 MODOUT ビットで出力許可設定 CTLIN[12:0] は PSPWM の PWMCO[12:0] に直接接続 PWMI[3:0] 入 PWMCO[13] 出 PSATD の CTLIN[13] に選択接続 PWMIO[3:0] 出 出力専用端子接続 PWMOB[3:0] 出 COMPO[2:0] 出 ポート接続ビットにより、モジュールの端子と外部端子の接続を選択します。モジュールの入力端 子と入出力端子の入力側端子が重なったモジュール端子はそのまま使用可能ですが、モジュールの出 力端子と入出力端子の出力端子が重なった場合は、モジュールにより優先順位を持ちます。GPT モ ジュールが最も低く、COMP3 モジュールが最も高くなります。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 80 頁 Alligator Preliminary 表 7-7:ポート接続優先順位 優先度 モジュール 0(低い ) GPT 1 UART 2 SPI.A 3 MMI2C 4( 高い ) COMP3 備考 ポート接続ビットにより、外部端子と COMP3 モジュールの出力信号である COMP0、COMP1、 COMP2 信号の接続が変更可能になります。 7.2.1 シリアル(UART/SPI.A/MMI2C) モジュール接続端子 シリアル接続端子は PA4-7 端子と PB2-7 端子を使用して外部出力可能にします。UART にポート接 続ビットは無く、常に PA6 と PA7 端子、PC6 端子を使用します。SPI.A のポート接続ビットは PTSPI ビット、MMI2C のポート接続ビットは PTI2C ビットになります。 表 7-8:シリアルモジュールのポート接続ビットと外部端子 モジュール UART ポート接続 ビット - 外部端子 信号名 SPI.A MMI2C PTSPI PTI2C 0/3 1 2 0 1 2 3 信号名 信号名 信号名 信号名 信号名 信号名 信号名 PA4 SCL PA5 SDA PA6 TXD SPCK SCL PA7 RXD SPDA SDA PB0 PB1 PB2 SCL PB3 SDA PB4 SPCK PB5 SPDA PB6 SPDB SCL PB7 RDYB SDA PC0 PC1 PC2 PC3 PC4 PC5 PC6 EXTCLK EXTCLK EXTCLK PC7 COMPO[0] COMPO[1] COMPO[2] 7.2.2 タイマー(RTM2/GPT) モジュール接続端子 リアルタイマー(RTM2) モジュールにはポート接続ビットは無く、PC6 端子と PC7 端子が RTM2 の入力である EXTCLKA と EXTCLKB 信号に常時接続されます。 81 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 汎用タイマー(GPT) モジュールのポート接続ビットは PTGPT ビットになります。 PTGPT ビットが 2 あるいは 3 であるときに、コンパレータ選択出力 2 が EVI[0] に接続となります。 表 7-9:タイマーモジュールのポート接続ビットと外部端子 モジュール RTM2 ポート接続 ビット - 外部端子 信号名 GPT PTGPT 0/3 1 2 3 信号名 PA4 EXTCLK[0]/[2] PA5 EXTCLK[1]/[3] PA6 PA7 PB0 TIMI[0]/TIMO[0] PB1 TIMI[1]/TIMO[1] PB2 TIMI[2]/TIMO[2] PB3 TIMI[3]/TIMO[3] PB4 TIMI[4]/TIMO[4] PB5 TIMI[5]/TIMO[5] PB6 TIMI[6]/TIMO[6] PB7 TIMI[7]/TIMO[7] PC0 PC1 EVI[0] PC2 PC3 EVI[1] PC4 EXTCLK[0]/[2] EXTCLK[0] EXTCLK[0]/ EVI[0]* PC5 EXTCLK[1]/[3] EXTCLK[1] EXTCLK[1] PC6 EXTCLKA EVI[0] EXTCLK[2] EXTCLK[2] PC7 EXTCLKB EVI[1] EXTCLK[3] EXTCLK[3] EVI[0]* COMPO[0] COMPO[1] COMPO[2] 7.2.3 EVI[0]* 外部割り込みモジュール(EXTHIRQ) 接続端子 高速外部割り込み(EXTHIRQ) モジュールのポート接続ビットは PTIRQ0 ビットと PTIRQ1 ビット になります。 EXTIRQ[0] 信号は PTIRQ0 ビットで選択します。PTIRQ0 ビットをクリアすると、PC6 端子を選択、 セットすると、コンパレータ選択出力 1 を選択します。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 82 頁 Alligator Preliminary 表 7-10:外部割り込み(EXTHIRQ) モジュール /EXTIRQ[0] 信号のポート接続ビットと外部端子 ポート接 続ビット PTIRQ0 0 1 PA4 PA5 PA6 PA7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 EXTIRQ[0] PC3 PC4 PC5 PC6 EXTIRQ[0] PC7 COMPO[0] COMPO[1] EXTIRQ[0] COMPO[2] PTIRQ1[2:0] ビットをセットすると、ビット位置に対応するコンパレータ選択出力を EXTIRQ[1] 信 号に反映させます。このビット位置の対応は PTIRQ1[0] ビットはコンパレータ選択出力 0、PTIRQ1[1] ビットはコンパレータ選択出力 1、PTIRQ1[2] ビットはコンパレータ選択出力 2 になります。 83 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 7-11:外部割り込み(EXTHIRQ) モジュール /EXTIRQ[1] 信号のポート接続ビットと外部端子 PTIRQ1 ポート接 続ビット [0] 0 [1] 1 0 [2] 1 0 1 PA4 PA5 PA6 PA7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 EXTIRQ[1] PC1 PC2 EXTIRQ[1] PC3 PC4 EXTIRQ[1] PC5 PC6 PC7 COMPO[0] EXTIRQ[1] COMPO[1] EXTIRQ[1] COMPO[2] EXTIRQ[1] この選択回路のイメージを図 7-5 に示します。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 84 頁 Alligator Preliminary 図 7-5: EXTHIRQ モジュール入力選択回路イメージ PTIRQ0 EXTIRQ[0] 0 1 COMPEN0 (デジタル ) PTIRQ1[0] COMP3 0 I PC0 (PC1) COMPO[0] R (デジタル ) (PC3) 0 COMPO[1] R コンパレータ選択出力 1 EXTIRQ[1] 1 PTIRQ1[2] I (PC5) PTIRQ1[1] COMPEN2 (デジタル ) PC4 1 COMPEN1 I PC2 コンパレータ選択出力 0 R 0 COMPO[2] コンパレータ選択出力 2 1 PC6 7.2.4 電源制御用 A/D 変換(PSATD) モジュール接続端子 電源制御用 A/D 変換 (PSATD) モジュールのポート接続ビットは PTATD ビットになります。 PSPWM モジュールの PWMCO[13] 信号の接続もこのビットで選択されます。PC6 端子には EXTCLK と AYEXTCLK 信号が接続され、EXTCLK 信号はシステムクロック同期、AYEXTCLK 信号はそのまま端 子非同期接続になります。 85 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 7-12:電源制御用 A/D 変換モジュールのポート接続ビットと外部端子 モジュー ル PSATD PTATD ポート接 続ビット 0 1 2/3 外部端子 信号名 信号名 信号名 PA4 PA5 PA6 PA7 PB0 PB1 PB2 CTLIN[13] PB3 CTLIN[14] PB4 PB5 PB6 PB7 CTLIN[13] CTLIN[14] CTLIN[14] PC0 PC1 PC2 PC3 PC4 PC5 PC6 EXTCLK/AYEXTCLK PC7 COMPO[0] COMPO[1] COMPO[2] PWMCO[13] 7.2.5 CTLIN[13] 電源制御用 PWM(PSPWM)モジュール接続端子 電源制御用 PWM(PSPWM) モジュールのポート接続ビットは PTPWM ビットになります。PTPWM ビットが 0、あるいは 2、3 であるときは、入力端子を選択し、1であるときはコンパレータ選択出力 の選択になります。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 86 頁 Alligator Preliminary 表 7-13:PSPWM モジュールのポート接続ビットと外部端子 モジュー ル PSPWM PTPWM ポート接 続ビット 0/2/3 1 外部端子 信号名 信号名 PWMI[0] COMPEN0 ビット =0 で PWMI[0] 以外は COMP[0] 入力 PWMI[1] COMPEN1 ビット= 0 で PWMI[1] 以外は COMP[1] 入力 PWMI[2] COMPEN2 ビット= 0 で PWMI[2] 以外は COMP[2] 入力 PA4 PA5 PA6 PA7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PWMI3 PC7 COMPO[0] PWMI[0] COMPO[1] PWMI[1] COMPO[2] PWMI[2] これを PWMI 信号から見ると表 7-14 になります。ポート接続ビットにより、コンパレータの出力を モジュールに選択した場合、コンパレータ選択出力を PWMI[2:0](PWM 入力)に接続します。 表 7-14:PSPWM モジュールのポート接続ビットと外部端子 PSPSM 信号 接続信号 PTPWM ビット PWMI[0] PC0 外部端子 0/2/3 PC0 外部端子 1 COMPENx ビット COMPEN0 ビット 0 コンパレータ選択 出力 0 PWMI[1] 1 PC2 外部端子 0/2/3 PC2 外部端子 1 COMPEN1 ビット 1 PC4 外部端子 0/2/3 PC4 外部端子 1 COMPEN2 ビット 87 頁 PC6 外部端子 0 コンパレータ選択 出力 2 PWMI[3] 0 コンパレータ選択 出力 1 PWMI[2] - 1 - (C) 2009-2013 New Japan Radio Co., Ltd. - 2013.12.20 版 Preliminary Alligator 表 7-15:PSPWM モジュールのポート接続ビットと外部端子 モジュー ル PSPWM PTPWM ポート接 続ビット 0/2/3 1 外部端子 信号名 信号名 PWMI[0] PWMI[0] PWMI[1] PWMI[1] PWMI[2] PWMI[2] PA4 PA5 PA6 PA7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PWMI[3] PC7 COMPO[0] PWMI[0] COMPO[1] PWMI[1] COMPO[2] PWMI[2] この選択回路のイメージを図 7-6 に示します。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 88 頁 Alligator Preliminary 図 7-6: PSPWM モジュール入力選択回路イメージ PTPWM = 0x1 COMP3 COMPEN0 (デジタル ) I PC0 (PC1) 0 COMPO[0] コンパレータ選択出力 0 0 PWMI[0] 1 1 R COMPEN1 (デジタル ) 0 I PC2 (PC3) 0 COMPO[1] R コンパレータ選択出力 1 1 PWMI[1] 1 COMPEN2 (デジタル ) I PC4 (PC5) R 0 COMPO[2] コンパレータ選択出力 2 1 PWMI[2] 1 PWMI[3] PC6 7.2.6 0 コンパレータモジュール(COMP3) 接続端子 コンパレータ(COMP3) モジュールのポート接続ビットは PTCOMP ビットになります。COMP3 モ ジュールの信号ごとに設定する出力許可ビット(OUTENx ビット)がセットされていたときに、外部 端子選択回路にコンパレータ選択出力が出力可能になります。 89 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 7-16:コンパレータモジュールのポート接続ビットと外部端子 PTCOMP ポート接 続ビット 0/2/3 1 外部端子 信号名 信号名 PA4 PA5 PA6 PA7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 COMPO[2] PC0 PC1 PC2 PC3 PC4 PC5 PC6 COMPO[0] PC7 COMPO[1] COMPO[0] COMPO[1] COMPO[2] コンパレータ (COMP3) モジュールのチャンネル x に対応する COMPENx ビットをクリアすると、 コンパレータの比較入力(端子)のデジタルレベルがコンパレータ選択出力 x に出力されます。また、 対応する COMPENx ビットをセットすると、コンパレータ (COMP3) モジュールの出力(COMPO[x]) がコンパレータ選択出力 x に出力されます。 このコンパレータ選択出力 x は EXTHIRQ モジュールや PSPWM モジュールの入力、また、端子入 出力部の PORT 読み出しとコンパレータ選択出力に使用されます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 90 頁 Alligator Preliminary 図 7-7: COMP3 モジュール入力選択回路イメージ PTCOMP 0x1 PC6 COMP3 COMPEN0 (デジタル ) OUTEN0 0 I PC0 COMPO[0] R コンパレータ選択出力 0 1 COMPEN1 (デジタル ) OUTEN1 0 I PC2 (モジュール 出力データ) PC7 MUX PC1 (モジュール 出力許可) COMPO[1] コンパレータ選択出力 1 1 R (モジュール 出力許可) (モジュール 出力データ) PB7 COMPEN2 PC3 OUTEN2 (デジタル ) I PC4 0 COMPO[2] R コンパレータ選択出力 2 1 (モジュール 出力許可) (モジュール 出力データ) PC5 コンパレータ選択出力 0-2 7.3 モジュール入力生成部 端子からの入力信号は端子入出力部、そして、モジュール入力生成部を通り、モジュールに出力さ れます。このモジュール入力生成部は、次の処理を行います: • 端子入出力部からの信号をそのまま出力、あるいは反転して出力 • システムクロックにより同期化処理、その後、フィルタリング処理、入力制御処理してから出 力 • 外部からのクロックを入力クロック処理を経て出力 • ベースクロックをそのまま出力 91 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 7-8: モジュール入力生成部ブロック図 システムクロック 端子入出力部 からの信号 同期化 フィルタリング 入力制御 モジュール への信号 反転 入力クロック 処理 MUX ベースクロック 端子入力の同期化処理 端子入力はシステムクロックから分周生成されたサンプリングクロックで取り込まれ、同期化され ます。サンプリングクロック分周比は同期化処理設定ビットで設定します。同期化処理が行われるが、 同期化処理設定ビットを使用しない入力端子にはシステムクロックが使用されます。 表 7-17:同期化処理設定ビット ビット値 サンプリングクロック分周比 0x0 システムクロック 0x1 システムクロック /2 0x2 システムクロック /4 0x3 システムクロック /8 0x4 システムクロック /16 0x5 システムクロック /32 0x6 システムクロック /64 0x7 システムクロック /128 同期化処理後のフィルタリング処理 同期化処理後の信号は同様に同期化処理で使用するサンプリングクロックで動作するフィルタ処理 を受けます。その設定はフィルタ制御ビットで行います。 表 7-18:フィルタ制御ビット 2013.12.20 版 ビット値 フィルタ 0x0 フィルタ処理バイパス 0x1 2 サンプリングクロック 0x2 4 サンプリングクロック 0x3 8 サンプリングクロック (C) 2009-2013 New Japan Radio Co., Ltd. 92 頁 Alligator Preliminary フィルタリング処理後の入力制御 フィルタ処理後の信号はシステムクロックを使用した入力制御処理を受けて出力されます。 (サンプ リングクロックではありません。)この設定は入力制御ビットで設定されます。 この入力処理は立ち上がりや立ち下がりのエッジ検出回路などからなり、この入力制御処理はタイ プ A から C まで全部で 3 種類あります : • タイプ A エッジ検出のみのものがあります。 表 7-19:タイプ A 入力制御ビット ビット値 機能 0x0 常時ローレベル 0x1 立ち上がり 0x2 立ち下がり 0x3 立ち上がりと立ち下がり • タイプ B エッジ検出あるいはレベルを出力するものです。 表 7-20:タイプ B 入力制御ビット ビット値 機能 0x0 常時ローレベル 0x1 (予約) 0x2 0x3 レベル 0x4 レベル 0x5 立ち上がり 0x6 立ち下がり 0x7 立ち上がりと立ち下がり • タイプ C エッジ検出出力、レベル出力、あるいは同期化処理とフィルタリング処理をバイパスして端子 直出力と反転端子レベル出力するものです。 表 7-21:タイプ C 入力制御ビット 93 頁 ビット値 機能 0x0 常時ローレベル 0x1 端子直接接続(非同期信号) 0x2 端子直接接続(非同期信号) 0x3 レベル 0x4 レベル 0x5 立ち上がり 0x6 立ち下がり 0x7 立ち上がりと立ち下がり (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator モジュール端子の設定 7.3.1 モジュール入力生成部の端子ごとの機能設定は表 7-22 に従います。多くの端子はモジュール入力生 成部の処理を受けずにそのままモジュールに出力されます。 表 7-22:モジュール入力生成部出力機能 モジュール 処理 モジュール名 入出 信号 MMI2C 入 SCL ストレート(非同期) 入 SDA ストレート(非同期) 入 EXTCLK 入力クロック処理 / ベースクロック選択 入 RXD ストレート(非同期) 入 EXTCLK 入力クロック処理 / ベースクロック選択 入 SPCK ストレート(非同期) 入 SPDA ストレート(非同期) 入 SPDB ストレート(非同期) 入 RDYB ストレート(非同期) 入 EXTCLK 入力クロック処理 / ベースクロック選択 RTM2 入 EXTCLKA/B 入力クロック処理 / ベースクロック選択 GPT 入 EXTCLK[3:0] 入力信号処理(タイプ B) 入 EVT[1:0] 入力信号処理(タイプ C) 入 TIMI[7:0] 入力信号処理(タイプ A) PSPWM 入 PWMI[3:0] ストレート(非同期) PSATD 入 EXTCLK 入力クロック処理 入 AYEXTCLK ストレート(非同期) 入 CTLIN[14:13] ストレート(非同期) 入 EXTIRQ[1:0] ストレート(非同期) UART SPI.A EXTHIRQ 入力クロック処理 入力端子に対してシステムクロックによる同期化後、システムクロック /2 でフィルタ処理、及び立 ち上がりエッジの検出を行い、1 システムクロック分のハイパルスを出力します。 ベースクロック選択 ベースクロックを選択すると、入力クロック処理を経た信号ではなく、ベースクロックがそのまま 選択出力されます 端子の同期化、フィルタ制御、入力制御、クロック選択の設定は表 7-23 で示すホストレジスタビッ トで行います。 表 7-23:モジュール入力生成部にホストレジスタビット設定 ビット名 モジュール MMI2C 2013.12.20 版 信号 EXTCLK 同期化 フィルタ制御 入力選択 入力制御 - - MMI2CCSEL MMI2CCEN (C) 2009-2013 New Japan Radio Co., Ltd. 94 頁 Alligator Preliminary 表 7-23:モジュール入力生成部にホストレジスタビット設定 ビット名 モジュール 信号 同期化 フィルタ制御 入力選択 入力制御 UART EXTCLK - - UARTCSEL UARTCEN SPI.A EXTCLK - - SPIACSEL SPIACEN RTM2 EXTCLKA - - RTMCSEL[0] RTMCEN[0] RTMCSEL[1] RTMCEN[1] GPTSY0 - EXTCLK[1] GPTSY1 - EXTCLK[2] GPTSY2 - EXTCLK[3] GPTSY3 - GPTEV0 - GPTEV1 - GPTTIM0 - TIMI[1] GPTTIM1 - TIMI[2] GPTTIM2 - TIMI[3] GPTTIM3 - TIMI[4] GPTTIM4 - TIMI[5] GPTTIM5 - TIMI[6] GPTTIM6 - TIMI[7] GPTTIM7 - EXTCLKB GPT EXTCLK[0] EVT[0] GPTCLKMX GPTEVMX GPTCLKFL GPTEVFL EVT[1] TIMI[0] PSATD 95 頁 GPTTIMMX GPTTIMFL EXTCLK - - - PSATDCEN AYEXTCLK - - - PSATDACEN (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator レジスタ 7.4 データ出力モジュール内のレジスタを表 7-24 に示します。 表 7-24:GPIO モジュール内のレジスタ アドレスオフセッ ト レジスタ名 ポート 0 PORT0 +0 ポート 1 PORT1 +1 ポート出力設定 0 DDR0 +2 ポート出力設定 1 DDR1 +3 ポートモジュール出力設定 0 MODOUT0 +4 ポートモジュール出力設定 1 MODOUT1 +5 ポート機能 PORTFUNC +6 (予約) +7 入力ブリッジ 0 GPIOBG0 +8 入力ブリッジ 1 GPIOBG1 +9 入力ブリッジ 2 GPIOBG2 +10 入力ブリッジ 3 GPIOBG3 +11 入力ブリッジ 4 GPIOBG4 +12 +13 (予約) +14 +15 表 7-25:GPIO ポートレジスタ PORT0/1 ビット位置 PORT0 PORT1 +7 +6 +5 +4 +3 8 PORTB[7:0] 0 PORTA[7:0] 8 PORTD[7:0] 0 PORTC[7:0] +2 +1 +0 この PORT0 と PORT1 レジスタは常に読み書き可能な PORTx ビットを格納します。リセットでは PORT レジスタはクリアされます。尚、PORTD[7:0] と PORTA[3 :0] ビットは読み出し専用ビットにな ります。 ポートデータ PORTx[7:0] 該当端子と PORT ビットのデータを示します。読み出しは端子のレベルを返し、書き込みは PORT ビットにデータを書き込みます。 0 - 書き込みでは PORT レジスタビットをクリア、読み込みは端子がローレベル 1 - 書き込みでは PORT レジスタビットをセット、読み込みは端子がハイレベル 表 7-26:ポート出力設定レジスタ DDR0/1 ビット位置 DDR0 DDR1 +7 +6 +5 +4 8 0 2013.12.20 版 +2 +1 +0 - - - - - - - - DDRB[7:0] 0 8 +3 DDRA[7:4] - - - DDRC[7:0] (C) 2009-2013 New Japan Radio Co., Ltd. 96 頁 Alligator Preliminary データ方向 DDRx[7:0] 該当端子の MODOUT ビットがクリアされているとき、出力ドライバのオン / オフ設定しま す。 0 - 上記の条件時に出力ドライバをオフとします 1 - 上記の条件時に出力ドライバをオンとします 表 7-27:ポートモジュール出力設定レジスタ MODOUT0/1 ビット位置 MODOU T0 8 MODOU T1 8 +7 +6 +5 +4 +3 +2 +1 +0 - - - - - - - - MODOUTB[7:0] 0 MODOUTA[7:4] - - - - 0 MODOUTC[7:0] モジュール出力 MODOUTx[7:0] 該当端子をモジュールの出力として使用します 0 - 端子に該当する DDR ビットと PORT ビットの内容を反映します。 1 - 端子に接続されたモジュール出力機能として動作します 表 7-28:ポート機能レジスタ PORTFUNC ビット位置 +7 ビット 8 RW RST 0 +6 +5 PTCOMP3 +4 RW 0 +3 +2 PSATD RW 0 0 +1 +0 PTIRQ1 PTIRQ0 RW 0 0 0 RW 0 0 ビット PTI2C PTSPI PTPWM PTGPT RW RW RW RW RW RST 0 PTGPT[1:0] 0 0 0 0 0 0 0 GPT ポート接続 GPT モジュールのポート接続を設定します。 PTPWM[1:0] PSPWM ポート接続 PSPWM モジュールのポート接続を設定します。 PTSPI[1:0] SPI ポート接続 SPI.A モジュールのポート接続を設定します。 PTI2C[1:0] MMI2C ポート接続 MMI2C モジュールのポート接続を設定します。 PTIRQ0 EXTHIRQ0 ポート接続 EXTHIRQ モジュールの EXTIRQ0 端子ポート接続を設定します。 PTIRQ1[2:0] EXTHIRQ1 ポート接続 EXTHIRQ モジュールの EXTIRQ1 端子ポート接続を設定します。 PTATD[1:0] PSATD ポート接続 PSATD モジュールのポート接続を設定します。 PTCOMP3[1:0] COMP3 ポート接続 COMP3 モジュールのポート接続を設定します 97 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 7-29:GPIO 入力ブリッジ 0 レジスタ GPIOBG0 ビット位置 8 0 +7 +6 +5 ビット SPIACEN UARTCEN MMI2CCEN +4 +3 +2 GPTTIMFL +1 RW RW RW RW RST 0 0 0 ビット SPIACSEL UARTCSEL MMI2CCSEL GPTCLKFL GPTCLKMX RW RW RW RW RW RW RST 0 0 0 GPTCLKMX[2:0] RW 0 RW 0 0 +0 GPTTIMMX 0 0 0 0 0 0 0 GPT クロック同期化処理設定 GPT 外部クロック入力の同期化処理を設定します。 GPTCLKFL[1:0] GPT クロックフィルタ制御 GPT 外部クロック入力のフィルタ制御を設定します。 MMI2CCSEL MMI2C クロック選択 MMI2C モジュールの外部クロックを選択します。 0 - ベースクロックを選択します。 1 - 外部クロックを選択します。 UARTCSEL UART クロック選択 UART モジュールの外部クロックを選択します。 0 - ベースクロックを選択します。 1 - 外部クロックを選択します。 SPIACSEL SPI.A クロック選択 SPI.A モジュールの外部クロックを選択します。 0 - ベースクロックを選択します。 1 - 外部クロックを選択します。 GPTTIMMX[2:0] GPT 入力同期化処理設定 GPT 機能入力の同期化処理を設定します。 GPTTIMFL[1:0] GPT 機能フィルタ制御 GPT 機能入力のフィルタ制御を設定します。 MMI2CCEN MMI2C クロックイネーブル MMI2C モジュールの外部クロックの使用許可を設定します。 0 - 外部クロックは使用できません。 1 - 外部クロックを使用できます。 UARTCEN UART クロックイネーブル UART モジュールの外部クロックの使用許可を設定します。 0 - 外部クロックを使用できません。 1 - 外部クロックを使用できます。 SPIACEN SPI.A クロックイネーブル SPI.A モジュールの外部クロックの使用許可を設定します。 0 - 外部クロックを使用できません。 1 - 外部クロックを使用できます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 98 頁 Alligator Preliminary 表 7-30:GPIO 入力ブリッジ 1 レジスタ GPIOBG1 ビット位置 +7 +6 +5 +4 ビット 8 RW RST 0 +3 +2 GPTEV1 RW 0 0 0 0 +1 +0 GPTEV0 RW 0 0 0 0 ビット - - GPTEVFL - GPTEVMX RW - - RW - RW RST 0 0 GPTEVMX[2:0] 0 0 0 0 0 0 +1 +0 GPT イベント同期化処理設定 GPT のイベント入力の同期化処理を設定します。 GPTEVFL[1:0] GPT イベントフィルタ制御 GPT のイベント入力のフィルタ制御を設定します。 GPTEV0[2:0] GPT 入力制御イベント入力 0 GPT のイベント入力 [0] のタイプ B 入力制御を設定します。 GPTEV1[2:0] GPT 入力制御イベント入力 1 GPT のイベント入力 [1] のタイプ B 入力制御を設定します。 表 7-31:GPIO 入力ブリッジ 2 レジスタ GPIOBG2 ビット位置 +7 ビット - RW - RST 0 8 0 +6 +5 +4 GPTSY3 0 +2 - RW 0 +3 GPTSY2 0 0 RW 0 0 0 ビット - GPTSY1 - GPTSY0 RW - RW - RW RST 0 GPTSY0[2:0] 0 0 0 0 0 0 0 GPT 入力制御 SY0 GPT の外部クロック入力 [0] のタイプ B 入力制御を設定します。 GPTSY1[2:0] GPT 入力制御 SY1 GPT の外部クロック入力 [1] のタイプ B 入力制御を設定します。 GPTSY2[2:0] GPT 入力制御 SY2 GPT の外部クロック入力 [2] のタイプ B 入力制御を設定します。 GPTSY3[2:0] GPT 入力制御 SY3 GPT の外部クロック入力 [3] のタイプ B 入力制御を設定します。 99 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 7-32:GPIO 入力ブリッジ 3 レジスタ GPIOBG3 ビット位置 8 0 +7 +6 +5 +4 +3 +2 +1 +0 ビット GPTTIM7 GPTTIM6 GPTTIM5 GPTTIM4 RW RW RW RW RW RST 0 0 0 0 ビット GPTTIM3 GPTTIM2 GPTTIM1 GPTTIM0 RW RW RW RW RW RST 0 GPTTIM0[1:0] 0 0 0 0 0 0 0 +2 +1 +0 GPT 入力制御機能入力 0 GPT の機能入力 [0] のタイプ A 入力制御を設定します。 GPTTIM1[1:0] GPT 入力制御機能入力 1 GPT の機能入力 [1] のタイプ A 入力制御を設定します。 GPTTIM2[1:0] GPT 入力制御機能入力 2 GPT の機能入力 [2] のタイプ A 入力制御を設定します。 GPTTIM3[1:0] GPT 入力制御機能入力 3 GPT の機能入力 [3] のタイプ A 入力制御を設定します。 GPTTIM4[1:0] GPT 入力制御機能入力 4 GPT の機能入力 [4] のタイプ A 入力制御を設定します。 GPTTIM5[1:0] GPT 入力制御機能入力 5 GPT の機能入力 [5] のタイプ A 入力制御を設定します。 GPTTIM6[1:0] GPT 入力制御機能入力 6 GPT の機能入力 [6] のタイプ A 入力制御を設定します。 GPTTIM7[1:0] GPT 入力制御機能入力 7 GPT の機能入力 [7] のタイプ A 入力制御を設定します。 表 7-33:GPIO 入力ブリッジ 4 レジスタ GPIOBG4 ビット位置 8 0 +7 +6 +5 +4 +3 ビット - - - - - - - - RW - - - - - - - - 0 0 0 RST 0 0 0 0 ビット - - PSATDACEN PSATDCEN RW - - RW RW RST 0 0 0 0 RTMCSEL[1:0] RTMCEN RW 0 0 RTMCSEL RW 0 0 0 RTM 外部クロック選択 RTM モジュールの(外部クロックである EXTCLKA/B の使用クロックをそれぞれ選択しま す。RTMCSEL[0] ビットは EXTCLKA、RTMCSEL[1] ビットは EXTCLKB を設定しま す。 0 - ベースクロックを選択します。 1 - 外部クロックを選択します。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 100 頁 Alligator RTMCEN[1:0] Preliminary RTM 外部クロックイネーブル RTM モジュールの EXTCLKA/B(外部クロック)の使用許可を設定します。RTMCEN[0] ビットは EXTCLKA、RTMCEN[1] ビットは EXTCLKB を設定します。 0 - 外部クロックを使用できません。 1 - 外部クロックを使用できます。 PSATDCEN PSATD 外部クロックイネーブル PSATD モジュールの外部クロックである EXTCLK の使用許可を設定します。使用許可であ るときはシステムクロックに同期入力されます。 0 - EXTCLK を使用できません。EXTCLK 信号にローレベルが出力されます。 1 - EXTCLK 信号はシステムクロックに同期して入力されます。 PSATDACEN PSATD 非同期外部クロックイネーブル PSATD モジュールの非同期外部クロックである AYEXTCLK の使用許可を設定します。使 用許可であるときは端子のレベルがそのまま出力されます。 0 - AYEXTCLK を使用できません。AYEXTCLK 信号にローレベルが出力されます。 1 - AYEXTCLK 信号は端子レベルがそのまま入力されます。 101 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. Alligator 102 頁 Alligator Preliminary 外部高速割り込み(EXTHIRQ)モジュール 外部高速割り込み(EXTHIRQ) モジュールは 2 本の外部割り込み入力を制御するモジュールです。こ のモジュールは H バスに接続されます。 表 8-1:入出力信号 信号名 入出 内容 EXTIRQ[1:0] 入 外部割り込み(2 本) このモジュールは外部割り込み入力、同期化された外部割り込み要求とスタンバイ動作復帰用の外 部割り込み要求を2セット持ちます。 図 8-1: 外部高速割り込みモジュール 外部割り込み x 要求 外部割り込み 0 信号 外部割り込み信号 x (EXTIRQ[0]) 外部割り込み 0 スタンバイ用 外部割り込み x 要求 ホストインターフェース 外部割り込み x 要求 外部割り込み 1 信号 外部割り込み信号 x (EXTIRQ[1]) 外部割り込み1 スタンバイ用 外部割り込み x 要求 外部割り込み要求 0 スタンバイ用 外部割り込み要求 0 X バス 外部割り込み要求 1 スタンバイ用 外部割り込み要求 1 この外部割り込み信号 1 本に関する回路は図 8-5 に示す構成になっています。外部割り込み x 信号 に入力された信号は非同期割り込み制御回路を通り、その出力は同期化回路を通って、内部クロック に同期化されます。そして、この同期化された信号から IRQx ビットをセットします。 この外部割り込み動作はそれぞれの IRQxMODE ビットで設定します。このビットが 0x0 から 0x3 はクロック同期性を持った割り込み検出動作であり、検出に必要な最小パルス幅は 2 クロックになり ます。このビットが 0x4 から 0x7 は非同期イベント検出可能な割り込み検出動作であり、その検出に 必要な最小パルス幅は内部の非同期エッジ検出回路が非同期リセットに必要なパルス幅になります。 表 8-2:IRQxMODE ビット 101 頁 IRQxMODE 動作 0x0 同期立ち下がり検出で割り込み検出 0x1 同期立ち下がりとローレベルで割り込み検出 0x2 同期立ち上がり検出で割り込み検出 0x3 同期立ち上がりとハイレベルで割り込み検出 0x4 非同期立ち下がり検出で割り込み検出 0x5 非同期立ち下がりとローレベルで割り込み検出 (C) 2009-2013 NewJapan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 8-2:IRQxMODE ビット IRQxMODE 動作 0x6 非同期立ち上がり検出で割り込み検出 0x7 非同期立ち上がりとハイレベルで割り込み検出 外部割り込み入力機能の選択でレベル検出も使うことが出来ますが、割り込みとして使用する場合 にコアとの同期性からスプリアス割り込みになる可能性があります。 ホストによる IRQ[x] ビットセット書込みによる IRQ[x] ビットのクリアしても、このモジュールがレ ベル検出状態にあれば、レベル検出により IRQ[x] ビットがセットされたままになります。このとき、 この IRQ[x} ビットのセットで再び割込み処理に入り、割込み処理の実行中にレベル検出から抜けると、 スプリアス割込みになる可能性があります。 図 8-2: 立ち上がり / 下がりとレベル検出割り込み ホストによる EXTIRQ[x] ビットセット EXTIRQ[x] IRQ[x] ビット (IRQxMODE=0x4) IRQ[x] ビット (IRQxMODE=0x5) EXTIRQ[x] IRQ[x] ビット (IRQxMODE=0x4) IRQ[x] ビット (IRQxMODE=0x5) 割り込みレベル検出による IRQ[x] ビットセット IRQxE ビットがセットされているとき、IRQx ビットがセットされれば、外部割り込み x 要求を行い ます。IRQx ビットをライトセットすると、IRQx ビットをクリアします。 この外部高速割り込みモジュールは図 8-3 に示すような機能ブロックを持ちます。非同期の外部割 り込み x 信号を入力し、非同期割り込み制御回路を経た信号が同期割り込み制御回路に入力し、その 出力として IRQx ビットや外部割り込み要求 x 信号を出力します。このモジュールはこの機能ブロック を 2 つ持ちます。 2013.12.20 版 (C) 2009-2013 NewJapan Radio Co., Ltd. 102 頁 Alligator Preliminary 図 8-3: 外部高速割り込み機能ブロック 外部割り込み x 信号 (EXTIRQ[x]) 非同期割り込み 非同期レベル割り込み x 要求 制御回路 非同期エッジ割り込み x 要求 同期割り込み 制御回路 外部割り込み要求 x IRQx ビット スタンバイ用外部割り込み要求 x 非同期割り込み制御回路 8.1 外部割り込み x(EXTIRQ[x]) と同期側制御回路入力の間に非同期割り込み制御回路が置かれ、この回 路はアクティブレベルの設定と非同期でのエッジ検出の機能を持ち、非同期レベル割り込み要求信号 と非同期エッジ割り込み要求信号を出力します。 表 8-3:非同期割り込み制御回路 IRQxMODE アクティブレベル 非同期レベル 非同期エッジ検出回路 0x0 反転選択 使用 常にリセット 不使用 ホストの IRQx ビットセット でクリアされる 0x1 0x2 正転選択 0x3 0x4 反転選択 0x5 0x6 0x7 使用 正転選択 不使用 使用 IRQxEN ビットの内容に関係なく、IRQxMODE ビットの内容からアクティブレベルの設定が行わ れ、かつ、非同期レベル使用設定が決められます。ただし、IRQxEN ビットがクリアされていると、非 同期エッジ用検出回路はインアクティブ状態、非同期エッジ割り込み x 要求信号はローレベルになり ます。これを整理すると: • IRQxMODE ビットが 0x0 から 0x3 までは同期割り込み動作になります: - 非同期レベル用のパスは活性化され、非同期レベル割り込み要求 x 信号が出力されま す。 - 非同期エッジ検出回路はリセット状態にあり、非同期エッジ割り込み要求 x 信号は ローレベルになります。 • IRQxMODE ビットが 0x4 と 0x6 は非同期割り込み動作になります: - 非同期レベル用のパスは不活性され、非同期レベル割り込み要求 x 信号はローレベル になります。 - IRQxEN ビットがクリアされていると、非同期エッジ検出回路はリセット状態にあり、 非同期エッジ割り込み要求 x 信号はローレベルになります。 - IRQxEN ビットがセットされていると、非同期エッジ検出回路はアクティブ状態にあ り、非同期エッジ割り込み要求 x 信号が出力されます。 103 頁 (C) 2009-2013 NewJapan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator • IRQxMODE ビットが 0x5 と 0x7 は非同期割り込み動作になります: - 非同期レベル用のパスは活性化され、非同期レベル割り込み要求 x 信号が出力されま す。 - IRQxEN ビットがクリアされていると、非同期エッジ検出回路はリセット状態にあり、 非同期エッジ割り込み要求 x 信号はローレベルになります。 - IRQxEN ビットがセットされていると、非同期エッジ検出回路はアクティブ状態にあ り、非同期エッジ割り込み要求 x 信号が出力されます。 非同期エッジ割り込みタイミング 外部割り込み x 信号にアクティブレベルに合った検出エッジが入力すると非同期エッジ検出回路を 非同期セットし、非同期エッジ出力、そして非同期エッジ割り込み要求 x 信号がハイレベルになりま す。そして、この信号は次段の同期割り込み制御回路内で同期回路を経て、IRQx ビットをセットしま す。この後、新たなアクティブエッジがあっても非同期エッジ検出回路はセットされたままです。そ して、ホストが IRQx ビットをクリアすると、非同期エッジ検出回路のリセットは解除され、新たなア クティブエッジを待つことになります。 図 8-4: 非同期割り込み制御回路概念図 アクティブレベル選択 非同期レベル許可 外部割り込み x (EXTIRQ[x]) 非同期レベル割り込み要求 x MUX (非同期エッジセット) AS 非同期エッジ出力 R 非同期エッジ検出回路 非同期エッジ割り込み要求 x (同期リセット) 非同期エッジ検出回路リセット 8.2 同期割り込み制御回路 この同期割り込み制御回路は、非同期割り込み制御回路からの 2 つの出力信号である、非同期レベ ル割り込み要求 x 信号と非同期エッジ割り込み要求 x 信号から、外部割り込み要求 x 信号と IRQx ビッ トを出力します。 2013.12.20 版 (C) 2009-2013 NewJapan Radio Co., Ltd. 104 頁 Alligator Preliminary 図 8-5: 同期割り込み制御回路概念図 同期レベル選択 IRQxE ビット 外部割り込み要求 x 同期 / フィルタ / エッジ検出 同期レベル出力 非同期レベル割り込み要求 x 同期エッジ入力 S IIRQx ビット 同期エッジ出力 同期 R 非同期エッジ割り込み要求 x 非同期エッジ出力 非同期エッジ出力リセット 同期エッジ出力リセット 非同期レベル割り込み要求 x は非同期信号であるために同期化 / フィルタ / エッジ検出同回路に入力 されます。同期後の信号が 2 回連続で同レベルの入力であれば同期レベル出力として、IRQx ビットに 反映されます。また、エッジ検出機能がアクティブであるとき、同期アクティブエッジが入力される と同期エッジ出力はセットされ、IRQx ビットはセットされます。 非同期エッジ割り込み要求 x にアクティブエッジが入力されると、その信号は非同期信号であるた めに同様に同期化回路に入力されます。そして、その同期化回路出力である非同期エッジ出力がアサー トされ、IRQx ビットはセットされます。 表 8-4:外部割り込み制御回路 IRQxMODE 同期レベル 同期エッジ 非同期エッジ 0x0 不使用 使用 不使用 0x1 使用 0x2 不使用 0x3 使用 0x4 不使用 不使用 使用 0x5 使用 0x6 不使用 0x7 使用 IRQxMODE ビットにより同期レベル / 同期エッジ / 非同期エッジの選択が異なります: • IRQxMODE ビットが 0x1、0x3、0x5、0x7 の同期あるいは非同期レベルを使用する設定であ るときは、このレベル出力が即座に IRQx ビットに反映します。 • IRQxMODE ビットが 0x0 から 0x3 の同期エッジを使用する設定であれば、レベル出力の立ち 上がりを検出してエッジ出力をセットします。そして、このエッジ出力が IRQx ビットに反映 します。 • IRQxMODE ビットが 0x4 から 0x7 の非同期エッジを使用する設定であるときは、この非同期 エッジ出力が IRQx ビットに反映します。 ホストによる IRQx ビットのセット ホストが IRQx ビットをセットすると、IRQx ビットをクリアされます。同時に、同期エッジ出力と 105 頁 (C) 2009-2013 NewJapan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 非同期エッジ出力用同期回路、そして非同期割り込み制御回路の非同期検出回路をリセットします。 2013.12.20 版 (C) 2009-2013 NewJapan Radio Co., Ltd. 106 頁 Alligator Preliminary レジスタ 8.3 外部高速割り込みモジュールは全部で 4 ワードのレジスタ空間の大きさが必要になります。 表 8-5:EXTHIRQ モジュール内のレジスタ レジスタ名 アドレス 外部割り込み制御 EXTIRQ +0 ( リザーブ) +1 から +3 表 8-6:外部割り込み制御 EXTIRQ ビット位置 +7 +6 +5 ビット IRQ1 - - 8 +4 +3 +2 IRQ1MODE +0 IRQ1EN RW RW 0 0 RW RC - - RST 0 0 0 ビット IRQ0 - - IRQ0MODE IRQ0E IRQ0EN RW RC - - RW RW RW RST 0 0 0 0 0 0 IRQ0EN RW +1 IRQ1E 0 0 0 0 0 0 外部割り込み 0 動作 EXTIRQ[0] 信号に割り込み動作を与えます。また、IRQ0MODE ビットへの書き込みはこの ビットがクリアされているときに行う必要があります。 0 - 外部割り込み 0 動作を行いません 1 - 外部割り込み 0 動作を行います。 IRQ0E 外部割り込み 0 許可 IRQ0 ビットがセットしたときに割り込み要求を行います。 0 - IRQ0 ビットがセットしたときに割り込み要求を行いません 1 - IRQ0 ビットがセットしたときに割り込み要求を行います IRQ0MODE[2:0] 外部割り込み 0 モード 外部割り込み 0 に割り込み動作モードを与えます IRQ0 外部割り込み 0 検出 外部割り込み 0 の割り込み検出を示します。このビットをセットすると、エッジ検出用回路 はクリアされます。しかしながら、レベル検出を条件にした場合では、このビットをセット しても、検出状態はクリアされません。 0 - 外部割り込み 0 検出がされていません 1 - 外部割り込み 0 検出がされました IRQ1EN 外部割り込み 1 動作 EXTIRQ[1] 信号に割り込み動作を与えます。また、IRQ1MODE ビットへの書き込みはこの ビットがクリアされているときに行う必要があります。 0 - 外部割り込み 1 動作を行いません 1 - 外部割り込み 1 動作を行います IRQ1E 外部割り込み 1 許可 IRQ1 ビットがセットしたときに割り込み要求を行います。 0 - IRQ1 ビットがセットしたときに割り込み要求を行いません 1 - IRQ1 ビットがセットしたときに割り込み要求を行います 107 頁 (C) 2009-2013 NewJapan Radio Co., Ltd. 2013.12.20 版 Preliminary IRQ1MODE[2:0] Alligator 外部割り込み 1 モード 外部割り込み 1 に割り込み動作モードを与えます。 IRQ1 外部割り込み 1 検出 外部割り込み 1 の割り込み検出を示します。このビットをセットすると、エッジ検出用回路 はクリアされます。しかしながら、レベル検出を条件にした場合では、このビットをセット しても、検出状態はクリアされません。 0 - 外部割り込み 1 検出がされていません 1 - 外部割り込み 1 検出がされました 2013.12.20 版 (C) 2009-2013 NewJapan Radio Co., Ltd. 108 頁 Alligator Preliminary リアルタイマー 2(RTM2)モジュール リアルタイマー 2(RTM2) モジュールはリアルタイム制御用の時間間隔を生成する用途で使用されま す。 16 ビットのプリスケーラで分周された 1/4 から 1/65536 のシステムクロックあるいは外部入力ク ロックを選択し、リードライト可能な 16 ビットのカウンタを 2 つ使用して任意のカウンタタイミング を生成します。そして 2 つのカウンタ出力を選択し、16 ビットの比較器を持った独立した 4 つの比較 チャンネルを使用して、任意のタイミングで割り込みを発生することが出来ます。 尚、この仕様で小文字の 'x' はカウンタ A あるいは B の 'A' あるいは 'B' を示します。 図 9-1: 内部ブロック概念図 プリスケーラ (16 ビット) システムクロック 分周クロック (1/2n: 1/4,1/8,....1/65536) 外部入力クロック A (EXTCLKA) 外部入力クロック B (EXTCLKB) カウンタ A CTAEN CTBEN マルチプレクサ (16 > 1) CTASEL[3:0] カウンタ B CTBSEL[3:0] カウンタ (16 ビット) CTAOV カウンタ A 出力 CH0SEL CH1SEL CTB[15:0] カウンタ B 出力 CTA[15:0] CH0 CTBOV CH2SEL CH1 CH3SEL CH2 CH3 マルチプレクサ 比較器 チャンネル 0 CH0DAT [15:0] 9.1.1 CH0EN チャンネル 1 CH1DAT CH1EN [15:0] チャンネル 2 CH2DAT CH2EN [15:0] チャンネル 3 CH3DAT CH3EN [15:0] プリスケーラとクロック生成 RTMEN ビットがクリアされていると、プリスケーラは 0x0000 に初期化され、分周クロックは生成 されません。RTMEN ビットをセットすると、システムクロックに同期して 1/2n(n は 2 から 16)の 分周クロックが出力されます。この分周クロックと外部入力クロック(カウンタ A は外部入力クロッ ク A(EXTCLKA)。カウンタ B は外部入力クロック B(EXTCLKB))が 2 つのカウンタの入力マルチプ 109 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator レクサに入力されます。 図 9-2: 分周クロック 214 クロック 214 クロック システムクロック (1/21) 1/22 1/23 1/215 1/214 1/215 分周クロックは図 9-2 に示すようにシステムクロックの 1 クロック分だけハイレベルになります。 この EXTCLKA あるいは B はシステムクロックに同期した信号であり、これがハイレベルであると きはクロックとカウントされます。EXTCLKA/B 信号が常にハイレベルであるときは、この EXTCLKA/ B によるクロックとシステムクロックが同一ということになります。 図 9-3: 外部入力クロック(EXTCLKA/B) 外部入力 A/B (EXTCLKA/B) システムクロック モジュール内 外部入力クロック イメージ 9.1.2 カウンタ カウンタAとカウンタBの2つのカウンタを持ちます。この2つのカウンタの機能は同一になります。 CTxEN ビットをセットすると、選択されたクロックに従ってカウンタはインクリメントされます。 そして、 このカウンタがオーバーフローされると、CTxOV ビットがセットされます。このとき、CTxOVE ビットがセットされていると、ホストに対して割り込み要求を行うことが出来ます。 カウンタクロックはシステムクロックの分周クロック、あるいは EXTCLKx の選択は CTxSEL ビッ トを使用して行います。CTx ビットを読み込むと、カウンタの内容を読み込むことが出来ます。また、 CTx ビットへの書き込みはカウンタへの値の設定になります。この書き込みはカウンタクロックに同 期しません。そのためにカウンタクロックの最終位置ではなく、中間位置でカウンタが更新され、最 長 1 カウント分の誤差が生じる可能性があります。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 110 頁 Alligator Preliminary 図 9-4: カウンタオーバーフロー(CTxOV ビットのセット) カウンタ オーバーフロー システムクロック カウンタクロック カウンタ 0xFFFE 0x0000 0xFFFF CTxOV ビット CTxOV ビットのセット 9.1.3 比較チャンネル 同一機能の4つの比較チャンネルがあります。比較チャンネルはカウンタ値と比較レジスタの値を 比較し、その一致をホストに知らせることにより、任意の時間間隔の生成に使用することが出来ます。 CHxSEL ビットで比較チャンネルに使用するカウンタを選択し、比較カウント値を CHxDAT レジス タに設定します。そして、CHxEN ビットをセットするとチャンネル動作を開始し、選択されたカウン タ出力と CHxDAT ビットに格納された値が一致すると比較一致として、CHx ビットがセットされます。 このとき、CHxE ビットがセットされているとホストに対して割り込みを要求できます。 また、CHxDAT ビットへの書き込みはカウンタクロックに同期されません。 図 9-5: カウント比較と CHx ビット システムクロック カウンタクロック カウンタ (CHxDAT-1) CHxDAT ビット (CHxDAT) (CHxDAT+1) (CHxDAT) CHx ビット カウンタの比較一致 CHx ビットのセット デバッグ機能サポート 9.2 デバイスのデバッグ機能を使用し、デバッグ動作がアクティブ動作に移行すると、以下の動作が停 止します。デバッグモジュール内のレジスタビット操作により、それぞれの動作の無効化が出来ます。 • プリスケーラ停止 111 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator • カウンタ A 停止 • カウンタ B 停止 レジスタ 9.3 RTM2 モジュール内のレジスタを表 9-1 に示します。全部で 8 ワードの大きさが必要になります。 表 9-1:RTM2 モジュール内のレジスタ レジスタ名 RTM 制御 RTMCTL RTM カウンタ A RTMCTA RTM カウンタ B RTMCTB RTM チャンネル制御 RTMCHCTL RTM チャンネル 0 比較 RTMCH0 RTM チャンネル 1 比較 RTMCH1 RTM チャンネル 2 比較 RTMCH2 RTM チャンネル 3 比較 RTMCH3 以降にレジスタの詳細を示します。 表 9-2:RTM 制御レジスタ RTMCTL ビット位置 +7 +6 ビット 8 0 +5 +4 +3 +2 CTBSEL RW +1 +0 CTASEL RW RW RST 0 0 0 0 0 0 0 0 ビット CTBOV CTAOV CTBOVE CTAOVE CTBEN CTAEN RTMRST RTMEN RW RC RC RW RW RW RW WS RW RST 0 0 0 0 0 0 0 0 RTMEN RTM イネーブル リアルタイマー 2 モジュールの使用許可を設定します。このビットをクリアして、不許可状 態であるときにもレジスタのアクセスは可能です。 0 - リアルタイマー 2 モジュールは使用できません 1 - リアルタイマー 2 モジュールは使用許可しています RTMRST RTM リセット リアルタイマー 2 モジュールをリセットします。 1 - リアルタイマー 2 モジュールをリセットします。 CTAEN カウンタ A イネーブル カウンタ A の動作開始を設定します。このビットがクリアされているときは、カウンタ A は 0x0000 に初期化されます。 0 - カウンタ A を使用しません 1 - カウンタ A を動作させます CTBEN カウンタ B イネーブル カウンタ B の動作開始を設定します。このビットがクリアされているときは、カウンタ B は 0x0000 に初期化されます。 0 - カウンタ B を使用しません 1 - カウンタ B を動作させます 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 112 頁 Alligator Preliminary CTAOVE カウンタ A オーバーフロー割り込み許可 CTAOV ビットがセットしたときに割り込み要求をします。 0 - CTAOV ビットがセットしても割り込み要求をしません 1 - CTAOV ビットがセットしたときに割り込み要求をします CTBOVE カウンタ B オーバーフロー割り込み許可 CTBOV ビットがセットしたときに割り込み要求をします。 0 - CTBOV ビットがセットしても割り込み要求をしません 1 - CTBOV ビットがセットしたときに割り込み要求をします CTAOV カウンタ A オーバーフロー検出 カウンタ A のオーバーフロー検出を表します。このビットをセットするとクリアされます。 0 - カウンタ A のオーバーフローを検出していません 1 - カウンタ A のオーバーフローを検出しました CTBOV カウンタ B オーバーフロー検出 カウンタ B のオーバーフロー検出を表します。このビットをセットするとクリアされます。 0 - カウンタ B のオーバーフローを検出していません 1 - カウンタ B のオーバーフローを検出しました CTASEL[3:0] カウンタ A クロック選択 カウンタ A のクロックを選択します。 表 9-3:CTASEL ビット CTASEL ビット クロックソース 分周比 備考 0 システムクロック 1/22 1/4 1 1/23 1/8 2-14 1/2CTASEL+2 1/16 から 1/65536 15 CTBSEL[3:0] EXTCLKA 1 カウンタ B クロック選択 カウンタ B のクロックを選択します。 表 9-4:CTBSEL ビット CTBSEL ビット クロックソース 分周比 備考 0 システムクロック 1/22 1/4 1 1/23 1/8 2-14 1/2CTBSEL+2 1/16 から 1/65536 15 113 頁 EXTCLKB 1 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 9-5:RTIM カウンタ A レジスタ RTMCTA ビット位置 +7 +6 +5 +4 ビット 8 0 +3 +2 +1 +0 CTA[15:8] RW RW RST 0x00 ビット CTA[7:0] RW RW RST 0x00 カウンタ A 値 CTA[15:0] カウンタ A の内容を示します。このビットの書き込みはカウンタ A のクロックに同期せずに 値がロードされます。 表 9-6:RTM カウンタ B レジスタ RTMCTB ビット位置 8 0 +7 +6 +5 +4 +3 ビット CTB[15:8] RW RW RST 0x00 ビット CTB[7:0] RW RW RST 0x00 +2 +1 +0 カウンタ B 値 CTB[15:0] カウンタ B の内容を示します。このビットの書き込みはカウンタ B のクロックに同期せずに 値がロードされます。 表 9-7:RTM チャンネル制御レジスタ RTMCHCTL ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット CH3 CH3E CH3SEL CH3EN CH2 CH2E CH2SEL CH2EN 8 0 RW RC RW RW RW RC RW RW RW RST 0 0 0 0 0 0 0 0 ビット CH1 CH1E CH1SEL CH1EN CH0 CH0E CH0SEL CH0EN RW RC RW RW RW RC RW RW RW RST 0 0 0 0 0 0 0 0 このレジスタのビットはチャンネル 0 から 3 の 4 チャンネル分の内容を示します。ビット名称の x は 各チャンネル 0 から 3 を示します。 CHxEN チャンネル x イネーブル チャンネル x の動作開始を設定します。このビットがクリアされているときは、チャンネル x の内部状態は初期化されます。 0 - チャンネル x を使用しません 1 - チャンネル x を動作させます 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 114 頁 Alligator Preliminary チャンネル x カウンタ選択 CHxSEL チャンネル x で使用するカウンタ出力を選択します。 0 - カウンタ A 出力を使用します 1 - カウンタ B 出力を使用します チャンネル x 割り込み許可 CHxE CHx ビットがセットしたときに割り込み要求をします。 0 - CHx ビットがセットしても割り込み要求をしません 1 - CHx ビットがセットしたときに割り込み要求をします チャンネル x 一致検出 CHx チャンネル x の CHxDAT レジスタの値と CHxSEL ビットで選択したカウンタの内容が一致 したことを示します。このビットをセットすると、このビットはクリアされます。 0 - チャンネル x の内容一致を検出していません 1 - チャンネル x の内容一致を検出しました 表 9-8:RTM チャンネル x 比較レジスタ RTMCHx(x は 0 から 3) ビット位置 +7 ビット 8 +6 +5 +4 +3 RW RW RST 0x00 ビット CHxDAT[7:0] RW RW RST 0x00 0 +2 +1 +0 CHxDAT[15:8] このレジスタは RTMCH0 レジスタ、RTMCH1 レジスタ、RTMCH2 レジスタ、RTMCH3 レジスタの 4 本があります。この 4 つのレジスタはチャンネル番号を除き、下に示す CHxDAT ビット(x は 0 から 3)と内容は一致します。 CHxDAT[15:0] チャンネル x 比較データ チャンネル x の比較レジスタを示します。このビットの書き込みはカウンタクロックに同期 せずに値がロードされます。 115 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. Alligator 116 頁 Alligator Preliminary 汎用タイマー(GPT) モジュール このモジュールは汎用タイマーという位置付けであり、アウトプットコンペア、インプットキャプ チャ、基本的な PWM やパルスアキュムレータを実現可能にします。 このタイマーはアウトプットコンペア、インプットキャプチャ、基本的な PWM 用途に使えるカウ ンタ A と B を持ちます。また、カウンタ B はパルスアキュムレータにも使えます。8 つのチャンネル 部を持ち、そのチャンネル部はダブルバッファ構造のデータレジスタとロジックコンパレータで構成 され、カウンタ A と B に選択接続可能になります。モジュール出力はチャンネル毎に設定可能です。 また、PWM 動作であるとき、外部イベント入力のトリガにより出力レベルを即座にローレベルにする 機能も持ちます。 カウンタ A と B、外部イベント 0 と 1、チャンネル 0 から 7 の全部で 12 本の割り込みソースから、 ホストに対して最大 5 本の割り込み要求を行うことが出来ます。 図 10-1: GPT 内部ブロック図 システムクロック プリスケーラ プリスケーラクロック 外部クロック 入力 [3:0] カウンタ A 出力 / クロック カウンタ B 出力 / クロック 外部イベント 入力 [1:0] 外部入力 [7:0] 外部出力 [7:0] チャンネル 0 チャンネル 1 制御部 入力制御部 出力制御部 チャンネル 2 チャンネル 3 チャンネル 4 チャンネル 5 チャンネル 6 チャンネル 7 117 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 10.1 Alligator 機能ブロック部 プリスケーラ、カウンタ機能部、チャンネル機能部を機能ブロック部とします。この機能ブロック 部への入出力とその間の接続は制御部(入力制御部と出力制御部を含む)で行われます。 10.1.1 プリスケーラ プリスケーラは - フリーランの 15 ビット長のインクリメントカウンタを使用して、16 種類の周波数 を持つクロックをプリスケーラクロックとしてカウンタに出力します。カウンタはこれらのプリス ケーラクロックのいずれかを選択し、カウンタクロックとして使用します。 GPTEN ビットをクリアしてあると、プリスケーラのカウンタは 0x0000 に初期化され、分周クロッ クは生成されません。GPTEN ビットをセットすると、システムクロックに同期して 1/2n(n は 0 から 15)の分周されたプリスケーラクロックが出力されます。分周クロックは図 10-2 に示すようにシステ ムクロックの 1 クロック分だけハイレベルになります。 図 10-2: 分周クロック 215 クロック 215 クロック システムクロック 1/21 1/22 1/23 1/214 1/215 10.1.2 カウンタ機能部 カウンタには 16 ビット長のカウンタ A とカウンタ B があります。このカウンタ出力はチャンネル に接続されます。 図 10-3 に示すカウンタ機能部とチャンネル機能部の設定により様々な機能を実現できます。例とし て、カウンタ A を使用した汎用タイマー構成を作るためには、いくつかのチャンネルをインプットキャ プチャとアウトプットコンペアに設定、カウンタ A をフリーラン、プリスケーラクロック使用、に設 定します。また、カウンタ B を使用したパルスアキュムレータ構成を作るためには、カウンタ B をフ リーラン、プリスケーラクロックと外部クロック入力 [2] の論理積使用、に設定にします。他に構成を 変えると、イベントカウンタや PWM などの機能も実現することが出来ます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 118 頁 Alligator Preliminary 図 10-3: カウンタ機能部とチャンネル機能部接続 プリスケーラ クロック CTASEL CTACLR カウンタ A MUX MUX 外部クロック 入力 [0] R クリア MUX 0 外部クロック 入力 [1] OV オーバーフロー OR カウンタ A 出力 カウンタ A オーバーフロー あるいはクリア CH1 比較出力 CH0 比較出力 チャンネル機能部 カウンタ B 出力 カウンタ B オーバーフロー あるいはクリア 外部クロック 入力 [2] CH7 比較力 CH6 比較出力 OR オーバーフロー AND MUX 外部クロック 入力 [3] OV MUX R MUX クリア カウンタ B 0 CTBCLR CTBSEL これらのカウンタをフリーランなどで動作させたとき、カウンタ値が 0xFFFF を越えオーバーフロー すると、それぞれのカウンタのオーバー出力にパルスが出力されます。 カウンタ A がオーバーフローをすると CTAOV ビットがセットされます。このとき、CTAOVE ビッ トがセットしてあると、カウンタ A の割り込み要求を起こします。 カウンタ B がオーバーフローをすると CTBOV ビットがセットされます。このとき、CTBOVE ビッ トがセットしてあると、カウンタ B の割り込み要求を起こします。 119 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 10-4: カウンタオーバーフロー システムクロック カウンタクロック カウンタ 0xFFFE 0x0000 0xFFFF オーバー出力 CTxOV ビット カウンタのオーバーフロー CTxOV ビットのセット 10.1.2.1 カウンタ A 図 10-5: カウンタ A ブロック図 CTACT[15:0] CTAEN CTAOVE CTASEL[5:0] カウンタ CTACLR[1:0] クリア CTAOV キャリー 割り込み要求 クロック入力 カウンタ A 出力 プリスケーラクロック クリア入力 カウンタクロック オーバー出力 カウンタ A はフリーランの 16 ビット長アップカウンタを中心に構成されます。 カウンタ A の動作開始をさせるには内部設定を行った後に CTAEN ビットをセットします。ホスト による CTACT ビットへの書き込みはカウンタへの即座の書き込みになります。またホストは CTACT ビットを読み込むと現在のカウンタ値を知ることができます。 カウンタクロック選択 カウンタのクロックは CTASEL ビットで選択します : • CTASEL[5:4] ビットが 0x0 であるとき、CTASEL[3:0] ビットは 1/2CTASEL[3:0] の分周比を持つ プリスケーラクロックを選択します。(CTASEL[3:0]=0x0 ではシステムクロック、 CTASEL[3:0]=0xF では 1/32768 の分周比を持つクロックを選択します。) • CTASEL[5:4] ビットが 0x2 で、CTASEL[3:0] ビットが 0x01 であるとき、クロックソースにカ 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 120 頁 Alligator Preliminary ウンタ B のオーバーフローかクリア入力を選択しますが、このカウンタ B のクリア入力はカウ ンタ B の CTBCLR ビットで選択されたクリアソースアサートを示します。 表 10-1:CTASEL ビット CTASEL ビット クロックソース [5:4] [3:0] 0x0 (プリスケーラ値) プリスケーラクロック 0x1 (予約) 0x2 0x3 0x0 外部クロック入力 [0] 0x1 カウンタ B のオーバーフローかクリア入力 0x2-0xf (予約) 0x0-f カウンタクリア カウンタ A のカウンタクリアは CTACLR ビットで選択します。このビット値でフリーラン、外部ク ロック入力 [1]、チャンネルの比較出力を選択します。また、カウンタクリアはシステムクロック同期 で行われます。CTACLR ビットを 0x2 あるいは 0x3 でチャンネル比較出力を選択したときの動作は該 当チャンネルの CHxIO ビットの状態で動作が異なります: • 該当チャンネルの CHxIO ビットをクリアしてアウトプットコンペア動作に設定しているとき には、比較器一致でカウンタがクリアされます。 このとき、参照元チャンネルの CHxSEL ビットがセットされている場合は、カウンタクリア信 号がカウンタクリアと同期しているので、(結果として)カウンタクロックに同期してカウン タはクリアされます。 • 該当チャンネルの CHxIO ビットをセットしてインプットキャプチャ動作に設定しているとき には、カウンタクロックには非同期である入力イベントでカウンタがクリアされます。 カウンタはカウンタクロックに非同期でクリアされます。 表 10-2:CTACLR ビット 121 頁 CTACLR クリア 用途 0 ネゲート フリーラン 1 外部クロック入力 [1] イベントカウンタ 2 チャンネル 0 比較出力 3 チャンネル 1 比較出力 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 10.1.2.2 Alligator カウンタ B 図 10-6: カウンタ B ブロック図 CTBCT[15:0] CTBEN CTBOVE CTBSEL[5:0] CTBCLR [1:0] CTBOV カウンタ クリア 割り込み要求 キャリー クロック入力 プリスケーラクロック クリア入力 カウンタ B 出力 カウンタクロック オーバー出力 カウンタ B は 16 ビット長アップカウンタを中心に構成されます。カウンタ B の動作開始をさせる には内部設定を行った後に CTBEN ビットをセットします。ホストによる CTBCT ビットへの書き込み はカウンタへの即座の書き込みになります。またホストは CTBCT ビットを読み込むと現在のカウンタ 値を知ることができます。 カウンタクロック選択 カウンタのクロックは CTBSEL ビットで選択します。CTBSEL[5:4] ビットが 0x0 あるいは 0x1 であ るとき、CTBSEL[3:0] ビットは 1/2CTBSEL[3:0] の分周比を持つプリスケーラクロックを選択します。 (CTBSEL[3:0]=0x0 ではシステムクロック、CTBSEL[3:0]=0xF では 1/32768 の分周比を持つクロック を選択します。) 表 10-3:CTBSEL ビット CTBSEL ビット クロックソース [5:4] [3:0] 0 (プリスケーラ値) 1 2 3 プリスケーラクロック プリスケーラクロックと外部クロック入力 [2] の論理積 0x0 外部クロック入力 [2] 0x1-0xf (予約) 0x0-0xf カウンタクリア カウンタ B のカウンタクリアは CTBCLR ビットで選択します。このビット値でフリーラン、外部ク ロック入力 [3]、チャンネルの比較出力を選択します。 また、カウンタクリアはシステムクロック同期で行われます。CTBCLR ビットを 0x2 あるいは 0x3 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 122 頁 Alligator Preliminary でチャンネル比較出力を選択したときの動作は該当チャンネルの CHxIO ビットの状態で動作が異なり ます: • 該当チャンネルの CHxIO ビットをクリアしてアウトプットコンペア動作に設定しているとき には、比較器一致でカウンタがクリアされます。 このとき、参照元チャンネルの CHxSEL ビットがクリアされている場合は、カウンタクリア信 号がカウンタクリアと同期しているので、(結果として)カウンタクロックに同期してカウン タはクリアされます。 • 該当チャンネルの CHxIO ビットをセットしてインプットキャプチャ動作に設定しているとき には、カウンタクロックには非同期である入力イベントでカウンタがクリアされます。 カウンタはカウンタクロックに非同期でクリアされます。 表 10-4:CTBCLR ビット 10.1.3 CTBCLR クリア 用途 0 ネゲート フリーラン 1 外部クロック入力 [3] イベントカウンタ 2 チャンネル 6 比較出力 3 チャンネル 7 比較出力 チャンネル機能部 チャンネル機能部は 8 本のチャンネル部から成ります。表 10-5 に示すようにチャンネルと外部出力 と入力の関係は基本的には 1 対 1 の関係ですが、PWM 動作をさせる場合には CHxCTL ビットの設定 でこの関係が変わります。 表 10-5:チャンネル機能部 123 頁 チャンネル 外部入力 [] 外部出力 [] 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 10.1.3.1 Alligator チャンネル部 図 10-7: チャンネル機能ブロック図 カウンタ A 出力 カウンタ B 出力 カウンタクロック CHxSEL マルチプレクサ CHxE IC パス OC パス CHxIO CHxCTL[3:0] CHxACC[1:0] ロジック比較器 CHx チャンネル出力 チャンネルデータレジスタ A 割り込み要求 チャンネルデータレジスタ B チャンネル入力 チャンネル比較出力 ホストアクセス CHxDAT 各チャンネルは比較器と 2 本のチャンネルデータレジスタで基本構成されます。 CHxSEL ビットで使用するカウンタの選択を行います。このビットをクリアするとカウンタ A、セッ トするとカウンタ B の選択となります。よって、このビット値により、カウンタ出力、カウンタオー バーフロー、クリアも選択されます。 ロジック比較器は選択されたカウンタ出力とチャンネルデータレジスタ A の値を比較します。また、 チャンネルデータレジスタ A はチャンネルデータレジスタ B の値、あるいはホスト書き込みにより更 新されます。チャンネルデータレジスタ B はホスト書き込みにより更新されます。 CHxIO ビットをクリアすると、アウトプットコンペア動作、セットするとインプットキャプチャ動 作となります。 データレジスタ A と B のアクセスと更新 ホストからの CHxDAT ビットの読み込みは CHxIO ビットに関係なく、CHxACC ビットが 0x0 か 0x1 であれば、チャンネルデータレジスタ A、CHxACC ビットが 0x2 か 0x3 であればチャンネルデータレ ジスタ B を返します。 ホストからの CHxDAT ビットへの書き込みは、CHxIO ビットがクリア、つまり、アウトプットコン ペア動作の時だけに有効であり、ほかの条件で書き込んだ場合の動作は保証できません。チャンネル データレジスタ A の更新とは、チャンネルデータレジスタ B から A への転送を意味します。CHxACC ビットによる書き込みと更新動作は以下の通りになります: • CHxACC ビットが 0 のとき、チャンネルデータレジスタ A と B が同時に同一内容が書かれま す。また、常にチャンネルデータ A の更新がなされます。 • CHxACC ビットが 1 のとき、チャンネルデータレジスタ B が書かれます。比較一致でチャン ネルデータレジスタ A の更新がされます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 124 頁 Alligator Preliminary • CHxACC ビットが 2 のとき、チャンネルデータレジスタ B が書かれます。チャンネルデータ レジスタ A の更新はありません。 • CHxACC ビットが 3 のとき、チャンネルデータレジスタ B が書かれます。カウンタオーバー フローあるいはカウンタクリアでチャンネルデータレジスタ A の更新がされます。 表 10-6:チャンネルデータレジスタのアクセスと更新 レジスタビット ホスト書き込みと更新 ホスト読み込み CHxIO CHxACC 0 (アウトプッ トコンペア 動作) 0x0 チャンネルデータレジスタ A チャンネルデータレジスタ A 0x1 0x2 0x0 書き込み 比較一致 チャンネルデータレジスタ B 0x3 1 (インプット キャプチャ 動作) チャンネルデータレジスタ B 書き込み 更新なし カウンタクリアかオーバー フロー チャンネルデータレジスタ A 内容は保証されません 0x1 0x2 チャンネルデータレジスタ B 0x3 アウトプットコンペア動作 CHxIO ビットをクリアするとアウトプットコンペア動作になります。このとき、図 10-7 の OC パス が選択され、チャンネルデータレジスタ A 出力とロジック比較器の内容が一致すると、カウンタクロッ クに同期して、出力比較一致となります。そして、チャンネル比較出力からパルス出力、そして、CHx ビットがセットされます。このとき、CHxE ビットをセットしてあると、チャンネル機能部の割り込 み要求になります。 この CHx ビットをクリアするにはホストが CHx ビットをセットします。このホストによる CHx ビッ トクリアと次の出力比較一致によるセットが重なった場合はホストによる CHx ビットクリアが優先さ れます。 図 10-8: アウトプットコンペア動作 システムクロック カウンタクロック カウンタ (CHxDAT-1) チャンネルデータレジスタ A (CHxDAT) (CHxDAT+1) (CHxDAT) チャンネル比較出力 CHx ビット カウンタの比較一致 CHx ビットのセット 125 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator インプットキャプチャ動作 CHxIO ビットをセットするとインプットキャプチャ動作になります。このとき、図 10-7 の IC パス が選択されます。入力からパルスが入力されるとカウンタ出力の内容がチャンネルデータレジスタに コピーされます。そして、チャンネル比較出力からパルス出力、そして、CHx ビットがセットされま す。この CHx ビットがセットされているとき、引き続いて入力からパルスが入力しても、そのパルス は無視され、インプットキャプチャ検出動作はされません。この動作での CHx ビットセットはシステ ムクロック同期であり、カウンタクロックに同期しません。このとき、CHxE ビットをセットしてあ ると、チャンネル機能部の割り込み要求になります。 この CHx ビットをクリアするにはホストが CHx ビットをセットします。このホストによる CHx ビッ トクリアと次のインプットキャプチャ動作によるセットが重なった場合はホストによる CHx ビットク リアが優先されます。 このインプットキャプチャ動作時においても、ホストによるチャンネルデータレジスタの書き込み は禁止されていません。この書き込みはチャンネルデータレジスタの値を不定にする恐れがあります。 表 10-7:CHxCTL ビット CHxCTL 機能 0x0 A のみに格納 0x1 B に格納してから A に格納のシーケンス動作 0x2-f (予約) このインプットキャプチャ動作は CHxCTL ビットの内容によって、動作が異なります。 • CHxCTL ビットが 0 であるとき、入力のパルス入力をイベント検出として、カウンタ出力が チャンネルデータレジスタ A に格納されます。このとき、CHx ビットもセットされます。 • CHxCTL ビットが 1 であるとき、入力のイベント位置がチャンネルデータレジスタ A と B に 反映します。入力の最初のパルス入力をイベント検出として、カウンタ出力がチャンネルデー タレジスタ B に格納されます。続く入力のパルス入力をイベント検出として、カウンタ出力が チャンネルデータレジスタ A に格納されます。そうすると CHx ビットがセットされます。 図 10-9: インプットキャプチャ動作 CHxCTL=0x0 CHxCTL=0x1 カウンタクロック カウンタ (A) (B) (C) 外部入力 [x] チャンネルデータレジスタ A チャンネルデータレジスタ B (A) (C) (B) CHx ビット チャンネル比較出力 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 126 頁 Alligator Preliminary 入力制御部 10.2 入力制御部は外部から入力される外部入力と外部クロック入力、そして外部イベント入力に関連し た機能を持ちます。 これらの外部入力は正論理かつこの GPT が使用するシステムクロックに同期した信号でなくてはな りません。LSI 外部からの入力、あるいは異なったクロックを使用したモジュールからの入力の場合は 必要に応じて同期化、フィルタ処理、そして立ち上がりや立ち下がり検出などの処理を行ってから入 力しなくてはなりません。 これらの外部入力は例えば、クロック、カウンタのクリアとロード、インプットキャプチャのロー ドなどに使用されます。クリアやロード用途としては立ち上がりだけが内部使用されます。 図 10-10: 外部入力 外部入力 システムクロック クリア / ロード用途 外部入力イメージ データ用途 外部入力イメージ クロック用途 外部入力イメージ 10.3 出力制御部 出力制御部はチャンネルのチャンネル比較出力から、モジュール出力としての一般的なアウトプッ トコンペア機能出力や基本的な PWM 機能を実現します。出力信号はチャンネルの設定と基本的には 一対であるので、ホストは出力したい信号に該当するチャンネルの CHxIO ビットをクリアして、アウ トプットコンペア動作にする必要があります。 使用する内部信号はカウンタの比較一致を示すチャンネル比較出力、カウンタのオーバーフローと クリア信号になります。ここでは CHxSEL ビットで選択されるカウンタを使用します。 該当チャンネルの CHxIO ビットがセットされて、インプットキャプチャ動作であるときの FF 出力 は前の設定のままを保持します。また GPTEN ビットがクリアされているときに、CHxCTL ビットが 0x0 あるいは 0x1 のときは、出力 FF はこのビットの内容が反映され、ローレベルあるいはハイレベル 出力がポートモジュールに出力されます。GPT モジュールの出力をデバイスの出力に接続するには、 ポートモジュールに所定の設定をする必要があります。 各チャンネルの出力動作の設定はチャンネル毎に設定できる CHxCTL ビットを使用します。この CHxCTL ビットが 0x0 から 0x1 は固定レベルの出力、0x2 から 0x7 は一般的なタイマーのアウトプッ トコンペア動作、0x8 から 0xf までは PWM 動作の出力になります。 表 10-8:CHxCTL ビットと出力 FF 設定 出力 FF 設定 CHxCTL セット条件 クリア条件 機能 0x0 - 常時 クリア 0x1 常時 - セット 0x2-0x7 127 頁 アウトプットコンペア動作 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 10-8:CHxCTL ビットと出力 FF 設定 出力 FF 設定 CHxCTL セット条件 クリア条件 機能 0x8-0xf 10.3.1 PWM 動作 アウトプットコンペア動作 CHxCTL ビットが 0x2 から 0x7 は一般的なタイマーのアウトプットコンペア動作になります。カウ ンタとレジスタの比較一致で出力レベルを変化させます。 表 10-9:CHxCTL ビットと出力 FF 設定 出力 FF 設定 CHxCTL セット条件 クリア条件 機能 0x2 - 比較一致 比較一致でクリア 0x3 比較一致 - 比較一致でセット 0x4 比較一致でトグル 比較一致でトグル この動作では比較一致前にホストは CHxCTL ビットを 0x0 あるいは 0x1 にして、FF 出力をハイレ ベルあるいはローレベルに設定しておく必要があります。 図 10-11: 出力波形 最大値 カウンタ 0x0000 クリア (CHxCTL=0x2) セット (CHxCTL=0x3) トグル (CHxCTL=0x4) これらの CHxCTL ビットの値による、使用するチャンネル比較出力とモジュール出力を表 10-10 に 示します。 表 10-10:CHxCTL ビット、チャンネル比較出力と外部出力 使用チャンネル比較出力 外部出力 2013.12.20 版 CHxCTL ビット 0x0 0x1 0x2 0x3 0x4 0 - - 0 0 0 1 - - 1 1 1 2 - - 2 2 2 (C) 2009-2013 New Japan Radio Co., Ltd. 128 頁 Alligator Preliminary 表 10-10:CHxCTL ビット、チャンネル比較出力と外部出力 使用チャンネル比較出力 外部出力 10.3.2 CHxCTL ビット 0x0 0x1 0x2 0x3 0x4 3 - - 3 3 3 4 - - 4 4 4 5 - - 5 5 5 6 - - 6 6 6 7 - - 7 7 7 PWM 動作 CHxCTL ビットを 0x8 から 0xf までの設定にしたときは PWM 動作となります。特にこのビットが 0xc から 0xf であるときは外部イベントによるデューティカット動作が PWM 動作に追加されます。 表 10-11:CHxCTL ビットと出力 FF 設定(PWM 動作) 出力 FF 設定 CHxCTL セット条件 クリア条件 機能 0x8 (機能参照) 比較一致 カウンタのオーバーフローあるいはクリアでセット 0x9 比較一致 (機能参照) カウンタのオーバーフローあるいはクリアでクリア 0xa 奇数チャンネル比較一致でセット 偶数チャンネル比較一致でクリア 0xb 偶数チャンネル比較一致でセット 奇数チャンネル比較一致でクリア 0xc カウンタのオーバーフローあるいはクリア でセット 比較一致でクリア イベント入力によるクリアと自動復帰 入力信号のイベントでクリアされた場合は、接続先のカウ ンタのオーバーフローあるいはクリアまで、出力のローレ ベルを維持する。 0xd カウンタのオーバーフローあるいはクリア でセット 比較一致でクリア イベント入力によるクリアと手動復帰 入力信号のイベントでクリアされた場合は EI ビットをクリ アした後の接続先のカウンタのオーバーフローあるいはク リアまで、出力のローレベルを維持する。 0xe 奇数チャンネル比較一致でセット 偶数チャンネル比較一致でクリア イベント入力によるクリアと自動復帰 入力信号のイベントでセットされた場合は、接続先のカウ ンタのオーバーフローあるいはクリアまで、奇数チャンネ ル比較一致を無視して、出力のローレベルを維持する。 0xf 奇数チャンネル比較一致でセット 偶数チャンネル比較一致でクリア イベント入力によるクリアと手動復帰 入力信号のイベントでセットされた場合は EI ビットをクリ アした後の接続先のカウンタのオーバーフローあるいはク リアまで、奇数チャンネル比較一致を無視して、出力の ローレベルを維持する。 この動作ではカウンタをフリーラン動作にさせて、PWM 出力が 65536 クロック周期を持つように カウンタをオーバーフローさせて動作、あるいは 1 つのチャンネルを使用してモジュロカウンタを構 成し、PWM 出力が(比較値 +1)クロック周期になるように動作させます。そして、このカウンタ周 期に対して任意のチャンネルを使用して出力波形を得ます。 クロック同期あるいは非同期の外部イベント入力 CHxCTL ビットが 0xc から 0xf であるときにだけ、外部イベント入力は EISYNC ビットによって、 クロック同期あるいはクロック非同期を選択できます。この非同期を選択した際には GPIO 側設定で 入力フィルタや同期化回路をスキップさせなければなりません。 非同期による外部イベント入力を選択すると、イベント発生によりクロック遅延無しで即座に出力 129 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator レベルが変化します。 10.3.2.1 通常 PWM 動作 CHxCTL ビットが 0x8 から 0xb までの動作は通常 PWM 動作になり、その出力波形を図 10-12 に示 します。 • CHxCTL ビットを 0x8 あるいは 0x9 にした場合はカウンタ周期に合わせた PWM 動作になりま す。 CHxCTL ビットを 0x8 ではカウンタクリアかオーバーフローで出力がセット、カウンタ値と比 較値の一致で出力がローレベルになります。よって、この出力波形のハイレベルの長さは ( 比 較値 +1) になります。 CHxCTL ビットを 0x9 ではカウンタクリアかオーバーフローで出力がクリア、カウンタ値と比 較値の一致で出力がハイレベルになります。よって、この出力波形のローレベルの長さは ( 比 較値 +1) になります。 • CHxCTL ビットを 0xa あるいは 0xb にした場合はチャンネル比較出力2本で 1 本のモジュール 出力を生成し、PWM 波形を生成します。この場合はカウンタ周期とは無関係の波形出力とな ります。 CHxCTL ビットを 0xa では出力波形のローレベルの長さは比較値の差になります。 CHxCTL ビットを 0xb では出力波形のハイレベルの長さは比較値の差になります。 図 10-12: 通常 PWM 動作波形 最大値 カウンタ 0x0000 セットークリア (CHxCTL=0x8) クリアーセット (CHxCTL=0x9) クリア - セット (CHxCTL=0xA) セット - クリア (CHxCTL=0xB) 10.3.2.2 デューティカット動作 デューティカット動作は PWM 動作をしている最中に外部イベント入力からイベントを検出すると、 出力レベルを即座にローレベルにする動作です。この動作は 2 種類の PWM 動作に適応され、それぞ れ外部イベント入力による復帰として自動復帰と手動復帰があります。 外部イベント入力は 2 本あります。外部イベント入力にハイパルスが入力されたときに検出としま す。イベント入力があると、それぞれ外部イベント入力 [0] に対しては EI0 ビット、外部イベント入力 [1] に対しては EI1 ビットがセットされます。EI0E ビットをセットすると EI0 ビットがセットしたと き、また、EI1E ビットをセットすると EI1 ビットがセットしたときに、ホストに割り込み要求を行い ます。 EISEL ビットでこれらの外部イベント入力のチャンネルに対する割り振りを定めます。また、EISEL ビットが 0x0 であるときは、外部イベント入力はディセーブルされ、EI0 ビットと EI1 ビットはクリ 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 130 頁 Alligator Preliminary アされます。 表 10-12:EISEL ビットとチャンネル / 外部イベント入力 EISEL ビット / 外部イベント入力 チャンネル 0 0x1 0x2 0x3 外部イベント入力 [0] 外部イベント入力 [0] 外部イベント入力 [0] 1 外部イベント入力 [1] 2 外部イベント入力 [0] 3 外部イベント入力 [1] 4 外部イベント入力 [1] 外部イベント入力 [0] 5 外部イベント入力 [1] 6 外部イベント入力 [0] 7 外部イベント入力 [1] CHxCTL ビットが 0xc から 0xf であるときの動作を表 10-11 に示します。 • CHxCTL ビットが 0xc から 0xf までの動作は外部入力により出力波形をローレベルにするもの (デューティカットと呼びます)を PWM 波形生成に付加したものです。CHxCTL ビットが 0xc と 0xe であるときは 0x8 の動作に機能を追加、また 0xd と 0xf は 0xa の動作に機能を追加した ものになります。 デューティカット後、自動復帰の場合は接続先カウンタの次のオーバーフローあるいはクリア で解除します。使用する EIy ビットの値に関係なく、イベント入力があれば自動復帰のデュー ティカット動作になります。 手動復帰の場合は EIy ビットがセットされていると、次のイベント入力は無視されます。使用 する EIy ビットをクリアした後、接続先カウンタの次のオーバーフローあるいはクリアで解除 されます。EIy ビットがクリアされてから、解除タイミングの間に次のイベント入力があった 場合は再び EIy ビットがクリアされるまで解除されません。 CHxCTL ビットが 0xc であるときの動作波形を図 10-13 に示します。通常動作であるときはカウン タクリアあるいはオーバーフローで出力 FF をセット、カウンタの比較一致でクリアします。イベント 入力があると、出力 FF はクリアされます。そして、自動復帰として次のカウンタクリアあるいはオー バーフローで通常動作に戻ります。 131 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 10-13: 出力波形 (CHxCTL=0xc) カウンタ 最大値 比較値 0x0000 イベント入力 出力ロー 自動復帰 セットークリア 自動復帰 イベント入力による 出力レベルカット CHxCTL ビットが 0xd であるときの動作波形を図 10-14 に示します。通常動作であるときはカウン タクリアあるいはオーバーフローで出力 FF をセット、カウンタの比較一致でクリアします。イベント 入力があると、出力 FF はクリアされます。そして、手動復帰として、EIy ビットがクリアされるまで、 このローレベルを保持します。EIy ビットがクリアされると、次のカウンタクリアあるいはオーバーフ ローで通常動作に戻ります。 図 10-14: 出力波形 (CHxCTL=0x0d) カウンタ 最大値 比較値 0x0000 イベント入力 出力ロー EIy ビットクリア 復帰 セットークリア 手動復帰 イベント入力による 出力レベルカット CHxCTL ビットが 0xe であるときの動作波形を図 10-15 に示します。通常動作であるときはカウン タの比較一致 0 で出力 FF をセット、カウンタの比較一致 1 でクリアします。イベント入力があると、 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 132 頁 Alligator Preliminary 出力 FF はクリアされます。そして、自動復帰として次のカウンタクリアあるいはオーバーフローで通 常動作に戻ります。 図 10-15: 出力波形 (CHxCTL=0xe) カウンタ 最大値 比較値 1 比較値 0 0x0000 イベント入力 出力ロー 自動復帰 セットークリア 自動復帰 イベント入力による 出力レベルカット CHxCTL ビットが 0xf であるときの動作波形を図 10-16 に示します。通常動作であるときはカウン タの比較一致 0 で出力 FF をセット、カウンタの比較一致 1 でクリアします。イベント入力があると、 出力 FF はクリアされます。そして、手動復帰として、EIy ビットがクリアされるまで、このローレベ ルを保持します。EIy ビットがクリアされると、次のカウンタクリアあるいはオーバーフローで通常動 作に戻ります。 図 10-16: 出力波形 (CHxCTL=0xf) カウンタ 最大値 比較値 1 比較値 0 0x0000 イベント入力 出力ロー EIy ビットクリア 復帰 セットークリア 手動復帰 イベント入力による 出力レベルカット 133 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator CHxCTL ビットとの関係を表 10-13 に示します。 表 10-13:CHxCTL ビットと外部出力(デューティカット動作) 使用 CHxCTL ビット 外部出力 0xa/0xb 0x8 10.3.2.3 0xe/0xf 0x9 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 0xc 偶数 奇数 0 1 2 3 4 5 6 7 0xd 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 偶数 奇数 0 1 2 3 4 5 6 7 境界条件 出力をカウンタのオーバーフローや比較一致によるクリア、比較一致、あるいは外部イベントなど の条件でハイレベルあるいはローレベルにするときに、その条件のタイミングが一致したときの出力 を定めます。 表 10-14:CHxCTL ビットと境界条件(PWM 動作) 出力 FF 設定 CHxCTL 0x8 0x9 0xA 0xb 0xc 通常動作 境界動作 出力 条件 出力 優先条件 クリア 比較一致 クリア ○ セット カウンタのオーバーフローあるいはクリア クリア カウンタのオーバーフローあるいはクリア クリア ○ クリア 比較一致 クリア 偶数チャンネル比較一致 クリア ○ セット 奇数チャンネル比較一致 クリア 奇数チャンネル比較一致 クリア ○ セット 偶数チャンネル比較一致 クリア 比較一致 クリア ○ クリア ○ イベント入力と自動復帰 0xd セット カウンタのオーバーフローあるいはクリア クリア 比較一致 イベント入力と手動復帰 EIx ビットクリア セット 2013.12.20 版 カウンタのオーバーフローあるいはクリア (C) 2009-2013 New Japan Radio Co., Ltd. 134 頁 Alligator Preliminary 表 10-14:CHxCTL ビットと境界条件(PWM 動作) 出力 FF 設定 CHxCTL 0xe 通常動作 境界動作 出力 条件 出力 優先条件 クリア 偶数チャンネル比較一致 クリア ○ クリア ○ イベント入力と自動復帰 0xf セット 奇数チャンネル比較一致 クリア 偶数チャンネル比較一致 イベント入力と手動復帰 EIx ビットクリア セット 奇数チャンネル比較一致 割り込み 10.4 この GPT モジュールはホストに対して最大 5 本の割り込み要求が出来ます。 割り込みを発生できるリソースは全部で 12 本あります。それぞれの割り込み要求リソースが持つ割 り込み状態ビットがデバイスによりセットされ、ホストにより対応する割り込み許可ビットがセット されているとき、モジュール内リソースからホストに割り込み要求を行うことが出来ます。 デフォルトではすべての割り込み要求リソースに対して 1 本の割り込み要求 0 が使用されます。ま た、4 ビット幅の IRQEXTx ビット(x は 1 から 4)を使用すると割り込み要求 1 から 4 の 4 本の割り 込み要求信号に対して、任意の割り込みソースに対して割り込み要求を与えることが出来ます。この 設定で使用される割り込みソースは割り込み要求 0 から除外されます。 この IRQEXTx ビットが 0 であるときは該当する割り込み要求を与えません。 表 10-15:IRQEXT ビットと割り込みリソース IRQEXTx ビット 要求ビット 数 備考 0 - - - 1-8 CH0-7 8 割り込みリソース =CH[IRQEXTx-1] 9-10 EI0-1 2 割り込みリソース =EI[IRQEXTx-9] 11 CTAOV 1 割り込みリソース =CTAOV 12 CTBOV 1 割り込みリソース =CTBOV 10.5 デバッグ機能サポート デバイスのデバッグ機能を使用し、デバッグ動作がアクティブ動作に移行すると、以下の動作が停 止します。デバッグモジュール内のレジスタビット操作により、それぞれの動作無効化が出来ます。 • プリスケーラ停止 • カウンタ A 停止 • カウンタ B 停止 135 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 10.6 Alligator レジスタ GPT モジュール内のレジスタを表 10-16 に示します。全部で 16 ワードの大きさが必要になります。 表 10-16:GPT モジュール内のレジスタ レジスタ名 アドレス GPT 制御 0 GPTCTL0 +0 GPT 制御 1 GPTCTL1 +1 GPT 制御 2 GPTCTL2 +2 GPT 制御 3 GPTCTL3 +3 GPT 制御 4 GPTCTL4 +4 GPT 制御 5 GPTCTL5 +5 GPT カウンタ A データ GPTCTA +6 GPT カウンタ B データ GPTCTB +7 GPT チャンネル 0 データ GPTCH0DT +8 GPT チャンネル 1 データ GPTCH1DT +9 GPT チャンネル 2 データ GPTCH2DT +10 GPT チャンネル 3 データ GPTCH3DT +11 GPT チャンネル 4 データ GPTCH4DT +12 GPT チャンネル 5 データ GPTCH5DT +13 GPT チャンネル 6 データ GPTCH6DT +14 GPT チャンネル 7 データ GPTCH7DT +15 このモジュールのレジスタアクセスは GPTCTL0 レジスタ中の MAP ビットをクリアすると、表 1017 に示すレジスタマップに切り替わります。 表 10-17:レジスタマップ(MAP ビット =0) レジスタ名 アドレス GPT 制御 0 GPTCTL0 +0 GPT 制御 1 GPTCTL1 +1 GPT 制御 2 GPTCTL2 +2 - - +3 - - +4 - - +5 GPT カウンタ A データ GPTCTA +6 GPT カウンタ B データ GPTCTB +7 GPT チャンネル 0 データ GPTCH0DT +8 GPT チャンネル 1 データ GPTCH1DT +9 GPT チャンネル 2 データ GPTCH2DT +10 GPT チャンネル 3 データ GPTCH3DT +11 GPT チャンネル 4 データ GPTCH4DT +12 GPT チャンネル 5 データ GPTCH5DT +13 GPT チャンネル 6 データ GPTCH6DT +14 GPT チャンネル 7 データ GPTCH7DT +15 このモジュールのレジスタアクセスは GPTCTL0 レジスタ中の MAP ビットをセットすると、表 1018 に示すレジスタマップに切り替わります。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 136 頁 Alligator Preliminary 表 10-18:レジスタマップ(MAP ビット =1) レジスタ名 アドレス GPT 制御 0 GPTCTL0 +0 GPT コンフィグ 0 GPTCFG0 +1 GPT コンフィグ 1 GPTCFG1 +2 GPT コンフィグ 2 GPTCFG2 +3 GPT コンフィグ 3 GPTCFG3 +4 GPT コンフィグ 4 GPTCFG4 +5 GPT コンフィグ 5 GPTCFG5 +6 - - +7 GPT チャンネル 0 データ GPTCH0DT +8 GPT チャンネル 1 データ GPTCH1DT +9 GPT チャンネル 2 データ GPTCH2DT +10 GPT チャンネル 3 データ GPTCH3DT +11 GPT チャンネル 4 データ GPTCH4DT +12 GPT チャンネル 5 データ GPTCH5DT +13 GPT チャンネル 6 データ GPTCH6DT +14 GPT チャンネル 7 データ GPTCH7DT +15 以降にレジスタの詳細を示します。 表 10-19:GPT 制御 0 レジスタ GPTCTL0 ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット CH7E CH6E CH5E CH4E CH3E CH2E CH1E CH0E RW RW RW RW RW RW RW RW RW 8 RST 0 0 0 0 0 0 0 0 ビット - MAP CTBOVE CTBEN CTAOVE CTAEN GPTRST GPTEN RW - RW RW RW RW RW WS RW RST 0 0 0 0 0 0 0 0 0 GPTEN GPT イネーブル GPT モジュールの動作を設定します。このビットをクリアして、休止状態であるときにもレ ジスタのアクセスは可能です。 0 - GPT モジュールを休止状態にして初期化します 1 - GPT モジュールを動作させます GPTRST GPT リセット GPT モジュールをリセットします。 1 - GPT モジュールをリセットします。 CTAEN カウンタ A イネーブル カウンタ A のカウンタ動作をさせます。このビットをクリアしたとき、カウンタ動作が停止 するだけで、内部ステータスなどの内部状態には影響を与えません。 0 - カウンタ A のカウンタ動作を停止します 1 - カウンタ A のカウンタ動作を行わせます 137 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator カウンタ A 割り込み許可 CTAOVE CTAOV ビットがセットしたときに、割り込み要求します。 0 - CTAOV ビットがセットしても、割り込み要求しません 1 - CTAOV ビットがセットしたとき、割り込み要求します カウンタ B イネーブル CTBEN カウンタ B のカウンタ動作をさせます。このビットをクリアしたとき、カウンタ動作が停止 するだけで、内部ステータスなどの内部状態には影響を与えません。 0 - カウンタ B のカウンタ動作を停止します 1 - カウンタ B のカウンタ動作を行わせます カウンタ B 割り込み許可 CTBOVE CTBOV ビットがセットしたときに、割り込み要求します。 0 - CTBOV ビットがセットしても、割り込み要求しません 1 - CTBOV ビットがセットしたとき、割り込み要求します アクセスマップ MAP レジスタマップ0と1へのアクセスを選択します。 0 - マップ 0 のレジスタビットをアクセスします 1 - マップ 1 のレジスタビットをアクセスします チャンネル x 割り込み許可 (x は 0 から 7) CHxE CHx ビットがセットしたとき、ホストに割り込み要求します。 0 - CHx ビットがセットしたとき、ホストに割り込み要求しません 1 - CHx ビットがセットしたとき、ホストに割り込み要求します 表 10-20:GPT 制御 1 レジスタ(MAP ビット =0) GPTCTL1(MAP=0) ビット位置 8 0 +7 +6 +5 +4 +3 +2 +1 ビット IRQEXT4 IRQEXT3 RW RW RW RST 0x0 0x0 ビット IRQEXT2 IRQEXT1 RW RW RW RST 0x0 0x0 +0 MAP ビットがクリアされたときの GPTCTL1 レジスタの内容を示します。 IRQEXTx[3:0] 割り込み要求 x 選択 (x は 1 から 4) 割り込み要求を設定します。 表 10-21:GPT 制御 2 レジスタ(MAP ビット =0) GPTCTL2(MAP=0) ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット CH7 CH6 CH5 CH4 CH3 CH2 CH1 CH0 8 0 RW RC RC RC RC RC RC RC RC RST 0 0 0 0 0 0 0 0 ビット EI1 EI0 EI1E EI0E - - CTBOV CTAOV RW RC RC RW RW - - RC RC RST 0 0 0 0 0 0 0 0 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 138 頁 Alligator Preliminary MAP ビットがクリアされたときの GPTCTL2 レジスタの内容を示します。 カウンタ A オーバーフロー CTAOV カウンタ A のオーバーフロー検出を示します。このビットをセットすると、自動的にクリア されます。 0 - カウンタ A のオーバーフローを検出していません 1 - カウンタ A のオーバーフローを検出しました カウンタ B オーバーフロー CTBOV カウンタ B のオーバーフロー検出を示します。このビットをセットすると、自動的にクリア されます。 0 - カウンタ B のオーバーフローを検出していません 1 - カウンタ B のオーバーフローを検出しました イベント 0 割り込み許可 EI0E EI0 ビットがセットしたときにホストに割り込み要求をします。 0 - EI0 ビットがセットしても割り込み要求をしません 1 - EI0 ビットがセットすると割り込み要求をします イベント 1 割り込み許可 EI1E EI1 ビットがセットしたときにホストに割り込み要求をします。 0 - EI1 ビットがセットしても割り込み要求をしません 1 - EI1 ビットがセットすると割り込み要求をします イベント 0 入力 EI0 イベント入力 [0] にイベントが入力した事を示します。このビットをセットすると自動的に クリアされます。また、EISEL ビットが 0x0 であるときは、このビットはクリアされます。 0 - イベント入力 [0] にイベントを検出していません 1 - イベント入力 [0] にイベントを検出しました イベント 1 入力 EI1 イベント入力 [1] にイベントが入力した事を示します。このビットをセットすると自動的に クリアされます。また、EISEL ビットが 0x0 であるときは、このビットはクリアされます。 0 - イベント入力 [1] にイベントを検出していません 1 - イベント入力 [1] にイベントを検出しました チャンネル x 出力 (x は 0 から 7) CHx チャンネル x 動作でアウトプットコンペア動作では比較一致、インプットキャプチャ動作で は取り込みが行われ、チャンネル比較出力検出を示します。このビットは "RC" ビットであ り、このビットをセットすると自動的にクリアされます。 0 - チャンネル比較出力を検出していません 1 - チャンネル比較出力を検出しました 表 10-22:GPT カウンタ A データレジスタ(MAP ビット =0) GPTCTA(MAP=0) ビット位置 +7 +6 +5 +4 +3 ビット CTACT[15:8] RW RW 8 RST 0x00 ビット CTACT[7:0] 0 RW RW RST 0x00 +2 +1 +0 GPTCTA レジスタは MAP ビットにより、アクセスリソースが異なります。MAP ビットがクリアさ 139 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator れたときのレジスタビットの内容を示します。 CTACT[15:0] カウンタ A カウンタ値 カウンタ A のカウンタ値を示します。このビットへの書き込みはカウンタに値を与えます。 表 10-23:GPT カウンタ B データレジスタ(MAP ビット =0) GPTCTB(MAP=0) ビット位置 +7 +6 +5 +4 ビット 8 0 +3 +2 +1 +0 CTBCT[15:8] RW RW RST 0x00 ビット CTBCT[7:0] RW RW RST 0x00 GPTCTB レジスタは MAP ビットにより、アクセスリソースが異なります。MAP ビットがクリアさ れたときのレジスタビットの内容を示します。 CTBCT[15:0] カウンタ B カウンタ値 カウンタ B のカウンタ値を示します。このビットへの書き込みはカウンタに値を与えます。 表 10-24:GPT チャンネル x データレジスタ(X=0~7) GPTCHxDT ビット位置 +7 +6 +5 ビット 8 0 +4 +3 RW RW RST 0x00 ビット CHxDAT[7:0] RW RW RST 0x00 CHxDAT[15:0] +2 +1 +0 CHxDAT[15:8] チャンネル x データ チャンネル x のデータレジスタを示します。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 140 頁 Alligator 10.6.1 Preliminary MAP ビットセット 以下のレジスタは MAP ビットをセットしたときにアクセス可能です。 表 10-25:GPT コンフィグ 0 レジスタ GPTCFG0 ビット位置 +7 ビット 8 +5 +4 +3 RW RW RW RW 0 0 0 0 CTBCLR RW RW RST 0 ビット 0 +6 +2 +1 +0 RW RW RW 0 0 0 CTBSEL CTACLR CTASEL RW RW RW RW RW RW RW RW RW RST 0 0 0 0 0 0 0 0 GPTCTL1 レジスタは MAP ビットがセットされたときに GPTCFG0 レジスタになります。 CTASEL[5:0] カウンタ A クロック選択 カウンタ A のクロックソースを選択します。 CTACLR[1:0] カウンタ A クリア選択 カウンタ A のクリアソースを選択します。 CTBSEL[5:0] カウンタ B クロック選択 カウンタ B のクロックソースを選択します。 CTBCLR[1:0] カウンタ B クリア選択 カウンタ B のクリアソースを選択します。 表 10-26:GPT コンフィグ 1 レジスタ GPTCFG1 ビット位置 +7 ビット 8 +6 +5 +4 +3 CH3CTL +2 +1 RW RW RW RST 0x0 0x0 ビット CH1CTL CH0CTL RW RW RW RST 0x0 0x0 0 +0 CH2CTL GPTCTL2 レジスタは MAP ビットがセットされたときに GPTCFG1 レジスタになります。 CHxCTL[3:0] チャンネル x 入出力設定(x は 0 から 3) チャンネル x の入出力動作設定をします。 141 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 10-27:GPT コンフィグ 2 レジスタ GPTCFG2 ビット位置 +7 +6 +5 ビット 8 0 +4 +3 +2 CH7CTL +1 +0 CH6CTL RW RW RW RST 0x0 0x0 ビット CH5CTL CH4CTL RW RW RW RST 0x0 0x0 GPTCTL3 レジスタは MAP ビットがセットされたときに GPTCFG2 レジスタになります。 チャンネル x 入出力設定(x は 4 から 7) CHxCTL[3:0] チャンネル x の入出力動作設定をします。 表 10-28:GPT コンフィグ 3 レジスタ GPTCFG3 ビット位置 +7 ビット 8 0 +6 +5 CH7ACC +4 +3 CH6ACC +2 +1 CH5ACC +0 CH4ACC RW RW RW RW RW RST 0x0 0x0 0x0 0x0 ビット CH3ACC CH2ACC CH1ACC CH0ACC RW RW RW RW RW RST 0x0 0x0 0x0 0x0 GPTCTL4 レジスタは MAP ビットがセットされたときに GPTCFG3 レジスタになります。 CHxACC[1:0] チャンネル x データレジスタアクセス (x は 0 から 7) チャンネル x の CHxDAT ビットアクセスによるデータレジスタ A と B のアクセスと更新方 法を設定します。 表 10-29:GPT コンフィグ 4 レジスタ GPTCFG4 ビット位置 8 0 +7 +6 +5 +4 +3 +2 +1 +0 ビット CH7SEL CH6SEL CH5SEL CH4SEL CH3SEL CH2SEL CH1SEL CH0SEL RW RW RW RW RW RW RW RW RW RST 0 0 0 0 0 0 0 0 ビット CH7IO CH6IO CH5IO CH4IO CH3IO CH2IO CH1IO CH0IO RW RW RW RW RW RW RW RW RW RST 0 0 0 0 0 0 0 0 GPTCTL5 レジスタは MAP ビットがセットされたときに GPTCFG4 レジスタになります。 CHxIO チャンネル x 動作設定 チャンネル x の動作設定をします 0 - アウトプットコンペア動作をします 1 - インプットキャプチャ動作をします 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 142 頁 Alligator Preliminary チャンネル x カウンタ出力選択 CHxSEL チャンネル x のカウンタ出力を選択します 0 - カウンタ出力 A を使用します 1 - カウンタ出力 B を使用します 表 10-30:GPT コンフィグ 5 レジスタ GPTCFG5 ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 0 0 0 0 0 0 0 0 ビット 8 RW RST ビット EISEL - EISYNC RW RW - RW 0 0 0 RST 0 0 0 0 0 0 GPTCTA レジスタは MAP ビットがセットされたときに GPTCFG5 レジスタになります。 EISYNC 外部イベント同期化入力 CHxCTL ビットが 0xc から 0xf であるときにだけ有効なビットです。外部イベント入力の同 期あるいは非同期を選択します。 0 - 外部イベントが同期化動作します 1 - 外部イベントが非同期でも動作します EISEL[1:0] イベント入力選択 イベント入力のチャンネル配置を設定します。 143 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. Alligator 144 頁 Alligator Preliminary UART(UART)モジュール このモジュールは UART フォーマットを持つ非同期型のシリアルインターフェースになります。 表 11-1:入出力信号 端子 信号 入出力 名称 RXD 入 データ入力 TXD 出 データ出力 UARTEN ビットがクリアされているときは、UART 入出力信号である RXD と TXD 信号は端子から 常に切り離されます。即ち、UART 動作としての TXD 端子の出力ドライバはオフになり、ハイイン ピーダンスになります。また、UARTEN ビットがセットされているときは、その動作は UART 動作設 定に依存します。 初期設定は、UARTEN ビットがクリアされた状態で、動作モードの設定を行います。そして、その 後に UARTEN ビットをセットしなくてはなりません。また、UARTEN ビットがクリアされている最 中に、デバイス内部では動作準備を行います。 図 11-1 にブロック図を示します。送信部と受信部に別れ、送信と受信に別々に 8 バイトのバッファ を持っており、そのバッファリングを使用した動作も可能になります。送信部には送信間隔を制御可 能な送信間隔カウンタ、受信部にはボーレート観測用のビット長計測がついています。 送信と受信部の入出力側ではループ動作とシングルワイヤ動作に対応しています。送信部とループ 動作では LOOPS ビットをセットすると送信と受信は直結され、TXD 端子はハイレベルに固定されま す。シングルワイヤ動作では、SINGLE ビットをセットすると、入力信号として TXD 端子のレベルを 読み込みます。 図 11-1: UART ブロック図 ホストバス 送信部 LOOPS 出力バッファ × 8 ワード アイドル TX ブレイク 送信間隔 カウンタ 送信用シフトレジスタ ビット長 計測 受信用シフトレジスタ RX LOOPS SINGLE 入力バッファ × 8 ワード 基本ボーレート クロック 送信用ビットクロック ボーレート発生器 受信部 受信用ビットクロック ホストバス 145 頁 (C) 2009-2013 New Japan Radio Co., Ltd. システム クロック 外部入力 クロック 2013.12.20 版 Preliminary 11.1 Alligator 全体概要 データ送信では全キャラクタ送信長は 1 ビット長の START ビット、WLS ビットで設定される最下 位ビット(LSB)から送信される 7 から 8 ビット長のデータビット、PEN ビットで設定される 0 から 1ビット長のパリティビット、STB ビットで設定される 1 から 2 ビット長の STOP ビットの計 9 ビッ トから 12 ビット長になります。 受信側では STOP ビット長は STB ビットの値に関わらず、常に 1 ビットとなるので、全キャラクタ 受信長は計 9 ビットから 11 ビット長になります。 図 11-2: UART データ転送 RXD/TXD LSB MSB STOP ビット(1-2 ビット長 ) STOP ビット(1-2 ビット長 ) START ビット (1 ビット長 ) パリティビット(0-1 ビット長 ) データビット(7-8 ビット長 ) LSB から転送 全ワード転送期間(9-12 ビット長 ) ボーレート発生器 ボーレート発生器を使用して、システムクロックあるいは外部入力クロックから、基本ボーレート クロック、受信用ビットクロックと送信用ビットクロックを生成します。 ボーレートを設定する際にはビットクロック周波数が転送ボーレートに対してエラーが小さいこと が必要です。1/16 の分周比を使用したとき、STOP ビットが乗る最終転送データビット位置で 25% 以 下のエラーであることが必要です。 入力クロックは BAUDSEL ビットでシステムクロックあるいは外部入力クロックを選択します。こ の選択されたクロックを BAUDRATE ビットで設定された 12 ビット長の基本ボーレートカウンタに入 力して分周し、基本ボーレートクロックを生成します。そして更に受信用と送信用のビットクロック カウンタで BAUDDIV ビットに従い 16 ± 4 の分周を行わせます。 受信用ビットクロックカウンタは受信 START エッジ、送信用ビットクロックカウンタは送信 START エッジから計測開始となります。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 146 頁 Alligator Preliminary 図 11-3: ボーレート発生器 基本ボーレート クロック 受信用ビットクロックカウンタ 基本ボーレートカウンタ システムクロック セレクタ 1/16 ± 4 受信用 ビットクロック 外部入力クロック BAUDSEL 12 4 BAUDRATE BAUDDIV 4 1/16 ± 4 送信用 ビットクロック 送信用ビットクロックカウンタ UART のビット周波数は基本ボーレートクロック周波数の 1/(分周比)でなくてはなりません。こ の 1/(分周比)は BAUDDIV ビットの設定で 1/12 から 1/20 を選択します。また、BAUDDIV ビットが 0x0 であるときは 1/16 になります。。 表 11-2:BAUDDIV ビット BAUDDIV ビット 分周比 備考 0 16 デフォルト 1 17 2 18 3 19 4 20 5-11 - 12 12 13 13 14 14 15 15 使用禁止 BAUDSEL ビットをセットすると基本ボーレートクロックの元となる入力クロックに外部入力ク ロックを選択します。このとき、外部入力クロック信号がハイレベルである期間は、システムクロッ クに同期したクロック信号が生成されます。外部入力クロック信号が常にハイレベルであるときは、こ の外部入力クロックとシステムクロックの周波数が同一ということになります。 147 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 11-4: 外部入力クロック 外部入力クロック システムクロック モジュール内 外部入力クロック イメージ ビットデータと基本ボーレートクロック データ送信はシステムクロック同期である TXSTART ビットの書き込みで開始されますが、送信デー タはビットクロックに同期して出力されます。そのために TXSTART ビットの書き込みから基本ボー レート分のクロックエッジを待って出力開始となります。 データ受信は RXD 信号を基本ボーレートクロックで同期化し、2 連続して同じ信号レベルであると きに内部 RXD 信号として取り込まれます。そして基本ボーレートカウンタの真中の位置で受信データ がサンプリングされます。 図 11-5: ビットデータ受信 1 ビットデータ (1BAUD) RXD 信号 基本ボーレート クロック 0 7 8 15 内部同期後 RXD 信号 内部 RXD 信号 データサンプリング位置 STOP ビットあるいはアイドル後の START ビットを示す立ち下がりがデータ受信開始とみなされま す。ビットクロックカウンタはこの START ビットの開始でのみ初期化されます。最終ビットである STOP ビットまでのビットレートとサンプリング位置の関係が重要になります。 また、前述した同期並びのフィルタ処理に基本ボーレートクロックの 3 から 4 クロック必要になり ます。つまり、START ビットの開始を示す RXD 信号の立ち下がりからビットクロックカウンタのリ セット位置まで3から 4 クロックの遅延が発生します。 このビットクロックカウンタはデータ受信で使用されますが、最終ビットまで正しく読み込まれる 基本ボーレート周波数を選択する必要があります。最終ビットである STOP ビットの中心位置で正し く読み込まれるには、BAUDDIV(=16) * (8.5 から 10.5)+4 の基本ボーレートサイクルであることが 必要になります。この理想位置と実際のボーレートを比較してデータが正しく取り込まれる位置にな るように、BAUDRATE ビットで与えられる基本ボーレート周波数を設定しなくてはなりません。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 148 頁 Alligator Preliminary 図 11-6: UART データ受信 START ビット RXD STOP ビット LSB MSB START ビットから STOP ビット中心まで 16 * (8.5 から 10.5)+4 基本ボーレートサイクル ビットクロックカウンタの初期化位置 データ送信概要 RXD 端子から入力される UART 形式で LSB ファーストの 7 ビットもしくは 8 ビットシリアルデー タはシフトレジスタに一旦保持されます。STOP ビットが入力されて、ワードデータが揃うと、ワー ドデータはシフトレジスタから入力バッファに移されます。入力バッファは最大 8 ワードあり、バッ ファ長を CHARLEN ビットにより、1, 2, 4, 8 ワードから選択できます。入力バッファのポインタは ワードデータが入力される毎にインクリメントされます。CHARLEN ビットで選択したワード数が揃 うと RXC ビットがセットされます。このとき RXCIE ビットをセットしていると、割り込みが発生し ます。UARTDAT ビットを読み出すことにより、バッファ内に保持されたデータを読み出せます。読 み出すたびにポインタがインクリメントされ、全受信ワードデータが読み出せます。 データ受信概要 TXD 端子から出力される送信信号としては、データ、ブレーク、アイドルがあります。それぞれ TXSTART, TXBK, TXIDLE ビットをセットすることにより送信されます。 UARTDAT ビットにワードデータを書き込むと出力バッファに一旦保持されます。出力バッファは 最大 8 ワードあり、バッファ長は CHARLEN ビットにより、1, 2, 4, 8 ワードから選択できます。出力 バッファのポインタはワードデータが書き込まれる毎にインクリメントされ、全送信ワードデータが 書き込めます。TXSTART ビットをセットすると、ワードデータは出力バッファからシフトレジスタに 移され、UART 形式で LSB ファーストの 7 ビットもしくは 8 ビットシリアルデータとして TXD 端子 から出力されます。1 ワードデータが出力し終わると、ポインタをインクリメントして、CHARLEN ビットで選択したワード数出力します。全送信ワードデータを出力し終わると TXC ビットがセットさ れます。このとき TXCIE ビットをセットしていると、割り込みが発生します。 11.2 データ受信 データ受信では STOP ビットは 1 ビット長として検査されます。従って、START ビットから STOP ビットまでの期間を示す全キャラクタ転送時間は 9 ビットから 11 ビットの長さになります。 ブレイク検出 ブレイクが検出されると、RXBK ビットがセットされます。レジスタビットで設定される全キャラ クタ転送ビット長以上に RXD 端子がローレベルであるときにブレイク検出とします。 149 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 11-7: ブレイク検出と RXBK ビット ブレイク期間 ブレイク規定期間(全キャラクタ転送ビット長 ) RXD ブレイク検出期間 RXBK ビット ブレイク検出 ブレイク終了 アイドル検出 アイドルが検出されると、RXIDLE ビットがセットされます。データ受信期間以外でレジスタビッ トで設定される全キャラクタ転送ビット長以上に RXD 端子がハイレベルであるときにアイドル検出と します。STOP ビットなど受信データビットがハイレベルである期間はアイドル期間とはされません。 図 11-8: アイドル検出と RXIDLE ビット データ受信期間(全キャラクタ転送ビット長) アイドル期間 アイドル期間(全キャラクタ転送ビット長) RXD データ受信検出期間 アイドル検出期間 RXIDLE ビット 11.2.1 受信方法 データ受信をするには受信設定後、データ受信開始として、RXEN ビットをセットします。すると、 データ受信動作が開始され CHARLEN ビットに設定してあるキャラクタ数分のキャラクタデータを 8 バイト長の受信シフトバッファに次々と取り込みます。そして、設定されたキャラクタ数のキャラク タデータを受信完了すると、受信シフトバッファから受信データバッファにキャラクタデータを転送 し、RXC ビットをセットします。このとき、RXCIE ビットがセットしてあると割り込み要求を行うこ とが出来ます。この RXC ビットはセットすることでクリアされます。RXC ビットの状態に関わらず、 RXEN ビットがセットしてあれば、データ受信動作は常に行われます。 受信完了による RXC ビットのセットから次の RXC ビットのセットまでの間、受信データバッファ にあるキャラクタデータを UARTDAT ビットから読み出すことが可能です。UARTDAT ビットを読み 込 む と 受 信 デ ー タ バ ッ フ ァ の ポ イ ン タ 位 置 は イ ン ク リ メ ン ト さ れ 次 の 位 置 を 指 し ま す。ま た、 RXBUFCLR ビットをセットすると、受信データバッファのポインタ位置を初期化できます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 150 頁 Alligator Preliminary データ受信を完了し、受信シフトバッファから受信データバッファに新たにキャラクタデータを転 送するときに、RXC ビットがセットされていると、受信データバッファの内容はオーバーライトされ ます。このオーバーライトで RXOR ビットがセットされます。このとき、RXSIE ビットをセットして おけば、割り込み要求を起こすことが出来ます。 また、データ受信中にフレーミングエラー、ブレイク、パリティエラーを検出すると、RXC ビット は正しくセットしません。これらの状態はそれぞれ RXFR ビット、RXBK ビット、RXPE ビットで知 ることが出来ます。また、この状態を検出すると当該ビットが即座にセットされます。このいずれか のビットがセットするとき、受信状況割り込み許可として RXSIE ビットをセットしておけば、割り込 み要求を起こすことが出来ます。 RXEN ビットをクリアすると設定されたレジスタビットの内容は変わりませんが、受信側の内部状 態が初期化されます。RXEN ビットをクリア、そして、セットを行うことで、上記のようなエラー状 態から復帰することも出来ます。 11.3 データ送信 データ送信では送信部を使いますが、いくつかの特殊なデータ送信もあります。 センドブレイク TXBK ビットをセットすると、(TXLEN ビット値 + 全キャラクタ転送ビット長)ビット長のブレイ クとして、TXD 端子をローレベルにします。この動作は TXD 端子出力直前で行われるために、内部動 作に影響を与えません。 センドアイドル TXIDLE ビットをセットすると、 (TXLEN ビット値 + 全キャラクタ転送ビット長)ビット長のアイド ルとして、TXD 端子をハイレベルにします。この動作は TXD 端子出力直前で行われるために、内部動 作に影響を与えません。 11.3.1 送信方法 データ送信をするには送信設定後、TXEN ビットをセットします。そして、初期化として TXIDLE ビットをセットしてプリアンブルを送り、TXTRANS ビットがセットされるのを待ちます。このとき、 TXSIE ビットがセットしてあると、割り込み要求を起こすことが出来ます。 この初期化後、CHARLEN ビットに設定してあるキャラクタ数分のキャラクタデータを UARTDAT ビットに書き込みます。この書き込みデータは自動的に 8 バイト長の送信データバッファに書き込ま れます。そして、送信開始として、TXSTART ビットをセットすると、送信データバッファから送信シ フトバッファにキャラクタデータを転送し、送信を開始します。設定されたキャラクタ数のキャラク タデータを送信完了すると、TXC ビットをセットします。このとき、TXCIE ビットをセットしておく と、割り込み要求を行うことが出来ます。この TXC ビットはセットすることでクリアされます。 TXSTART ビットのセットから次の TXSTART ビットのセットまでの間、UARTDAT ビットを介して キャラクタデータを送信データバッファに書き込むことが出来ます。先の TXSTART ビットのセット に対する送信完了を示す TXC ビットのセットを確認し、TXC ビットをセットして TXC ビットをクリ ア、次の TXSTART ビットをセットして送信を開始させます。 UARTDAT ビットに書き込むと送信データバッファのポインタ位置はインクリメントされ、次の位 置を指します。また、TXBUFCLR ビットをセットすると、送信データバッファのポインタ位置を初期 化できます。センドアイドルやセンドブレーク送信中の TXSTART ビットのセットは、それらの動作 終了後にデータ送信が行われますが、データ送信中のセンドブレイクやセンドアイドルによる動作は 保証されません。 11.3.1.1 連続送信間隔 TXIVL ビットで送信キャラクタの送信間隔を設定できます。この送信間隔は STOP ビットの終了か ら、START ビットの開始までのビット数になります。 151 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 11-9: 送信間隔ビット数 送信間隔ビット数 TXD STOP ビット START ビット 送信用ビットクロックをインターバルプリスケーラで分周し、512 分周します。そして、この分周 クロックを TXIVL ビットで設定される 4 ビットの動作開始カウンタで分周し、その出力を START 動 作開始の起点とします。 図 11-10: 送信間隔カウンタ インターバルプリスケーラ 送信用ビットクロック 動作開始カウンタ START 動作開始起点 16*32 分周 R R 4 TXIVL STOP 動作 この TXIVL ビットを0にしたとき、9600bps の転送速度では約 50ms の送信間隔になります。 表 11-3:TXIVL ビットと送信間隔ビット数 11.4 TXIVL 分周比 ビット数 TXIVL 分周比 ビット数 0 16 512 0 8 256 1 1 32 1 9 288 2 2 64 2 10 320 3 3 96 3 11 352 4 4 128 4 12 384 5 5 160 5 13 416 6 6 192 6 14 452 7 7 224 7 15 484 特殊動作 ループ動作 LOOPS ビットをセットすると、送信と受信を直結するループ動作になります。このとき、TXD 信 号はハイレベルになり、RXD 信号は内部で切り離されます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 152 頁 Alligator Preliminary シングルワイヤ動作 SINGLE ビットをセットすると、TXD 信号と RXD 信号を内部接続したシングルワイア動作になりま す。TXHIZ ビットをセットすると、TXD 信号出力を切り離してハイインピーダンス状態に出来ます。 また、WOR ビットをセットすると、TXD 信号出力はオープンドレインとして動作をします。 11.5 LIN 動作への対応 LIN 動作では送信と受信を兼ねた信号線が一本であり、データ送信の際にはデータ衝突が起こらない ように注意深くスケジューリングされています。データ送信と受信の衝突検出にはデータ受信も同時 に動作をさせておき、送信したデータと受信データの一致を見て判断します。 同期バイト中のビット長計測 BITMEAS ビットをセットしておくと、LIN 動作の開始を示す、ブレーク動作直後の同期バイトの検 出とビット周期の計測が行われます。この動作はデータ受信とは独立に行われるので、ビット長計測 完了を示す BITDET ビットのセットは RXC ビットとは異なるタイミングになります。ビット周期の測 定は同期バイトの立ち下がり4箇所で行われます。 図 11-11: ビット長計測 STOP ビット START ビット RXD 同期バイト ビット長計測検出立ち上がり この動作が終了すると、BITDET ビットをセットし、同時にビット長は BITRATE ビット、ビット長 の誤差結果を BITERR ビットに格納します。この BITDET ビットは BITDET ビットをセットするとク リアされます。 また、この BITDET ビットがセットされていると、BITMEAS ビットがセットされていても、同期バ イト検出動作によるビット長計測は行われません。また、この動作はブレーク検出直後のキャラクタ データは常に同期バイト検出とみなしますので、同期バイト以外のデータでも検出動作に入りますが、 その場合は BITERR ビットで内容を確認します。 図 11-12: ビット長計測回路 システムクロック セレクタ 1/BITDIV ビット長計測カウンタ 外部入力クロック R 8 BITSEL RXD クロック 立ち下がりエッジ 16 BITDIV E 直近のビット長 ビット長の計測は BITSEL ビットで参照クロックとしてシステムクロックあるいは外部入力クロッ クを選択し、BITDIV ビットで BITDIV の分周比で与えられるプリスケーラを通し、ビット長計測カウ 153 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator ンタでビット周期を計測します。この計測した周期の平均値を 16 ビット長の BITRATE ビットに格納 します。 表 11-4:BITDIV ビット BITDIV ビット 分周比 0 256 1-255 BITDIV この外部クロック入力は BAUDSEL ビットの取り扱いと同じです。 レジスタ 11.6 このモジュールは全部で 8 ワードの空間に 6 ワードのレジスタを持っています。 表 11-5:UART モジュール内のレジスタ アドレス レジスタ名 +0 UART コンフィグ 0 UARTCFG0 +1 UART コンフィグ 1 UARTCFG1 +2 UART コンフィグ 2 UARTCFG2 +3 UART 制御 UARTCTL +4 UART 状態 UARTSTAT +5 UART データ UARTDAT +6 UARTLIN0 UARTLIN0 +7 UARTLIN1 UARTLIN1 表 11-6:UART コンフィグ 0 レジスタ UARTCFG0 ビット位置 8 0 +7 +6 +5 +4 +3 +2 +1 +0 ビット TXLEN - - CHARLEN RW RW - - RW RST 0 0 0 0 0 0 0 0 ビット EPS PEN STB WLS - - UARTRST UARTEN RW RW RW RW RW - - WS RW RST 0 0 0 0 0 0 0 0 このレジスタの位置4から 15 までは UARTEN ビットがクリアされてるときに、書き込み可能です。 UARTEN UART イネーブル UART モジュールの使用許可を設定します。このビットをクリアして、不許可状態であると きにもレジスタのアクセスは可能です。 0 - UART モジュールは使用できません 1 - UART モジュールは使用許可しています UARTRST UART リセット UART モジュールをリセットします。 1 - UART モジュールをリセットします WLS データキャラクタ長設定 転送データ長の設定をします。 0 - 8 ビットデータとします 1 - 7 ビットデータとします 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 154 頁 Alligator Preliminary STOP ビット長設定 STB 送信部の STOP ビット長を設定します。受信では STOP ビット長は 1 になります。 0 - 送信 STOP ビット長を1とします 1 - 送信 STOP ビット長を2とします パリティイネーブル PEN パリティビットの使用 / 不使用を設定します。 0 - パリティビットを使用しません 1 - パリティビットを使用します パリティセレクト EPS パリティの種類を設定します。 0 - 奇数パリティが使用されます 1 - 偶数パリティが使用されます CHARLEN[1:0] 転送キャラクタ数 転送キャラクタ数を設定します。 00 01 10 11 - 1 キャラクタ転送 2 キャラクタ転送 4キャラクタ転送 8 キャラクタ転送 ブレイク長 TXLEN[3:0] センドブレイク動作でのブレイクビット長を設定します。(TXLEN ビット値 + 全キャラクタ 転送ビット長)ビット長のブレイク長になります。 表 11-7:UART コンフィグ 1 レジスタ UARTCFG1 ビット位置 +7 +6 ビット 8 RW RST +5 +4 BAUDDIV RW 0 0 0 0 +3 +2 +1 +0 - - - BAUDSEL - - - RW 0 0 0 0 ビット TXIVL TXHIZ WOR SINGLE LOOPS RW RW RW RW RW RW 0 0 0 0 0 RST 0 0 0 0 このレジスタビットのうち、ビット 0 から 7 は UARTEN ビットがクリアされているときに、書き込み 可能です。ビット 8 から 15 は常に書き込み可能です。 LOOPS ループモード RXD 端子と TXD 端子のループモードを設定します 0 - 通常の RXD 端子と TXD 端子が使用されます 1 - ループモードが使用されます SINGLE シングルワイヤ動作 RXD 端子を切り離し TXD 端子を送受信で使用するシングルワイヤ動作を設定します。 0 - 通常の RXD と TXD 端子が使用されます 1 - シングルワイヤ動作が使用されます WOR オープンドレイン TXD 端子をオープンドレイン設定とします 0 - 通常の TXD 端子が使用されます 1 - オープンドレインが使用されます 155 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator ハイインピーダンス TXHIZ TXD 端子をハイインピーダンス設定とします 0 - WOR ビットを反映した TXD 端子が使用されます 1 - ハイインピーダンスが使用されます 送信間隔 TXIVL[3:0] 複数キャラクタを連続して送信する際のキャラクタ間隔を示します。 ボーレートクロック選択 BAUDSEL 基本ボーレートクロック生成用クロックの選択を行います。 0 - システムクロックを基本ボーレートクロック生成用クロックとします 1 - 外部入力クロックを基本ボーレートクロック生成用クロックとします BAUDDIV[3:0] ボーレートディバイダ設定 ボーレートディバイダの設定を行います。 表 11-8:UART コンフィグ 2 レジスタ UARTCFG2 ビット位置 8 +7 +6 +5 +3 +2 +1 ビット - - - - BAUDRATE[11:8] RW - - - - RW RST 0 0 0 0 ビット 0 +4 0 0 0 0 0 0 BAUDRATE[7:0] RW RST 0 +0 RW 0 0 0 0 0 このレジスタビットは UARTEN ビットがクリアされてるときに、書き込み可能です。 BAUDRATE[11:0] ボードクロック 基本ボーレートクロック生成用プリスケーラのモジュロ分周比を設定します。ゼロの場合は クロックを停止します。 表 11-9:UART 制御レジスタ UARTCTL ビット位置 8 0 +7 +6 +5 ビット TXBUFCLR RXBUFCLR - RW WS WS - +4 +3 +2 +1 +0 - - TXIDLE TXBK TXSTART - - WS WS WS RST 0 0 0 0 0 0 0 0 ビット TXSIE TXCIE RXSIE RXCIE - - TXEN RXEN RW RW RW RW RW - - RW RW RST 0 0 0 0 0 0 0 0 RXEN 受信部動作 受信部動作を行わせます。このビットをクリアすると受信部の内部状態は初期化されます。 0 - 受信部動作を行いません 1 - 受信部動作を行います TXEN 送信部動作 送信部動作を行わせます。このビットをクリアすると送信部の内部状態は初期化されます。 0 - 送信部動作を行いません 1 - 送信部動作を行います 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 156 頁 Alligator RXCIE Preliminary 受信割り込み許可 RXC ビットがセットしたとき、受信割り込みとして許可設定します。 0 - 受信割り込みを許可しません 1 - 受信割り込みを許可します RXSIE 受信エラー割り込み許可 RXOR ビット、RXPE ビット、RXFR ビットあるいは RXBK ビットのいずれかのビットが セットしたとき、受信状況割り込みとしての許可設定します。 0 - 受信状況割り込みを許可しません 1 - 受信状況割り込みを許可します TXCIE 送信完了割り込み許可 TXC ビットがセットしたとき、送信完了割り込みとして許可設定します。 0 - 送信完了割り込みを許可しません 1 - 送信完了割り込みを許可します TXSIE 送信状況割り込み許可 TXTRANS ビットがセットしたとき、送信可能な状況として割り込み可能にします。 0 - TXTRANS ビットがセットされても割り込み要求を起こしません 1 - TXTRANS ビットがセットされると割り込み要求を起こします TXSTART データ送信開始 データ送信を開始します。 1 - データ送信を開始します TXBK センドブレイク このビットをライトセットすると、TXLEN ビットで設定された分のビット長のブレイク動作 として、TXD 端子をローレベルにします。この期間中にこのビットをライトセットすると、 更にブレイクが送られます。 1 - センドブレイク動作を行います TXIDLE センドアイドル このビットをライトセットすると、TXLEN ビットで設定された分のビット長のアイドル動作 として、TXD 端子をハイレベルにします。この期間中にこのビットをライトセットすると、 更にアイドルが送られます。 1 - センドアイドル動作を行います RXBUFCLR 受信バッファクリア 受信バッファのポインタを初期化します 1 - 受信バッファのポインタを初期化します 157 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 送信バッファクリア TXBUFCLR 送信バッファのポインタを初期化します 1 - 送信バッファのポインタを初期化します 表 11-10:UART 状態レジスタ UARTSTAT ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット - - - - - - TXTRANS TXC 8 0 RW - - - - - - R RC RST 0 0 0 0 0 0 0 0 ビット RXACT RXIDLE - RXBK RXFR RXPE RXOR RXC RW R R R RC RC RC RC RC RST 0 0 0 0 0 0 0 0 このレジスタのビット 5 の読み出しは不定データを返します。 RXC 受信データレディ データ受信を行い内部に取り込まれ、受信データレジスタからの読み込み可能を示します。 このビットをセットするとクリアされます。 0 - データ受信が行われません 1 - データ受信が行われました RXOR 受信オーバーランエラー RXC ビットがセットされている間に次のデータ受信を行い内部に取り込まれ、受信データレ ジスタがオーバーライトされたことを示します。このビットあるいは RXC ビットをセットす るとクリアされます。 0 - データ受信オーバーランは検出されません 1 - データ受信オーバーランが検出されました RXPE 受信パリティエラー PEN ビットをセットされて受信パリティチェック動作を行ったとき、エラーを検出したこと を示します。このビットあるいは RXC ビットをセットするとクリアされます。 0 - データ受信パリティエラーを検出していません 1 - データ受信パリティエラーを検出しました RXFR 受信フレーミングエラー データ受信動作で STOP ビットがローレベル検出であるとき、フレーミングエラー検出を示 します。このビットあるいは RXC ビットをセットするとクリアされます。 0 - データ受信フレーミングエラーを検出していません 1 - データ受信フレーミングエラーを検出しました RXBK 受信ブレーク検出 データ受信動作でブレーク検出し、その後、ブレーク動作が終了したことを示します。この ビットあるいは RXC ビットをセットするとクリアされます。 0 - データ受信ブレークを検出していません 1 - データ受信ブレークを検出しました RXIDLE 受信アイドル データ受信でアイドル動作中であることを示します。 0 - データ受信アイドル動作中ではありません 1 - データ受信アイドル動作中です 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 158 頁 Alligator Preliminary 受信データアクティブ RXACT データを受信中であることを示します。 0 - データ受信中ではありません 1 - データ受信中です 送信完了 TXC データ送信動作で送信動作が終了したことを示します。このビットをライトセットするとこ のビットはクリアされます。 0 - データ送信が終了していません 1 - データ送信が終了しました 送信可能状態 TXTRANS TXD 端子でのデータ送信、アイドル動作、ブレイク動作のいずれでもない、データ送信可能 な状態であることを示します。データ送信、アイドル動作、ブレイク動作のいずれかの状態 でクリアされます。 0 - データ送信可能ではありません 1 - データ送信可能です 表 11-11:UART データレジスタ UARTDAT ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット - - - - - - - - RW - - - - - - - - RST - - - - - - - - - - - - +2 +1 +0 8 ビット UARTDAT RW RW 0 RST - - - - UART データ UARTDAT[7:0] 書き込みで送信データ、読み出しで受信したデータを示します 表 11-12:UARTLIN0 レジスタ UARTLIN0 ビット位置 +7 +6 +5 +4 ビット 8 BITDIV RW RST +3 RW 0 0 0 0 ビット BITERR - BITDET - BITSEL BITMEASE BITMEAS RW R - RC - RW RW RW 0 0 0 0 0 RST BITMEAS 0 0 0 0 ビット計測許可 ビット計測動作を行わせます。 0 - ビット計測動作を行いません 1 - ビット計測動作を行います BITMEASE ビット計測割り込み許可 BITMEAS ビットがセットしたとき、ビット計測割り込みを行わせます。 0 - ビット計測割り込みを許可しません 1 - ビット計測割り込みを許可します 159 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator ビット計測クロック選択 BITSEL ビット計測用クロックの選択を行います。 0 - システムクロックをビット計測用クロックとします 1 - 外部入力クロックをビット計測用クロックとします ビット計測完了 BITDET ビット計測が完了したことを示します。このビットがセットされていると、次のビット計測 動作は行われません。このビットをセットするとクリアされます。 0 - ビット計測が完了していません 1 - ビット計測が完了しました ビット計測エラー BITERR[1:0] ビット計測動作で計測されたビット長エラーの大きさを示します。 00 01 10 11 - 1/256(± 512)以内 1/128(± 256)以内 1/64(± 128)以内 1/64 を超えるエラー ボーレートディバイダ設定 BITDIV[7:0] ボーレートディバイダの設定を行います。 表 11-13:UARTLIN1 レジスタ UARTLIN1 ビット位置 +7 +6 +5 ビット 8 +3 +1 +0 - - - - - - R - - - - - ビット BITRATE[7:0] RW R RST +2 BITRATE[15:8] RW RST 0 +4 - BITRATE[15:0] - - - - ビットレート 同期バイトのビット長を格納します。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 160 頁 Alligator Preliminary MMI2C(MMI2C)モジュール このインターフェースは I2C(Inter Integrated Circuit: 以後 I2C)のフォーマットでマルチマスター とスレーブ動作をサポートします。端子の定義を表 12-1 に示します。 表 12-1:入出力端子 端子 出力 端子 入出力 名称 アクティブ インアクティブ SCL 入出 シリアルクロック ローレベル ハイ -Z SDA 入出 シリアルデータ ( 双方向 ) ローレベル ハイ -Z SCL/SDA 端子は、ローレベル出力時にはプルダウン、ハイレベル出力時にはハイインピーダンス状 態になります。よって、外部にプルアップ抵抗接続が必要です。また、各入力端子はシュミットトリ ガ入力です。 SCL 端子はマスター動作では出力、スレーブ動作ではアクノレッジサイクルでローレベルに保持す るストレッチ動作を行えます。SDA 端子はマスター / スレーブ動作とも , 有効データや制御レベルを 出力する以外では切断されます。 データ転送ではボーレート生成器などのタイミング系ハードウェアが重要な役割をします。ここで はそのタイミング系ボーレートを設定するためのボーレート生成器、そして、入力同期化回路とフィ ルタについて説明します。 ボーレートクロック I2C の転送ボーレートは BAUD ビットで 100KHz、400KHz、1.7MHz、3.4MHz を選択します。この BAUD ビットは、I2C 規格書が定める AC タイミングの設定に使用され、ボーレート生成用の分周器に 値を与えるものではありません。 図 12-1: ボーレートクロック生成 BAUDRATE BAUDSEL システムクロック 0 外部入力クロック 1 1/0 8 BAUDMUX 2 ボーレート生成 (12 ビット ) セレクタ ボーレート クロック そして、このモジュールはボーレートの 16 倍周波数を持つ基本ボーレートクロックとボーレートク ロックを使用して動作をします。 161 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 12-2: 基本ボーレートクロックとボーレート SCL SDA ボーレート 基本ボーレート ボーレートクロックの源の選択として、BAUDSEL ビットをクリアしてシステムクロック、あるい はセットして外部入力クロックとします。 ボーレートクロックの源に外部入力クロックを選択したとき、この外部入力クロックはシステムク ロックに同期した信号であり、この信号とシステムクロックの論理積がボーレートクロックの源にな ります。外部入力クロック信号が常にハイレベルであるときは、この外部入力クロックとシステムク ロックの周波数が同一ということになります。 図 12-3: 外部入力クロック 外部入力クロック システムクロック モジュール内 外部入力クロック イメージ 選択されたクロックから BAUDMUX ビットと BAUDRATE ビットの設定によるボーレート生成用プ リスケーラを使用してボーレートクロックを生成します。 2 ビット長の BAUDMUX ビットはボーレートクロック生成に使用する BAUDRATE ビットの位置を 与えます。 表 12-2:BAUDMUX ビット BAUDMUX ビット 内容 0x0 BAUDRATE ビットの 16 倍の分周比を与えます 0x1 BAUDRATE ビットの 4 倍の分周比を与えます 0x2 BAUDRATE ビットの 1 倍の分周比を与えます 0x3 (予約) 8 ビット長の BAUDRATE ビットは BAUDMUX ビットと一緒にボーレートクロック生成用プリス ケーラの分周比を設定します。ボーレートの分周比は BAUDMUX ビットの内容により、異なったビッ ト位置で与えられます。 BAUDMUX ビットと BAUDRATE ビットで与えられる分周比は以下の設定が可能です: • BAUDMUX ビットを 0x0 に設定すると分周比は 16 ステップの 16 から 4096 • BAUDMUX ビットを 0x1 に設定すると分周比は 4 ステップの 16 から 1024 • BAUDMUX ビットを 0x2 に設定すると分周比は 1 ステップの 16 から 256 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 162 頁 Alligator Preliminary 表 12-3:ボーレート設定 分周比 BAUDMUX BAUDRATE 値 0 [11:10] [9:8] [7:6] [5:4] [3:2] [1:0] 0x00 4096 0x00 0x0 0x01-0xff BAUDRATEx16 BAUDRATE[7:0] 0x0 0x00 1024 0x01-0x03 (使用禁止) 0x04-0xff BAUDRATEx4 0x00 256 0x01-0x0f (使用禁止) 0x10-0xff BAUDRATE 1 2 0x1 0x00 0 (使用禁止) 0x0 BAUDRATE[7:0] 0x1 0 0x00 (使用禁止) 0x0 BAUDRATE[7:0] このボーレート設定例を表 12-4 に示します。 表 12-4:ボーレート設定例 ボーレート BAUD システムクロック @100MHZ システムクロック @40MHZ ボーレー トクロッ ク 分周比 BAUDRATE BAUDMUX 分周比 BAUDRATE BAUDMUX 100KHz 0 1.6MHz 1000 0xfa 1 400 0x19 0 400KHz 1 6.4MHz 250 0xfa 2 100 0x64 2 入力同期化回路とフィルタ 入力された信号は同期化回路そしてフィルタを通してから内部に取り込まれます。同期化回路はシ ステムクロックで動作する 2 段の FF で構成されます。そして、同期化回路後の信号のスパイク除去用 にデジタルフィルタを持ちます。 フィルタ動作は FILTER ビットで定められます。FILTER ビットをクリアすると、フィルタリングさ れずに内部に取り込まれます。また、FILTER ビットをセットすると、基本ボーレートクロックを使用 してフィルタリング動作として、連続して 2 回同じデータであれば内部に取り込まれます。 図 12-4: 入力回路 同期化回路 SCL/SDA 端子 シュミット 入力フィルタ 1 内部 SCL/SDA 信号 N 0 基本ボーレートクロック 163 頁 (C) 2009-2013 New Japan Radio Co., Ltd. FILTER ビット 2013.12.20 版 Preliminary 12.1 Alligator 基本動作 ユーザーが I2CEN ビットをセットすると、このモジュールは動作許可になります。 スレーブあるいはマスター動作に関わらず転送ビット周波数を BAUDRATE ビットと BAUDMUX ビットで設定しなくてはいけません。 図 12-5: I2C データ転送 SCL SDA スレーブアドレス R/W ACK 転送データ ACK スタート ストップ バス転送状況確認 バスの転送状況を示す、アイドル / スタート / ストップ状態を検出し、その結果を示す BUSY ビッ ト、IDLE ビット、IDLEF ビット、STOPF ビットがあります。これらのビットはこのデバイスがデー タ転送に参加 / 不参加、マスター / スレーブ動作に関係なく値を持ちます。 BUSY ビットがセットされていると、ビジー状態としてデータ転送中を示します。つまり、スター ト状態を検出すると、BUSY ビットはセットされ、ストップ検出すると BUSY ビットはクリアされま す。また、SCL と SDA がアイドル期間以上、共にハイレベルであれば、バスアイドル状態とします。 このバスアイドル状態であるとき、常に IDLE ビットがセットされます。 このことから、BUSY ビットと IDLE ビットが共にクリアあるいはセットされた状態も存在します。 両方がセットされているとき、つまり、データ転送中であっても転送レートが低い場合はバスアイド ル状態となりますが、転送はそのまま続きます。 また、データ転送の開始はバスアイドル状態からでなくてはなりません。 非アイドル状態からバスアイドル状態への移行時には IDLEF ビットがセットされます。この IDLEF ビットがセットしているときに、IDLEFE ビットがセットしてあると、割り込みを要求できます。この IDLEF ビットをセットすると、IDLEF ビットはクリアされます。 SCL がハイレベルであるときに、SDA の立ち上がりを検出すると、常にストップ検出とみなされま す。このストップ検出はシステムクロックに同期化され、即座に STOPF ビットがセットされます。こ の STOPF ビットがセットしているときに、STOPFE ビットがセットしてあると、割り込みを要求で きます。この STOPF ビットをセットすると、STOPF ビットはクリアされます。 ここでのアイドル期間は以下の条件で検出されます: • STOP 検出から続いて、1 ビット期間、SCL と SDA が共にハイレベル • 転送中あるいは I2CEN ビットのセットに続いて、5 ビット期間、SCL と SDA が共にハイレベ ル SDA タイミング マスター / スレーブ動作に関わらず、SDA に乗った入力ビットデータは SCL の立ち上がり直後の データが内部に取り込まれます。また、特に指定が無い限り、SDA に載せる出力ビットデータは SCL の立ち下がり直後で変化します。この SCL の立ち上がり / 立ち下がり時刻は、内部データ出力(端子 ドライブ)の位置ではなく、端子が到達した位置になります。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 164 頁 Alligator Preliminary 図 12-6: SDA 入出力タイミング SCL SDA SDA 出力 SDA 入力 SDA 出力 12.2 基本バイト転送方法 12.2.1 スタートパケット / リピートスタートパケット / データパケット検出 マスターやスレーブ動作に関わらず、スタートパケット検出、リピートスタートパケット検出、デー タパケット検出が行われます。このビットはパケット終了位置で有効な値を確保できるように、最終 データビット(アドレスフレームでは RW ビット、データフレームでは D0) の SCL 立ち上がりからア クノレッジの次の SCL 立ち上がりの間は有効な値を持ちます。 12.2.2 データとアクノレッジ状態 データやアクノレッジビットの状態は SDADAT ビットと ACKI ビットの読み込みで知ることが出来 ます。ACKI ビットと SDADAT ビットの読み出しはマスターやスレーブ、データ受信や送信パケット、 アクティブ状態に関係無く、読み込んだ時点の内容を返します。入力はもちろん、出力したデータや アクノレッジもこれらのビットに反映されます。SDADAT ビットの読み込みデータはビットごとの値 を反映します。 図 12-7: ACKI ビットと SDADAT ビット SCL SDA D0 ACK SDADAT ビット D7 D6 D5 D4 D3 D2 D1 有効 D0 ACK D0 有効 ACKI ビット 12.2.3 I2CF ビット I2CF ビットがセットされているときは、SCL をローレベルにするので、いかなるデータ転送を行う ことは出来ません。I2CF ビットをセットして、このビットをクリアすると、SCL 出力を切断します。 また、ユーザーが、マスター動作での再転送開始として START ビットをセット、データ転送開始と しての TRANS ビットをセット、あるいはストップ処理のために STOP ビットをセットすると、モ ジュールは I2CF ビットをクリアします。これらの方法で I2CF ビットをクリアした場合は、データ転 送後の後処理として、I2CF ビットがクリアされますが、SCL の取り扱いについては、それぞれの方法 によることになります。 この I2CF ビットがセットされたとき、STATUS ビットにフレーム終了停止条件が反映されます。こ の STATUS ビットは I2CF ビットがセットされているときにだけ、有効なデータを持ちます。 165 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator また、エラー検出後あるいは初期化後にアイドルフレームであると STATUS ビットは 0 になります。 表 12-5:STATUS ビット 12.2.4 STATUS ビット パケット 0 初期化、ストップあるいはアイドルフレーム 1 アドレスフレーム 2 リピートアドレスフレーム 3 データフレーム エラー状態 内部状態を示す STATUS ビットが 4 から 7 であるときは、エラー状態検出を示します。この STATUS ビットは I2CALTF ビットのセットと同時に更新されます。この I2CALTF ビットは外部端子に影響を与 えません。ユーザーが I2CALTF ビットをライトセットすると、モジュールが I2CALTF ビットをクリア します。 I2CALTF ビットがセットされているとき、アービトレーションロスト以外のケースでは、インアク ティブフレームであり STATUS ビットは保持されたままです。I2CALTF ビットがクリア、かつ、バス アイドル状態であると、デバイスはインアクティブフレームからアイドルフレームに遷移し、STATUS ビットを 0x0 に設定します。 モジュールが I2CALTF ビットをセットしたとき、ユーザーが I2CFE ビットをセットしていれば、内 部プロセッサに割り込みを要求します。 表 12-6:エラーを示す STATUS ビット STATUS 状態 機能 4 転送エラー 転送エラーが検出された 5 アービトレーションロスト マスター動作のアービトレーションロストを検出した 6 データエラー 異なった送信データが送られた 7 タイムアウト タイムアウト 転送エラー マスターやスレーブ動作で以下の問題を検出した場合、転送エラーとして、SCL 出力と SDA 出力切 断、I2CALTF ビットをセット、STATUS ビットに 4 を格納し、インアクティブフレームに移行します。 このとき、マスター動作であれば、マスター動作解除で MASTER ビットをクリアします。この転送エ ラー条件は以下になります。 表 12-7:転送エラー条件 番号 状態 1 マスター動作でバスがバスアイドル状態でないとき、START ビットをセットした 2 マスター動作であるとき、ホストの要求がないのにストップ状態を検出した 3 マスター動作であるとき、ホストの要求がないのにリピートスタート状態を検出した アービトレーションロスト マスター動作でのアドレスバイト(アドレスビットと RW ビット、または TEN ビットをセットし たときの 10 ビットアドレス動作での下位 8 ビットアドレス)のアービトレーションに負けた場合に は、アービトレーションロストします。このとき、マスター動作からスレーブ動作に移行し、MASTER ビットをクリア、SCL 出力と SDA 出力切断、I2CALTF ビットをセット、STATUS ビットに 5 を格納 します。 データエラー マスター動作での送出データ、ACK ビットの送出データが異なった場合、あるいは、スレーブ動作 での送出データと ACK ビットの送出データが異なった場合は、データ送信エラーとします。そして、 SCL 出力と SDA 出力切断、I2CALTF ビットをセット、STATUS ビットに 6 を格納して、インアクティ 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 166 頁 Alligator Preliminary ブフレームに移行します。このとき、マスター動作であれば、マスター動作解除として MASTER ビッ トをクリアします。 これはマルチマスターやスレーブのデータ部のコリジョン検出に使用されます。 タイムアウト マスターあるいはスレーブ動作でこのデバイスがその転送に参加しているとき、スタート検出から TIMEOUT ビットで設定された期間までに終了しない場合はタイムアウトになります。このタイムアウ ト検出では自動的に(セットしてあれば)I2CF ビットをクリアして I2CALTF ビットをセットし STATUS ビットに 7 を格納して、SCL 出力と SDA 出力を切断し、インアクティブフレームに移行します。この とき、マスター動作であれば、マスター動作解除として、MASTER ビットをクリアします。 TIMEOUT ビットがゼロであるときはこのタイムアウト動作は行われません。 ボーレートクロックを 6 ビット長のタイムアウトプリスケーラで 64 分周したクロックを基準にこの TIMEOUT ビットで設定された期間を設定します。このプリスケーラで分周されたクロックを 8 ビット 長のタイムアウトカウンタに入力し、TIMEOUT ビットで設定された値と一致したとき、タイムアウト 検出になります。このタイムアウトに必要なクロック数はボーレートクロック数の 1 × 64 から 255 × 64(16320) になります。 尚、タイムアウト計測開始で毎回、あるいは使用しない、計測しないときはタイムアウトプリスケー ラとタイムアウトカウンタは初期化されます。 図 12-8: タイムアウト検出回路 タイムアウト プリスケーラ ボーレートクロック E E (6ビット ) R フリーラン計測開始 / 使用せず タイムアウト カウンタ (8 ビット ) R 比較器 タイムアウト検出 TIMEOUT ビット 12.3 パケット データ送信と受信にはマスターやスレーブに関係なく、データ送出にはデータ送信パケット、データ 取り込みにはデータ受信パケットから成ります。データ送受信のフレームは基本的にはこのパケットを 使用します。 データ送信パケット マスターはアドレス送出とデータ書き込み、スレーブではデータ読み出しを示します。この場合は送 信データ(マスターアドレスではアドレスと RW ビット)である 8 ビット長のバイトデータ送信そして 1 ビット長のアクノレッジ受信までを 1 つのデータ送信パケットと考えます。アクノレッジ受信の SCL の立ち下がりがパケット終了位置になります。マスターアドレスフレーム、マスターリピードアドレス フレーム、マスターデータ書き込みフレーム、スレーブデータ読み出しフレームなどはデータ送信パケッ トで構成されます。 データ送信では DIR ビットをセットします。 データ送信開始には出力するデータ内容を SDADAT ビッ トに予め書き込んでおく必要があります。データ送信終了では ACKI ビットから読み込んだ ACK データ の状態を知ることが出来ます。また、出力した送信データは SDADAT ビットから読み出せます。 167 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 12-9: データ送信パケット データ送信パケット バイトデータ アクノレッジ SCL SDA D7 D6 D5 D4 D3 D2 D1 D0 ACK 出 出 出 出 出 出 出 出 入 パケット終了位置 データ受信パケット マスターはデータ読み出し、スレーブではデータ書き込みを示します。この場合は 1 ビット長のア クノレッジ送信そして受信データである8ビット長のバイトデータ受信までを1つのデータ受信パケッ トと考えます。バイトデータ受信での最終ビット(LSB) の SCL の立ち下がりがパケット終了位置に なります。スレーブアドレスフレーム、スレーブリピードアドレスフレーム、マスターデータ読み出 しフレーム、スレーブデータ書き込みフレームはデータ受信パケットで構成されます。 データ受信では基本的には DIR ビットをクリアしておきます。データ受信開始には ACK ビットに出 力する ACK データ内容を予め書き込んでおく必要があります。データ受信終了では ACKI ビットから 送信した ACK データの状態を知ることが出来ます。また、SDADAT ビットから受信データを読み出せ ます。 図 12-10: データ受信パケット データ受信パケット アクノレッジ バイトデータ SCL SDA ACK D7 D6 D5 D4 D3 D2 D1 D0 出 入 入 入 入 入 入 入 入 パケット終了位置 12.4 実行フレーム 実行フレームは大別するとアドレスフレーム、データフレーム、ストップフレームの種類があり、表 12-8 に示されます。それぞれのフレームは入出力方向と使用パケットが定められ、フレーム実行後の STATUS ビットも示されます。この STATUS ビットが 1 から 3 を出力するときは I2CF ビットがセッ 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 168 頁 Alligator Preliminary トされます。また、アドレスアービトレーションに影響を受けるフレームは表 12-13 に示されます。 表 12-8:実行フレーム 動作モード フレーム マスター アドレス 入出力 データ ACK 出 (入) パケット 実行後 STAT US データ送 信 書き込み後リピートアドレス 開始設定 開始ト リガ DIR ACT START - - 3 TRAMS 1 1 2 読み出し後リピートアドレス データ書き込み 書き込み後ストップ - - - 0 STOP 1 先頭データ読み出し 入 - データ受 信 3 TRANS 0 データ読み出し スレーブ 出 読み出し後ストップ - 出 - 0 STOP 0 アドレス 入 出 データ受 信 1 (I2CF クリ ア) - [0] リピートアドレス 2 [1] データ書き込み 3 0 [2] 書き込み後ストップ - 出 - 0 0 − 先頭データ読み出し 出 出/ (入) データ送 信 3 1 [2] - 0 0 - データ読み出し 読み出し後ストップ 入 - - 図 12-11 にフレームのフローを示します。初期状態から、アイドルウェイトフレームに移行します。 そこでバスアイドル状態であると、アイドルフレーム、フレーム開始待ち状態に移行します。そして、 そこから実行フレームを開始させ、処理をさせます。正常終了であれば、I2CF ビットをセット、STATUS ビットに値を格納し、再び、フレーム開始待ち状態に戻ります。正常動作であればこの正常動作ルー プを繰り返します。この正常動作ループ内でもバスアイドル状態を検出しますが、この図中のアイド ルフレームには移行しません。 正常動作ループ内でのスレーブ動作で意図しないタイミングで STOP を検出すると、データ転送を 打ち切ります。この場合には I2CF ビットはセットされませんが、STATUS ビットに 0x0 を格納、 STOPF ビットがセットされます。 実行フレーム処理中にエラーを検出するとインアクティブフレームに移行します。そして、I2CALTF ビットをクリアするとアイドルウェイトフレームに移行し、そこでバスアイドル状態であると、アイ ドルフレームに移行し、STATUS ビットを 0 にして、正常動作ループに入ります。 表 12-9:例外フレーム分類 フレーム 内容 アイドル バスアイドル状態で移行する。STATUS ビットを0にする インアクティブ バス動作に参加しないエラー状態 アイドルウェイト バス動作には参加しない 正常動作ループ フレームの開始には、表 12-10、表 12-11、表 12-12 に示す実行前フレームの種類と表 12-8 中の DIR ビットと ACT ビットの設定と開始トリガでフレーム動作が開始されます。 このフレーム動作はマスターでは DIR ビットの設定と開始トリガとしての START、TRANS、STOP 169 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator ビットなどをセット、また、スレーブでは DIR ビットと ACT ビットの設定と I2CF ビットをライト セットで実行されます。スレーブとしての I2CF ビットのライトセットは I2CF ビットのクリアと SCL 出力の切断を示します。 実行フレームの終了時には I2CF ビット、I2CALTF ビット、STATUS ビットが定まります。 図 12-11: フレームのフロー フレーム開始待ち フレーム開始 実行フレーム エラー検出 インアクティブフレーム I2CALTF ビットのセット I2CF ビットのセット STATUS ビットの更新 STATUS ビットの更新 ホストによる I2CALTF ビットのクリア 初期状態 アイドルウェイトフレーム バスアイドル状態 アイドルフレーム STATUS ビット =0 12.4.1 アドレスフレーム アドレスフレームはバスアイドル状態から動作可能であるマスターアドレスフレームとスレーブア ドレスフレーム、データ転送に引き続いて動作するマスター書き込み後リピートアドレスフレーム、マ スター読み出し後リピートアドレスフレームとスレーブリピートアドレスフレームの 5 種類がありま す。 それぞれの 5 つの処理は表 12-10 に示す実行前フレームから開始されます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 170 頁 Alligator Preliminary 表 12-10:アドレスフレーム分類 実行前 マスター / ス レーブ 実行後 実行フレーム 停止フレーム STATU S ( バスアイドル状態 ) 0 マスターアドレス 1 マスターアドレス 1 マスター書き込み後リピートアドレス 2 マスター書き込み後リピートアドレス 2 マスター STATU S マスター読み出し後リピートアドレス マスターデータ書き込み 3 マスター先頭データ読み出し マスター読み出し後リピートアドレス マスターデータ読み出し スレーブ ( バスアイドル状態 ) 0 スレーブアドレス 1 スレーブアドレス 1 スレーブデータ書き込み → スレー ブリピートアドレス 2 スレーブリピートアドレス 2 スレーブデータ書き込み 3 スレーブ先頭データ読み出し (バスアイドル状態)→ スレーブリ ピートアドレス スレーブデータ読み出し スレーブデータ書き込み後ストップ (3) スレーブデータ読み出し後ストップ (3) 10 ビットアドレス マスターが 10 ビットアドレス対応にさせるには、マスターアドレスフレーム、そして、下位 8 ビッ トアドレスをデータに持たせたマスターデータ書き込みフレームを使用します。 スレーブが 10 ビットアドレス対応にさせるには、スレーブアドレスフレーム、そして、下位 8 ビッ トアドレスに対してスレーブデータ書き込みフレームを使用します。 マルチマスター マルチマスター対応については 12.4.4.1 を参照してください。マスターアドレスフレーム、マスター 書き込み後リピートアドレスフレーム、マスター読み出し後リピートアドレスフレームが影響を受け ます。 12.4.1.1 マスターのアドレスフレームとリピートアドレスフレーム マスターにおいて、アドレスフレームはスタート処理とアドレス /RW ビット送出、そして ACK 受 信でフレーム停止、リピートアドレスフレームはリスタート処理とアドレス /RW ビット送出、そして ACK 受信でフレーム停止となります。 マスター動作であるとき、DIR ビットの内容に関係なく、START ビットをセットすると、I2CF ビッ トの状態によって、マスターアドレスフレームあるいはマスターリピートアドレスフレームを送出し ます。この両方の処理はスタート処理に引き続いて、アドレス+ RW ビット出力を行います。 • マスターアドレスフレームの処理動作は I2CF ビットがクリアされた状態であれば、START ビットをセットすると開始されます。この処理はバスアイドル状態から、スタート処理に引き 続いて、アドレス+ RW ビット出力を行います。 • マスターリピートアドレスフレームの処理動作は I2CF ビットがセットされた状態であれば、 START ビットをセットすると開始されます。この処理は前転送終了状態から、リスタート処 理に引き続いて、アドレス+ RW ビット出力を行います。 171 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator スタート処理やリスタート処理に引き続いて、アドレスと RW ビットの送出が行われます。まずは 最初にアドレスビット 6 の送出が行われます。 マスターアドレスフレーム アドレスフレームを実行するにはバスアイドル状態かつ STATUS ビットが 0 でなければいけません。 図 12-12: マスターアドレスフレーム マスターアドレスフレーム スタート処理 SCL S A6 A5 A4 A3 A2 A1 A0 RW ACK 出 出 出 出 出 出 出 出 出 入 SDA START ビットセット このとき、START ビットをセットすると、直ちに SDA 出力をローレベルにして、そのスタートパ ルス送出後に SCL をローレベルにします。そして、SCL のローレベル検出時点でスタート処理の終了 とし、アドレス送出を実行します。 図 12-13: スタート処理 スタート処理 スタートパルス SCL 出力 SCL SCL 入力 SDA 出力 SDA SDA 入力 START ビットをセット 以下のいずれかの条件に一致したときはエラーとして、転送エラーとなり、スタート処理はアボー トされ、I2CALTF ビットをセット、STATUS ビットに 4 を返して動作終了となります。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 172 頁 Alligator Preliminary • START ビットをセットしたとき、SDA と SCL 入力のどちらかがローレベル • SCL の立ち下がりで SDA がハイレベル マスターのリピートアドレスフレーム マスターのリピートアドレスフレームはマスター書き込み後リピートアドレスとマスター読み出し 後リピートアドレスがあります。直前のデータ転送に引き続いて行うリスタート処理とその後に続く アドレス転送からなり、リスタート後はアドレスフレームと同じ処理になります。 図 12-14: マスターリピートアドレスフレーム マスターリピートアドレスフレーム リスタート処理 SCL SDA R A6 A5 A4 A3 A2 A1 A0 RW ACK 出 出 出 出 出 出 出 出 出 入 START ビットセット このリスタート処理の条件は SDA がハイレベルでなくてはなりません。ハイレベルであれば、SCL をハイレベルにしたあとに、 (スレーブのクロックストレッチの可能性があるので)信号がアイドル期 間ハイレベルになったのを確認してから、SDA をローレベルにし、さらにスタートパルスを出力し、 SCL をローレベルにして、SCL のローレベルを検出時点でリスタート処理は終了します。 173 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 12-15: リスタート処理 リスタート処理 アイドル期間 スタートパルス SCL 出力 SCL SCL 入力 SDA 出力 SDA SDA 入力 SDA 入力がハイレベルであること 以下の条件に一致したときはエラーとして、転送エラーとなり、スタート処理はアボートされ、 I2CALTF ビットをセット、STATUS ビットに 4 を返して動作終了となります。 • SCL の立ち下がりで SDA がハイレベル マスター書き込み後リピートアドレスフレーム マスターのリピートアドレスフレームであるマスター書き込み後リピートアドレスフレームでは、 すぐにリスタート処理実行になります。この開始時はスレーブ出力のアクノレッジサイクルが終了直 後(マスターは SDA 出力を切断)なので、このフレーム開始ではすぐにリスタート処理に移行し、そ の後はマスターアドレスフレームと同一の動作になります。 この場合はスレーブがアクノレッジを返しますが、ACK であるとき、アクノレッジ終了から SDA が ハイレベルに遷移するまでの遅延時間がかかります。リスタート処理を開始したとき、SDA がハイレ ベルであれば、即座にリスタート処理に入りますが、ローレベルであるとき信号レベルがハイレベル に成るのを待ってから、リスタート処理に入ります。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 174 頁 Alligator Preliminary 図 12-16: マスター書き込み後リピートアドレスフレーム開始 リスタート処理 SDA ハイレベル待ち時間 アイドル期間 スタートパルス SCL 出力 SCL SCL 入力 SDA 出力 SDA SDA 入力 START ビットをセット マスター読み出し後リピートアドレスフレーム マスターのリピートアドレスフレームであるマスター読み出し後リピートアドレスフレームでは、 マスター出力のアクノレッジサイクルから始まります。データ受信パケットからリスタート処理の場 合は、アクノレッジサイクルを実行してから、リスタート処理に入り、その後はマスターアドレスフ レームと同一の動作になります。 このデータ受信を打ち切るために、マスターは NACK 送信が必要になるので、この処理実行には ACK ビットをクリア設定して、START ビットをセットします。 ACK ビットをセットした状態での START ビットをセットした場合の動作は無限ループに入る危険 性があります。この状態でリスタート処理を開始すると、スレーブ側がローレベルの送信に入り、タ イムアウトでしかこのループを抜け出せない可能性があります。 175 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 12-17: マスター読み出し後リピートアドレスフレーム開始 ACK サイクル SCL ローレベル期間 リスタート処理 アイドル期間 ドライブせず SCL 出力 スタートパルス ドライブせず スレーブのストレッチ SCL SCL 入力 SDA 出力 SDA SDA 入力 ハイレベルを検出 リスタート処理 START ビットをセット 12.4.1.2 スレーブのアドレスフレームとリピートアドレスフレーム スレーブにはアドレスフレームとリピートアドレスフレームがあります。 スレーブアドレスフレーム バスアイドル状態、かつ、STATUS ビットが 0 であるときに、スタート検出をすると、スレーブア ドレスフレームと扱われ、ACT[0] ビットがセットされていれば、STATUS ビットに1を返し、I2CF ビットをセットし、ACK 直前に動作を停止します。 図 12-18: スレーブアドレスフレーム スレーブアドレスフレーム SCL SDA S A6 A5 A4 A3 A2 A1 A0 RW 入 入 入 入 入 入 入 入 入 スレーブリピートアドレスフレーム スレーブではリピートアドレス動作の開始を基本的には予測できません。ですので、ホストはこの フレーム動作の開始をデータフレームの設定と同様にします。そして、デバイスはリスタートを検出 し、このデータフレーム動作を打ち切り、スレーブリピートアドレスフレームとして扱い、ACT[1] ビッ トがセットされていれば、RW ビット直後、ACK サイクル前に、I2CF ビットをセットして停止し、 STATUS ビットに 2 を返します。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 176 頁 Alligator Preliminary 図 12-19: スレーブリピートアドレスフレーム リピートアドレスフレーム SCL SDA R A6 A5 A4 A3 A2 A1 A0 RW ACK 出 出 出 出 出 出 出 出 出 入 START ビットセット スレーブではスレーブデータ書き込みフレーム直後では ACK サイクル前で停止しています。ホスト によるこの ACK からの開始はこのスレーブデータ書き込みフレームに引き続いて動作を行うという設 定で行います。この ACK 送出後、マスター側がリスタート処理に入るので、このフレームを ACK サ イクルで打ち切り、スレーブリピートアドレスフレームとして扱います。 また、スレーブデータ読み出しフレームあるいはスレーブ先頭データ読み出しフレーム直後では ACK サイクル後で停止しています。NACK 受信であるときには、ホストは DIR ビットと ACT[2] ビッ トをクリアして、そして、I2CF ビットをセットしてパケット終了処理を行います。そうすれば、マス ターがリスタート処理に入り、デバイスはスレーブリピートアドレスフレームとして扱います。ACK 受信であるときには、このフレームの開始はスレーブデータ読み出しフレームの動作を行うという設 定で行いますが、リスタートが出来ない可能性があります。 12.4.2 データフレーム データフレームには次の 6 種類のフレームがあります: • マスターのアドレスフレーム、リピートアドレスフレームあるいはデータ書き込みフレームに 引き続いて実行されるマスターデータ書き込みフレーム • マスターのアドレスフレームあるいはリピートアドレスフレームに引き続いて実行されるマス ター先頭データ読み出しフレーム • マスターの先頭データ読み出しフレームあるいはデータ読み出しフレームに引き続いて実行さ れるマスターデータフレーム • スレーブのアドレスフレーム、リピートアドレスフレームあるいはデータ書き込みフレームに 引き続いて実行されるスレーブデータ書き込みフレーム • スレーブのアドレスフレームあるいはリピートアドレスフレームに引き続いて実行されるス レーブ先頭データ読み出しフレーム • スレーブの先頭データ読み出しフレームあるいはスレーブデータ読み出しフレームに引き続い て実行されるスレーブデータフレーム それぞれのデータフレーム開始時の停止状態により、次のデータフレームの実行になります。この 実行は STATUS ビットが1から3の状態からの開始になります。データフレーム終了後は I2CF ビッ トがセットされ、STATUS ビットが3になります。 スレーブ動作でこのデータフレームに対応させるには I2CF ビットのライトセットの前に、ACT[2] ビットをセットする必要があります。 データフレームは表 12-11 にあるように分別されます。ここで転送中にデータの方向が変わるアド レス/リピートアドレスフレーム後のデータ読み出しフレームの転送は例外的な扱いなので注意が必要 177 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator になります。 表 12-11:データフレーム分類 マスター / ス レーブ 実行前(停止フレーム) 実行前 STATU S ビット 実行フレーム マスター マスターアドレス 1 マスターデータ書き込み 備考 マスター先頭データ読み出し マスターリピートアドレス 2 マスターデータ書き込み マスター先頭データ読み出し マスターデータ書き込み 注意 3 注意 マスターデータ書き込み マスター先頭データ読み出し マスターデータ読み出し マスターデータ読み出し スレーブ スレーブアドレス 1 スレーブデータ書き込み スレーブ先頭データ読み出し スレーブリピートアドレス 2 スレーブデータ書き込み スレーブ先頭データ読み出し スレーブデータ書き込み 注意 3 注意 スレーブデータ書き込み スレーブ先頭データ読み出し スレーブデータ読み出し スレーブデータ読み出し 以下に分類ごとの転送方法を説明します: マスターデータ書き込みフレーム マスターでのアドレスフレームあるいはリピートアドレスフレームではACK直後に停止し、RWデー タがローレベルであるとき、それに続くデータ書き込みフレームはデータ送信 -ACK 受信からなりま す。データ書き込みフレームが続くのであれば、このシーケンスを繰り返します。 10 ビットアドレス時でこのフレームを使用して下位アドレスを送出する際に、マルチマスター対応 であるときは 12.4.4.1 を参照してください。 図 12-20: マスターデータ書き込みフレーム マスターデータ書き込みフレーム SCL SDA D7 D6 D5 D4 D3 D2 D1 D0 ACK 出 出 出 出 出 出 出 出 入 I2CF セット 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 178 頁 Alligator Preliminary マスター先頭データ読み出しフレーム マスターでのアドレスフレームあるいはリピートアドレスフレームは ACK 直後に停止し、RW デー タがハイレベルにされているときのデータ読み出しフレームの場合、 (STATUS ビットが1あるいは2 から始まる)先頭データ読み出しフレームは先頭の ACK 送信部が存在せず、データ受信部だけから成 ります。 図 12-21: マスターアドレスとデータ読み出しフレーム マスターアドレス フレーム マスター先頭データ読み出し フレーム SCL 出 SDA S A6 - ACK 出 出 出 入 マスターデータ読み出し フレーム 出 入 D7 - D0 ACK D7 - 入 入 入 出 入 入 I2CF セット マスターデータ読み出しフレーム マスターでのデータ読み出しフレームは ACK 送信 - データ受信からのシーケンスからなります。デー タ読み出しフレームが続くのであれば、このシーケンスを繰り返します。 図 12-22: マスターデータ読み出しフレーム マスターデータ読み出しフレーム SCL SDA ACK D7 D6 D5 D4 D3 D2 D1 D0 出 入 入 入 入 入 入 入 入 I2CF セット スレーブデータ書き込みフレーム スレーブでのアドレスフレームあるいはリピートアドレスフレームは ACK 直前に停止し、RW デー タがローレベルであるとき、それに続くデータ書き込みフレームは ACK 送信 - データ受信となります。 データ書き込みフレームが続くのであれば、このシーケンスを繰り返します。 179 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 12-23: スレーブデータ書き込みフレーム スレーブデータ書き込みフレーム SCL SDA ACK D7 D6 D5 D4 D3 D2 D1 D0 出 入 入 入 入 入 入 入 入 I2CF セット スレーブ先頭データ読み出しフレーム スレーブでのアドレスフレームあるいはリピードアドレスフレームは ACK 直前に停止し、RW デー タがハイレベルにされているときのデータ読み出しフレームの場合、 (STATUS ビットが1あるいは2 から始まる)先頭データ読み出しフレームは、先頭にアドレスフレームあるいはリピードアドレスフ レームの ACK 送信の後、引き続いてデータ送信 -ACK 受信から成ります。 図 12-24: スレーブアドレスとデータ読み出しフレーム スレーブアドレス フレーム SCL SDA スレーブデータ読み送し フレーム スレーブ先頭データ読み送し フレーム 出 出 S A6 - RW ACK D7 - D0 ACK 入 入 入 入 出 出 出 出 入 D7 出 入 出 I2CF セット スレーブデータ読み出しフレーム スレーブでのデータ読み出しフレームはデータ送信 -ACK 受信からのシーケンスからなります。こ の ACK 受信で送信データの内容を判断できます。データ読み出しフレームが続くのであれば、この シーケンスを繰り返します。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 180 頁 Alligator Preliminary 図 12-25: スレーブデータ読み出しフレーム スレーブーデータ読み出しフレーム SCL SDA D7 D6 D5 D4 D3 D2 D1 D0 ACK 出 出 出 出 出 出 出 出 入 I2CF セット 12.4.3 ストップフレーム ストップフレームにはマスターによるマスター書き込み後ストップフレームとマスター読み出し後 ストップフレーム、そして、スレーブのスレーブ書き込み後ストップフレームとスレーブ読み出し後 ストップフレームの 4 つのフレームがあります。 どの動作後もストップ状態に遷移するので、STATUS ビットは 0 になり、I2CF ビットをセットしま せん。 表 12-12:ストップフレーム分類 マスター / ス レーブ 実行前(停止フレーム) 実行前 STATU S ビット 実行フレーム 実行前 STATU S ビット マスター マスターアドレス 1 マスター書き込み後ストップ 0 マスターリピートアドレス 2 マスターデータ書き込み 3 マスター先頭データ読み出し 3 マスターデータ読み出し 3 スレーブアドレス 1 スレーブリピートアドレス 2 スレーブデータ書き込み 3 スレーブ先頭データ読み出し 3 スレーブデータ読み出し 3 スレーブ 12.4.3.1 マスター読み出し後ストップ スレーブデータ書き込み後ストップ (→ストップ検出) スレーブデータ読み出し後ストップ (バスアイドル状態→ストップ検出) マスターのストップフレーム マスターがデータ転送の終了としてストップ処理を行うには、STOP ビットをセットして行います。 このストップ処理は前パケットがデータ送信パケットあるいはデータ受信パケットで動作が異なりま す。STOP ビットセットにすると、I2CF ビットも自動的にクリアされます。 STOP ビットをセットすると、I2CF ビットをクリアして、SDA と SCL をしかるべき状態にしたの ち、ストップ状態、そしてバスアイドル状態にしてストップ処理を終了とします。ストップ処理を行 うには、I2CF ビットがセットされた状態から、始めなくてはいけません。I2CF ビットがクリアされた 181 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 状態で STOP ビットをセットしても何もしません。 マスター書き込み後ストップフレーム マスターではアドレスフレーム、リピートアドレスフレーム、データ書き込みフレームの後にストッ プ処理を行うには、ストップ送信パケットを使用したマスター書き込み後ストップフレームを実行す る必要があります。この動作開始時の STATUS ビットはそれぞれ、1、2,3になります。 このフレーム動作開始時には ACK 受信後に転送が停止した状態にあります。このフレーム動作は DIR ビットをセットした状態で、STOP ビットのセットにより実行します。この実行によりすぐにス トップ動作が実行されます。 図 12-26: マスター書き込み後ストップフレーム マスター処理中 ストップ処理 SCL P ACK SDA 入 入 出 出 フレーム終了位置 マスター読み出し後ストップフレーム マスターではデータ読み出しフレームあるいは先頭データ読み出しフレームの後にストップ処理を 行うには、ストップ受信パケットを使用したマスター読み出し後ストップフレームを実行する必要が あります。この動作開始時の STATUS ビットは3になります。 このフレーム動作開始時には、ACK 受信前に転送が停止した状態にあります。このフレーム動作は DIR ビットをクリア、ACK ビットをクリアした状態で、STOP ビットのセットにより実行します。こ のストップ処理は ACK 送出後に実行されます。 このとき、ACK ビットをセットした状態でこの動作をおこなってはいけません。こうすると最終 ACK サイクルが ACK 送出となりスレーブ側が引き続き次データの送信を行うことになり、データ転 送が終了できなくなります。 図 12-27: マスター読み出し後ストップフレーム マスター処理中 ストップ処理 SCL P ACK SDA 入 出 出 出 フレーム終了位置 12.4.3.2 スレーブのストップフレーム スレーブのストップフレームでは、このフレーム処理後に STOP 検出まで待ってから、STATUS ビッ トに 0 を格納し終了、あるいは、リピートスタートを検出してリピートスタートフレームに移行しま 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 182 頁 Alligator Preliminary す。これらのストップフレームはスレーブでの動作途中打ち切り用途でも使用できます。 スレーブデータ書き込み後ストップフレーム スレーブにおいて、アドレスフレーム、リピートアドレスフレーム、データ書き込みフレーム後は、 ACK 送信前に転送が停止した状態にあります。ACK 送出後にスレーブが転送を終了させたいときに は、ホストは ACT[2] ビットをクリア、I2CF ビットをセットしてフレーム終了とすると、デバイスは ACK を送出し、ストップ検出まで待って終了、あるいはリピートスタート検出でリピートアドレスフ レームに移行します。 図 12-28: スレーブ書き込み後ストップフレーム スレーブ処理中 ストップ処理 SCL P ACK SDA 出 フレーム終了位置 スレーブデータ読み出し後ストップフレーム スレーブにおいて、データ読み出しフレームあるいは先頭データ読み出しフレームの後は、ACK 送 信後に転送が停止した状態にあります。スレーブが転送を終了させたいときには、DIR ビットをクリ アして、そして、ACT[2] ビットをクリア、I2CF ビットをセットしてフレーム終了とすると、デバイス はバスを切り離し、ストップ検出まで待って終了、あるいはリピートスタート検出でリピートアドレ スフレームに移行します。 通常、NACK 受信であるときには、デバイスは通信終了であるので、このフレーム終了処理を行い ます。そうすれば、マスターがストップ処理に入れます。ACK 受信であるときは、このフレーム終了 処理ではなく、マスターによりデータ送信は続けられることになります。 図 12-29: スレーブ読み出し後ストップフレーム スレーブ処理中 SCL P ACK SDA 入 フレーム終了位置 12.4.4 マスターとスレーブ動作 I2C モジュールの初期設定後、ホストが I2CEN ビットのクリアからセットするとき、他の I2C デバ イスのデータ転送中にこのデバイスがデータ転送に参加する可能性があります。この問題を避けるた めに、I2CEN ビットをセットしても、デバイスはバスアイドル状態にならないと転送に参加できませ ん。 183 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator I2C の規格にあるようにこのデバイスもマスターとスレーブ動作が可能です。このマスターとスレー ブの動作の大きな違いは、マスターが SCL に転送クロックを出力する、STOP と START 状態を生成 するということです。 マスター動作 12.4.4.1 このデバイスは START ビットをセットしてから、STOP ビットをセットし、ストップ検出までをマ スター動作中とし、この期間は MASTER ビットがセットされます。ホストがこのマスター動作を中止 させるには MASTER ビットをセットします。 デバイスがこのマスター動作を強制的に中止する唯一のケースはエラーを検出した場合になりま す。このエラーを検出した時、デバイスはマスター動作を中止しスレーブ動作に移行し、MASTER ビッ トをクリア、SCL 出力と SDA 出力を切断します。そして、STATUS ビットに 4 から7を格納し、 I2CALTF ビットをセットします。 マルチマスター動作 マスターアドレスフレーム、マスター書き込み後リピートアドレスフレーム、マスター読み出し後 リピートアドレスフレームを使用したマルチマスター動作でアドレスバイト送出期間でアービトレー ション動作が行われます。このアービトレーションウィンの場合は、そのまま、マスター動作が続き ます。 図 12-30: マスターアドレスアービトレーション 7 ビットアドレス S RW アドレス (A6-0) アービトレーション期間 10 ビットアドレス S アドレス (A8-9) アービトレーション期間 RW ACK アドレス (A7-0) ACK アービトレーション期間 アービトレーションロストの場合にはエラー検出処理に入り、STATUS ビットに 5 を格納して、 I2CALTF ビットをセットします。このときはスレーブ動作として、スレーブアドレスフレーム動作に 移行し、ACT[0] ビットと SSLE ビットの条件、フレーム転送結果により、I2CF ビットはセットされ、 STATUS ビットは上書きされます。 表 12-13:アービトレーション関連フレーム 実行フレーム 内容 アービトレーションロスト マスターアドレス アドレス送出 スレーブアドレス マスター書き込み後リピートアドレ ス スレーブリピートアドレス マスター読み出し後リピートアドレ ス マスターデータ書き込み 2013.12.20 版 10 ビット下位アドレス送出 (C) 2009-2013 New Japan Radio Co., Ltd. スレーブデータ 184 頁 Alligator Preliminary 10 ビットアドレスのマルチマスターのケースでは下位アドレスビットに対してもアービトレーショ ンを行う必要があります。このために、マスターのアドレスフレーム直後であるマスターデータ書き 込みフレームに下位バイトアドレスを含ませるとき、この下位アドレス転送の際にだけ TEN ビットを セットさせておきます。また、アービトレーションロストに備えて、ACT[2] ビットを設定します。 この下位バイトアドレスを含むマスターデータ書き込みフレームは STATUS ビットが 1 からのデー タ書き込み開始になります。このとき、TEN ビットがセットしてある場合は、10 ビットアドレス動作 の下位 8 ビットアドレス送出とみなされ、アービトレーション動作が行われます。ロストした際には アービトレーションロスト処理になり、SCL 出力と SDA 出力を切断し、STATUS ビットに 5 を格納、 I2CALTF ビットをセット、MASTER ビットをクリア、スレーブ動作に移行します。 このときに移行したスレーブ動作はスレーブデータ書き込みフレームとみなされます。このとき、 ACT[2] ビットがクリアされているとデバイスは何もしません。また、ACT[2] ビットがセットされてい るとフレーム転送結果により、I2CF ビットをセット、STATUS ビットは上書きされます。 図 12-31: マルチマスター動作 マスターアドレスフレーム アービトレーションウイン アービトレーションロスト STATUS=1@I2CF セット STATUS=5@I2CALTF セット MASTER クリア TEN=0(7 ビットアドレス動作) (スレーブアドレスフレームとして動作) (マスター動作を続ける) TEN=1(10 ビットアドレス動作) マスターデータ書き込み アービトレーションウイン アービトレーションロスト STATUS=3@I2CF セット (マスター動作を続ける) 12.4.4.2 STATUS=5@I2CALTF セット MASTER クリア (スレーブデータ書き込みフレームとして動作) スレーブ動作 フレームアクティブとは ACT ビットを使用して、スレーブ動作時だけに有効な機能です。 スレーブ動作時に SDADAT ビットデータをフレームの種類に従って、SDA 出力からのバイトデータ 送出、そして、ACK ビットを ACK サイクルデータとしての送出、そして、フレーム終了時の I2CF ビットのセットと SCL のストレッチを行います。また、SDA に入力するバイトと ACK データはこの フレームアクティブ動作に関係なく、それぞれ SDADAT ビットと ACKI ビットに常に反映されます。 アドレスフレームでは ACT[0] ビット、リピートアドレスフレームでは ACT[1] ビット、データフレー ムでは ACT[2] ビットでこの機能を有効にします。 185 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator • スレーブのアドレスフレームとリピートアドレスフレームのアクティブ動作 スレーブにおいてアドレスフレーム終了したとき、ACT[0] ビットセットあるいは SSLE ビッ トの条件一致であれば、フレーム終了時に I2CF ビットをセットし、SCL をローレベルにホー ルドします。 ACT[0] ビットがセットしてある場合は SSLE ビットの内容に関わらず、アドレスフレーム終 了停止とします。 ACT[0] ビットがクリアしてあるときには、SSLE ビットの内容に従って、アドレスフレーム終 了停止とします。尚、この SSLE[2] ビットの条件は 5 ビット長である 10 ビットアドレスパ ターン一致を意味します。 表 12-14:SSLE/SSL ビット SSLE/SSL ビット 内容 比較アドレス内容 [0] 7 ビットアドレスアドレス一致 CMPADR ビット [1] ジェネラルコール / スタートバイト一致 %0000000 [2] 10 ビットアドレスパターン一致 %11110xx [3] SM バスアラート %0001100 • スレーブのデータフレームアクティブ動作 スレーブのデータフレーム開始時に、ACT[2] ビットをセットしてあると、STATUS ビットが 0x1、0x2、0x3 であるケース - アドレスフレーム、リピートアドレスフレーム - である条件に あるとき、データ読み出しフレームであればデータを送出、データ書き込みフレームでは ACK 送出し、フレーム終了で I2CF ビットをセットし、SCL をローレベルにホールドします。 データフレームのアクティブ条件はデータフレーム開始時の STATUS ビットが 1、2、あるいは3 であることが必要です。また、I2CF ビットがセットしたとき、I2CFE ビットをセットしてあれば、割 り込み要求を起こすことが出来ます。 スレーブでのアドレスフレーム終了時に SSL ビットは SSLE ビットと同様に表 12-14 で示される値 を持ちます。 12.5 レジスタ このモジュールは全部で 8 ワードのアドレス空間で 5 つのレジスタを持っています。 表 12-15:MMI2C モジュール内のレジスタ レジスタ名 2013.12.20 版 アドレス I2C コンフィグ I2CCFG +0 I2C コンフィグ 2 I2CCFG2 +1 I2C 制御 I2CCTL +2 I2C ステータス I2CSTA +3 I2C データ I2CDAT +4 (C) 2009-2013 New Japan Radio Co., Ltd. 186 頁 Alligator Preliminary 表 12-16:I2C コンフィグレジスタ I2CCFG ビット位置 +7 +6 +5 +4 ビット 8 +3 +2 +1 +0 0 0 0 0 BAUDRATE[7:0] RW RW RST 0 0 0 0 ビット BAUDMUX BAUD BAUDSEL FILTER I2CRST I2CEN RW RW RW RW RW WS RW 0 0 0 0 0 RST 0 I2CEN 0 0 0 I2C イネーブル I2C インターフェースモジュールの使用許可を設定します。このビットをクリアして、不許 可状態であるときにもレジスタのアクセスは可能です。 0 - I2C インターフェースモジュールは使用できません 1 - I2C インターフェースモジュールは使用許可しています I2CRST I2C リセット I2C インターフェースモジュールをリセットします。 1 - I2C インターフェースモジュールをリセットします。 FILTER フィルタ設定 スパイク除去用のフィルタの動作設定をします。 0 - スパイク除去用のフィルタを停止します 1 - フィルタを動作可能にします BAUDSEL ボーレートクロック選択 ボーレートクロック生成用クロックの選択を行います。 0 - システムクロックをボーレートクロック生成用クロックとします 1 - 外部入力クロックをボーレートクロック生成用クロックとします BAUD[1:0] 転送ビット周波数設定 転送ビット周波数を設定します。 00 01 10 11 - 転送ビット周波数を 100KHz とします 転送ビット周波数を 400KHz とします 転送ビット周波数を 1.7MHz とします 転送ビット周波数を 3.4MHz とします BAUDMUX[1:0] BAUDRATE 位置 BAUDRATE ビットの位置を設定します。 187 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary BAUDRATE[7:0] Alligator ボーレート ボーレートクロック生成用プリスケーラの分周比を設定します。ボーレートの分周比は BAUDMUX ビットの内容により、異なったビット位置で与えられます。 表 12-17:I2C コンフィグ 2 レジスタ I2CCFG2 ビット位置 +7 ビット - CMPADR RW - RW RST - 8 +6 +5 0 0 +4 0 ビット 0 +2 +1 +0 0 0 0 0 0 0 0 0 TIMEOUT RW RST +3 RW 0 CMPADR[6:0] 0 0 0 比較アドレス スレーブ動作での比較アドレスを設定します。 TIMEOUT[7:0] タイムアウト タイムアウト値を設定します。このビットがゼロであるときはタイムアウト動作検出は使用 されません。 表 12-18:I2C 制御レジスタ I2CCTL ビット位置 +7 +6 ビット 8 0 +5 +4 SSLE RW +3 +2 TEN RW +1 +0 ACT RW RW RST 0 0 0 0 0 0 0 0 ビット STOPFE IDLEFE I2CFE STOP ACK DIR TRANS START RW RW RW RW WS RW RW WS WS RST 0 0 0 0 0 0 0 0 START スタート処理 マスター動作であるとき、スタート処理からのアドレスフレームを開始させます。 1 - スタート処理を開始します TRANS データ転送開始 マスター動作であるとき、データフレームを開始させます。マスター動作であるときに、こ のビットをセットすると、I2CF ビットをクリアします。 1 - データフレームを開始します DIR データ送信 / 受信パケット選択 データ受信あるいは送信パケットの選択を行います。 0 - データ受信パケットとして動作します 1 - データ送信パケットとして動作します ACK ACK 送出設定 データ受信パケットでの ACK/NACK 送出を設定します。 0 - データ受信パケットで NACK を送出します 1 - データ受信パケットで ACK を送出します 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 188 頁 Alligator Preliminary ストップ処理 STOP マスター動作であるとき、ストップ処理を開始させます。マスター動作であるときに、この ビットをセットすると、I2CF ビットをクリアします。 1 - ストップ処理を行います I2C 割り込みイネーブル I2CFE このビットがセットしているときに、I2CF ビットあるいは I2CALTF ビットがセットされる と、内部プロセッサに対して割り込みを要求します。 0 - I2CF ビットあるいは I2CALTF ビットがセットされても割り込み要求をしません 1 - I2CF ビットあるいは I2CALTF ビットがセットされると割り込み要求をします アイドル割り込みイネーブル IDLEFE このビットがセットしているときに、IDLEF ビットがセットされると、内部プロセッサに対 して割り込みを要求します。 0 - IDLEF ビットがセットされても割り込み要求をしません 1 - IDLEF ビットがセットされると割り込み要求をします ストップ割り込みネーブル STOPFE このビットがセットしているときに、STOPF ビットがセットされると、内部プロセッサに対 して割り込みを要求します。 0 - STOPF ビットがセットされても割り込み要求をしません 1 - STOPF ビットがセットされると割り込み要求をします フレームアクティブ動作設定 ACT[2:0] スレーブ動作時のアクティブ動作の設定をします 10 ビットアドレス動作 TEN 10 ビットアドレス動作を設定します。 0 - 10 ビットアドレス動作をしません 1 - 10 ビットアドレス動作をします アドレス受信アクティブ SSLE[3:0] アドレスフレーム終了時のアクティブ選択を行います。 表 12-19:I2C ステータスレジスタ I2CSTA ビット位置 +7 +6 ビット 8 RW 0 0 ビット IDLE RW R RST 0 I2CF +4 +3 +2 ACKI R RST 0 +5 SSL +1 +0 STATUS R R 0 0 0 0 0 0 BUSY - MASTER STOPF IDLEF I2CALTF I2CF R - RC RC RC RC RC 0 0 0 0 0 0 0 転送完了 データ転送が終了したことを示します。このビットをセットするとクリアできます。 スレーブ動作であるとき、このビットがセットされていると、クロックストレッチとして SCL と SDA をローレベルにします。 0 - データ転送が終了していません 1 - データ転送が終了しました 189 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary I2CALTF Alligator 転送完了オルタネート データ転送が終了したことを示します。このビットあるいは I2CF ビットをセットするとクリ アできます。 0 - データ転送が終了していません 1 - データ転送が終了しました IDLEF バスアイドル状態遷移 バスが非アイドルからアイドル状態に遷移し、バスアイドル状態に遷移したことを示します。 このビットをセットするとクリアできます。 0 - バスアイドル状態に遷移しません 1 - バスアイドル状態に遷移しました STOPF ストップ状態検出 ストップ状態を検出したことを示します。このビットをセットするとクリアできます。 0 - ストップ状態を検出しません 1 - ストップ状態を検出しました MASTER マスター動作中 マスター動作中であることを示します。このビットは内部ハードウェアの制御でセット / ク リアされます。ソフトウェアにより強制的にマスター動作を中止させてスレーブ動作に移行 するのは、このビットをセットして、このビットをクリアさせます。 0 - スレーブ動作中です 1 - マスター動作中です BUSY ビジー スタート検出からストップ検出間の状態にいて、バスがビジーであることを示します。 0 - ビジー状態にありません 1 - ビジー状態にあります IDLE アイドル バスアイドル状態を示します。 0 - バスアイドル状態にありません 1 - バスアイドル状態にあります STATUS[2:0] 転送ステータス データ転送状態を示します。I2CF ビットあるいは I2CALTF ビットのセットの前後だけが有 効なデータを持ちます。 ACKI アクノレッジデータ アクノレッジビットの内容を示します 0 - NACK データを読み込みました 1 - ACK データを読み込みました SSL[3:0] アドレス受信ステータス アドレスフレーム終了状態を示します。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 190 頁 Alligator Preliminary 表 12-20:I2C データレジスタ I2CDAT ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット - - - - - - - - RW - - - - - - - - RST - - - - - - - - 0 0 0 0 8 ビット SDADAT RW RW 0 RST 0 SDADAT[7:0] 0 0 0 SDA データ 読み出しは受信データ、書き込みは送信するデータを格納します。データ送信の際には送信 したデータを格納します。 191 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. Alligator 192 頁 Alligator Preliminary SPI(SPI.A)モジュール このモジュールは SPI(Serial Peripheral Interface)フォーマットを持つ同期型のシリアルインター フェースになります。SPI フォーマットを持つデバイスと通信可能な機能を持ち、転送速度は最大 3.37Mbps になります。 このモジュールは前バージョンのホストデータバスを 16 ビットに変更し、若干の機能を追加した バージョン A です。 表 13-1:入出力端子 端子 端子 入出力 名称 SPCK 入出 SPI クロック SPDA 入出 SPI データ A 入出力 SPDB 入出 SPI データ B 入出力 RDYB 入 SPI レディ このモジュールは可変周波数のシステムクロックと外部クロックを使用します。ユーザーが SPIEN ビットをセットすると、このモジュールは動作許可になります。このモジュールの最高ビット周波数 はマスター / スレーブとも 2MHz になります。このモジュールのシステムクロックは 24MHz 以上、 200MHz 以内でなくてはいけません。 SPDA 端子と SPDB 端子は SPI データ入力(SDI)と SPI データ出力(SDO)信号に接続します。 SDMUX ビットをクリアすると、SPDA 端子は SDI 信号に接続、SPDB 端子を SDO 信号に接続しま す。セットすると、SPDA 端子は SDO 信号に接続、SPDB 端子を SDI 信号に接続します。 SDOEN ビットをセットすると、SDMUX ビットがクリアされているとき、SPDB 端子を出力設定に して、SDO データを出力します。SDMUX ビットがセットされているとき、SPDA 端子を出力設定に して、SDO データを出力します。 RDYB 端子はマスターであるとき、使用されません。スレーブでは RDYB 端子は RDYBEN ビット をセットすると内部使用されます。 また、WOR ビットをセットすると、該当する端子はオープンドレインとして動作をします。各入力 端子はシュミットトリガ動作をします。 SPIEN ビットがクリアされているときは、SPI 出力は端子から常に切り離されます。即ち、SPI 動 作としての SPCK 端子、SPDA 端子と SPDB 端子の出力ドライバはオフになり、ハイインピーダンス になります。また、SPIEN ビットがセットされているときは、その動作は SPI 動作設定に依存します。 初期設定は、SPIEN ビットがクリアされた状態で、マスター / スレーブ、あるいは動作モードの設 定を行います。そして、その後に SPIEN ビットをセットしなくてはなりません。また、SPIEN ビット がクリアされている最中に、デバイス内部では動作準備を行います。 193 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 13-1: SPI データ転送 SPCK (CPOL=0) SPCK (CPOL=1) SPIF セット SPIF セット MSB マスター LSB SDI CPHA=0 SDO MSB LSB データ転送期間 MSB LSB MSB LSB SDI CPHA=1 SDO データ転送期間 MSB スレーブ LSB SDI CPHA=0 SDO MSB LSB RDYB データ転送期間 MSB LSB MSB LSB SDI CPHA=1 SDO RDYB データ転送期間 13.1 SPI 動作 SPI の転送データは MSB ファーストの固定長 8 ビットになり、そのクロックのレベルと位相は、 CPOL ビットと CPHA ビットで設定します。ユーザーが MSTR ビットをクリアするとスレーブ動作、 セットするとマスター動作になります。 データ転送中に SDADAT ビットへの書き込みを行うと、WCOL ビットがセットされます。WCOL ビットのクリアは、WCOL ビットあるいは、SPIF ビットのライトセット、マスター動作時の転送開始 を示す TRANS ビットのセットのいずれかで行われます。 SPIF ビットがセットしたとき、SPIFE ビットがセットされていると、デバイスは内部プロセッサに 対し、割り込みを要求します。また、SPIF ビットがセットされているときは、SPCK 信号はネゲート され、いかなる入力もブロックされます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 194 頁 Alligator Preliminary 図 13-2: 送受信部 SDADAT [0] [7] [6] SDMUX [0] SPDA [1] [7] [6] SDI G 内部 SPCK G 制御 G G G G G CPOL CPHA SPIF SDO SPDB マルチプレクサ 13.1.1 マスター動作 MSTR ビットをセットすると、マスター動作に設定できます。転送を開始する前に、BAUDSEL ビッ トと BAUDRATE ビットで転送速度を設定しておきます。そして、SDOEN ビットのセットで SDO 信 号に SDO データを出力することになります。 ユーザーが SDADAT ビットに送信データを書き込み、TRANS ビットをセットするとデバイスはデー タ転送を始めます。デバイスは CPHA ビットと CPOL ビットで設定されたフォーマットに従い、SPCK 信号のエッジに同期して、送信データの送出とスレーブからの受信データの取り込みを行います。そ して、8 番目の最終ビットデータを取り込んだ後に SPIF ビットをセットします。この SPIF ビットの セットは、CPHA ビットがセットされていると最終ビットデータ取り込みエッジ、CPHA ビットがク リアされていると最終ビットデータ取り込みエッジの次のエッジで行われます。 ユーザーはこの SPIF ビットがセットしているのを確認してから、SDADAT ビットを読み込み、ス レーブから受信したデータを取り込みます。 SPIF ビットをクリアするには、ユーザーは SPIF ビットをセットするか、次の転送開始として、 TRANS ビットをセットします。 この転送開始の TRANS ビットセットから、SPIF ビットセットまでのタイミングをデータ転送期間 とします。この期間に SDADAT ビットにデータを書き込むと書き込み衝突として WCOL ビットがセッ トされます。 TRANS ビットセットによる転送開始で、プリスケーラがカウントを開始します。CPHA ビットがク リアされているときは、半周期後が最初の SPCK エッジになります。また、CPHA ビットがセットさ れていると、その転送開始が最初の SPCK エッジになります。 基本ボーレートクロック SPI のビット周波数は基本ボーレートクロックの半分と規定されます。基本ボーレートクロック周 波数を設定するには、まずクロック源を選択設定します。BAUDSEL ビットをクリアしてシステムク ロック、あるいはセットして外部クロックに、クロック源を選択します。この選択されたクロックを BAUDRATE ビットで設定された 7 ビットのモジュロカウンタに入力して分周し、基本ボーレートク ロックを生成します。このビットクロックはビット周波数に該当するので、最高ビット周波数を越え た設定をした場合の動作保証はされません。 195 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 13-3: 基本ボーレートクロック 基本ボーレート クロック システムクロック A 外部クロック B セレクタ カウンター (7 ビット ) 2 ビットクロック A/B 7 BAUDSEL BAUDRATE この外部入力クロックはシステムクロックに同期した信号であり、この 1 サイクルだけハイレベル が外部入力クロックの立ち上がりを示します。外部入力クロック信号が常にハイレベルであるときは、 この外部入力クロックとシステムクロックの周波数が同一ということになります。 図 13-4: 外部入力クロック 外部入力クロック システムクロック モジュール内 外部入力クロック イメージ 13.1.2 スレーブ動作 MSTR ビットをクリアすると、スレーブ動作に設定できます。 SPIF ビットがクリアしてあれば、スレーブはデータ受信可能状態になります。SPIF ビットをクリ アするには、ユーザーが SPIF ビットをライトセットします。 最初のデータ転送は、必要であればユーザーが SDADAT ビットに送信データを書き込み、マスター からのクロック送出を待ちます。デバイスは CPHA ビットと CPOL ビットで設定されたフォーマット に従い、SPCK 信号のエッジに同期して、送信データの送出とマスターからの受信データの取り込み を行います。そして、8 番目の最終ビットデータを取り込んだ後に SPIF ビットをセットします。この SPIF ビットのセットタイミングは、CPHA ビットがセットされていると、この 8 番目のデータ取り込 みエッジ、CPHA ビットがクリアされているとこの 8 番目のデータ取り込みの次の最終エッジで SPIF ビットをセットします。 ユーザーはその SPIF ビットがセットしているのを確認してから、SDADAT ビットを読み込み、マ スターから受信したデータを取り込みます。 次のデータ転送を行う場合は、送信データを SDADAT ビットに書き込み、そして、SPIF ビットを ライトセットして、SPIF ビットをクリアします。 CPHA ビットがクリアされているときは、SPIF ビットのクリアから、SPIF ビットセットまでをデー タ転送中とします。 CPHA ビットがセットされているときは、SPIF ビットをクリアした後の最初の SPCK 信号の変化か ら、SPIF ビットセットまでをデータ転送中とします。 SDOEN ビットをセットすると SDO データを出力することが出来ます。 RDYBEN ビットをセットすると、RDYB 端子の論理レベルを内部使用します。RDYBEN ビットを 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 196 頁 Alligator Preliminary クリアすると、データ転送の最初の SPCK 変化から、SPIF ビットセットまでをデータ転送期間としま す。この期間に SDADAT ビットにデータを書き込むと書き込み衝突として WCOL ビットがセットさ れます。 レジスタ 13.2 このモジュールは全部で3ワードのレジスタを持っています。。 表 13-2:SPI モジュール内のレジスタ レジスタ名 SPI コンフィグ SPICFG SPI 制御 SPICTL SPI データ SPIDAT 各レジスタの説明をします。 表 13-3:SPI コンフィグレジスタ SPICFG ビット位置 +7 +6 +5 +4 +3 +2 +1 ビット - - - BAUDSEL - WOR RW - - - RW - RW 8 +0 RST 0 0 0 0 0 0 0 0 ビット RDYBEN SDOEN CPOL CPHA SDMUX MSTR SPIRST SPIEN RW RW RW RW RW RW RW WS RW RST 0 0 0 0 0 0 0 0 0 位置 2 から 15 のビットは、SPIEN ビットがクリア状態であり、かつ、SPIEN ビットのセット書き込 みを伴わない場合に限って、書き込み可能なコンフィグレーションビットです。SPIEN ビットのセッ トあるいはセット動作でのコンフィグレーションビット書き込みは無視されます。 SPIEN SPI イネーブル SPI モージュールの使用許可を設定します。このビットをクリアして、不許可状態であるとき にもレジスタのアクセスは可能です。 0 - SPI モジュールは使用できません 1 - SPI モジュールは使用許可しています SPIRST データ入力リセット SPI モジュールをリセットします。 1 - SPI モジュールをリセットします MSTR マスター設定 マスター / スレーブ動作を設定します。 0 - スレーブ動作をします 1 - マスター動作をします SDMUX SPI データ端子入れ替え設定 SPDA 端子と SPDB 端子、SDI 信号と SDO 信号の接続を設定します。 0 - SPDA 端子は SDI 信号、SPDB 端子は SDO 信号の接続になります。 1 - SPDA 端子は SDO 信号、SPDB 端子は SDI 信号の接続になります。 CPHA クロック位相 SPI モード時でのクロック位相を示します。 197 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator クロックポラリティ CPOL SPI モード時でのクロックポラリティを示します。 SDO 信号出力許可 SDOEN SDO 信号から SDO データが出力されます。 0 - SDO データは出力されません 1 - SDO データは出力されます RDYB 端子許可 RDYBEN スレーブ動作時に RDYB 端子入力が使用されます。 0 - RDYB 端子を使用しません 1 - RDYB 端子を使用します。 オープンドレイン WOR[2:0] 該当出力端子のオープンドレイン出力を設定します。 表 13-4:WOR ビット WOR 0 1 備考 [0] SPCK 通常出力 SPCK オープンドレイン [1] SPDA 通常出力 SPDA オープンドレイン [2] SPDB 通常出力 SPDB オープンドレイン ボーレートクロック選択 BAUDSEL 基本ボーレートクロック生成用クロックの選択を行います。 0 - システムクロックを基本ボーレートクロック生成用クロックとします 1 - 外部クロックを基本ボーレートクロック生成用クロックとします 表 13-5:SPI 制御レジスタ SPICTL ビット位置 +7 ビット - RW - RST 0 8 0 +6 +5 +4 +3 +2 +1 +0 0 0 0 0 BAUDRATE RW 0 0 0 ビット - - WCOL SPIF - TRANS - SPIFE RW - - RC RC - WS - RW RST 0 0 0 0 0 0 0 0 位置 8 から 15 のビットは、SPIEN ビットがクリアされているときにのみ書き込み可能なコンフィグ レーションビットです。 SPIFE SPI 割り込みイネーブル このモジュールの内部プロセッサに割り込み要求を設定します。このビットがセットしてい るときに、SPIF ビットがセットされていると、内部プロセッサに対して割り込みを要求しま す。 0 - このモジュールは割り込み要求をしません 1 - このモジュールは割り込み要求をします TRANS データ転送開始 マスター動作であるとき、データフレームを開始させます。マスター動作であるときに、こ のビットをセットすると、SPIF ビットをクリアします。 1 - データフレームを開始します 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 198 頁 Alligator Preliminary 転送完了 SPIF データ転送が終了したことを示します。このビットをセットするとクリアできます。マス ター動作では次の転送を開始する TRANS ビットのセットと同時にこのビットはクリアされ ます。 0 - データ転送が終了していません 1 - データ転送が終了しました ライトコリジョン WCOL データ転送中に SDADAT ビットを書き込んだことを示します。WCOL ビットのクリアは、 このビットのセットあるいは、SPIF ビットのライトセット、マスター動作時の転送開始を示 す TRANS ビットのセットで行われます。 0 - データ転送中に SDADAT ビットは書き込まれてません 1 - データ転送中に SDADAT ビットは書き込まれました BAUDRATE[6:0] ボードクロック 基本ボーレートクロック生成用プリスケーラのモジュロ分周比を設定します。ゼロの場合は 128 分の一の周波数になります。 表 13-6:SPI データレジスタ SPIDAT ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット - - - - - - - - RW - - - - - - - - RST - - - - - - - - - - - - 8 ビット SDADAT RW RW 0 RST - SDADAT[7:0] - - - SDA データ 送信するデータあるいは受信したデータを格納します 199 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. Alligator 200 頁 Alligator Preliminary 電源制御用 PWM(PSPWM) モジュール この制御用(PSPWM) モジュールは電源制御に特化した PWM 波形を生成します。このモジュール は PWM 波形出力(PWMO と PWMOB) を 8 本持ち、イベント入力に使用できる制御入力(PWMI) は 4 本、割り込み要求は 8 本持ちます。また、A/D 変換器などに対するタイミング出力として使用出 来る制御出力(PWMCO) を 14 本持ちます。 図 14-1: PSPWM 全体 PWMI[3:0] ( 制御入力 ) PSPWM 出力 PWMO[0] PWMCO[13:0] (制御出力) チャンネル部 [0] 割り込み要求 [7:0] チャンネル部 [1] PWMOB[0] PWMO[1] 制御部 PWMOB[1] 出力部 PWMO[2] チャンネル部 [2] PWMOB[2] ホストバス PWMO[3] チャンネル部 [3] PWMOB[3] このモジュールを使用するには内部のコンフィグレーション設定を行った後に、PWMEN ビットを セットします。そうすると、このモジュールの内部機能が動作開始となります。 何らかの問題が発生して、このモジュール全体を初期化させる必要があるときには、PWMRST ビッ トをセットします。そうすると、このモジュールはデバイスリセット直後の状態に戻ります。また、 PWMEN ビットがクリアされていると内部状態は初期化され、状態ビットはクリアされます。 14.1 クロック系統 PSPWM はホストレジスタに関する部分はシステムクロック(sysclk) の同期動作になります。PWM 波形生成には高周波数を持った PLL 入力クロック(pclk) を分周した CPWM クロック (cclk) と PSPWM 入力クロックをバッファした FPWM クロック(fclk) を使用します。 主 PWM 生成器で使用されるクロックは CPWM クロック (cclk) になります。このクロックを使用し て PWM のピリオド生成や基本的なデューティ生成なども行います。副 PWM 生成器では FPWM ク ロック(fclk) を使用し、密波形生成を行います。 システムクロック(sysclk) と、CPWM クロック (cclk) や FPWM クロック(fclk) は完全な非同期の 扱いになります。また、CPWM クロック (cclk) の FPWM クロック(fclk) からの分周比は CCLKSEL ビットで設定します。CCLKSEL ビットをクリアすると 1/4 分周、セットすると 1/2 分周された周波数 になります。尚、CPWM クロック (cclk) の FPWM クロック(fclk) 間の位相は保証されません。 201 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator デバイスの SIM モジュールが持つ PLL クロック周波数変更動作を行うと、デバイスによってはこ のモジュールに入力する PLL クロックにグリッチが乗ります。このグリッチが乗る SIM モジュール を使用したデバイスで PLL クロックの周波数変更動作の際には、このモジュールをディセーブル状態 にしておく必要があります: 図 14-2: クロック系統図 システムクロック (sysclk) CCLKSEL ホストレジスタ PLL クロック (pclk) 1/4,2 CPWM クロック (cclk) 1/N 主 PWM 生成器 PWM 出力 CPWM クロックイネーブル 副 PWM 生成器 FPWM クロック (fclk) クロック生成器 PWM チャンネル部 クロック生成器は CPWM クロックと 1/1、1/2、1/3 そして 1/4 の分周比を示す 4 本の CPWM クロッ クイネーブル信号を生成し、各チャンネルに配ります。分周された CPWM クロックを使用するチャン ネルは、この分配されたクロックイネーブル信号を選択使用します。 図 14-3: クロック分配 CPWM クロック クロックイネーブル 1/1 ハイレベル 1/2 1/3 1/4 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 202 頁 Alligator Preliminary 14.2 ハードウェア動作 14.2.1 カウンタコンペア基本回路動作 このモジュールで使用されるカウンタ、比較器、比較レジスタからなるカウンタコンペア基本回路 を示します。 カウンタは同期リセットを持ち、クロックイネーブルによりインクリメントします。比較器入力は カウンタと比較レジスタに繋がれ、比較レジスタとバッファはダブルバッファ構造をしています。比 較器はクロックイネーブルがハイレベルにあるときに動作します。 図 14-4: カウンタコンペア基本回路 クロックイネーブル クロック カウンタ R カウンタリセット カウンタ値 比較器出力 比較器 比較レジスタ 比較バッファ カウンタ周期はカウンタリセット入力あるいはフリーランで定められます: • カウンタリセットのハイレベル入力の次のサイクルでカウンタがリセットされます。 レジスタとカウンタの値が一致すると比較器出力はアサートされます : • カウンタ値がゼロからのカウンタコンペア長は(レジスタ +1)クロックになります。 比較器の比較レジスタ側はダブルバッファ構造になっており: • カウンタリセットで比較バッファから比較レジスタへのデータ転送が行われます。 これらの動作を基本としてこのモジュールで波形が生成されます。 図 14-5: カウンタコンペア基本回路タイミング カウンタ周期 カウンタコンペア長 (X+1) : カウント クロック クロックイネーブル カウンタリセット カウンタ 比較レジスタ 0 X X 比較器出力 203 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator クロックイネーブル付きタイミングを図 14-6 に示します。クロックイネーブルがハイレベルである ときに: • 次のサイクルでカウントアップされます。 • カウンタリセット入力は取り込まれ、次のサイクルでカウンタはリセットされます。 • 比較器の動作がなされます。 図 14-6: カウンタコンペア基本回路タイミング(クロックイネーブル付き) カウンタ周期 カウンタコンペア長 (X+1) : カウント クロック クロックイネーブル カウンタリセット 0 カウンタ X X 比較レジスタ 比較器出力 14.2.2 PWM 基本回路 14.2.1 で説明したカウンタコンペア回路を使用して PWM を構成する例を示します。周期などを定 めるカウンタ幅は COW ビット、そして、そのカウンタ出力に 16 ビットの比較レジスタの上位 COW ビットに接続された COW ビット幅の比較器を 2 ペアを持たせます。それぞれのペアがピリオド比較 器とデューティ比較器になります。そのデューティ比較器出力とピリオド比較器出力による COW ビッ ト精度の粗(PWM) 出力を生成します。そして、その粗出力に X 倍のクロックにより、デューティ比 較レジスタの下位側 FIW ビットとピリオド比較レジスタの下位側 FIW ビット分の遅延をしたものが (PWM)出力となります。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 204 頁 Alligator Preliminary 図 14-7: PWM 基本回路 クロックイネーブル カウンタ (COW) クロック ピリオド比較一致 R (FIW) カウンタ値 ピリオド比較器 (COW) S ピリオドレジスタ 粗出力 密 PWM 遅延器 出力 R ピリオドバッファ (FIW) f クロック デューティ比較器 (COW) デューティ比較一致 最大値検出 デューティレジスタ デューティバッファ ピリオドレジスタとカウンタの値が一致すると次のサイクルでカウンタはリセットされます。この リセットと同じタイミングで出力はセットされます。また、デューティレジスタとカウンタの値が一 致すると次のサイクルで出力はクリアされます。 表 14-1:PWM 周期と出力レベル ピリオド値 カウンタ/出力周期 デューティ値 出力レベルa 備考 <3 - (-) (-) 使用禁止 3 から最大値 ピリオド値 +1 (4 から最大値 +1) 0 からピリオド -1 デューティ値 +1 ピリオドから最大値 -1 100% 最大値 0% デューティは比較されない a. 出力は次クロックでの状態を示す ここでの最大値は 12 ビット幅であれば 4095、16 ビット幅では 65535、COW ビット幅であれば 2COW-1 になります。 ピリオド値は 3 から最大値までの設定が可能であり、ピリオド幅は(ピリオド値 +1)クロックで与 えられ、大きさは 4 から最大値 +1 になります。PWM 動作中ではカウンタの最小値は 0、最大値はピ リオドレジスタ値になり、カウンタの周期は(ピリオド値 +1)クロックとなります。 また、デューティ値は 0 から最大値までの設定が可能であり、デューティ幅は(デューティ値 +1) クロックで与えられ、大きさは 1 から最大値、そして0に設定可能です。デューティ値が最大値であ るときはデューティ幅は 0 とみなされます。 よって、出力波形のピリオド長は(ピリオド値 +1)クロック、デューティ長は(デューティ値 +1) となります。ピリオドとデューティが一致しているときは、出力制御はピリオド側が選択され、比較 位置からハイレベルが出力されます。また、ピリオド値が最大値であるときは、100% の波形出力は得 られません。0% から 100% の波形出力を得るにはピリオド値を(最大値 -1)以下にする必要があります。 205 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 14-8: PWM 基本タイミング ピリオド長 (P+1) : カウント (COW ビット精度) デューティ長(D+1) : カウント (COW ビット精度) クロック カウンタリセット P カウンタ D P P ピリオドレジスタ ピリオド比較器出力 D デューティレジスタ デューティ比較器出力 出力セット 出力リセット 粗(PWM)出力 (PWM)出力 PWM 出力立ち上がり拡大 ピリオド下位 FIW ビット PWM 出力立ち下がり拡大 デューティ下位 FIW ビット クロック 密 PWM 遅延 (2FIW クロック幅) 密 PWM 遅延 (2FIW クロック幅) f クロック デューティ値と出力波形 デューティバッファの値を変えると 0% から 100% デューティの波形出力が可能です。0% デュー ティではデューティ値は最大値、100% デューティにはピリオド値に設定する必要があります。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 206 頁 Alligator Preliminary 図 14-9: 0% から 100% デューティ波形 0% PWM 波形 最大値 デューティレジスタ 100% 0 1 2 3 ピリオド ピリオド ピリオド -3 -2 -1 ピリオド 4 ホストはデューティバッファに値を書き込みます。そして、カウンタがクリアされるとき、デュー ティバッファの内容がデューティレジスタに転送されます。そして、このデューティ値を受けて PWM 波形を生成します。ピリオド値が最大値未満であるときに、このクリアのタイミング(バッファから レジスタへの転送タイミング)でデューティバッファの内容が最大値であるときは、出力が 0% にな ります。 デューティレジスタの転送タイミングにホストがデューティバッファに書き込もうとすると、その 書き込みは転送タイミングが終了してから行われます。 図 14-10: 0% デューティ設定 PWM 波形 デューティ レジスタ値 A 最大値 B 最大値 最大値 C デューティ バッファ値 A 最大値 B 最大値 最大値 C ホストによるデューティレジスタ書き込み ホストがデューティレジスタに直接書き込むことが可能になります。このとき、書き込んだ新規 デューティレジスタの比較値よりもカウンタ値が大きい場合に、比較機能が '=' 動作であるときは次の 比較一致で出力が変化します。 このとき、' ≧ ' 動作であるときは条件一致とみなされ出力は即座に変化をします。この大小比較を 比較器に用いる利点はホストがディーティレジスタに直接に値を書き込み、カウンタからの一致遅れ が生じた際に即座に出力を変化させて、少しでも誤差を小さくしようというところにあります。 207 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 14-11: ホストによるデューティレジスタ書き込み PWM 波形 C カウンタ デューティ レジスタ値 D 正常 (間にあう) 2013.12.20 版 C C C C D =比較 (間に会わない) D ≧比較 (間に会わない) (C) 2009-2013 New Japan Radio Co., Ltd. 208 頁 Alligator Preliminary PWM チャンネル部 14.3 PWM チャンネル部は 2 つの出力を持つ PWM 波形生成を行うブロックです。この PWM チャンネル 部は主 PWM 生成器、副 PWM 生成器、そしてクロック分周などの回路からなります。 PWM チャンネル部を動作させるには PWMENx ビット(以後、x はチャンネルを示す)をセットさ せる必要があります。 14.3.1 クロック系回路 主 PWM 生成器は CPWM クロック (cclk) と分周比を示す CPWM クロックイネーブル信号で動作し ます。この CPWM クロックイネーブル信号のデフォルトは常にハイレベルであり、CPWM クロック (cclk) が 1 分周であることを示します。PWMENx ビットがクリアされているとき、CCLKDIVx ビット により 1 分周以外に分周比を示す CPWM クロックイネーブル信号を選択使用することが可能になりま す。 この CPWM クロック (cclk) と CPWM クロックイネーブルは PWM 波形生成用にカウンタや比較器 に使用され、PWM のピリオド生成や基本的なデューティ生成なども行います。 副 PWM 生成器はクロック系信号として、FPWM クロック (fclk) を使用し、微細波形生成を行います。 CPWM クロック (cclk) は FPWM クロック(fclk) の 1/4 あるいは 1/2 分周されたクロックになります が、位相は保証されません。 図 14-12: クロック系統図 CCLKDIVx/FPWMENx 主 PWM 生成器 ( ピリオド / 粗波形生成) CPWM クロック イネーブル CPWM クロック 4 カウンタ / 比較器 CCLK 選択器 CPWM クロック イネーブル 副 PWM 生成器 ( 密波形生成) 1/CCLKDIVx PWM 出力 カウンタ / 比較器 FPWM クロック CPWM クロックイネーブル信号の分周比を表 14-2 に示します。 表 14-2:CPWM クロックイネーブル信号分周比 CCLKDIVx ビッ ト CPWM クロックイネーブル信号分周比 微細モード 通常モード 0 1 1 1 ( 使用禁止) 2 2 3 3 4 CCLKDIVx ビットにより CPWM クロックを 1/(CCLKDIVx+1) 分周した、メインクロック生成器から 出力された CPWM クロックイネーブル信号を選択使用します。 14.3.2 主 PWM 生成器と副 PWM 生成器 主 PWM 生成器はデータパス部分と制御回路からなります。データパス回路は 3 つのカウンタや 7 レジスタと比較器ペア等からなり、長さ、データバッファの有無、大小比較の有無、カウンタ接続、副 209 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator PWM への接続などがそれぞれ異なります。副 PWM 生成器は 3 ビットの遅延器が主回路になります。 PWMENx ビットあるいは PWMEN ビットがクリアされているとき、3 つのカウンタ、カウンタ Ax/ カウンタ Bx/ カウンタ Cx、はクリアかつ停止されます。 表 14-3:データパス回路 リソース 長 カウンタ接続先 データ バッ ファ 比較器 A B C 副 PWM CNTAx 16 - - - - - - PERx 16 ○ >= ○ - - [3:1] CTLx 16 ○ = ○ - - - DBx 16 ○ = ○ ○ - [3:1] DTYx 16 ○ >= ○ ○ - [3:1] DTYBx 16 ○ >= ○ ○ - [3:1] PERBx 16 ○ >= - ○ - [3:1] CNTBx 16 - - - - - [3:1] Lx 8 - = - - ○ - CNTCx 8 - - - - - - 備考 DBBUFx レジスタにキャプチャ データパス回路は以下のハードウェアからなります : • カウンタ Ax(CNTAx) カウンタ Ax は主カウンタであり、ピリオドやデューティ計測用として構成されます。16 ビッ ト長ですが、微細モードでは上位 12 ビットのみ使用されます。 PWMCNTx ビットを読み出すとカウンタ値を読み出せます。この時、微細モードでは上位 12 ビットのみ読み出しになり、下位ビットはゼロが挿入されます。また、PWMCNTx ビットに書 き込んだ場合はカウンタがクリアされます。 • カウンタ Bx(CNTBx) カウンタ Bx は副カウンタであり、デッドタイム計測用としても構成されます。16 ビット長で すが、微細モードでは上位 12 ビットのみ使用されます。 PWMCNTx ビットを読み出すとカウンタ値を読み出せます。この時、微細モードでは上位 12 ビットのみ読み出しになり、下位ビットはゼロが挿入されます。また、PWMCNTx ビットに書 き込んだ場合はカウンタがクリアされます。 • ピリオド(PERx) カウンタ Ax に接続されます。16 ビット長の書き込み専用レジスタですが、微細モードでは上 位 12 ビットのみ使用され、ビット 1 から 3 の 3 ビットは副 PWM 生成器で使用されます。大 小一致の比較器を持ちます。デフォルトではピリオド比較値を格納します。 • コントロール(CTLx) カウンタ Ax に接続されます。16 ビット長の書き込み専用レジスタですが、微細モードでは上 位 12 ビットのみ使用されます。制御出力用の比較値を格納し、A/D 変換器の開始タイミング 等を生成させます。 • デューティ(DTYx) カウンタ Ax あるいはカウンタ Bx に接続されます。16 ビット長の書き込み専用レジスタです が、微細モードでは上位 12 ビットのみ使用され、ビット 1 から 3 の 3 ビットは副 PWM 生成 器で使用されます。大小一致の比較器を持ちます。デフォルトではデューティ比較値を格納し ます。 • デッドバンド(DBx) 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 210 頁 Alligator Preliminary カウンタ Ax あるいはカウンタ Bx に接続されます。16 ビット長の読み書き込み可能なレジス タですが、微細モードでは上位 12 ビットのみ使用され、ビット 1 から 3 の 3 ビットは副 PWM 生成器で使用されます。デフォルトではカウンタ Bx 接続で立ち上がりのデッドバンド 比較値を格納します。 インプットキャプチャ動作では DBBUFx レジスタにカウンタ Ax の値が格納されます。 • ピリオド B(PERBx) カウンタ Bx に接続されます。16 ビット長の書き込み専用レジスタですが、微細モードでは上 位 12 ビットのみ使用され、ビット 1 から 3 の 3 ビットは副 PWM 生成器で使用されます。大 小一致の比較器を持ちます。デフォルトでは立ち下がりのデッドバンド比較値を格納します。 • デューティ B(DTYBx) カウンタ Ax あるいはカウンタ Bx に接続されます。16 ビット長の書き込み専用レジスタです が、微細モードでは上位 12 ビットのみ使用され、ビット 1 から 3 の 3 ビットは副 PWM 生成 器で使用されます。大小一致の比較器を持ちます。デフォルトではカウンタ Ax 接続し位相比 較値を格納します。 • カウンタ C(CNTCx) カウンタ C はゲート機能用のカウンタで、8 ビット長です。 PWMCNTx ビットを読み出すとカウンタ値を読み出せます。また、PWMCNTx ビットに書き 込んだ場合はカウンタがクリアされます。 • ゲート(Lx) カウンタ C に接続されます。8 ビット長の書き込み専用レジスタです。ゲートバンド値を格納 します。 211 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 14-13: PWM チャンネル部データパス オーバーフロー検出 更新 / バスアクセス ロード/ クリア / 停止 比較一致 副 PWM 出力 CNTAx データ カウンタ Ax 3 ビット 比較器(>/=) [3:1] 更新 / バスアクセス バスアクセス PERBUFx 比較一致 比較器 更新 / バスアクセス 制御部 / 出力部 PERDATx バスアクセス CTLDATx CTLBUFx カウンタ選択 マルチプレクサ 比較一致 比較器 [3:1] バスアクセス DBDATx バスアクセス / キャプチャ DBBUFx カウンタ選択 マルチプレクサ 比較一致 比較器(>/=) 更新 / バスアクセス バスアクセス [3:1] DTYDATx DTYBUFx マルチプレクサ カウンタ選択 比較一致 比較器(>/=) 更新 / バスアクセス バスアクセス [3:1] DTYBDATx DTYBBUFx 比較一致 比較器(>/=) 更新 / バスアクセス バスアクセス [3:1] PERBDATx PERBBUFx オーバーフロー検出 更新 / バスアクセス / クリア / 停止 比較一致 出力 CNTBx データ カウンタ Bx 比較器 更新 / バスアクセス LDATx オーバーフロー検出 更新 / バスアクセス / クリア / 停止 出力 CNTCx カウンタ Cx データ 内部データバス [15:0] 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 212 頁 Alligator Preliminary 大小比較器の使用選択 このデータパスに含まれるリソースが持つ大小あるいは一致比較器の選択を表 14-4 に示すレジスタ ビットを使用して設定する必要があります。比較器機能は一致を示す一致比較器のみ、あるいは大小 / 一致を示す大小比較器と一致比較器を持つものがあります。大小比較器を持つ比較器動作は比較選択 ビットで行います。 比較器の比較幅は微細モードでは 12 ビット、通常モードでは 16 ビットになります。割り込みと 制御出力では大小比較器は使用されず、常に一致比較のみ使用されます。 表 14-4:比較レジスタ設定 比較選択ビット リソース 比較器機能 値 ビット 14.4 0 1 カウンタ Ax = PERx カウンタ Ax ≧ PERx PERx 大小 / 一致 PERCMPx CTLx 一致 - DTYx 大小 / 一致 DTYCMPx DBx 一致 - PERBx 大小 / 一致 PERBCMPx カウンタ Bx = PERBx カウンタ Bx ≧ PERBx DTYBx 大小 / 一致 DTYBCMPx カウンタ Ax/Bx = DTYBx カウンタ Ax/Bx ≧ DTYBx カウンタ Ax= CTLx カウンタ Ax/Bx = DTYx カウンタ Ax/Bx ≧ DTYx カウンタ Ax/Bx = DBx 微細モードと通常モード PWM チャンネル動作には微細モードと通常モードがあります。FPWMENx ビットをセットすると 微細モード、クリアすると通常モードでの動作になります。この動作モードにより、主 PWM 生成器 と副 PWM 生成器の機能の切り分け、カウンタとレジスタ幅の選択をします。 主 PWM 生成器は CPWM クロックで動作する 12 ビット長あるいは 16 ビット長の選択可能なカウン タを持ちます。また、副 PWM 生成器は FPWM クロックで動作する 3 ビット長の副カウンタを持ちます。 • 微細モードでは主 PWM 生成器のカウンタは 12 ビット長を選択し、副 PWM 生成器を使用し ます。このとき、CCLKDIVx ビットを 0x0 に設定、CPWM クロックの分周比は1分周のみ使 用されます。 PWM 周期精度は、主 PWM 生成器のカウンタ長に 12 ビット長を選択するので、12 ビットに なります。 12 ビット長の主 PWM 生成器のカウンタに副 PWM 生成器の 3 ビット長カウンタを使用します が: - CCLKSEL ビットがクリアされているとき、CCLK の分周比は 1/4、副 PWM はビット 1 から 3 の 3 ビットを使用した 3 ビット長カウンタ動作になり PWM 波形精度は 15 ビットになります。 - CCLKSEL ビットがセットされているとき、CCLK の分周比は 1/2、副 PWM はビット 2 から 3 の 2 ビットを使用した 2 ビット長カウンタ動作になり PWM 波形精度は 14 ビットになります。 • 通常モードでは主 PWM 生成器のカウンタは 16 ビット長を選択し、副 PWM 生成器を使用し ません。このとき、CPWM クロックの分周比は CCLKDIVx ビットの設定により、1分周、2 分周、3 分周、4 分周が使用可能です。 PWM 周期精度は、主 PWM 生成器のカウンタ長に 16 ビット長を選択するので、16 ビットに なります。 213 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator PWM 波形精度は、16 ビット長の主 PWM 生成器のカウンタを使用するので 16 ビットになり ます。 表 14-5:微細モードと通常モード 精度 FPWMENx ビット CCLKSEL ビット 動作モード 1 0 微細モード カウンタ長 PWM 周期 PWM 波形 主 PWM 生成器 副 PWM 生成器 12 15 12 3 1 0 14.4.1 - 14 通常モード 2 16 16 - 微細モード 微細モードにするには FPWMENx ビットをセットします。この時、ホストは CCLKDIVx ビットを 0x0 に設定することにより、CPWM クロックの分周比を 1 に設定し、CPWM クロック (cclk) 周波数で 内部動作をさせなければなりません。 このモードでは副 PWM 生成器を動作させ、主 PWM 生成器は 12 ビット動作となり、PWM 周期は 12 ビット精度、PWM 波形は CCLKSEL ビットをクリアして 15 ビット、あるいは CCLKSEL ビットを セットして 14 ビット精度になります。またカウンタ Ax と Bx、CTLx レジスタは 12 ビット長で使用 されます。また、PERx、DBx、PERBx、DTYx と DTYBx レジスタは上位側 12 ビットが主 PWM 生成 器に使用され、CCLKSEL ビットをクリアしてビット 1 から 3 の 3 ビット、CCLKSEL ビットをセット してビット 2 から 3 の 2 ビットは副 PWM 生成器で使用されます。カウンタ Cx と Lx レジスタは常に 8 ビット長で使用されます。 図 14-14: 微細モードデータ 主 PWM 生成器 副 PWM 生成器 CCLKSEL=0 12 ビット カウンタ (CNTAx/Bx) CTLx PERx/DBx/PERBx/ DTYx/DTYBx 3 ビット 3 ビット CCLKSEL=1 2 ビット [15:4] [15:4] [3:1] [15:4] [3:2] カウンタ (CNTCx) [7:0] Lx [7:0] 内部動作周波数 PWM 出力の波形生成は CPWM クロックを使用した主 PWM 生成器で 12 ビット精度を持った波形 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 214 頁 Alligator Preliminary を生成出力します。その PWM 出力波形に対して、副 PWM 生成器で下位ビット分の微細な遅延を FPWM クロックの立ち上がりと立ち上がりに同期して付加し、微細な PWM 波形精度を得ます。 前述したように CPWM クロックと FPWM クロックの位相同期はされていないために、副 PWM 生 成器では主 PWM 生成器の出力を FPWM クロックで同期化させます。よって、PWM 出力は主 PWM 生成器出力に同期化回路の遅延と下位ビット分の微細な遅延を処理したものになります。 図 14-15: 微細モード PWM タイミング ピリオド周期 デューティ波形 CPWM クロック 主カウンタ P D P 主 PWM 出力 FPWM クロック PWM 出力 副 PWM 動作 波形遅延 (副 PWM 生成器) PWM 出力立ち上がり拡大 PWM 出力立ち下がり拡大 (CCLKSEL=0) CPWM クロック 主 PWM 出力 同期化遅延 同期化遅延 副 PWM 遅延 副 PWM 遅延 FPWM クロック PWM 出力 (遅延 [2:0]=0x0) PWM 出力 (遅延 [2:0]=0x1) PWM 出力 (遅延 [2:0]=0x6) PWM 出力 (遅延 [2:0]=0x7) 波形生成イメージ 微細 PWM モードでの PWM 波形生成イメージは 12 ビット長のカウンタでデューティ周期と粗ピリ オド波形を生成し、CCLKSEL ビットをクリアすると、12 ビットカウンタの 4 倍周波数のクロックを 使用して、3 ビット分 8 レベルの立ち上がりと立ち下がりにその出力に遅延を与えるものです。尚、 CCLKSEL ビットをセットすると、12 ビットカウンタの 2 倍周波数のクロックを使用して、2 ビット 分 4 レベルの立ち上がりと立ち下がりにその出力に遅延を与えます。 図 14-16 と図 14-17、以後は CCLKSEL ビットがクリアされた状態での説明です。 215 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 14-16: 微細モード PWM 波形生成フロー PWM 波形生成器 主 PWM 生成器 15 ビット分 周期と粗波形生成 @ 15 ビット精度 12 ビット分 @ 12 ビット精度 PWMO[x] 周期出力 (CCLKSEL=0) PWMOB[x] 周期出力 副 PWM 生成器 3 ビット分 (8 レベル) 微細波形遅延付加 @ 15 ビット精度 PWMO[x] 波形出力 PWMOB[x] 波形出力 PWMO[x] 出力 PWMOB[x] 出力 この PWM 波形生成フローに従った PWM 波形を示します。PWM 周期精度と呼ぶすべてのタイミ ング基準は 12 ビットであり、CCLKSEL ビットをクリアすると PWM 波形精度は PWMO[x] 出力と PWMOB[x] 出力は 15 ビットになります。 図 14-17: 微細モードでの PWM 波形生成イメージ 12 ビット精度間隔 15 ビット精度クロック 12 ビット精度クロック 主 PWM 生成器カウンタ 副 PWM 生成器カウンタ 12 ビット精度波形出力 15 ビット精度波形出力 (CCLKSEL=0) 14.4.2 15 ビット精度遅延 15 ビット精度遅延 通常モード 通常モードにするには FPWMENx ビットをクリアします。このとき、PWM チャンネルの動作周波 数は CCLKDIVx ビットにより CPWM クロック周波数の 1/1 から 1/4 分周の設定が可能です。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 216 頁 Alligator Preliminary このモードでは副 PWM 生成器は使用されず、主 PWM 生成器は 16 ビット動作となり、PWM 周期 と PWM 波形生成は 16 ビット精度になります。カウンタ Ax と Bx、CTLx、PERx、DBx、PERBx、 DTYx と DTYBx レジスタは 16 ビット長で使用されます。 カウンタ Cx と Lx レジスタは 8 ビット長で使用され、位置は 2 ビット上位側シフト、つまりカウン タ Cx のクロック 1/4 分周されたものになります。よって、Lx の設定分解能は内部動作周波数の 1/4 に なります。 図 14-18: 通常モードデータ幅 主 PWM 生成器 16 ビット カウンタ (CNTAx/Bx) (16) (16) CTLx PERx/DBx/PERBx/ DTYx/DTYBx (16) 2 カウンタ (CNTCx) (8) Lx (8) 内部動作周波数 PWM 出力の波形生成は CPWM クロックを使用した 16 ビット精度を持った波形を生成出力します。 図 14-19: 通常モード PWM タイミング ピリオド周期(16 ビット精度) デューティ波形(16 ビット精度) CPWM クロック 主 PWM 生成器カウンタ P D P PWM 出力 217 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 14.5 Alligator PWM チャンネル動作方式 PWM チャンネル動作方式は相補付き PWM、相補付き PWM2、2 相 PWM、基本 PWM の4種類の 動作方式が可能です。FUNCx ビットでいずれかの動作方式を選択、そして、CHSTARTx ビットと PEREXx ビットで詳細な動作方式を定めます。 FUNCx ビット、CHSTARTx ビット、PEREXx ビットは PWMENx ビットがクリアされているとき に変更する必要があります。この PWMENx ビットがセットしているときにそれらのビットを変更した ときの動作は不定になります。 表 14-6:PWM チャンネル動作方式 レジスタビット 動作方式 備考 FUNCx CHSTARTx PEREXx 0 0 0 1 0 あるいは 1 0 0 1 0 あるいは 1 相補付き PWM 相補付き PWM2 1 2 相 PWM 2 基本 PWM 3 チャンネルリセットモード チャンネルリセットモード 0 各動作方式におけるリソース用途とカウンタ接続を表 14-7 に示します。 表 14-7:リソース機能 相補付き PWM リソー ス 相補付き PWM2 2 相 PWM 基本 PWM 用途 カウン タ 用途 カウン タ 用途 カウン タ 用途 カウン タ CNTAx 主カウンタ - 主カウンタ - 主カウンタ - カウンタ 0 - CNTBx 副カウンタ - 副カウンタ - 副カウンタ - カウンタ 1 - CNTCx ゲートカウンタ - ゲートカウンタ - ゲートカウンタ - ゲートカウンタ - PERx ピリオド (Ax) ピリオド (Ax) ピリオド (Ax) ピリオド 0 (Ax) CTLx ( 制御出力) (Ax) ( 制御出力) (Ax) ( 制御出力) (Ax) ( 制御出力) (Ax) DBx 立ち上がり デッドタイム Bx デューティ B Bx マスター遅延 Ax - Bx DTYx デューティ Ax デューティ Ax マスターデュー ティ Ax デューティ 0 Ax DTYBx ( 位相制御) Ax ( 位相制御) Ax スレーブデュー ティ Bx デューティ 1 Bx PERBx 立ち下がり デッドタイム (Bx) 立ち下がり デッドタイム (Bx) スレーブ遅延 (Bx) ピリオド 1 (Bx) Lx ゲートバンド (Cx) ゲートバンド (Cx) ゲートバンド (Cx) ゲートバンド (Cx) ゲートバンドとピリオドを除く設定範囲は 0 から最大値になり、従って、周期幅と波形幅は 0 から 最大値になります。よって、最大値を設定すると周期幅と波形幅は 0(ゼロ値)になります。この時、 微細モードでは上位 12 ビットがすべて1、通常モードでは 16 ビットがすべて1であるときに最大値 と扱われます。また、デッドタイム 0 であれば、そのデッドタイムがスキップされます。 各動作方式で使用する内部リソースを表 14-8 に示すゼロ値を設定すると、ゼロデータとして扱われ ます。相補付き PWM 動作と相補付き PWM2 動作におけるチャンネルリセット動作では位相遅延がゼ ロの設定はありません。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 218 頁 Alligator Preliminary 表 14-8:ゼロ条件 リソース 設定範囲 ゼロ値 PERx 3 から最大 値 無し 無し(ピリオドレジスタ) CTLx 0 から最大 値 -1 最大値 遅延 0 DBx 相補付き PWM 立ち上がり デッドタイム 0 相補付き PWM2 デューティ B0 2 相 PWM 基本 PWM マスター遅延 0 (使用せず) DTYx デューティ 0 マスターデュー ティ 0 A デューティ 0 DTYBx 位相遅延 0 (チャンネルリセットモードでない) スレーブデュー ティ 0 B デューティ 0 PERBx 立ち下がりデッドタイム 0 スレーブ遅延 0 無し(ピリオド レジスタ) Lx 0 から最大 値 無し 無し(ゲートバンドレジスタ) ピリオドレジスタは 0 から最大値まで設定可能ですが、動作可能な設定範囲は 3 から最大値になり ます。よって、ピリオドの最小幅は 4 となり、周期幅と波形幅は 4 から(最大値 +1)になります。 よって、微細モードでは上位 12 ビットがすべて1、通常モードでは 16 ビットがすべて1であると きには、最大値であり、周期幅と波形幅は(最大値 +1)になります。 相補付き PWM、相補付き PWM2、2 相 PWM では PERx レジスタはピリオドレジスタとみなされ ます。また、基本 PWM では PERx と PERBx レジスタはピリオドレジスタとみなされます。 ゲートバンドレジスタである Lx レジスタの設定範囲は 0 から 255 であり、ゲートバンドは 1 か ら 256 になります。 219 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 14.5.1 Alligator 相補付き PWM 動作方式 基本 PWM 動作方式にコンプリメンタリ出力を付加した相補付き PWM 動作方式は PWMO[x] 出力と PWMOB[x] 出力の 2 つの出力を使用し、ピリオド、デューティ、そして、立ち上がりと立ち下がりの デッドタイムを持ちます。ピリオドには PERx、デューティは DTYx、立ち上がりデッドタイムは DBx、 立ち下がりデッドタイムは PERBx に値を書き込みます。この動作方式では DTYx はカウンタ Ax、DBx はカウンタ Bx に接続されます。よって、ピリオドの最大値はカウンタ Ax の(最大値 +1) になります。 PERx レジスタは 3 から最大値までが設定可能になります。この時、ピリオドは 4 から(最大値 +1) クロックになります。DBx レジスタが最大値であるときは、立ち上がりデッドタイムがゼロとし て動作をします。このとき、動作開始で同時に PWMO[x] 出力はハイレベル、PWMOB[x] 出力はロー レベルとなります。PERBx レジスタが最大値であるときは立ち下がりデッドタイムがゼロとして動作 をします。この時、同時に PWMO[x] 出力はローレベル、PWMOB[x] 出力はハイレベルとなります。 CHSTARTx ビットがクリアされているときの動作がこの相補付き PWM 動作方式の基本動作になり ます。 図 14-20: 相補付き PWM 動作方式タイミング PERx+1 DTYx+1 PWMO[x] PWMOB[x] DBx+1 PERBx+1 CNTAx CNTBx DTYBx は波形生成やピリオド周期には使用されませんが、位相制御用の遅延値使用などで使用され ます。このとき、DTYBx はカウンタ Ax 接続になり、DTYBx 値がカウンタ Ax との比較一致が遅延値 を示す位相シフト出力されます。また、DTYBx レジスタを最大値にしたときは遅延値がゼロとみなさ れ、カウンタ Ax をクリアするソース(カウンタ Ax と PERx 一致)が位相シフト出力されます。 この動作方式では DTYBx は一致比較のみの設定をする必要があります。 図 14-21 に DTYBx に値 D と最大値に設定した場合の位相シフト量を示します。この設定による位 相シフト量はそれぞれ(D+1) とゼロになります。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 220 頁 Alligator Preliminary 図 14-21: DTYBx 比較一致による位相シフト量 ピリオド CPWM クロック カウンタ 0 D 1 位相シフト量 = (D+1) DTYBx D 位相シフト出力 (DTYBx 一致) 位相シフト アクティブ期間 位相シフト量 = ゼロ 最大値 DTYBx 位相シフト出力 (DTYBx 一致) 位相シフト アクティブ期間 PERx と DTYx はカウンタ Ax、DBx と PERBx はカウンタ Bx を使用します。また、チャンネルリ セットにより動作を初期位置に戻し、動作を続けさせます。 以下の境界条件があります: • ピリオド開始で PWM 動作は初期化されます。即ち、カウンタ Ax と PERx の比較一致あるい はカウンタ Ax のオーバーフローにより、どのような波形出力、カウンタ Ax 動作、カウンタ Bx 動作等の PWM 動作は初期化されます。 • カウンタ Ax がインクリメントしても、PERx の一致検出がなされずにオーバーフローした場 合には、PERx 一致の動作と同じカウンタ動作と PWM 出力動作と更新要求がなされます。こ の時、制御出力や状態ビットへの反映はありません。 • DTYx の一致検出がなされずに、PERx の一致検出あるいはカウンタ Ax オーバーフローした場 合には、立ち下がりデッドタイムが確保されず、ピリオドの開始位置で初期化されます。 • カウンタ Bx がオーバーフローになると、カウンタ Bx はゼロから動作を続け、再び DBx ある いは PERBx 一致を待ちます。 PWMENx ビットがクリアされているときは、両カウンタはクリアかつ停止状態にあり、更新要求は 発生しません。 更新ビットである DATAUPx ビットが 0x1 であるときは、表 14-9 で示す更新条件により、レジスタ BUF 内容が DAT にコピーされます。 • PWMO[x] 側のハイレベル(デューティ)は (DTYx+1)-(DBx+1) で与えられます。PWMOB[x] 側のハイレベル(デューティ B と呼ぶ)は PERx+1-(DTYx+1)-(PERBx+1) で与えられます。 この動作方式は PWM チャンネル部で独立した動作、あるいは位相シフト PWM のマスターPWM を 想定しています。チャンネルリセットにより、ピリオド一致と同一動作になり、初期位置からの動作 になります。 221 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 14-22: 微細モードでの相補付き PWM 詳細波形タイミング ピリオド周期(PERx[15:4]) デューティ周期 (DTYx[15:4]) カウンタ Ax[15:4] PWMO[x] 周期出力 立ち下がりデッドタイム周期 (PERB[15:4]) 立ち上がりデッドタイム周期 (DBx[15:4]) PWMOB[x] 周期出力 副 PWM 遅延(DBx) 副 PWM 遅延(DTYx) PWMO[x] 波形出力 副 PWM 遅延(PERBx) 副 PWM 遅延(PERx) PWMOB[x] 波形出力 カウンタ Ax 動作 カウンタ Ax は主カウンタとして、PWM 波形生成の主制御として使用されます。 • カウンタ Ax は常に動作します。カウンタ Ax 値のデューティ比較で PWMO[x] 出力をクリア、 また、カウンタ Ax 値のピリオド比較でカウンタ Ax をクリア、PWMOB[x] 出力をクリアしま す。また、カウンタ Ax がオーバーフローすると、カウンタ Ax を(結果として)クリア、 PWMOB[x] 出力をクリアします。 • PWMENx ビットをクリアからセットすると、カウンタ Ax は動作開始、PWMO[x] 出力と PWMOB[x] 出力はクリアされます。 表 14-9:カウンタ Ax 動作 出力 CNTAx クリ ア CNTAx 動作 動作停止 クリア 動作開始 - チャンネルリセット 条件 更新要求 PWMO[x] PWMOB[x] 停止 - - - 常時 クリア クリア - クリア クリア クリア 更新要求 CNTAx と DTYx 一致 - クリア クリア CNTAx と PERx 一致 クリア クリア クリア CNTAx オーバーフロー (クリア) 更新要求 カウンタ Bx 動作 カウンタ Bx はデッドタイム生成に使用されます。カウンタ Bx の動作開始はカウンタ Ax で定めら れ、動作停止はカウンタ Bx で決められます。このカウンタ Bx の動作停止条件一致により、PWMO[x] 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 222 頁 Alligator Preliminary 出力あるいは PWMOB[x] 出力がセットあるいはクリアされます。カウンタ Bx が停止状態にあるとき はカウンタはクリアされた状態になります。 • PWMENx ビットをクリアからセットすると、カウンタ Bx は動作開始します。カウンタ Bx の DBx 一致でカウンタ Bx をクリアかつ動作を停止、PWMO[x] 出力をセットします。 • カウンタ Ax の PERx 一致でカウンタがクリアかつカウント開始となり、カウンタ Bx の DBx 一致でカウンタ Bx をクリアかつ動作を停止、PWMO[x] 出力をセットします。 • カウンタ Ax の DTYx 一致でカウンタがクリアかつカウント開始となり、カウンタ Bx の PERBx 一致でカウンタ Bx をクリアかつ動作を停止、PWMOB[x] 出力をセットします。 表 14-10:カウンタ Bx 動作 14.5.1.1 出力 CNTBx クリ ア CNTBx 動作 CNTAx と DTYx 一致 クリア 開始 1 CNTAx と PERx 一致 クリア 開始 0 CNTBx の DBx 一致 クリア 終了 0 セット - CNTBx の PERBx 一致 クリア 終了 1 - セット 条件 PWMO[x] PWMOB[x] CNTAx 側で動作を規定 チャンネルリセットモード 相補付き PWM 動作方式で CHSTARTx ビットをセットすると、チャンネルリセットにより動作を開 始、そして、カウンタ Ax と PERx 比較一致あるいはカウンタ Ax オーバーフローによるピリオド比較 一致でカウンタは停止動作になります。 チャンネルリセットモードでは DTYBx レジスタによる遅延ゼロの設定は出来ません。よって、 DTYBx が 0 であれば、遅延量が1、最大値であれば最大の遅延量になります。 図 14-23: 相補付き PWM 動作方式(チャンネルリセットモード)タイミング チャンネルリセット PERx+1 DTYx+1 PWMO[x] PWMOB[x] PEREXx = 0 PEREXx = 0 PEREXx = 1 PEREXx = 1 DBx+1 PERBx+1 CNTAx CNTAx クリアかつ停止 CNTBx 223 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 更新ビットである DATAUPx ビットが 0x1 であるとき、表 14-11 で示す更新条件により、レジスタ BUF 内容が DAT にコピーされます。CHSTARTx ビットをクリアした場合と異なり、チャンネルリセッ トによる更新だけになります。 ピリオド一致、あるいはカウンタ Ax がオーバーフローすると、カウンタはクリアされ停止します。 このとき : • PEREXx ビットがクリアされていると、PWMOB[x] 出力はセット(結果として、そのままのレ ベル)になります。 • PEREXx ビットがセットされていると、PWMOB[x] 出力はクリアされます。 そして、チャンネルリセットにより動作を初期位置に戻し、動作を続けさせます。 図 14-24: 微細モードでの相補付き PWM(チャンネルリセットモード)詳細波形タイミング ピリオド周期(PERx[15:4]) デューティ周期 (DTYx[15:4]) カウンタ Ax[15:4] PWMO[x] 周期出力 PEREXx = 0 立ち下がりデッドタイム周期 (PERB[15:4]) 立ち上がりデッドタイム周期 (DBx[15:4]) PEREXx = 0 PWMOB[x] 周期出力 PEREXx = 1 PEREXx = 1 副 PWM 遅延(DBx) 副 PWM 遅延(DTYx) PWMO[x] 波形出力 副 PWM 遅延(PERx) 副 PWM 遅延(PERBx) 副 PWM 遅延(PERx) PEREXx = 0 PEREXx = 0 PWMOB[x] 波形出力 PEREXx = 1 PEREXx = 1 カウンタ Ax はチャンネルリセットにより、カウンタ Ax がクリアかつカウント開始、カウンタ Ax 値が PERx 一致あるいはカウンタ Ax のオーバーフローによるピリオド値になれば、カウンタ Ax をク リアし、次のチャンネルリセットまで動作を停止させます。カウンタ Bx の動作は CHSTARTx ビット の値に関係ありません。 表 14-11:カウンタ Ax 動作 出力 CNTAx クリ ア CNTAx 動作 動作停止 クリア 動作開始 条件 更新要求 PWMO[x] PWMOB[x] 停止 - - - - - - - - チャンネルリセット クリア 開始 クリア クリア 更新要求 CNTAx と DTYx 一致 - - クリア クリア - 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 224 頁 Alligator Preliminary 表 14-11:カウンタ Ax 動作 条件 出力 CNTAx クリ ア CNTAx 動作 クリア 終了 CNTAx と PERx 一致 更新要求 PWMO[x] PWMOB[x] クリア PEREXxa - CNTAx オーバーフロー a. PEREXx ビットがクリアであるときは PWMOB[x] 出力はセット(結果としてそのままのレベル)、 PEREXx ビットがセットであるときは PWMOB[x] 出力はクリアされる 14.5.1.2 実際のデューティ値 DTYx の値にデューティ幅を定めますが、表 14-12 に示すように DTYx と他のパラメータ値により実 際のデューティ値を取ります。 表 14-12:デューティ値 DTYx デューティ値 最大値 0 0 ≦ かつ ≦ DBx 0 DBx < かつ ≦ (PERx-PERBx) DTYx-DBx (PERx-PERBx)< かつ < 最大値 (PERx-PERBx) < DTYx=(最大値)の PWM 動作 DTYx を最大値に設定するとデューティ 0 の PWM 動作になります。この時、PWMO[x] 出力はロー レベルになりますが、PWMOB[x] 出力は立ち上がりデッドタイムと立ち下がりデッドタイム後にハイ レベルとなる信号になります。以下の境界条件動作を持ちます: • DBx に最大値を設定して立ち上がりデッドタイムをゼロに設定すると、PWMO[x] 出力には ローレベルが出力され、PWMOB[x] 出力には(PERBx+1)の幅を持つ立ち下がりデッドタイ ムを持つ PWM 波形が出力されます。 • PERBx に最大値を設定して立ち下がりデッドタイムをゼロに設定すると、PWMO[x] 出力は ローレベルが出力され、PWMOB[x] 出力には(DBx+1)の幅を持つ立ち上がりデッドタイムを 持つ PWM 波形が出力されます。 • DBx と PERBx の両方に最大値を設定して、立ち上がりデッドタイムと立ち下がりデッドタイ ムをゼロに設定すると、PWMO[x] 出力はローレベル、PWMOB[x] 出力はハイレベルになりま す。 225 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 14-25: DTYx=(最大値)の PWM 動作 DTYx= (最大値) PWMO[x] ローレベル " DTYx= (最大値) ローレベル " DTYx= (最大値) ローレベル " ローレベル " ハイレベル " PWMOB[x] DBx+1 DTYx= (最大値) PERBx+1 DBx= (最大値) PERBx+1 PERx+1 PERx+1 PERBx=(最大値) DBx/PERBx= (最大値) DBx+1 PERx+1 PERx+1 0 ≦ DTYx < DBx の PWM 動作 DTYx を 0 以上、DBx 未満の値に設定しても、デューティ 0 の PWM 動作になります。この時、 PWMO[x] 出力はローレベルになりますが、PWMOB[x] 出力は立ち上がりデッドタイムと立ち下がり デッドタイム後にハイレベルとなる信号になります。尚、この時、DBx の値は最大値ではありません。 • PERBx に最大値を設定して立ち下がりデッドタイムをゼロに設定すると、PWMO[x] 出力は ローレベルが出力され、PWMOB[x] 出力には(DBx+1)の幅を持つ立ち上がりデッドタイムを 持つ PWM 波形が出力されます。 図 14-26: 0 ≦ DTYx < DBx の PWM 動作 DTYx+1 PWMO[x] DTYx+1 ローレベル " PWMOB[x] PERBx+1 ローレベル " PERBx= (最大値 ) DBx+1 PERx+1 PERx+1 DBx ≦ DTYx ≦ (PERx-PERBx) の PWM 動作 この条件であるときが PWM 動作になります。DBx が最大値であるときは PWMO[x] 出力が立ち上 がりデッドタイムゼロ、PERBx が最大値であるときは、PWMOB[x] 出力の立ち下がりデッドタイムゼ ロの PWM 波形になります。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 226 頁 Alligator Preliminary 図 14-27: DBx ≦ DTYx ≦ (PERx-PERBx) の PWM 動作 DTYx+1 DTYx+1 DTYx+1 DTYx+1 PWMO[x] PERBx= (最大値 ) PWMOB[x] DBx+1 PERBx+1 PERx+1 DBx+1 DBx=(最大値) DBx/PERBx= (最大値) PERBx+1 PERx+1 PERx+1 PERx+1 (PERx-PERBx) < DTYx < PERx の PWM 動作 この条件であるときは、PWMO[x] 出力には立ち上がりデッドタイム様な波形を持ち、PERBx+1 の 波形長より短い立ち下がりデッドタイム様な波形を持った PWM 波形が出力されます。 • DBx に最大値を設定して立ち上がりデッドタイムをゼロに設定すると、PWMO[x] 出力には立 ち上がりデッドタイムがゼロ、かつ、(PERBx+1)の波形長より短い立ち下がりデッドタイム を持った PWM 波形が出力されます。 図 14-28: (PERx-PERBx)< DTYx < PERx の PWM 動作 DTYx+1 DTYx+1 PWMO[x] PWMOB[x] ローレベル " DBx+1 PERBx+1 PERx+1 DBx= (最大値) PERBBx+1 PERx+1 PERx ≦ DTYx <(最大値)の PWM 動作 この条件であるときは、PWMO[x] 出力には立ち上がりデッドタイムを持ったハイレベル PWM 波形 が出力され、PWMOB[x] 出力はローレベルになります。尚、PERBx の内容は無視されます。 • DBx に最大値を設定して立ち上がりデッドタイムをゼロに設定すると、PWMO[x] 出力はハイ レベル、PWMOB[x] 出力はローレベルになります。 227 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 14-29: (PERx ≦ DTYx<(最大値)の PWM 動作 DTYx > PERx DTYx > PERx PWMO[x] ハイレベル " ローレベル " PWMOB[x] ローレベル " DBx+1 DBx= (最大値 ) PERx+1 14.5.1.3 PERx+1 特別な PWM 出力動作例 特別な PWM 出力を得る例を示します。 デューティ最小の PWM 動作 デューティ幅を最小のゼロ付近で動作させるには、DTYx の値を小さくしますが、値が 0 ではデュー ティが1になります。そして、完全にデューティ幅をゼロにするには DTYx を最大値にして PWMO[x] 出力をローレベル、同時に、DBx と PERBx の両方に最大値を設定して、立ち上がりデッドタイムと 立ち下がりデッドタイムをゼロに設定すると、PWMOB[x] 出力はハイレベルになります。 図 14-30: PWM デューティ最小付近動作 デューティ4 DTYx= DBxx+4 デューティ1 DTYx= DBX+1 デューティ0 デューティ0 デューティ1 DTYx= 最大値 DTYx= DBX+1 デューティ4 DTYx= DBX+4 PWMO[x] 立ち上がり / 立ち下がりデッドタイム 0 PWMOB[x] DBx/PERBx=3 DBx/PERBx= 最大値 DBx/PERBx=3 デューティ最大付近での PWM 動作 デューティ最大付近での PWM 動作は DTYx の値を PERx より大きくすることで、デューティ幅を 最大にします。そのとき、DBx と PERBx を最大値にすれば、デューティ幅 100% の PWM 波形を生 成出来ます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 228 頁 Alligator Preliminary 図 14-31: PWM デューティ最大付近動作 デューティ4 DTYx= デューティ1 DTYx>PERx デューティ0 デューティ0 デューティ1 DTYx>PERx DTYx= デューティ4 DTYx= PWMO[x] 立ち上がり / 立ち下がりデッドタイム 0 PWMOB[x] DBx=2 PERBx=3 DBx= 最大値 PERBx=3 DBx/PERBx= 最大値 DBx= 最大値 PERBx=3 DBx=2 PERBx=3 PWMOB[x] のオン / オフ動作 PWMO[x] 出力と PWMOB[x] 出力動作中に、PWM 周期に同期して PWMOB[x] 出力をオフ(ローレ ベル)にすることが可能です。これは PERBx の値を PERx-(DBx+DTYx)より大きくすることで実現 します。 図 14-32: PWM オン / オフ動作 PWM 周期 PWMO[x] PWMOB[x] PWMOB[x] をオフ 14.5.2 相補付き PWM2 動作方式 相補付き PWM2 動作方式は PWMO[x] 出力と PWMOB[x] 出力の 2 つの出力を使用し、ピリオド、 デューティ、立ち下がりデッドタイム、コンプリメンタリ側出力の PWMOB[x] 出力側デューティ (デューティ B と呼ぶ)、立ち上がりのデッドタイムを持ちます。ピリオドには PERx、デューティは DTYx、立ち下がりデッドタイムは PERBx、デューティ B は DBx に値を書き込みます。立ち上がり デッドタイムは (PERx+ 1)-(DTYx+1)-(PERBx+1)-(DTYBx+1) で与えられます。ピリオドの最大値 はカウンタ Ax の長さになります。 229 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 14-33: 相補付き PWM2 動作方式タイミング PERx+1 DTYx+1 PWMO[x] DBx+1 PWMOB[x] PERBx+1 PERx+1-(DTYx+1) -(PERBx+1)-(DBx+1) CNTAx CNTBx DTYBx の使用法は相補付き PWM 動作方式と同一です。 PERx と DTYx、DTYBx はカウンタ Ax、PERBx と DBx はカウンタ Bx を使用します。カウンタ Ax がオーバーフローした場合は、PERx 一致と同じ動作になります。チャンネルリセットにより動作を初 期位置に戻し、動作を続けさせます。 以下の境界条件があります: • ピリオド開始で PWM 動作は初期化されます。即ち、カウンタ Ax と PERx の比較一致あるい はカウンタ Ax のオーバーフローにより、どのような波形出力、カウンタ Ax 動作、カウンタ Bx 動作等の PWM 動作は初期化されます。 • カウンタ Ax がインクリメントしても、PERx の一致検出がなされずにオーバーフローした場 合には、PERx 一致の動作と同じカウンタ動作と PWM 出力動作と更新要求がなされます。こ の時、制御出力や状態ビットの反映はありません。 • DTYx の一致検出がなされずに、PERx の一致検出あるいはカウンタ Ax オーバーフローした場 合には、立ち下がりデッドタイムが確保されず、ピリオドの開始位置で初期化されます。 • カウンタ Bx がオーバーフローすると、カウンタ Bx はゼロから動作を続け、再び DBx あるい PERBx の一致を待ちます。 PERx レジスタは 3 から最大値までが設定可能になります。この時、ピリオドは 4 から(最大値 +1) クロックになります。PERBx レジスタが最大値であるときは立ち下がりデッドタイムがゼロとし て動作をします。この時、同時に PWMO[x] 出力はローレベル、PWMOB[x] 出力はハイレベルとな ります。 PWMENx ビットがクリアされているとき、両カウンタはクリアかつ停止状態にあり、更新要求は発 生しません。 更新ビットである DATAUPx ビットが 0x1 であるとき、表 14-9 で示す更新条件により、レジスタ BUF 内容が DAT にコピーされます。 立 ち 上 が り デ ッ ド タ イ ム(P W M O B [ x ] 出 力 セ ッ ト 側 の デ ッ ド タ イ ム)は ( P E R x + 1)が (DTYx+1)+(PERBx+1)+(DBx+1) と一致するとき、結果としてゼロとなります。 以下にデューティ波形の精度を説明します: 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 230 頁 Alligator Preliminary • PWMO[x] 側のハイレベル(デューティ)は (DTYx+1)で与えられます。 • PWMOB[x] 側のハイレベル(デューティ B と呼ぶ)は(DBx+1)で与えられます。 チャンネルリセットにより、ピリオド一致と同一動作になり、初期位置からの動作になります。 図 14-34: 微細モードでの相補付き PWM2 詳細波形タイミング ピリオド周期(PERx[15:4]) デューティ周期 (DTYx[15:4]) デューティB 周期 (DBx[15:4]) カウンタ Ax[15:4] PWMO[x] 周期出力 立ち下がりデッドタイム周期 (PERB[15:4]) PWMOB[x] 周期出力 副 PWM 遅延(PERx) 副 PWM 遅延(DTYx) PWMO[x] 波形出力 副 PWM 遅延(PERBx) 副 PWM 遅延 (DBx) PWMOB[x] 波形出力 カウンタ Ax 動作 カウンタ Ax は主カウンタとして、PWM 波形生成の主制御として使用されます。 • カウンタ Ax は常に動作します。カウンタ Ax 値のデューティ比較で PWMO[x] 出力をクリア、 また、カウンタ Ax 値のピリオド比較一致あるいはカウンタ Ax オーバーフローでカウンタ Ax をクリア、PWMO[x] 出力をセットします。 • PWMENx ビットをクリアからセットすると、カウンタ Ax は動作開始、PWMO[x] 出力はセッ トと PWMOB[x] 出力はクリアされます。 表 14-13:カウンタ Ax 動作 出力 CNTAx クリ ア CNTAx 動作 動作停止 クリア 動作開始 - チャンネルリセット 条件 更新要求 PWMO[x] PWMOB[x] 停止 - - - 常時 セット クリア - クリア セット クリア 更新要求 CNTAx と DTYx 一致 - クリア クリア CNTAx と PERx 一致 クリア セット クリア 更新要求 CNTAx オーバーフロー 231 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator カウンタ Bx 動作 カウンタ Bx はデューティ B 生成と立ち下がりデッドタイム生成に使用されます。カウンタ Bx の動 作開始はカウンタ Ax で定められ、動作停止はカウンタ Bx で決められます。このカウンタ Bx の動作 停止条件一致により、PWMO[x] 出力あるいは PWMOB[x] 出力がセットあるいはクリアされます。カ ウンタ Bx が停止状態にあるときはカウンタはクリアされた状態になります。 • カウンタ Ax の PERx 一致でカウンタ Bx をクリアかつカウント停止、PWMOB[x] 出力をクリ アします。 • カウンタ Ax の DTYx 一致でカウンタ Bx のカウント開始となり、カウンタ Bx の PERBx 一致 でカウンタ Bx をクリアかつ、PWMOB[x] 出力をセットします。 • そのまま、カウンタ Bx の動作を開始し、カウンタ Bx の DBx 一致でカウンタ Bx をかつ動作を 停止、PWMOB[x] 出力をクリアします。 表 14-14:カウンタ Bx 動作 出力 条件 CNTBx クリア CNTBx 動作 PWMO[x] 14.5.2.1 PWMOB[x] CNTAx と DTYx 一致 クリア 開始 0 (CNTAx 側で動作を規定) CNTAx と PERx 一致 クリア 停止 CNTBx の PERBx 一致 クリア 終了 0/ 開始 1 クリア セット CNTBx の DBx 一致 クリア 終了 1/ 停止 クリア クリア チャンネルリセットモード 相補付き PWM2 動作方式で CHSTARTx ビットをセットすると、チャンネルリセットにより動作を 開始、そして、カウンタ Ax と PERx 比較一致あるいはカウンタ Ax オーバーフローによるピリオド比 較一致でカウンタはクリアされ停止動作になります。 チャンネルリセットモードでは DTYBx レジスタによる遅延ゼロの設定は出来ません。よって、 DTYBx が 0 であれば、遅延量が1、最大値であれば最大の遅延量になります。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 232 頁 Alligator Preliminary 図 14-35: 相補付き PWM2 動作方式(チャンネルリセットモード)タイミング チャンネルリセット PERx+1 DTYx+1 PEREXx = 1 PWMO[x] DBx+1 PEREXx = 0 PWMOB[x] PERBx+1 CNTAx PERx+1-(DTYx+1) -(PERBx+1)-(DBx+1) CNTAx 停止 CNTBx 更新ビットである DATAUPx ビットが 0x1 であるとき、表 14-9 で示す更新条件により、レジスタ BUF 内容が DAT にコピーされます。CHSTARTx ビットをクリアした場合と異なり、チャンネルリセッ トによる更新だけになります。 ピリオド一致、あるいはカウンタ Ax がオーバーフローすると、カウンタはクリアされ停止します。 このとき : • PEREXx ビットがクリアされていると、PWMO[x] 出力はクリア(結果としてそのまま)にな ります。 • PEREXx ビットがセットされていると、PWMO[x] 出力はセットされます。 そして、チャンネルリセットにより動作を初期位置に戻し、動作を続けさせます。 233 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 14-36: 微細モードでの相補付き PWM2(チャンネルリセットモード)詳細波形タイミング ピリオド周期(PERx[15:4]) デューティ周期 (DTYx[15:4]) デューティB 周期 (DBx[15:4]) カウンタ Ax[15:4] PEREXx = 1 PEREXx = 0 PWMO[x] 周期出力 立ち下がりデッドタイム周期 (PERB[15:4]) PWMOB[x] 周期出力 副 PWM 遅延(PERx) 副 PWM 遅延(DTYx) PWMO[x] 波形出力 副 PWM 遅延 (PERBx) 副 PWM 遅延 (DBx) PWMOB[x] 波形出力 カウンタ Ax はチャンネルリセットにより、カウンタ Ax がクリアかつカウント開始、カウンタ Ax 値が PERx と比較一致あるいはオーバーフローからなるピリオド値になれば、カウンタ Ax をクリア し、次のチャンネルリセットまで動作を停止させます。カウンタ Bx の動作は CHSTARTx ビットの値 に関係ありません。 表 14-15:カウンタ Ax 動作 出力 CNTAx クリ ア CNTAx 動作 動作停止 クリア 動作開始 条件 更新要求 PWMO[x] PWMOB[x] 停止 - - - - - - - - チャンネルリセット クリア 開始 セット クリア 更新要求 CNTAx と DTYx 一致 - - クリア クリア CNTAx と PERx 一致 クリア 終了 PEREXxa クリア - CNTAx オーバーフロー a. PEREXx ビットがクリアで PWMO[x] 出力はクリア(結果としてそのままのレベル) 、PEREXx ビットがセットで PWMO[x] 出力はセットされる。 14.5.3 2 相 PWM 動作方式 この 2 相 PWM 動作方式は1つのピリオドに 2 つの PWM 波形出力を行うものです。これはプッシュ プル PWM を想定したものです。 ピリオドには PERx、マスター用遅延は DBx、マスター用デューティは DTYx、スレーブ用遅延は PERBx、スレーブ用デューティは DTYBx で設定します。ピリオドの最大値はカウンタ Ax の(最大値 +1) になります。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 234 頁 Alligator Preliminary PERx レジスタは 3 から最大値までが設定可能になります。この時、ピリオドは 4 から(最大値 +1) クロックになります。DBx レジスタが最大値であるときは、マスター遅延がゼロとして動作をし ます。このとき、動作開始で PWMO[x] 出力はハイレベルとなります。PERBx レジスタが最大値で あるときはスレーブ遅延がゼロとして動作をします。この時、動作開始で PWMOB[x] 出力はハイレ ベルとなります。 このマスター側の出力波形とスレーブ側の出力波形の前後関係は独立になります。即ち、DBx の値 が PERBx の値より小さいケースもあります。 図 14-37: 2相 PWM 動作方式 PERx+1 DTYx+1 DBx+1 PWMO[x] DTYBx+1 PWMOB[x] PERBx+1 CNTAx CNTBx 2 相 PWM 動作方式では次のようなピリオドが同一である2つの波形生成も可能になります。この方 式では対称波形を持った PWM 波形出力も生成可能です。 図 14-38: 2相 PWM 動作方式 PERx+1 DTYx+1 DBx+1 PWMO[x] DTYBx+1 PWMOB[x] PERBx+1 PERx と DTYx、DBx はカウンタ Ax、PERBx と DTYBx はカウンタ Bx を使用します。チャンネル リセットにより、ピリオド一致と同一動作になり、初期位置からの動作になります。 以下の境界条件があります: • ピリオド開始で PWM 動作は初期化されます。即ち、カウンタ Ax と PERx の比較一致あるい 235 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator はカウンタ Ax のオーバーフローにより、どのような波形出力、カウンタ Ax 動作、カウンタ Bx 動作等の PWM 動作は初期化されます。 • カウンタ Ax がインクリメントしても、PERx の一致検出がなされずにオーバーフローした場 合には、PERx 一致の動作と同じカウンタ動作と PWM 出力動作と更新要求がなされます。こ の時、制御出力や状態ビットへの反映はありません。 • カウンタ Bx がオーバーフローしても、カウンタ Bx は停止しません。カウンタ値が0に戻った 後に、PERBx あるいは DTYBx の比較一致まで再びインクリメントします。 PWMENx ビットがクリアされているとき、両カウンタはクリアかつ停止状態にあり、更新要求は発 生しません。 更新ビットである DATAUPx ビットが 0x1 であるとき、表 14-16 で示す更新条件により、レジスタ BUF 内容が DAT にコピーされます。 PWMO[x] 側のハイレベル(デューティ)は (DTYx+1)-(DBx+1) で与えられます。PWMOB[x] 側のハ イレベル(デューティ B と呼ぶ)は (DTYBx+1) で与えられます。 図 14-39: 微細モードでの 2 相 PWM 詳細波形タイミング ピリオド周期(PERx[15:4]) マスターデューティ周期 (DTYx[15:4]) カウンタ Ax[15:4] PWMO[x] 周期出力 マスター遅延周期 (DBx[15:4]) PWMOB[x] 周期出力 スレーブ遅延周期 (PERB[15:4]) 副 PWM 遅延(DBx) スレーブデューティ周期 (DTYBx[15:4]) 副 PWM 遅延(DTYx) PWMO[x] 波形出力 副 PWM 遅延(PERBx) 副 PWM 遅延(DTYBx) PWMOB[x] 波形出力 カウンタ Ax 動作 カウンタ Ax は主カウンタとして、PWM 波形生成の主制御と PWMO[x] 出力の制御として使用され ます。主カウンタは出力波形の生成と副カウンタであるカウンタ Bx の開始を行わせます。 • カウンタ Ax は常に動作します。カウンタ Ax 値と DBx 一致で、PWMO[x] 出力をセット、カウ ンタ Ax 値と DTYx 一致で、PWMO[x] 出力をクリアします。 • カウンタ Ax 値の PERx 一致、あるいはカウンタ Ax のオーバーフローでカウンタ Ax をクリア そして動作開始となり、 - DBx による PWMO[x] 遅延が 0 以外であれば、PWMO[x] をクリアします。 - DBx による PWMO[x] 遅延が 0 であれば、PWMO[x] セットします。 - PERBx による PWMOB[x] 遅延が 0 以外であれば、 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 236 頁 Alligator Preliminary PWMOB[x] 出力をクリアします。 スレーブ遅延用にカウンタ Bx を動作開始させます - PERBx による PWMOB[x] 遅延が 0 であれば、 PWMOB[x] 出力をセットします。 スレーブデューティ用にカウンタ Bx を動作開始させます • PWMENx ビットをクリアからセットすると、カウンタ Ax 値の PERx 一致からの動作と同じに なります。 表 14-16:カウンタ Ax 動作 出力 CNTAx クリ ア CNTAx 動作 動作停止 クリア 動作開始 - チャンネルリセット 条件 更新要求 PWMO[x] PWMOB[x] 停止 - - - 常時 クリア クリア - クリア クリア クリア 更新要求 CNTAx と DBx 一致 - セット - CNTAx と DTYx 一致 - クリア - CNTAx と PERx 一致 クリア クリア クリア 更新要求 CNTAx オーバーフロー カウンタ Bx 動作 カウンタ Bx は PWMOB[x] 出力の波形生成に使用されます。カウンタ Bx が停止状態にあるときはカ ウンタ Bx もクリアされます。 カウンタ Bx の PERBx 一致で PWMOB[x] 出力をセットします。また、カウンタ Bx の DTYBx 一致 で PWMOB[x] 出力をクリアかつカウンタ Bx の動作を停止します。 表 14-17:カウンタ Bx 動作 14.5.4 条件 CNTBx クリ ア CNTBx 動作 PWMOB[x] CNTAx と PERx 一致 クリア 開始 クリア CNTBx の PERBx 一致 クリア 開始 セット CNTBx の DTYBx 一致 クリア 停止 クリア 基本 PWM 動作方式 この基本 PWM 動作方式では PWMO[x] 出力と PWMOB[x] 出力から 2 つの独立した PWM 動作とし て、異なったピリオドとデューティを持った波形出力を行います。停止状態からの動作開始でカウン ト開始かつ出力をセットします。 この動作では DTYx はカウンタ Ax、DTYBx はカウンタ Bx に接続されます。また、DBx は波形生成 やピリオド周期には使用されませんが、DBx の接続先カウンタはカウンタ Bx になります。また、ピリ オドの最大値はカウンタの(最大値+1)となります。 237 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 14-40: 基本 PWM 動作方式タイミング PERx+1 DTYx+1 PWMO[x] CNTAx PERBx+1 DTYBx+1 PWMOB[x] CNTBx 基本 PWM 動作では、FPWMENx ビットの設定は PWMO[x] 出力と PWMOB[x] 出力の両方に影響し ます。個々の出力への設定は出来ません。制御入力イベントではイベント 0 は PWMO[x] 出力、イベン ト 1 は PWMOB[x] 出力にのみ、動作を与えることが可能です。 PWMO[x] 側のハイレベル(デューティ)は (DTYx+1) で与えられます。PWMOB[x] 側のハイレベル (デューティ B と呼ぶ)は (DTYBx+1) で与えられます。 また、チャンネルリセットにより、ピリオド一致と同一動作になり、初期位置からの動作になります。 PWMO[x] 出力 PWMO[x] 出力の波形出力にカウンタ Ax を使用し、ピリオドは PERx で設定し、デューティは DTYx に設定します。ピリオドの最大値はカウンタ Ax の(最大値+1)となります。チャンネルリセットの 動作は、ピリオド一致と同様な動作になります。 PERx レジスタは 3 から最大値までが設定可能になります。この時、ピリオドは 4 から(最大値 +1) クロックになります。 カウンタ Ax の PERx 比較一致あるいはオーバーフローでピリオド一致として PWMO[x] 出力はセッ ト、カウンタ Ax の DTYx 比較一致でデューティ一致としてクリアとなります。 以下の境界条件があります: • ピリオド開始で PWM 動作は初期化されます。即ち、カウンタ Ax と PERx の比較一致あるい はカウンタ Ax のオーバーフローにより、波形出力、カウンタ Ax 動作等の PWM 動作は初期化 されます。 • カウンタ Ax がインクリメントしても、PERx の一致検出がなされずにオーバーフローした場 合には、PERx 一致の動作と同じカウンタ動作と PWM 出力動作と更新要求がなされます。こ の時、制御出力や状態ビットへの反映はありません。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 238 頁 Alligator Preliminary • DTYx の一致検出がなされずに、PERx の一致検出あるいはカウンタ Ax オーバーフローした場 合には、ピリオドの開始位置で初期化されます。 PWMENx ビットがクリアされているとき、カウンタ Ax はクリアかつ停止状態にあり、更新要求は 発生しません。 図 14-41: 微細モードでの基本 PWM(PWMO[x] 出力)詳細波形タイミング ピリオド周期(PERx[15:4]) デューティ周期 (DTYx[15:4]) カウンタ Ax[15:4] PWMO[x] 周期出力 副 PWM 遅延 (PERx) 副 PWM 遅延(DTYx) PWMO[x] 波形出力 更新ビットである DATAUPx ビットが 0x1 であるとき、表 14-18 で示す更新条件により、カウンタ Ax に関連するレジスタ BUF 内容が DAT にコピーされます。 表 14-18:カウンタ Ax 動作 条件 CNTAx クリア CNTAx 動作 PWMO[x] 出力 更新要求 動作停止 クリア 停止 - - 動作開始 - 常時 セット - チャンネルリセット クリア セット 更新要求 CNTAx と DTYx 一致 - クリア CNTAx と PERx 一致 クリア セット 更新要求 CNTAx オーバーフロー - カウンタ Ax は常に動作します。カウンタ Ax 値の DTYx 比較一致をデューティ比較と し PWMO[x] 出力をクリアします。 - カウンタ Ax 値の PERx 比較一致あるいはオーバーフローによりピリオド比較となり、 カウンタ Ax をクリア、PWMO[x] 出力をセットします。 - PWMENx ビットをクリアからセットすると、カウンタ Ax は動作開始、PWMO[x] 出 力をセットします。 PWMOB[x] 出力 PWMOB[x] 出力の波形出力にカウンタ CNTBx を使用し、ピリオドは PERBx で設定し、デューティ は DTYBx で設定をします。ピリオドの最大値はカウンタ Ax の(最大値+1)となります。チャンネ ルリセットの動作は、ピリオド一致と同様な動作になります。 PERBx レジスタは 3 から最大値までが設定可能になります。この時、ピリオドは 4 から(最大値 239 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator +1) クロックになります。 カウンタ Bx の PERBx 比較一致あるいはオーバーフローでピリオド一致として PWMOB[x] 出力は セット、カウンタ Bx の DTYBx 比較一致でデューティ一致としてクリアとなります。 以下の境界条件があります: • ピリオド開始で PWM 動作は初期化されます。即ち、カウンタ Bx と PERBx の比較一致あるい はカウンタ Bx のオーバーフローにより、波形出力、カウンタ Bx 動作等の PWM 動作は初期化 されます。 • カウンタ Bx がインクリメントしても、PERBx の一致検出がなされずにオーバーフローした場 合には、PERBx 一致の動作と同じカウンタ動作と PWM 出力動作と更新要求がなされます。 この時、制御出力や状態ビットの反映はありません。 • DTYBx の一致検出がなされずに、PERBx の一致検出あるいはカウンタ Bx オーバーフローし た場合には、ピリオドの開始位置で初期化されます。 PWMENx ビットがクリアされているとき、カウンタ Bx はクリアかつ停止状態にあり、更新要求は 発生しません。 図 14-42: 微細モードでの基本 PWM(PWMOB[x] 出力)詳細波形タイミング ピリオド周期(PERBx[15:4]) デューティ周期 (DTYBx[15:4]) カウンタ Bx[15:4] PWMOB[x] 周期出力 副 PWM 遅延(PERBx) 副 PWM 遅延(DTYBx) PWMOB[x] 波形出力 更新ビットである DATAUPx ビットが 0x1 であるとき、表 14-19 で示す更新条件により、カウンタ Bx に関連するレジスタ BUF 内容が DAT にコピーされます。 表 14-19:カウンタ Bx 動作 条件 CNTBx クリア CNTBx 動作 PWMO[x] 出力 更新要求 動作停止 クリア 停止 - - 動作開始 - 常時 セット - チャンネルリセット クリア セット 更新要求 CNTBx と DTYBx 一致 - クリア CNTBx と PERBx 一致 クリア セット 更新要求 CNTBx オーバーフロー - カウンタ Bx は常に動作します。カウンタ Bx 値の DTYBx 比較一致をデューティ比較 とし PWMOB[x] 出力をクリアします。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 240 頁 Alligator Preliminary - カウンタ Bx 値の PERBx 比較一致あるいはオーバーフローによりピリオド比較とな り、カウンタ Bx をクリア、PWMOB[x] 出力をセットします。 - PWMENx ビットをクリアからセットすると、カウンタ Bx は動作開始、PWMOB[x] 出 力はセットとなります。 DAT 側レジスタの更新 14.5.5 MODE ビットの設定による動作方式に関係なく、全ての DAT と BUF から構成されるダブルバッファ のレジスタは BUF(バッファ)から比較器に接続された DAT(データ)へのデータ更新(コピー)を 制御する DATAUPx ビットあるいは DATBUPx ビットなどの更新ビットを使用します。この更新ビッ トの使用は PWM 動作方式によって異なり、基本 PWM 動作方式以外は DATAUPx だけしか使用しま せん。 また、PWMENx の値に関わらず、更新ビットが 0x0 と 0x2 であるときは FUNCx ビットの内容に 従った更新がなされます。 表 14-20:DAT レジスタ更新ビット種類 更新ビット 動作方式 相補付き PWM DATAUPx DATBUPx 使用 - 相補付き PWM2 - 2 相 PWM - 基本 PWM カウンタ Ax 関連 カウンタ Bx 関連 この更新ビットの内容を表 14-21 に示します: • ハードウェア更新では PWMENx ビットがセットしてあるときに有効であり、更新タイミング はクロックに同期します。 • ソフトウェア更新では更新ビットに 0x2 を書き込むと、BUF から DAT へのデータ転送が行わ れ、更新ビット実体には 0x0 が書き込まれます。 PWMENx ビットの状態により、更新タイミングが異なります。PWMENx ビットがセットして いると更新タイミングはクロックに同期します。PWMENx ビットがクリアしていると更新タ イミングはクロックに同期しません。 • キャプチャ動作を使用する場合は、DBx の DBBUFx レジスタから DBDATx レジスタのハード ウェア更新は無視されます。つまり、CAPENx ビットをセット、および DATAUPx ビットを 0x1 にしたとき、DBx レジスタのハードウェア更新はされません。 表 14-21:DAT レジスタ更新動作 更新ビット 方法 内容 0 更新無し BUF から DAT への更新は無し 1 ハードウェア更新 更新条件一致で BUF から DAT へにコピー 2 ソフトウェア更新 ホストが更新ビットに 0x2 を書き込んだときに、BUF から DAT へのコピー 3 - (使用禁止) 14.5.6 PWMDATx レジスタのホストアクセス ホストからの PWMDATx レジスタの読み出しは DATACC ビットがクリアされているとデータ(DAT) レジスタ、セットされているとバッファ(BUF) レジスタを返します。同様に書き込みは DATACC ビッ 241 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator トがクリアされているとデータレジスタ、セットされているとバッファレジスタに書き込みます。尚、 PWMDATx レジスタのリソースは DBx レジスタは読み書き可能、それ以外は書き込み専用になります。 このレジスタアクセスには CPWM クロックの同期が必要であり、RDY を使用したバスアクセスに なります。 14.5.7 カウンタのホストアクセス ホストからのカウンタに対するアクセスは PWMCNTx レジスタを通して行います。CNTACC ビッ トの内容により、PWMCNT ビットのアクセスはカウンタ Ax、カウンタ Bx、あるいは、カウンタ Cx の選択になります。カウンタの読み出しは主 PWM 生成器側のカウンタだけしか出来ません。 このカウンタアクセスには CPWM クロックの同期が必要であり、RDY を使用したバスアクセスに なります。 また、PWMENx ビットをセットしていると、カウンタの書き込みはクロックとイネーブル信号に同 期して、カウンタをクリアします。PWMENx ビットがクリアしていると、クロックに同期して、カウ ンタをクリアします。 PWMCNTx ビット PWMCNTx ビットの読み出しは主 PWM 中のカウンタの現在値を示します。このビットへの書き込 みはカウンタをクリアします。読み出しでは微細モードと通常モードでは読み出し長が異なります。 表 14-22:CNTACC ビット CNTACC アクセス先 0 カウンタ Ax 1 カウンタ Bx 2 カウンタ Cx 3 (使用禁止) CNTACC ビットにより、カウンタ Ax、カウンタ Bx、あるいはカウンタ Cx を選択します。このビッ トを読み出した時のカウンタ Ax、カウンタ Bx、カウンタ Cx のビット位置関係を示します。有効デー タビット以外にはゼロが挿入されます。 表 14-23:カウンタデータレジスタと実カウンタ対応 PWMCNTx ビット 動作モード レジスタ名 [15:12] 微細モード [5:4] [3:0] カウンタ Ax[15:4] 0x0 0x0 カウンタ Bx カウンタ Bx[15:4] 0x0 0x0 0x0 カウンタ Cx[7:0] カウンタ Ax カウンタ Ax カウンタ Bx カウンタ Bx カウンタ Cx 14.5.8 [7:6] カウンタ Ax カウンタ Cx 通常モード [11:8] 0x0 カウンタ Cx[7:0] 0x0 0x0 PWM チャンネル状態と割り込み PWM チャンネル部ではレジスタとカウンタ動作で 6 本、イベント動作で 3 本、合計 9 本の状態検 出と割り込み要求が可能になります。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 242 頁 Alligator Preliminary レジスタ状態検出と割り込み レジスタに関する状態検出と割り込みは合計で 6 本あります。それぞれの状態ビットがセットされ、 対応する割り込み許可ビットがセットされていると、ホストに割り込みを要求することが出来ます。 表 14-24:レジスタ状態検出と割り込み許可 レジスタビット リソース 条件 状態検出 割り込み許可 CTLx CTLx CTLEx DTYBx DTYBx DTYBEx PERx PERx PEREx DTYx DTYx DTYEx DBx DBx DBEx PERBx PERBx PERBEx EV0x EV0x EV0Ex イベント 0 検出 EV1x EV1x EV1Ex イベント 1 検出 CAPx CAPx CAPEx キャプチャ検出 カウンタ値との一致(大小 一致は含まない) 制御入力による状態検出と割り込み 制御入力によるイベント検出はイベント処理による状態検出が 2 本、キャプチャ動作による状態検 出が1本になります。イベント検出で対応する状態ビットがセットされ、対応する割り込み許可ビッ トがセットされていると、割り込み要求が行われます: • イベント 0 と1で2本の割り込みソースを持つイベント処理(EV0x/EV0Ex、EV1x/EV1Ex) • キャプチャ動作(CAPx/CAPEx) 14.5.8.1 PWM チャンネル割り込み PWM チャンネル部ではレジスタとカウンタ動作によるもの 6 本と制御入力によるもの 3 本の合計 9 本の割り込みソースを持つことが可能です。 この PWM チャンネル部の割り込み要求としては、レジスタとカウンタ動作に関する割り込み 6 本 を論理和をとって、1 本のレジスタ割り込み要求 x、そして、制御入力に関する割り込みはそれぞれ、 イベント 0 割り込み要求 x、イベント1割り込み要求 x、キャプチャ割り込み要求 x で合計 3 本、PWM チャンネルとしては合計 4 本が PWM チャンネル制御部に送られます。 243 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 14-43: PWM チャンネル割り込み要求イメージ図 CTLx CTLENx DTYBx DTYBEx PERx PERx レジスタ割り込み要求 x レジスタ動作 による割り込み DTYx DTYEx DBx DBEx PERBx PERBEx EV0x イベント 0 割り込み要求 x EV0Ex 制御入力 による割り込み EV1x イベント 1 割り込み要求 x EV1Ex CAPx キャプチャ割り込み要求 x CAPEx 14.5.9 PWM 出力ハードウェア PWM チャンネルは PWMO[x] 出力と PWMOB[x] 出力の 2 つの出力を持ちます。これらの 2 つの出 力はそれぞれ、PWMO[x] 出力はカウンタ Ax と PWMOB[x] 出力はカウンタ Bx と密接な関係にありま す。また、PWM チャンネルは 2 つの PWMO[x] 出力と PWMOB[x] 出力に対してそれぞれ同じ出力回 路を持ちます。 図 14-44 の出力回路にある出力フリップフロップ(以下 FF)の同期型セットとクリアソースは比較 器の一致出力などから生成されます。また、この FF の非同期セット / リセットソースは 2 つのイベン ト動作で使用され、イベント動作がアサートされると、この FF をイベント強制レベルビットで設定さ れたレベルにします。このイベントは制御入力のピリオドカットやデューティカットなどのイベント で使用されます。 PWM 出力反転ビットによりこの FF 出力の正転 / 反転の選択を使用して PWM 波形を生成します。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 244 頁 Alligator Preliminary 図 14-44: 出力回路イメージ イベント 0 動作 (非同期) イベント 0 強制 レベルビット イベント 1 動作 (非同期) イベント 1 強制 レベルビット PWM 出力 反転ビット 同期セットソース S R S AS R AR Q 0 QB 1 PWM 出力 (PWMO[x]/ PWMOB[x]) 同期クリアソース PWM 出力データ 書き込みビット (セット書き込みのみ可能) PWM 出力データ ビット PWM 出力許可ビット、PWM 出力反転ビット、PWM 出力ビットの内容、PWM 出力データ書き込 みビットによる PWM 出力データの内容は PWMEN ビットの内容に関係なく、 出力端子に反映します。 PWM 出力許可ビットをセットすると、PWM 出力がデバイス端子から出力可能になります。また、 このビットがクリアされている時、PWM 出力がデバイス端子から出力不可となります。このデバイス 端子出力の許可、不許可は LSI の PSPWM 出力端子のインテグレーションに依存します。デフォルト 例では、許可時の出力端子はドライブ出力、不許可時の出力端子はハイインピーダンス状態になりま す。 表 14-25:出力回路に関連するレジスタビット ビット PWMO[x] PWMOB[x] PWM 出力許可 OUTENx OUTBENx PWM 出力データ書き込み OUTWRx OUTBWRx PWM 出力データ OUTDATx OUTDATx PWM 出力反転 OUTINVx OUTBINVx PWM 出力データビットに、この FF にセット / クリアしたい値を設定、かつ、PWM 出力データ書 き込みビットをセットすると、この FF をセットあるいはクリアすることが出来ます。このことによ り、出力チャンネルのレベルを初期化出来ます。この PWM 出力データビットは PSPWM の状態に関 係なく常に書き込み可能です。 この PWM 出力データ書き込みビットによる出力 FF に対する値の設定は CPWM クロックに同期し て行われます。よって、ホスト書き込みから実際の出力 FF への書き込みは同期化回路を経て行われる ために、遅延が生じます。 245 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator PWM 波形出力には 2 つのタイミングエッジが必要になります。このピリオド開始(ピリオド基点 とピリオド開始位置を含む)側にあるエッジをセットソース、終了側にあるエッジをクリアソースと 呼びます。このエッジを使用してピリオド内に RZ 波形を生成します。 特に記述が無い場合はクリアソースとセットソースが重なった場合はクリアソースが優先され、 PWM 出力されます。また、制御入力イベントがさらに優先されます。 PWM 出力反転ビットをクリアすると、出力はセット位置でハイレベルになり、クリア位置でローレ ベルとなります。PWM 出力反転ビットをセットすると、出力はセット位置でローレベルになり、クリ ア位置ハイレベルとなります。 図 14-45: PWM 出力 ピリオド セットソース タイミングエッジ クリアソース PWM 出力反転ビット =0 PWM 波形 PWM 出力反転ビット =1 ピリオド基点 14.5.10 チャンネル制御出力信号 PWM チャンネルはリソースとカウンタなどの比較一致、あるいは、イベント検出などにより、制御 出力に対して 8 本のトリガを発生させることが可能になります。このチャンネル制御出力は大小比較 は使用されません。 チャンネル毎に制御出力可能なリソース毎に設定する表 14-26 に示すビットをセットすると、条件 一致により制御出力可能になります。チャンネル制御出力信号は 0 から 7 までの 8 本があり、リソー スにより位置が定められます。 表 14-26:チャンネル制御出力リソース チャンネル制 御出力 ビット リソース 条件 [0] OCCTLENx CTLx カウンタ値との一致 [1] OCDTYBENx DTYBx [2] OCPERENx PERx [3] OCDTYENx DTYx [4] OCDBENx DBx [5] OCPERBENx PERBx [6] OCEV0ENx EV0x イベント 0 検出 [7] OCEV1ENx EV1x イベント 1 検出 CTLx、DTYBx、PERx、DTYx、DBx、PERBx リソースなどのカウント値との一致によるトリガは CPWM クロックに同期して 1 クロック分送出が確定すると、CPWM クロックに同期してネゲートさ れます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 246 頁 Alligator Preliminary EV0x、EV1x リソースなどのイベント検出によるトリガは OCEV0ENx ビットをセットすることで イベント 0、OCEV1ENx ビットをセットすることでイベント 1 のトリガ出力が可能になります。イベ ント検出では非同期のエッジトリガ扱いになります。エッジ入力でチャンネル制御出力が非同期でア サートされ、CPWM クロックに同期して 1 クロック分以上の送出が確定すると、CPWM クロックに 同期してネゲートされます。 図 14-46: PWM チャンネル制御出力イメージ図 CTLx 比較一致 OCCTLENx DTYBx 比較一致 OCDTYBENx PERx 比較一致 OCPERENx DTYx 比較一致 OCDTYENx DBx 比較一致 OCDBENx PERBx 比較一致 OCPERBENx イベント 0 検出 OCEV0ENx イベント 1 検出 OCEV1ENx 247 頁 (C) 2009-2013 New Japan Radio Co., Ltd. チャンネル x 制御出力 [0] [1] [2] [3] [4] [5] [6] [7] 2013.12.20 版 Preliminary Alligator PWM チャンネル部イベント機能とキャプチャ機能 14.6 4 本の制御入力機能出力から、PWM チャンネル入力部を通したイベント 0 とイベント1の検出出力 からデューティカット動作やピリオドカット動作などのイベント機能とキャプチャ機能、そして制御 出力からのイベント出力を持たせることが可能です。 14.6.1 PWM チャンネル入力部 イベント用ハードウェアである PWM チャンネル入力部はチャンネル入力部とイベント機能部から 構成され、4 本の制御入力信号を使用します。イベント動作用としてイベント 0 と 1 動作出力、キャ プチャ用キャプチャ動作出力、イベント 0 と 1 制御出力を生成します。 PWM チャンネル機能部の機能により、ゲート生成は他チャンネルのゲート生成出力も追加して使用 が出来ます。また、チャンネル入力部の出力であるゲート処理出力に対して、他チャンネルのゲート 処理出力も使用可能です。 図 14-47: PWM チャンネル入力部 チャンネル入力部 4 イベント 0 ゲート処理出力 制御入力選択 / 制御入力機能 / ゲート処理 ゲート生成出力 ゲート生成 イベント検出 / イベント機能 選択 制御入力 イベント機能部 キャプチャ機能 イベント 0 動作 キャプチャ動作 4 制御入力選択 / 制御入力機能 / ゲート処理 イベント 1 ゲート処理出力 イベント検出 / イベント機能 イベント 1 動作 イベント 0 制御出力 イベント 1 制御出力 ゲート生成入力 GATEXTx 3 許可選択 3 (他チャンネル 使用) ゲート生成出力 他チャンネル GATSELx 3 他チャンネル イベント 1 ゲート処理出力 他チャンネル イベント 0 ゲート処理出力 PWM チャンネル機能部 14.6.1.1 チャンネル入力部 チャンネル入力部は 4 本の制御入力機能出力から、イベント 0 とイベント1のそれぞれ制御入力選 択、制御入力機能処理、ゲート処理を行わせてゲート処理出力として出力します。 PWM チャンネル機能部のゲート拡張機能を経たゲート生成入力とこのチャンネルのゲート生成出 力の論理和がイベント 0 と 1 のゲート処理に使用されます。また、ゲート生成出力とイベント毎のゲー ト処理出力は PWM チャンネル機能部を通して他チャンネルで使用されます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 248 頁 Alligator Preliminary 図 14-48: チャンネル入力部 EV0SLx 制御入力 EV0CTLx 制御入力選択 EV0GATx 制御入力機能 イベント 0 ゲート処理出力 ゲート処理 4 ゲート生成出力 EVGATSx/EVGATCx EVGATBSx/EVGATBCx LDATx ゲート生成 4 制御入力選択 制御入力機能 EV1SLx EV1CTLx イベント 1 ゲート処理出力 ゲート処理 EV1GATx ゲート生成入力 PWM チャンネル機能部へ このチャンネル入力部で使用するホストビットを表 14-27 に示します。 表 14-27:制御入力イベント機能に関するホストビット イベント 機能ブロック ビット名 内容 0 制御入力選択 EV0SLx[1:0] イベント 0 選択 制御入力機能 EV0CTLx[2:0] イベント 0 入力機能 ゲート処理 EV0GATx イベント 0 ゲート処理 制御入力選択 EV1SLx[1:0] イベント 1 選択 制御入力機能 EV1CTLx[2:0] イベント 1 入力機能 ゲート処理 EV1GATx イベント 1 ゲート処理 ゲート生成 EVGATSx チャンネル PWMO 出力セットゲート許可 EVGATCx チャンネル PWMO 出力クリアゲート許可 EVGATBSx チャンネル PWMOB 出力セットゲート許可 EVGATBCx チャンネル PWMOB 出力クリアゲート許可 1 - 制御入力選択 イベント 0 とイベント1のそれぞれ制御入力選択を EV0SLx ビット、EV1SLx ビットで選択し、出 力します。よって、制御入力はチャンネルとイベント毎に選択可能です。 表 14-28:EV0SLx ビットと EV1SLx ビットによる制御入力(PWMI) 選択 249 頁 ビット値 選択された制御入力(PWMI) 0 [0] 1 [1] 2 [2] 3 [3] (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 制御入力機能 制御入力選択部で EVySLx ビットで選択された制御入力は、制御入力機能部により EVyCTLx ビット の設定に従って、信号レベルやエッジ抽出がなされます。この信号はアクティブハイレベル出力であ り、非同期信号のエッジ入力から CPWM クロックの 1 クロック以上確定した信号が内部に出力されま す。 表 14-29:EVyCTLx[2:0] ビット 機能 EVyCTLx イベント / キャプチャ 制御出力用イベント 0x0 使用せず 使用せず 0x1 (予約) (予約) 0x2 非同期立ち上がりエッジ 非同期立ち上がりエッジ 0x3 非同期立ち下がりエッジ 非同期立ち下がりエッジ 0x4 非同期立ち上がりエッジ&ハイレベ ル 非同期立ち上がりエッジ 0x5 非同期立ち下がりエッジ&ローレベ ル 非同期立ち下がりエッジ 0x6-7 (予約) (予約) この部のアクティブ側のエッジは非同期入力として即座に出力が変化しますが、インアクティブ側 のエッジは同期化回路による同期化遅延を持ち、出力が変化します。 この非同期入力選択では非同期 FF が使用され、CPWM クロックより細いエッジパルスが入力して も、制御入力機能出力から複数 CPWM クロック分アサートされた信号が出力されます。 • 制御出力に対するイベントに対しては EVyCTLx ビットで選択する制御入力機能のうち、レベ ル機能を持ちません。よって、制御出力に対するイベントには「使用せず」あるいは「非同期 エッジ」動作になります。 制御入力が長めのパルス入力であるときの制御入力機能出力を示します。 図 14-49: 制御入力機能出力 CPWM クロック 制御入力 非同期 複数クロック 立ち下がりエッジ選択 立ち下がりエッジ&ローレベル選択 同期化回路遅延 制御入力に短い非同期パルスが入力された場合の選択出力を示します。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 250 頁 Alligator Preliminary 図 14-50: 制御入力機能出力(ひげ状入力) CPWM クロック 制御入力 複数クロック 非同期 立ち下がりエッジ選択 立ち下がりエッジ&ローレベル選択 この制御入力機能でエッジ検出を使用する場合には、PWMEN ビットをセットするときに、制御入 力信号のレベルによりエッジ検出となる場合があります。立ち上がりエッジ検出を選択し、かつ、制 御入力信号がハイレベルであるときに、PWMEN ビットをセットすると、立ち上がり検出となります。 また、立ち下がりエッジ検出を選択し、かつ、制御入力信号がローレベルであるときに、PWMEN ビッ トをセットすると、立ち下がり検出となります。 ゲート生成部 ゲート生成部は PWMO[x] 出力と PWMOB[x] 出力の各エッジからのカウンタ Cx と LDATx レジスタ でゲート生成タイミングを生成します。このゲート生成タイミングはこの期間にイベント入力があっ ても無視させる目的で使用されます。このゲート生成タイミングはゲート処理部に送られますが、ゲー ト生成出力として外部チャンネルに出力され、他の PWM チャンネルで使用出来ます。 PWM 出力の各エッジにゲート生成をさせるにはエッジゲート許可ビットをセットします。エッジ ゲート許可ビットとは PWMO[x] 出力のセット側は EVGATSx ビット、クリア側は EVGATCx ビット、 PWMOB[x] 出力のセット側は EVGATBSx ビット、クリア側は EVGATBCx ビットになります。 各エッジをアサートさせる PWMO[x] 出力または PWMOB[x] 出力信号が入力されたとき、該当する エッジゲート許可ビットがセットされていれば、カウンタ Cx の動作が開始となり、そのカウンタが 8 ビット幅の LDATx レジスタ値に達するまでゲート処理を行います。尚、このゲート処理中に新たな ゲート処理を受けた場合、この新たなゲート処理が優先されます。 尚、このゲート幅は微細モードと通常モードで異なります: • 微細モードではゲート幅は (Lx + 1) * CCLK サイクルになります。 • 通常モードではゲート幅は (Lx * 4 + 1) * CCLK サイクルになります。 このゲート生成タイミングはイベント 0 とイベント1で共通となります。 251 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 14-51: ゲート生成タイミング PWMO[x] 出力 (EVGATSx) (EVGATCx) PWMOB[x] 出力 (EVGATBSx) (EVGATBCx) ゲート処理期間 ゲート処理 イベント y では EVyGATx ビットがセットされているとゲート処理後に出力されますが、クリアさ れているとゲート処理されずにそのまま出力されます。 PWM チャンネル制御部の GATEXTx ビットの設定により、他のチャンネルのゲート生成を使用でき ます。このとき、ゲート生成入力がアサートされると、このチャンネルの持つゲートタイミングと論 理和となり、ゲート処理が行われます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 252 頁 Alligator Preliminary 図 14-52: ゲート処理 (PWM チャンネル制御部からの) ゲート生成入力 ゲート生成出力 イベント 0 制御入力機能出力 イベント 0 ゲート処理出力 1 0 EV0GATx イベント 1 制御入力機能出力 イベント 1 ゲート処理出力 1 0 EV1GATx ゲート処理を行わせる場合には EVyCTLx ビットの内容によって設定する制御入力機能により、処理 が異なります: • 立ち上がりエッジ&ハイレベル選択あるいは立ち下がり&ローレベル選択をした場合には、 ゲート処理信号がアクティブ時にアクティブレベルの制御入力が入力されても無視されます。 • 立ち上がりエッジ選択した場合には、ゲート処理信号がアクティブ時に制御入力に立ち上がり 信号を入力し、かつ、アクティブ時の終了までにその信号がローレベルになるとき、その入力 は無視されます。 また、ゲート処理信号がアクティブ時に制御入力に立ち上がり信号を入力し、かつ、そのまま 信号が変化せずに、ゲート処理信号の終了時に制御入力がハイレベルのときには、立ち上がり エッジ検出とします。尚、この状態は図 14-53 の上向き矢印の信号を示します。 • 立ち下がりエッジ選択した場合には、ゲート処理信号がアクティブ時に制御入力に立ち下がり 信号を入力し、かつ、アクティブ時の終了までにその信号がハイレベルになるとき、その入力 は無視されます。 また、ゲート処理信号がアクティブ時に制御入力に立ち下がり信号を入力し、かつ、そのまま 信号が変化せずに、ゲート処理信号の終了時に制御入力がローレベルのときには、立ち下がり エッジ検出とします。尚、この状態は図 14-53 の上向き矢印の信号を示します。 253 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 14-53: 制御入力機能によるゲート処理 ゲート処理期間 制御入力 立ち上がりエッジ選択 ゲート処理使用せず ゲート処理使用 立ち上がりエッジ& ハイレベル選択 ゲート処理使用せず ゲート処理使用 立ち下がりエッジ選択 ゲート処理使用せず ゲート処理使用 立ち下がりエッジ& ローレベル選択 ゲート処理使用せず ゲート処理使用 14.6.1.2 イベント機能部 チャンネル入力部の出力はゲート処理出力としてイベント機能部に入力されます。このゲート処理 出力は入力選択により GATSELx ビットの設定により、この PWM チャンネルあるいは他の PWM チャ ンネルの選択も可能です。この GATSELx ビットの内容はチャンネル毎に異なるので、チャンネル機 能部で説明されます。 この機能部を通して、制御出力に対するイベント、キャプチャ動作、イベント動作が出力されます。 • 制御出力に対するイベントやキャプチ動作は制御入力選択、制御入力機能、ゲート処理を経て 出力されます。また、イベントやキャプチャ動作は EVyRUNx ビットなどのイベント動作設定 には影響されません。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 254 頁 Alligator Preliminary 図 14-54: イベント機能部 EV0x イベント 0 ゲート処理出力 EV0DTYx/EV0RET /EV0LVx EV0Ex イベント検出 イベント 0 検出出力 イベント機能 イベント 0 動作 CAPENx/CAPEx/CAPSELx 選択 キャプチャ用信号(イベント 0) キャプチャ機能 キャプチャ用信号(イベント 1) EV1x EV1Ex イベント 1 ゲート処理出力 イベント検出 イベント 1 検出出力 イベント機能 イベント 1 動作 EV1LVx 3 3 キャプチャ動作 EV1DTYx/EV1RET GATSELx イベント 0 制御出力 イベント 1 制御出力 他チャンネル イベント 0 ゲート処理出力 他チャンネル イベント 1 ゲート処理出力 PWM チャンネル機能部から 14.6.2 イベント動作 イベント 0 とイベント 1 の 2 つのイベントに対してイベント動作を使用できます。よって、1 つの チャンネルで最大 2 つのイベントを使用できます。 イベント 0 はイベント1に対して優先順位を持ちます。よって、2 つのイベントを使用する場合に はイベント 0 に優先順位を高くするように使用しなくてはなりません。 このイベント動作アクティブにするにはイベント y ごとに EVyRUNx ビットをセットします。 イベント動作ではゲート処理期間以外にイベント 0 で有効なイベントが入力されると、EV0x ビット がセットされます。この EV0x ビットがセットされたときに、EV0Ex ビットがセットしてあるとホス トに割り込みを要求します。ホストがこの EV0x ビットをセットすると、この EV0x ビットが自動的に クリアされます。 同様にゲート処理期間以外にイベント 1 で有効なイベントが入力されると、EV1x ビットがセットさ れます。この EV1x ビットがセットされたときに、EV1Ex ビットがセットしてあるとホストに割り込 みを要求します。ホストがこの EV1x ビットをセットすると、この EV1x ビットが自動的にクリアされ 255 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator ます。 表 14-30:制御入力イベント機能に関するホストビット イベント ビット名 内容 0 EV0RUNx イベント 0 機能許可 EV0x イベント 0 検出 EV0Ex イベント 0 割り込み許可 EV0FUNCx[1:0] イベント 0 機能選択 EV0LVx[0] イベント 0 強制レベル PWMO[x] 出力 EV0LVx[1] 1 PWMOB[x] 出力 EV0RETx イベント 0 復帰方法 EV1RUNx イベント 1 機能許可 EV1x イベント 1 検出 EV1Ex イベント 1 割り込み許可 EV1FUNCx[1:0] イベント 1 機能選択 EV1LVx[0] イベント 1 強制レベル PWMO[x] 出力 EV1LVx[1] PWMOB[x] 出力 EV1RETx イベント 1 復帰方法 EVyFUNCx ビットを 0x0 から 0x1 であると、デューティカット動作、0x2 であるとピリオドカット 動作になります。0x1 であるとデッドタイム付加のデューティカット動作が行われます。 表 14-31:EVyFUNCx ビット EVyFUNCx イベント動作 デッドタイム挿入 0 デューティカット 無し 1 14.6.2.1 有り 2 ピリオドカット 無し 3 (使用禁止) - イベント動作出力 イベント動作出力にはデューティカット動作、ピリオドカット動作があります。このイベント動作 の使用方法を示します。 デューティカットとピリオドカット動作でのイベント入力 デューティカットのイベント入力は EVyCTLx ビットを 0x4 あるいは 0x5 に選択し、非同期ハイレ ベルあるいは非同期ローレベルを選択する必要があります。また、ピリオドカットのイベント入力は EVyCTLx ビットを 0x2 あるいは 0x3 に選択し、非同期立ち上がりエッジあるいは非同期立ち下がり エッジを選択する必要があります。 表 14-32:イベント動作出力での EVyCTLx[2:0] ビット EVyCTLx 2013.12.20 版 デューティカット ピリオドカット 0x0 使用せず 0x1 (予約) (C) 2009-2013 New Japan Radio Co., Ltd. 256 頁 Alligator Preliminary 表 14-32:イベント動作出力での EVyCTLx[2:0] ビット EVyCTLx デューティカット ピリオドカット 0x2 (使用禁止) 非同期立ち上がりエッジ 0x3 非同期立ち下がりエッジ 0x4 非同期立ち上がりエッジ&ハイレベ ル 0x5 非同期立ち下がりエッジ&ローレベ ル 0x6-7 ( 使用禁止) (予約) チャンネルの2イベント使用 各チャンネルは2つのイベント入力を使用して、2 つのイベント動作が可能です。この PSPWM で 2 つのイベントを使用する場合に、強制レベルが異なる 2 つのデューティカット、あるいは、2 つのピ リオドカット動作は使用出来ません。 • デューティカットとピリオドカットの両方のイベント動作 この場合にはデューティカットを優先順位が高くして使用しなくてはなりません。よって、イ ベント 0 にはデューティカット、イベント 1 にはピリオドカットを使用しなくてはなりませ ん。 - ハードウェア復帰のデューティカットとピリオドカットの両方のイベント動作 デューティカット後の PWM 動作復帰は、次のカウンタのピリオド比較一致、あるいはオー バーフロー、あるいはピリオドカットで行われます。 図 14-55: ハードウェア復帰によるデューティカットとピリオドカット動作 ピリオドカット イベント入力 デューティカット イベント入力 PWM 出力 ピリオドカットによる解除 - ソフトウェアウェア復帰のデューティカットとピリオドカットの両方のイベント動作 デューティカット後の PWM 動作復帰は、ピリオドカットイベント入力に関係なく、ソフト ウェア復帰手続き後になります。この場合のソフトウェア復帰手続き後、次のカウンタのピリ オド比較一致、あるいはオーバーフロー、あるいはピリオドカットがあると、PWM 動作復帰 となります。 257 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 14-56: ソフトウェアウェア復帰のデューティカットとピリオドカット動作 ピリオドカット イベント入力 デューティカット イベント入力 PWM 出力 ソフトウェア復帰手続き 14.6.2.2 ピリオドカットによる解除 デューティカット動作 EVyRUNx ビットをセット、EVyFUNCx ビットを 0x0 あるいは 0x1 に設定すると、イベント機能の デューティカット動作がアクティブなります。この動作ではカウンタは変化せずに出力中の波形をイ ンアクティブにします。 有効なイベントが入力されると、動作方式により異なりますが、出力は即座にイベント 0 は EV0LVx[1:0] ビット、イベント 1 は EV1LVx[1:0] ビットで設定した強制レベルになります。そして、ピ リオド終了(ピリオド基点)までそのレベルが保持されます。そして、そのピリオド基点からの動作 は後述する復帰手段をとります。この図 14-57 のタイミングチャートのケースではこの強制レベルは ローレベルとしています。 図 14-57: デューティカット動作 ピリオド 出力 PWM 動作 イベント デューティカット動作 出力 ピリオド基点 ピリオド基点 • このイベント入力はエッジ入力であれば、次のピリオド開始から復帰動作に入ります。 • イベントがレベル入力であるときは、このイベントがアクティブな期間中は出力は強制レベル になります。このイベントがインアクティブになった後の次のピリオド開始から復帰動作に入 ります。 復帰手段として、ピリオド境界で自動的に復帰するハードウェア復帰と、ソフトウェア操作による 手動的に復帰させるソフトウェア復帰という2つの方法があります。その復帰法の選択はEVRETxビッ トの設定により選択できます。そのレベル復帰はピリオド周期のタイミングで行われます。 自動復帰の場合はカウンタのピリオド比較一致、あるいはオーバーフローでデューティカット動作 は解除されます。 ソフトウェア復帰の場合は対応する EVyx ビットがセットされていると動作解除は行われません。ホ ストが EVyx ビットをクリアした後の、次のカウンタのピリオド比較一致、あるいはオーバーフロー、 あるいはピリオドカットで解除されます。EVyx ビットがクリアされてから、解除タイミングの間に次 のイベント入力があり、再び EVyx ビットがセットされた場合は再び EVyx ビットがクリアされるまで 解除されません。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 258 頁 Alligator Preliminary 図 14-58: デューティカット動作後の復帰手段 イベント ピリオド ハードウェア復帰 ピリオド 出力 ソフトウェア復帰 イベントの継続中 あるいは ソフトウェア復帰手続き 相補付き PWM 動作方式 PWMO[x] 出力の強制レベルはイベント 0 は EV0LVx[0] ビット、イベント1は EV1LVx[0] ビット、ま た PWMOB[x] 出力はイベント 0 は EV0LVx[1] ビット、イベント1は EV1LVx[1] ビットで設定した値に なります。 EVyFUNCx ビットを 0x0 に設定すると、デッドタイムの付加がされずイベント入力で出力が即座に 変化します。イベント継続終了あるいはソフトウェア復帰まで待って、ピリオド境界で新規 PWM 波 形が出力開始になります。 図 14-59: 相補付き PWM 動作でのデューティカット動作(デッドタイム付加無し) ピリオド PWMO[x] PWM 動作 PWMOB[x] イベント デューティカット動作 (PWMO[x] 中のイベント) PWMO[x] PWMOB[x] イベント PWMO[x] (PWMOB[x] 中のイベント) PWMOB[x] EVyFUNCx ビットを 0x1 に設定すると、デッドタイムの付加がされイベント入力により、デッドタ イムを持って出力が変化します。イベント継続終了あるいはソフトウェア復帰まで待って、ピリオド 境界で新規 PWM 波形が出力開始になります。 259 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 14-60: 相補付き PWM 動作でのデューティカット動作(デッドタイム付き) ピリオド PWMO[x] PWM 動作 PWMOB[x] イベント デューティカット動作 PWMO[x] (PWMO[x] 中のイベント) PWMOB[x] デッドタイム イベント PWMO[x] (PWMOB[x] 中のイベント) PWMOB[x] イベント デッドタイム この相補付き PWM 動作方式でのデッドタイム付きデューティカット動作では、イベント入力で出 力が反転するようにイベントレベルを設定したときに動作が有効です。つまり、イベント強制レベル ビットである、EVyLVx ビットの値が 0x1 あるいは 0x2 に設定する必要があります。 PWM 出力反転ビットである OUTINVx ビットと OUTBINVx ビットが共にクリア設定であるときの 例を図 14-61 に示します。 このデッドタイム付きのケースでも、復帰動作までデューティカット動作後の PWMO[x] 出力と PWMOB[x] 出力の信号レベルが保持されます。 EVyLVx ビットの値が 0x2 であるときは、付加されるデッドタイムの長さは PERBx+1 になります。 EVyLVx ビットの値が 0x1 であるときは、付加されるデッドタイムの長さは DBx+1 になります。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 260 頁 Alligator Preliminary 図 14-61: 相補付き PWM 動作でのデューティカット動作(デッドタイム付き)実際 ピリオド DBx+1 PERBx+1 PWMO[x] PWM 動作 PWMOB[x] イベント デューティカット動作 PWMO[x] (PWMO[x] 中のイベント) PWMOB[x] EVyLVx ビット = 0x2 デッドタイム PERBx+1 (PWMOB[x] 中のイベント) イベント PWMO[x] PWMOB[x] イベント (PWMO[x] 中のイベント) PWMO[x] PWMOB[x] EVyLVx ビット = 0x1 イベント PWMO[x] (PWMOB[x] 中のイベント) PWMOB[x] デッドタイム DBx+1 チャンネルリセットモードでの相補付き PWM 動作方式 PWMO[x] 出力の強制レベルはイベント 0 は EV0LVx[0] ビット、イベント1は EV1LVx[0] ビット、ま た PWMOB[x] 出力はイベント 0 は EV0LVx[1] ビット、イベント1は EV1LVx[1] ビットで設定した値に なります。 このチャンネルリセットモードでの相補付き PWM 動作のデューティカット動作期間はカウンタ Ax が動作終了(つまりピリオド期間)を越えたチャンネルリセットまでとします。 EVyFUNCx ビットを 0x0 に設定すると、デッドタイムの付加がされずイベント入力で出力が即座に 変化します。 261 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 14-62: デューティカット動作(デッドタイム無し) ピリオド チャンネル リセット デューティカット検出期間 PWMO[x] PWM 動作 PWMOB[x] イベント デューティカット動作 (PWMO[x] 中のイベント) PWMO[x] PWMOB[x] イベント PWMO[x] (PWMOB[x] 中のイベント) PWMOB[x] EVyFUNCx ビットを 0x1 に設定すると、デッドタイムの付加がされイベント入力により、デッドタ イムを持って出力が変化します。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 262 頁 Alligator Preliminary 図 14-63: デューティカット動作(デッドタイム付き) ピリオド チャンネル リセット デューティカット検出期間 PWMO[x] PWM 動作 PWMOB[x] イベント デューティカット動作 PWMO[x] (PWMO[x] 中のイベント) PWMOB[x] デッドタイム イベント PWMO[x] (PWMOB[x] 中のイベント) PWMOB[x] イベント デッドタイム このチャンネルリセットモードでの相補付き PWM 動作方式でのデッドタイム付きデューティカッ ト動作では図 14-64 に示すように実際には EVyLVx ビットの値が 0x1 あるいは 0x2 の場合だけが動作 をします。このデッドタイム付きのケースでも、デューティカット動作後のPWMO[x]出力とPWMOB[x] 出力の信号レベルが復帰動作まで保持されます。 EVyLVx ビットの値が 0x2 であるときは、付加されるデッドタイムの長さは PERBx+1 になります。 EVyLVx ビットの値が 0x1 であるときは、付加されるデッドタイムの長さは DBx+1 になります。 263 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 14-64: デューティカット動作(デッドタイム付き)実際 チャンネル リセット ピリオド DBx+1 PERBx+1 PWMO[x] PWM 動作 PWMOB[x] イベント デューティカット動作 PWMO[x] (PWMO[x] 中のイベント) PWMOB[x] EVyLVx ビット = 0x2 デッドタイム PERBx+1 (PWMOB[x] 中のイベント) イベント PWMO[x] PWMOB[x] イベント (PWMO[x] 中のイベント) PWMO[x] PWMOB[x] EVyLVx ビット = 0x1 イベント PWMO[x] (PWMOB[x] 中のイベント) PWMOB[x] デッドタイム DBx+1 位相シフト制御動作でのデューティカット動作 位相シフト制御動作では相補付き PWM 動作方式と相補付き PWM2 動作方式が使用可能になります。 このときのデューティカット動作は以下のような動作になります。この動作例では PWMO[x] 出力と PWMOB[x] 出力の強制レベルはローレベルとしています。 図 14-65 ではスレーブ側 PWM チャンネル開始からマスター側 PWM チャンネル開始までの期間に 前検出期間としてイベント入力がアサートされたケースを示します。ハードウェア復帰もソフトウェ ア復帰もマスター側のチャンネル開始から動作開始となります。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 264 頁 Alligator Preliminary 図 14-65: 位相シフト制御動作でのデューティカット例(前検出期間) 検出期間 イベント入力 ハードウェア復帰 マスター側 PWM チャンネル スレーブ側 PWM チャンネル フルブリッジ 右オン フルブリッジ 左オン ソフトウェア復帰 マスター側 PWM チャンネル スレーブ側 PWM チャンネル フルブリッジ 右オン フルブリッジ 左オン 図 14-66 ではマスター側 PWM チャンネル開始からスレーブ側 PWM チャンネル開始までの期間を 検出期間としてイベント入力がアサートされたケースを示します。ハードウェア復帰もソフトウェア 復帰もマスター側のチャンネル開始から動作開始となります。 265 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 14-66: 位相シフト制御動作でのデューティカット(後検出期間) 検出期間 イベント入力 ハードウェア復帰 マスター側 PWM チャンネル スレーブ側 PWM チャンネル フルブリッジ 右オン フルブリッジ 左オン ソフトウェア復帰 マスター側 PWM チャンネル スレーブ側 PWM チャンネル フルブリッジ 右オン フルブリッジ 左オン 2相 PWM 動作方式 この方式のデューティカット動作ではデッドタイム付加はされません。よって、EVyFUNCx ビット を 0x1 にすることを禁止します。 PWMO[x] 出力の強制レベルはイベント 0 は EV0LVx[0] ビット、イベント1は EV1LVx[0] ビット、ま た PWMOB[x] 出力はイベント 0 は EV0LVx[1] ビット、イベント1は EV1LVx[1] ビットで設定した値に なります。この動作方式でのイベント処理でゲート処理を使用する場合にも、PWMO[x] 出力と PWMOB[x] 出力からのエッジからのゲート期間が重なった場合には新規のゲート期間が優先されま す。このことにより、ゲート期間が予想より長くなることがあります。 この動作方式ではデューティカットでのイベント入力で出力が即座に変化します。イベント継続終 了あるいはソフトウェア復帰まで待って、ピリオド境界で新規 PWM 波形が出力開始になります。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 266 頁 Alligator Preliminary 図 14-67: 2相 PWM 動作方式でのデューティカット動作 ピリオド PWMO[x] PWM 動作 PWMOB[x] イベント デューティカット動作 PWMO[x] (PWMO[x] 中のイベント) PWMOB[x] イベント PWMO[x] (PWMOB[x] 中のイベント) PWMOB[x] 基本 PWM 動作方式 この動作方式のデューティカット動作ではデッドタイム付加はされません。よって、EVyFUNCx ビッ トを 0x1 にすることを禁止します。 基本 PWM 動作方式ではイベント 0 は PWMO[x] 出力、イベント 1 は PWMOB[x] 出力の選択になり ます。PWMO[x] 出力の強制レベルは EV0LVx[0] ビット、また PWMOB[x] 出力は EV1LVx[1] ビットで 設定した値になります。 この動作方式でのイベント処理でゲート処理を使用する場合には、独立して動作する PWMO[x] 出力 と PWMOB[x] 出力の両出力 / 立ち上がり・立ち下がりエッジを使用したゲート期間生成が両出力に反 映します。このことから、生成されたゲート期間は PWMO[x] 出力あるいは PWMOB[x] 出力のどちら かに使用するのが適当だと思われます。 この動作方式ではデューティカットでのイベント入力で出力が即座に変化します。イベント継続終 了あるいはソフトウェア復帰まで待って、ピリオド境界で新規 PWM 波形が出力開始になります。 267 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 14-68: 基本 PWM 動作でのデューティカット動作 ピリオド PWMO/PWMOB[x] PWM 動作 イベント デューティカット動作 (PWMO[x] 中のイベント) PWMO/PWMOB[x] イベント (PWMOB[x] 中のイベント) 14.6.2.3 PWMO/PWMOB[x] ピリオドカット動作 EVyRUNx ビットをセット、EVyFUNCx ビットを 0x2 にすると、イベント機能のピリオドカット動 作がアクティブになります。このとき、ハードウェアによるハードウェア復帰のみになります。よっ て、ソフトウェア復帰、デッドタイム付加機能はありません。EVRETx ビットは無視されます。 この動作では出力中の波形をインアクティブ、カウンタをクリアします。有効なイベントが入力さ れると、動作方式により異なりますが、出力は即座に設定されたホストビットで設定した強制レベル になります。そして、クロックに同期後、カウンタはクリア、PWM 動作の再開始になります。 図 14-69: ピリオドカット動作 ピリオド 出力 PWM 動作 イベント ピリオドカット動作 出力 ピリオド基点 ピリオド基点 • このイベント入力がエッジ入力であれば、続いて復帰動作に入ります。 • このイベント入力がレベル入力であるときは、このイベントがアクティブな期間中は出力は強 制レベルになります。このイベントがインアクティブになった後に復帰動作に入ります。 復帰手段として、設定であるハードウェアでのハードウェア復帰方法がとられ、ピリオドカット動 作は復帰動作に入ると即座に解除されます。 相補付き PWM 動作方式 PWMO[x] 出力の強制レベルはイベント 0 は EV0LVx[0] ビット、イベント1は EV1LVx[0] ビット、ま た PWMOB[x] 出力はイベント 0 は EV0LVx[1] ビット、イベント1は EV1LVx[1] ビットで設定した値に なります。 イベント入力で出力が即座に変化します。そして、クロックに同期して新規ピリオドが開始されま 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 268 頁 Alligator Preliminary す。あるいは、イベント継続終了まで待ち、クロックに同期して新規ピリオドが開始されます。 図 14-70: 相補付き PWM 動作でのピリオドカット動作 ピリオド PWMO[x] PWM 動作 PWMOB[x] イベント イベント継続 ピリオドカット動作 (PWMO[x] 中のイベント) PWMO[x] PWMOB[x] イベント (PWMOB[x] 中のイベント) イベント継続 PWMO[x] PWMOB[x] 2相 PWM 動作方式 PWMO[x] 出力の強制レベルはイベント 0 は EV0LVx[0] ビット、イベント1は EV1LVx[0] ビット、ま た PWMOB[x] 出力はイベント 0 は EV0LVx[1] ビット、イベント1は EV1LVx[1] ビットで設定した値に なります。 この動作方式ではピリオドカットでのイベント入力で出力が即座に変化します。そして、クロック に同期して新規ピリオドが開始されます。あるいは、イベント継続終了まで待ち、クロックに同期し て新規ピリオドが開始されます。 269 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 14-71: 2相 PWM 動作方式でのピリオドカット動作 ピリオド PWMO[x] PWM 動作 PWMOB[x] イベント イベント継続 ピリオドカット動作 PWMO[x] (PWMO[x] 中のイベント) PWMOB[x] イベント イベント継続 PWMO[x] (PWMOB[x] 中のイベント) PWMOB[x] 基本 PWM 動作方式 基本 PWM 動作方式ではイベント 0 は PWMO[x] 出力、イベント 1 は PWMOB[x] 出力の選択になり ます。PWMO[x] 出力の強制レベルは EV0LVx[0] ビット、また PWMOB[x] 出力は EV1LVx[1] ビットで 設定した値になります。 この動作方式ではデューティカットでのイベント入力で出力が即座に変化します。そして、クロッ クに同期して新規ピリオドが開始されます。あるいは、イベント継続終了まで待ち、クロックに同期 して新規ピリオドが開始されます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 270 頁 Alligator Preliminary 図 14-72: 基本 PWM 動作でのピリオドカット動作 ピリオド PWMO/PWMOB[x] PWM 動作 イベント イベント継続 ピリオドカット動作 (PWMO[x] 中のイベント) PWMO/PWMOB[x] イベント イベント継続 (PWMOB[x] 中のイベント) PWMO/PWMOB[x] 14.6.3 キャプチャ動作 キャプチャビット (CAPENx ビット)をセットすると、キャプチャ動作が可能になります。キャプ チャ動作では選択された制御入力がアサートされると、カウンタ Ax の内容を DBBUFx レジスタに書 き込み、CAPx ビットをセットします。このとき、CAPEx ビットがセットしてあると、ホストに割り 込み要求を行わせることが出来ます。この読み込むカウンタ長は微細モードでは 12 ビット、通常モー ドでは 16 ビットになります。また、CAPENx ビットをセットしたキャプチャ動作中では、DATAUPx ビットを 0x1 に設定しても、DBx レジスタに対してのハードウェア更新は無視されます。 キャプチャ動作はキャプチャ機能部に入力した非同期信号を同期化、そして立ち上がりエッジを使 用します。 このキャプチャ動作での制御入力はイベント 0 あるいはイベント1のキャプチャ用信号になります。 このイベント 0 とイベント1の選択は CAPSELx ビットで選択します。CAPx ビットがセットしている ときには、新たなキャプチャが入力しても無視されます。 表 14-33:キャプチャ動作に関するホストビット 271 頁 ビット名 内容 CAPENx キャプチャ機能許可 CAPSELx キャプチャイベント選択 CAPx キャプチャ状態 CAPEx キャプチャ割り込み許可 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 14.7 PWM チャンネル制御部 14.7.1 複数チャンネル連携動作 Alligator 0 から 3 の 4 つの PWM チャンネルに対して、単独 PWM 動作、そして、複数のチャンネルを連携動 作させるチャンネル同期 PWM 動作あるいは位相シフト同期 PWM 動作をさせることが可能です。そ れぞれの設定は PWM チャンネル制御部で行います。また、EXTRSTx ビットが 0x0 であるときは単独 PWM 動作になります。 また、動作方式により使用出来る複数チャンネル連携動作は異なります : • チャンネルリセットモード付きの相補付き PWM 動作方式と相補付き PWM2 動作方式は位相 シフト PWM 動作のスレーブのみ使用が可能になります。 • 基本 PWM ではチャンネル同期 PWM が使用できません。 • 位相シフト PWM 動作のマスターは相補付き PWM 動作方式と相補付き PWM2 動作方式でなく てはなりません。 表 14-34:複数チャンネル PWM 動作 動作方式 単独 PWM 相補付き PWM チャンネル同 期 PWM ○ 相補付き PWM(チャンネルリセットモード) 位相シフト PWM 動作 マスター スレーブ ○ ○ ○ (使用禁止) 相補付き PWM2 ○ 相補付き PWM2(チャンネルリセットモード) ○ ○ ○ ○ ( 使用禁止) ○ 2 相 PWM ○ ○ - ○ 基本 PWM ○ - - ○ チャンネル同期 PWM 動作と位相シフト同期 PWM 動作ではデューティカット動作 / ピリオドカット 動作、PWM チャンネルの設定を考慮する必要があります。 表 14-35:EXTRSTx ビット EXTRSTx ビット チャンネル 0 チャンネル 1 チャンネル 2 チャンネル 3 0x0 - - - - 0x1 チャンネル 3 の位相 比較出力に一致で チャンネルリセット チャンネル 0 の位相 比較出力に一致で チャンネルリセット チャンネル 1 の位相 比較出力に一致で チャンネルリセット チャンネル 2 の位相 比較出力に一致で チャンネルリセット 0x2 チャンネル 2 の位相 比較出力に一致で チャンネルリセット チャンネル 3 の位相 比較出力に一致で チャンネルリセット チャンネル 0 の位相 比較出力に 0 一致で チャンネルリセット チャンネル 1 の位相 比較出力に一致で チャンネルリセット 0x3 チャンネル 1 の位相 比較出力に一致で チャンネルリセット チャンネル 2 の位相 比較出力に一致で チャンネルリセット チャンネルの 3 位相 比較出力に一致で チャンネルリセット チャンネル 0 の位相 比較出力に一致で チャンネルリセット 0x4 チャンネル 3 に同期 チャンネル 0 に同期 チャンネル 1 に同期 チャンネル 2 に同期 0x5 チャンネル 2 に同期 チャンネル 3 に同期 チャンネル 0 に同期 チャンネル 1 に同期 0x6 チャンネル 1 に同期 チャンネル 2 に同期 チャンネル 3 に同期 チャンネル 0 に同期 0x7 マスター指定 マスター指定 マスター指定 マスター指定 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 272 頁 Alligator Preliminary チャンネル同期 PWM 動作 複数チャンネルのカウンタクリアソースに同じ信号を用いることで複数チャンネルの同期動作をさ せる動作をチャンネル同期 PWM 動作と呼び、EXTRSTx ビットを 0x4 から 0x7 に設定することで実 現します。マスター側に指定するチャンネルを 0x7 に設定し、スレーブ側のチャンネルを 0x4 から 0x6 に設定します。 使用にあたっては以下の点を注意する必要があります: • このチャンネル同期 PWM 動作ではオプションも同一である同一動作方式のみでしか使用でき ません。 • 相補付き PWM 動作方式と相補付き PWM2 動作方式のチャンネルリセットモードではチャン ネル同期 PWM が使用できません。 • チャンネル間のピリオドは常に同一にする必要があります。よって、ピリオドは同一、ピリオ ドを操作するピリオドカット動作を使用できません。 • チャンネルリセット入力は使用しません。 複数のチャンネルを使用するこのチャンネル同期 PWM 動作ではマスター側のチャンネル定義が必 要になります。また、以下の設定を禁止します: • スレーブチャンネルの指定はなく、マスターチャンネルだけの設定 • 複数のマスターチャンネルだけの設定 • マスターチャンネルの指定はなく、スレーブチャンネルだけの設定 この動作を使用してイベント動作をさせるには注意が必要です 位相シフト PWM 動作 この動作は位相制御や多相制御で使用されます。 チャンネルのチャンネルリセットに他のチャンネルの位相シフト出力を使用することでチャンネル の位相シフトさせる動作を位相シフト PWM 動作と呼び、EXTRSTx ビットを 0x0 から 0x3 に設定す ることで実現します。マスター側に指定するチャンネルを 0x0 に設定し、スレーブ側に 0x1 から 0x3 に指定する必要があります。 相補付き PWM 動作方式と相補付き PWM2 動作方式では DTYB 一致を位相シフト出力とします。位 相シフト PWM 動作のマスターは相補付き PWM 動作方式あるいは相補付き PWM2 動作方式を使用し ますが、チャンネルリセットモードは使用できません。スレーブは基本的にはチャンネルリセットモー ドを使用した相補付き PWM 動作方式あるいは相補付き PWM2 動作方式を使用します。 複数のチャンネルを使用するこの位相シフト PWM 動作ではマスター側のチャンネル定義が必要に なります。また、マスターチャンネルの指定がないスレーブチャンネルだけの設定は禁止されます。 この位相シフト PWM 動作を使用した例を図 14-73 に示します。マスターチャンネルにはチャンネ ルリセットモードは禁止されており、かつ、スレーブからの位相開始が出来ません。 また、チャンネルリセットモードに設定した PWM チャンネルでは位相シフト量をゼロに設定は出 来ません。よって、スレーブから他のスレーブに位相シフト動作を行わせる場合には、最小位相シフ ト量は1になります。 273 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 14-73: 位相シフト PWM 動作例 位相シフト制御 PWM シフト量≧ 0 マスター 相補付き PWM スレーブ 相補付き PWM (チャンネルリセットモード) 3 相 PWM シフト量≧ 0 マスター 相補付き PWM シフト量≧ 1 スレーブ 相補付き PWM スレーブ 相補付き PWM (チャンネルリセットモード)(チャンネルリセットモード) マニュアル位相 PWM シフト量≧ 0 マスター 相補付き PWM スレーブ 相補付き PWM (チャンネルリセットモード) スレーブ シフト量≧ 1 相補付き PWM (チャンネルリセットモード) スレーブ 相補付き PWM (チャンネルリセットモード) 動作方式と複数チャンネル連携動作による制御入力イベント動作の制限 表 14-34「複数チャンネル PWM 動作」に示すように各動作方式と後述する複数チャンネル連携動作 の組み合わせがあります。その許された組み合わせに対して、制御入力イベント動作のデューティカッ ト動作とピリオドカット動作の使用が定められます。 表 14-36 で示す「使用禁止」は単独 PWM 動作を適応出来ない動作方式も含んでいます。この動作 ではデッドタイム付加有りデューティカット動作は相補付き PWM 動作方式に使用出来ます。ピリオ ドカット動作はチャンネルリセットモードを使用しない相補付き PWM 動作方式、2 相 PWM 動作方 式、基本 PWM 動作方式に使用できます。 表 14-36:制御入力イベント動作(単独 PWM 動作) デューティカット 動作方式 ピリオドカット デッドタイム付加無し デッドタイム付加有り 相補付き PWM ○ ○ ○ 相補付き PWM(チャンネルリセットモード) (使用禁止) (使用禁止) (使用禁止) 相補付き PWM2 ○ (使用禁止) (使用禁止) 相補付き PWM2(チャンネルリセットモード) (使用禁止) (使用禁止) (使用禁止) 2 相 PWM ○ (使用禁止) ○ 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 274 頁 Alligator Preliminary 表 14-36:制御入力イベント動作(単独 PWM 動作) デューティカット 動作方式 ピリオドカット 基本 PWM デッドタイム付加無し デッドタイム付加有り ○ (使用禁止) ○ 表 14-37 で示す「使用禁止」はチャンネル同期動作を適応出来ない動作方式も含んでいます。ピリ オドカットはすべての動作方式で使用できません。 チャンネル同期 PWM 動作はチャンネルリセットモードを使用しない相補付き PWM 動作方式では デューティカット動作は可能になります。チャンネルリセットモードを使用しない相補付き PWM2 動 作方式ではデッドタイム無しデューティカット動作は使用できます。2 相 PWM 動作ではデッドタイム 無しデューティカット動作は使用できます。 表 14-37:制御入力イベント動作(チャンネル同期 PWM 動作) デューティカット 動作方式 ピリオドカット デッドタイム付加無し デッドタイム付加有り 相補付き PWM ○ ○ (使用禁止) 相補付き PWM(チャンネルリセットモード) (使用禁止) (使用禁止) (使用禁止) 相補付き PWM2 ○ (使用禁止) (使用禁止) 相補付き PWM2(チャンネルリセットモード) (使用禁止) (使用禁止) (使用禁止) 2 相 PWM ○ (使用禁止) (使用禁止) 基本 PWM (使用禁止) (使用禁止) (使用禁止) 表 14-38 で示す「使用禁止」は位相シフト同期動作のマスター適応出来ない動作方式も含んでいま す。また、どの動作方式もピリオドカットは使用出来ません。位相シフト同期動作ではデューティカッ トの使用制限は単独 PWM 動作と同じです。 表 14-38:制御入力イベント動作(位相シフト同期 PWM 動作) デューティカット 動作方式 ピリオドカット デッドタイム付加無し デッドタイム付加有り 相補付き PWM ○ ○ (使用禁止) 相補付き PWM(チャンネルリセットモード) (使用禁止) (使用禁止) (使用禁止) 相補付き PWM2 ○ (使用禁止) (使用禁止) 相補付き PWM2(チャンネルリセットモード) (使用禁止) (使用禁止) (使用禁止) 2 相 PWM (使用禁止) (使用禁止) (使用禁止) 基本 PWM (使用禁止) (使用禁止) (使用禁止) 表 14-39 で示す「使用禁止」は位相シフト同期動作のスレーブ適応を示し、位相シフト同期動作の スレーブ適応出来ない動作方式も含んでいます。 275 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 14-39:制御入力イベント動作(位相シフト同期 PWM 動作 - スレーブ) デューティカット 動作方式 ピリオドカット デッドタイム付加無し デッドタイム付加有り 相補付き PWM ○ ○ (使用禁止) 相補付き PWM(チャンネルリセットモード) ○ ○ (使用禁止) 相補付き PWM2 ○ ○ (使用禁止) 相補付き PWM2(チャンネルリセットモード) ○ ○ (使用禁止) 2 相 PWM ○ (使用禁止) (使用禁止) 基本 PWM ○ (使用禁止) (使用禁止) 14.7.2 イベント機能部の拡張設定 複数の PWM チャンネルのイベント機能を共通化させることが出来ます。拡張ゲート生成機能やゲー ト出力選択機能で、異なったチャンネルのゲート生成出力やイベント機能部の入力選択を設定ごとに イベント機能を拡張できます。 拡張ゲート生成機能 PWM チャンネル内の 2 本の PWM 出力とそれぞれのエッジから 4 つのゲート処理期間を生成しま す。GATEXTx ビットを使用して、複数の PWM チャンネル入力部によるゲート生成出力からゲート生 成入力を生成することで、他の PWM チャンネルのゲート処理期間を追加して、エッジによるゲート 期間を増やすことが出来ます。 表 14-40:GATEXTx ビット ビット値 ビット名 GATEXT0 (チャンネル 0) GATEXT1 (チャンネル 1) GATEXT2 (チャンネル 2) GATEXT3 (チャンネル 3) 位置 内容 0 1 [0] - チャンネル 1 ゲート生成 チャンネル 0 にチャンネル 1 のゲート生成出力追加 [1] - チャンネル 2 ゲート生成 チャンネル 0 にチャンネル 2 のゲート生成出力追加 [2] - チャンネル 3 ゲート生成 チャンネル 0 にチャンネル 3 のゲート生成出力追加 [0] - チャンネル 2 ゲート生成 チャンネル 1 にチャンネル 2 のゲート生成出力追加 [1] - チャンネル 3 ゲート生成 チャンネル 1 にチャンネル 3 のゲート生成出力追加 [2] - チャンネル 0 ゲート生成 チャンネル 1 にチャンネル 0 のゲート生成出力追加 [0] - チャンネル 3 ゲート生成 チャンネル 2 にチャンネル 3 のゲート生成出力追加 [1] - チャンネル 0 ゲート生成 チャンネル 2 にチャンネル 0 のゲート生成出力追加 [2] - チャンネル 1 ゲート生成 チャンネル 2 にチャンネル 1 のゲート生成出力追加 [0] - チャンネル 0 ゲート生成 チャンネル 3 にチャンネル 0 のゲート生成出力追加 [1] - チャンネル 1 ゲート生成 チャンネル 3 にチャンネル 1 のゲート生成出力追加 [2] - チャンネル 2 ゲート生成 チャンネル 3 にチャンネル 2 のゲート生成出力追加 回路イメージは図 14-74 のようになります 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 276 頁 Alligator Preliminary 図 14-74: 拡張ゲート生成入力イメージ図 GATEXTx[0] ゲート生成出力 (x+1) GATEXTx[1] ゲート生成出力 (x+2) GATEXTx[2] ゲート生成出力 (x+3) ゲート生成出力 (x) ゲート生成入力 ゲート生成出力 PWM チャンネル x ゲート処理 ゲート処理出力選択 GATSELx ビットを使用して、他の PWM チャンネルからのゲート処理出力の使用を選択することが 可能です。このことにより、複数の PWM チャンネルがゲート処理出力の使用、つまり、同一の制御 入力イベントを使用することが可能になります。 表 14-41:GATSELx ビットa ビット値 GATSEL0 GATSEL1 GATSEL2 GATSEL3 (チャンネル 0) (チャンネル 1) (チャンネル 2) (チャンネル 3) 0x0 - - - - 0x1 チャンネル 3 チャンネル 0 チャンネル 1 チャンネル 2 0x2 チャンネル 2 チャンネル 3 チャンネル 0 チャンネル 1 0x3 チャンネル 1 チャンネル 2 チャンネル 3 チャンネル 0 a. 表内のチャンネル x は該当チャンネルのゲート処理出力の使用から、チャンネル x のゲート処理出力使 用に置き換えるということを示す 14.8 制御出力 各チャンネルから 8 本ずつ出力されたチャンネル制御出力は 14 本の制御出力にマッピングされて出 力されます。この制御出力からイベント入力も出力可能ですが、イベント機能を経ずに制御出力とな ります。 277 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 14-42 に合計 32 本の 4 チャンネル分のチャンネル制御出力を示します。 表 14-42:全チャンネル制御出力 チャンネル制御出力 リソース名 チャンネ ル 番号 リソース 0 0 CTLx CTL0 1 DTYBx DTYB0 2 PERx PER0 3 DTYx DTY0 4 DBx DB0 5 PERBx PERB0 6 EV0x EV00 7 EV1x EV10 0 CTLx CTL1 1 DTYBx DTYB1 2 PERx PER1 3 DTYx DTY1 4 DBx DB1 5 PERBx PERB1 6 EV0x EV01 7 EV1x EV11 0 CTLx CTL2 1 DTYBx DTYB2 2 PERx PER2 3 DTYx DTY2 4 DBx DB2 5 PERBx PERB2 6 EV0x EV02 7 EV1x EV12 0 CTLx CTL3 1 DTYBx DTYB3 2 PERx PER3 3 DTYx DTY3 4 DBx DB3 5 PERBx PERB3 6 EV0x EV03 7 EV1x EV13 1 2 3 制御出力番号 0 から 3 はチャンネル制御出力 [0] である CTLx リソースに当てられます。また、制御 出力 4 から 11 はチャンネル制御出力 [1] である DTYBx リソースとチャンネル制御出力 [2] である PERx リソースに当てられます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 278 頁 Alligator Preliminary 制御出力 12 と 13 はレジスタビットの設定は無く、デフォルト設定のまま出力されます。 表 14-43:制御出力リソース(デフォルト) チャンネル制御出力 制御出力 リソース名 リソース チャンネ ル 番号 CTLx 0 0 0 CTL0 1 CTL1 1 2 CTL2 2 3 CTL3 3 4 DTYB0 5 DTYB1 1 6 DTYB2 2 7 DTYB3 3 8 PER0 9 PER1 1 10 PER2 2 11 PER3 3 12 EV00 ¦ EV01 ¦ EV02 ¦ EV03 DTYBx PERxx EV0x 0 0 0 1 2 6 1 2 3 13 EV10 ¦ EV11 ¦ EV12 ¦ EV13 EV1x 0 7 1 2 3 この制御出力に対しては、チャンネルコンフィグレジスタ中の各チャンネルで持った制御出力選択 ビットである OC0MXx ビット、OC1MXx ビット、OC2MXx ビットを使用して、チャンネルとリソー スを示すチャンネル制御出力を選択します。OC0MXx ビットは制御出力 0 から 3、OC1MXx ビットは 制御出力 4 から 7、OC2MXx ビットは制御出力 8 から 11 を選択します。OC2MXx ビットの初期値は チャンネルにより異なります。制御出力 12 から 13 は常に固定出力になります。 表 14-44:制御出力選択ビットの割り付け 制御出力 279 頁 チャンネル / ビット OC0MXx ビット 初期値 OC0MX0 0x0 0 0 1 1 OC0MX1 2 2 OC0MX2 3 3 OC0MX3 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 14-44:制御出力選択ビットの割り付け 制御出力 チャンネル / ビット OC1MXx ビット 初期値 OC1MX0 0x0 4 0 5 1 OC1MX1 6 2 OC1MX2 7 3 OC1MX3 8 0 9 OC2MXx OC2MX0 0x8 1 OC2MX1 0x9 10 2 OC2MX2 0xa 11 3 OC2MX3 0xb - - 12 - 13 制御出力 0 から 3 の選択 制御出力 0 から 3 は制御出力選択ビットである OC0MXx ビットを使用して出力を CTLx と EVxx か ら選択します。制御出力選択ビットの値が 0x1 から 0x3 であるときは、複数チャンネル制御出力の論 理和を出力します。 表 14-45:制御出力 0 から 3 選択 ホストレジスタビット チャンネル制御出力 制御出力 選択リソース名 チャンネル / ビット 0 1 2 3 0 1 2 3 OC0MXx OC0MXx OC0MXx OC0MXx ビット 値 OC0MX0 0x0 OC0MX1 OC0MX2 OC0MX3 チャンネル 番号 CTL0 0 0 0x1 CTL0 ¦ CTL1 0/1 0 0x2 CTL0 ¦ EV00 0 0/6 0x3 CTL0 ¦ EV10 0 0/7 0x0 CTL1 1 0 0x1 CTL1 ¦ CTL2 1/2 0 0x2 CTL1 ¦ EV01 1 0/6 0x3 CTL1 ¦ EV11 1 0/7 0x0 CTL2 2 0 0x1 CTL2 ¦ CTL3 2/3 0 0x2 CTL2 ¦ EV02 2 0/6 0x3 CTL2 ¦ EV12 2 0/7 0x0 CTL3 3 0 0x1 CTL3 ¦ CTL0 3/0 0 0x2 CTL3 ¦ EV03 3 0/6 0x3 CTL3 ¦ EV13 3 0/7 制御出力 4 から 7 の選択 制御出力 4 から 7 は制御出力選択ビットである OC1MXx ビットを使用して出力を選択します。制御 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 280 頁 Alligator Preliminary 出力選択ビットの値が 0x1 から 0x3 であるときは、DTYBx と一部 CTLx を使用して複数チャンネル制 御出力の論理和を出力、0x4 から 0xf であるときは、各チャンネルの DTYx、DBx、PERBx リソースを 選択出力します。 表 14-46:制御出力 4 から 7 選択 OC1MXx ビット リソース 名 0x0 制御入 力番号 により 異なる 0x1 0x2 チャンネル制御出力 リソース チャンネル 番号 制御入力により異なる 0x3 0x4 DTY0 DTYx 0 0x5 DTY1 1 0x6 DTY2 2 0x7 DTY3 3 0x8 DB0 0x9 DB1 1 0xa DB2 2 0xb DB3 3 0xc PERB0 0xd PERB1 1 0xe PERB2 2 0xf PERB3 3 DBx 0 PERBx 0 3 4 5 OC1MXx ビットが 0x0 から 0x3 である場合の制御出力 4 から 7 選択を示します。制御出力選択ビッ トの値が 0x1 から 0x3 であるときは、複数チャンネル制御出力の論理和を出力します。 表 14-47:制御出力 4 から 7 選択(OC1MXx ビットが 0x0 から 0x3) ホストレジスタビット チャンネル制御出力 選択リソース名 チャンネル / ビット 0 1 281 頁 OC1MXx OC1MXx ビット 値 OC1MX0 0x0 OC1MX1 チャンネル 番号 DTYB0 0 1 0x1 DTYB0 ¦ DTYB1 0/1 1 0x2 DTYB0 ¦ CTL0 0 1/0 0x3 DTYB0 ¦ EV00 0 1/6 0x0 DTYB1 1 1 0x1 DTYB1 ¦ DTYB2 1/2 1 0x2 DTYB1 ¦ CTL1 1 1/0 0x3 DTYB1 ¦ EV01 1 1/6 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 14-47:制御出力 4 から 7 選択(OC1MXx ビットが 0x0 から 0x3) ホストレジスタビット チャンネル制御出力 選択リソース名 チャンネル / ビット 2 3 OC1MXx OC1MXx ビット 値 OC1MX2 0x0 OC1MX3 チャンネル 番号 DTYB2 2 1 0x1 DTYB2 ¦ DTYB3 2/3 1 0x2 DTYB2 ¦ CTL2 2 1/0 0x3 DTYB2 ¦ EV02 2 1/6 0x0 DTYB3 3 1 0x1 DTYB3 ¦ DTYB0 3/0 1 0x2 DTYB3 ¦ CTL3 3 1/0 0x3 DTYB3 ¦ EV03 3 1/6 制御出力 8 から 11 の選択 制御出力 8 から 11 は制御出力選択ビットである OC2MXx ビットを使用して出力を選択します。 OC2MX ビットの初期値はチャンネルにより異なります。 表 14-48:制御出力 8 から 11 選択 チャンネル制御出力 OC2MX ビッ ト リソース 名 0x0 制御入 力番号 により 異なる 0x1 0x2 リソース チャンネ ル 番号 制御入力により異なる 0x3 0x4 0x5 0x6 0x7 2013.12.20 版 0x8 PER0 PERxx 0x9 PER1 1 0xa PER2 2 0xb PER3 3 0xc DTY0 0xd DTY1 1 0xe DTY2 2 0xf DTY3 3 0x10 DB0 0x11 DB1 1 0x12 DB2 2 0x13 DB3 3 DTYx DBx 0 0 0 2 3 4 (C) 2009-2013 New Japan Radio Co., Ltd. 282 頁 Alligator Preliminary 表 14-48:制御出力 8 から 11 選択 チャンネル制御出力 OC2MX ビッ ト リソース 名 0x14 PERB0 0x15 PERB1 1 0x16 PERB2 2 0x17 PERB3 3 0x18 EV00 0x19 EV01 1 0x1a EV02 2 0x1b EV03 3 1x1c EV10 1x1d EV11 1 0x1e EV12 2 0x1f EV13 3 リソース チャンネ ル 番号 PERBx 0 5 EV0x EV1x 0 0 6 7 制御出力選択ビットの値が0x0から7であるときは、複数チャンネル制御出力の論理和を出力します。 表 14-49:制御出力 8 から 11 選択(OC2MXx ビットが 0x0 から 0x3) ホストレジスタビット チャンネル制御出力 選択リソース名 チャンネル / ビット 0 1 283 頁 OC2MXx OC2MXx ビット 値 OC2MX0 0x0 DTY0 ¦ PER0 0x1 DB0 ¦ PERB0 4/5 0x2 DTYB0 ¦ DB0 1/4 0x3 PER0 ¦ PERB0 2/5 0x4 DTY0 ¦ PER0 ¦ EV00 3/2/6 0x5 DTYB0 ¦ DB0 ¦ EV00 1/4/6 0x6 PER0 ¦ EV00 2/6 0x7 PERB0 ¦ EV10 5/7 0x0 DTY1 ¦ PER1 0x1 DB1 ¦ PERB1 4/5 0x2 DTYB1 ¦ DB1 1/4 0x3 PER1 ¦ PERB1 2/5 0x4 DTY1 ¦ PER1 ¦ EV01 3/2/6 0x5 DTYB1 ¦ DB1 ¦ EV01 1/4/6 0x6 PER1 ¦ EV01 2/6 0x7 PERB1 ¦ EV11 5/7 OC2MX1 (C) 2009-2013 New Japan Radio Co., Ltd. チャンネル 番号 0 3/2 1 3/2 2013.12.20 版 Preliminary Alligator 表 14-49:制御出力 8 から 11 選択(OC2MXx ビットが 0x0 から 0x3) ホストレジスタビット チャンネル制御出力 選択リソース名 チャンネル / ビット 2 OC2MXx 3 14.9 OC2MXx ビット 値 OC2MX2 0x0 DTY2 ¦ PER2 0x1 DB2 ¦ PERB2 4/5 0x2 DTYB2 ¦ DB2 1/4 0x3 PER2 ¦ PERB2 2/5 0x4 DTY2 ¦ PER2 ¦ EV02 3/2/6 0x5 DTYB2 ¦ DB2 ¦ EV02 1/4/6 0x6 PER2 ¦ EV02 2/6 0x7 PERB2 ¦ EV12 5/7 0x0 DTY3 ¦ PER3 0x1 DB3 ¦ PERB3 4/5 0x2 DTYB3 ¦ DB3 1/4 0x3 PER3 ¦ PERB3 2/5 0x4 DTY3 ¦ PER3 ¦ EV03 3/2/6 0x5 DTYB3 ¦ DB3 ¦ EV03 1/4/6 0x6 PER3 ¦ EV03 2/6 0x7 PERB3 ¦ EV13 5/7 OC2MX3 チャンネル 番号 2 3/2 3 3/2 割り込み この PSPWM モジュールはホストに対して最大 8 本の割り込み要求を出来ます。割り込みを発生で きるリソースは全部で 36 本ありますが、PWM チャンネル毎に 4 本の割り込み要求となります。この 全チャンネル合計で 16 本の割り込み要求をホストに対する 8 本の割り込みに振り分けます。 それぞれの割り込み要求リソースが持つ割り込み状態ビットがデバイスによりセットされ、ホスト により対応する割り込み許可ビットがセットされているとき、モジュール内リソースからホストに割 り込み要求を行うことが出来ます : • IRQEXTx ビット(x は 1 から 7)がすべて 0x0 であるときは、16 本の全割り込み要求リソー スの論理和が 1 本の割り込み要求 0 から出力されます。この時、割り込み要求1から 7 は割り 込み要求は行いません。 • 4 ビット幅の IRQEXTx ビットの x は割り込み要求1から 7 に対応します。このビットに 0x0 を設定すると、対応する割り込み要求は行いません。また、表 14-50 で示す IRQEXTx ビット に 0x0 以外の値を設定すると、設定したチャンネルの割り込み要求が可能になり、同時に割り 込み要求 0 からは、そのチャンネルの割り込み要求が除外されます。この表で指定された以外 の値を設定したときの動作は保証されません。 • IRQEXT1 から IRQEXT4 はレジスタとイベント 0/1 割り込み要求、IRQEXT5 から IRQEXT7 はキャプチャとイベント 0/1 割り込み要求を選択できます。 表 14-50:IRQEXT ビットと割り込み要求 IRQEXTx ビット(x は1から 7) チャンネル 割り込み要求 IRQEXT1 から 4 - 2013.12.20 版 - IRQEXT5 から 7 0x0 (C) 2009-2013 New Japan Radio Co., Ltd. 284 頁 Alligator Preliminary 表 14-50:IRQEXT ビットと割り込み要求 IRQEXTx ビット(x は1から 7) チャンネル 0 1 2 3 14.10 割り込み要求 IRQEXT1 から 4 IRQEXT5 から 7 レジスタ 0x4 - イベント 0 0x8 0x8 イベント 1 0x9 0x9 キャプチャ - 0x4 レジスタ 0 0x5 - イベント 0 0xa 0xa イベント 1 0xb 0xb キャプチャ - 0x5 レジスタ 0 0x6 - イベント 0 0xc 0xc イベント 1 0xd 0xd キャプチャ - 0x6 レジスタ 0 0x7 - イベント 0 0xe 0xe イベント 1 0xf 0xf キャプチャ - 0x7 ホストアクセス 表 14-51 にこのモジュールの全レジスタビットを示します。この表はアクセス方法を区別させるも のです。 285 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 14-51:PWM レジスタビットアクセス IRQEXT3 IRQEXT2 IRQEXT1 PWMCFGx - CCLKSEL IRQEXT7 IRQEXT5 EVGATBCx EVGATBSx PEREXx CHSTARTx OC1MXx[0] EVGATSx DTYBCMPx FUNCx PERBCMPx CCLKDIVx OC0MXx OUTBENx OUTENx EV1FUNCx EV1RETx EV1GATx EV0LVx EV0FUNCx EV0RETx EV0GATx PERCMPx - FPWMENx CAPSELx GATEXTx OUTBINVx OUTINVx EV1SLx EV0SLx EXTRSTx - - EV1RUN3 EV1RUN2 EV1RUN1 EV1RUN0 EV0RUN3 EV0RUN2 EV0RUN1 EV0RUN0 CAPEN3 CAPEN2 CAPEN1 CAPEN0 PWMEN3 PWMEN2 PWMEN1 PWMEN0 CAP3 CAP2 CAP1 CAP0 CAPE3 CAPE2 CAPE1 CAPE0 EV1CTLx EV0CTLx - - - - - DATACC EV1E1 EV0E1 PERBE1 DBE1 DTYE1 PERE1 DTYBE1 CTLE1 EV1E0 EV0E0 PERBE0 DBE0 DTYE0 PERE0 DTYBE0 CTLE0 EV1E3 EV0E3 PERBE3 DBE3 DTYE3 PERE3 DTYBE3 CTLE3 EV1E2 EV0E2 PERBE2 DBE2 DTYE2 PERE2 DTYBE2 CTLE2 EV11 EV01 PERB1 DB1 DTY1 PER1 DTYB1 CTL1 EV10 EV00 PERB0 DB0 DTY0 PER0 DTYB0 CTL0 EV13 EV03 PERB3 DB3 DTY3 PER3 DTYB3 CTL3 EV02 PERB2 DB2 DTY2 PER2 DTYB2 EV12 DATBUP3 CNTACC DATAUP3 DATBUP1 PWMCCTLx DTYCMPx OC1MXx[3:1] EV1LVx GATSELX PWMCTLx/ PWMIRQx/ PWMSTATx/ PWMEN IRQEXT4 EVGATCx OC2MXx PWMCCFGyx PWMRST IRQEXT6 DATBUP2 DATAUP1 OUTDAT3 OUTBWR3 DATBUP0 OUTWR3 - OUTDAT2 CTL2 DATAUP2 DATAUP0 OUTBWR2 OUTWR2 - OUTDAT1 OUTBWR1 OUTWR1 - OUTDAT0 OUTBWR0 OUTWR0 OCEN1EN1 OCEV0EN1 OCPERBEN1 OCDBEN1 OCDTYEN1 OCPEREN1 OCDTYBEN1 OCCTLEN1 OCEN1EN0 OCEV0EN0 OCPERBEN0 OCDBEN0 OCDTYEN0 OCPEREN0 OCDTYBEN0 OCCTLEN0 OCEN1EN3 OCEV0EN3 OCPERBEN3 OCDBEN3 OCDTYEN3 OCPEREN3 OCDTYBEN3 OCCTLEN3 OCEN1EN2 OCEV0EN2 OCPERBEN2 OCDBEN2 OCDTYEN2 OCPEREN2 OCDTYBEN2 OCCTLEN2 PWMCNTx[15:8] PWMCNTx PWMCNTx[7:0] PWMxDATy[15:8] PWMxDATy PWMxDATy[7:0] 表 14-52 にアクセス方法を示します。 • PSPWM モジュールのコンフィグレーションは PWMEN ビットがクリアされているときに行わ なくはなりません。読み / 書きはノンウェイトで行えます。 • PWM チャンネルのコンフィグレーションは PWMENx ビットがクリアされているときに行わ なくてはなりません。読み / 書きはノンウェイトで行えます。 • PWM 設定 / 状態ビットの読み出しは常に可能です。 - システムクロック同期の読み / 書きはノンウェイトで行えます。 - CPWM クロックを使用する PWMCNTx への読み出しはウェイトサイクルが入ります。 他のレジスタビットへの読み出しはノンウェイトで行えます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 286 頁 Alligator Preliminary - CPWM クロック同期のビットへの書き込みはウェイトサイクルが入る可能性がありま す。 CPWM クロックに同期するレジスタビットへのアクセスはシステムクロックと CPWM クロックの 同期遅延が発生し、ウェイトサイクルが掛かります。 表 14-52:レジスタビットのアクセス方法 表中 14.11 内容 備考 PSPWM モジュールのコンフィグレーション PWMEN=0 時のみで設定 PSPWM チャンネルのコンフィグレーション PWMENx=0 時のみで設定 PWM 設定 / 状態ビット いつでも設定可能(システムクロック同期) PWM 設定 / 状態ビット(ウェイト付き) いつでも設定可能(CPWM クロック同期) デバッグ機能サポート デバイスのデバッグ機能を使用し、デバッグ動作がアクティブ動作に移行すると、次の動作が停止 します。デバッグモジュール内の 1 つのレジスタビット操作により、動作無効化が出来ます。但し、 CCLK 分周器は停止しません。 • すべてのカウンタ Ax • すべてのカウンタ Bx • すべてのカウンタ Cx 287 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. Alligator 288 頁 Alligator 14.12 Preliminary レジスタ PSPWM モジュール内のレジスタを表 14-53 に示します。全部で 64 ワードの大きさが必要になりま す。 表 14-53:PSPWM モジュール内のレジスタ レジスタ名 287 頁 アドレス PWM コンフィグ 0 PWMCFG0 +0 PWM コンフィグ 1 PWMCFG1 +1 PWM チャンネルコンフィグ 00 PWMCCFG00 +2 PWM チャンネルコンフィグ 10 PWMCCFG10 +3 PWM チャンネルコンフィグ 20 PWMCCFG20 +4 PWM チャンネルコンフィグ 30 PWMCCFG30 +5 PWM チャンネルコンフィグ 01 PWMCCFG01 +6 PWM チャンネルコンフィグ 11 PWMCCFG11 +7 PWM チャンネルコンフィグ 21 PWMCCFG21 +8 PWM チャンネルコンフィグ 31 PWMCCFG31 +9 PWM チャンネルコンフィグ 02 PWMCCFG02 +10 PWM チャンネルコンフィグ 12 PWMCCFG12 +11 PWM チャンネルコンフィグ 22 PWMCCFG22 +12 PWM チャンネルコンフィグ 32 PWMCCFG32 +13 PWM チャンネルコンフィグ 03 PWMCCFG03 +14 PWM チャンネルコンフィグ 13 PWMCCFG13 +15 PWM チャンネルコンフィグ 23 PWMCCFG23 +16 PWM チャンネルコンフィグ 33 PWMCCFG33 +17 PWM 制御 0 PWMCTL0 +18 PWM 制御 1 PWMCTL1 +19 PWM 割り込み制御 0 PWMIRQ0 +20 PWM 割り込み制御 1 PWMIRQ1 +21 PWM 状態 0 PWMSTAT0 +22 PWM 状態 1 PWMSTAT1 +23 PWM チャンネル制御 0 PWMCCTL0 +24 PWM チャンネル制御 1 PWMCCTL1 +25 PWM チャンネル制御 2 PWMCCTL2 +26 PWM チャンネル制御 3 PWMCCTL3 +27 PWM0 カウンタデータ PWMCNT0 +28 PWM1 カウンタデータ PWMCNT1 +29 PWM2 カウンタデータ PWMCNT2 +30 PWM3 カウンタデータ PWMCNT3 +31 PWM0 データ 0 PWM0DAT0 +32 PWM0 データ 1 PWM0DAT1 +33 PWM0 データ 2 PWM0DAT2 +34 PWM0 データ 3 PWM0DAT3 +35 PWM0 データ 4 PWM0DAT4 +36 PWM0 データ 5 PWM0DAT5 +37 PWM0 データ 6 PWM0DAT6 +38 PWM0 データ 7 PWM0DAT7 +39 PWM1 データ 0 PWM1DAT0 +40 PWM1 データ 1 PWM1DAT1 +41 PWM1 データ 2 PWM1DAT2 +42 PWM1 データ 3 PWM1DAT3 +43 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 14-53:PSPWM モジュール内のレジスタ レジスタ名 2013.12.20 版 アドレス PWM1 データ 4 PWM1DAT4 +44 PWM1 データ 5 PWM1DAT5 +45 PWM1 データ 6 PWM1DAT6 +46 PWM1 データ 7 PWM1DAT7 +47 PWM2 データ 0 PWM2DAT0 +48 PWM2 データ 1 PWM2DAT1 +49 PWM2 データ 2 PWM2DAT2 +50 PWM2 データ 3 PWM2DAT3 +51 PWM2 データ 4 PWM2DAT4 +52 PWM2 データ 5 PWM2DAT5 +53 PWM2 データ 6 PWM2DAT6 +54 PWM2 データ 7 PWM2DAT7 +55 PWM3 データ 0 PWM3DAT0 +56 PWM3 データ 1 PWM3DAT1 +57 PWM3 データ 2 PWM3DAT2 +58 PWM3 データ 3 PWM3DAT3 +59 PWM3 データ 4 PWM3DAT4 +60 PWM3 データ 5 PWM3DAT5 +61 PWM3 データ 6 PWM3DAT6 +62 PWM3 データ 7 PWM3DAT7 +63 (C) 2009-2013 New Japan Radio Co., Ltd. 288 頁 Alligator 14.12.1 Preliminary PWM コンフィグレジスタ PWM のコンフィグレーションを設定するビットです。 表 14-54:PWM コンフィグ 0 レジスタ PWMCFG0 ビット位置 +7 +6 +5 +4 +3 +2 ビット IRQEXT3 IRQEXT2 RW RW RW 8 +1 +0 RST 0x0 ビット IRQEXT1 - CCLKSEL PWMRST PWMEN RW RW - RW WS RW RST 0x0 0 0 0 0 0 0x0 PSPWM イネーブル PWMEN PSPWM モジュールの動作を設定します。このビットをクリアして、休止状態であるときに もレジスタのアクセスは可能です。 0 - PSPWM モジュールを休止状態にして初期化します 1 - PSPWM モジュールを動作させます PSPWM リセット PWMRST PSPWM モジュールをリセットします。 1 - PSPWM モジュールをリセットします。 CCLK 分周比 CCLKSEL CCLK の FCLK からの分周比を選択します。 0 - CCLK 分周比を 1/4 とします 1 - CCLK 分周比を 1/2 とします IRQEXTx[3:0] 割り込み要求 x 選択 (x は 1 から 3) 割り込み要求を設定します。 表 14-55:PWM コンフィグ 1 レジスタ PWMCFG1 ビット位置 +7 +6 +5 +4 +3 +2 +1 ビット IRQEXT7 IRQEXT6 RW RW RW 8 RST 0x0 0x0 ビット IRQEXT5 IRQEXT4 0 RW RW RW RST 0x0 0x0 IRQEXTx[3:0] +0 割り込み要求 x 選択 (x は 4 から 7) 割り込み要求を設定します。 289 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 14.12.2 Alligator PWM チャンネルコンフィグレジスタ PWM チャンネル毎に設定するコンフィグレジスタを示します。このレジスタビットの書き込みは PWMENx ビットがクリアしてあるときに行う必要があります。 表 14-56:PWM チャンネルコンフィグレジスタ レジスタ名 チャンネル PWM チャンネルコンフィグ 00 PWMCCFG00 PWM チャンネルコンフィグ 10 PWMCCFG10 PWM チャンネルコンフィグ 20 PWMCCFG20 参照先 PWMCFG0x PWMCFG1x 0 PWMCFG2x PWM チャンネルコンフィグ 30 PWMCCFG30 PWMCFG3x PWM チャンネルコンフィグ 01 PWMCCFG01 PWMCFG0x PWM チャンネルコンフィグ 11 PWMCCFG11 PWM チャンネルコンフィグ 21 PWMCCFG21 PWMCFG1x 1 PWMCFG2x PWM チャンネルコンフィグ 31 PWMCCFG31 PWMCFG3x PWM チャンネルコンフィグ 02 PWMCCFG02 PWMCFG0x PWM チャンネルコンフィグ 12 PWMCCFG12 PWM チャンネルコンフィグ 22 PWMCCFG22 PWMCFG1x 2 PWMCFG2x PWM チャンネルコンフィグ 32 PWMCCFG32 PWMCFG3x PWM チャンネルコンフィグ 03 PWMCCFG03 PWMCFG0x PWM チャンネルコンフィグ 13 PWMCCFG13 PWM チャンネルコンフィグ 23 PWMCCFG23 PWM チャンネルコンフィグ 33 PWMCCFG33 PWMCFG1x 3 PWMCFG2x PWMCFG3x PWM チャンネルコンフィグレジスタは 4 チャンネル分の 4 ワードずつで 16 ワードになります。 表 14-57:PWM チャンネルコンフィグ 0x レジスタ PWMCCFG0x(X=0 3) ビット位置 8 0 +7 +6 +5 +4 +3 +2 +1 +0 ビット EVGATBCx EVGATBSx EVGATCx EVGATSx DTYBCMPx PERBCMPx DTYCMPx PERCMPx RW RW RW RW RW RW RW RW RW RST 0 0 0 0 0 0 0 0 ビット PEREXx CHSTARTx FUNCx CCLKDIVx - FPWMENx RW RW RW RW RW - RW RST 0 0 0 0 0 0 4 チャンネル分のホストレジスタビットを示します。x はチャンネルを示し、0 から3の値をとります。 FPWMENx 副 PWM 使用許可 副 PWM を使用するかを設定します。 0 - 副 PWM を使用しません 1 - 副 PWM を使用します CCLKDIVx[1:0] CPWM カウンタイネーブル分周比 CPWM カウンタイネーブルの分周比を設定します。 FUNCx[1:0] PWMx 機能設定 PWM チャンネルの機能を設定します CHSTARTx チャンネルリセットモード設定 チャンネルリセットモードの動作設定をします。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 290 頁 Alligator Preliminary ピリオド終了位置動作設定 PEREXx ピリオド終了位置での出力を設定します PERx 比較設定 PERCMPx PERx で使用する比較器の機能を選択します DTYx 比較設定 DTYCMPx DTYx で使用する比較器の機能を選択します PERBx 比較設定 PERBCMPx PERBx で使用する比較器の機能を選択します DTYBx 比較設定 DTYBCMPx DTYBx で使用する比較器の機能を選択します チャンネル xPWMO 出力セットゲート許可 EVGATSx チャンネル x の PWMO 出力セット期間からゲート処理を行います。 チャンネル xPWMO 出力クリアゲート許可 EVGATCx チャンネル x の PWMO 出力クリア期間までゲート処理を行います。 チャンネル xPWMOB 出力セットゲート許可 EVGATBSx チャンネル x の PWMOB 出力セット期間からゲート処理を行います。 チャンネル xPWMOB 出力クリアゲート許可 EVGATBCx チャンネル x の PWMOB 出力クリア期間までゲート処理を行います。 表 14-58:PWM チャンネルコンフィグ 1x レジスタ PWMCCFG1x(X=0 3) ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット OC2MXx OC1MXx[3:1] RW RW RW 8 RST (チャンネルにより異なる) ビット OC1MXx[0] RW RW RST 0 0 OUTINVx OC0MXx RW 0 0 0 0 0 CAPSELx OUTBENx OUTENx OUTBINVx OUTINVx RW RW RW RW RW 0 0 0 0 0 PWMOx 出力反転 チャンネル x の PWMO 端子のセット / クリアソースを入れ替えます。 0 - チャンネル x の PWMO 端子のセット / クリアソースはそのまま使用されます 1 - チャンネル x の PWMO 端子のセット / クリアソースを入れ替えます。 OUTBINVx PWMOBx 出力反転 チャンネル x の PWMOB 端子のセット / クリアソースを入れ替えます。 0 - チャンネル x の PWMOB 端子のセット / クリアソースはそのまま使用されます 1 - チャンネル x の PWMOB 端子のセット / クリアソースを入れ替えます。 OUTENx PWMOx 出力許可 チャンネル x の PWMO 端子の出力許可を与えます 0 - チャンネル x の PWMO 端子は使用されません 1 - チャンネル x の PWMO 端子を出力として使用します 291 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator PWMOBx 出力許可 OUTBENx チャンネル x の PWMOB 端子の出力許可を与えます 0 - チャンネル x の PWMOB 端子は使用されません 1 - チャンネル x の PWMOB 端子を出力として使用します キャプチャイベント選択 CAPSELx チャンネル x のキャプチャ入力用のイベント検出出力を選択します。 0 - チャンネル x のイベント 0 検出出力を使用します 1 - チャンネル x のイベント 1 検出出力を使用します 制御出力 0 選択 OC0MXx[1:0] 制御出力の [0] から [3] の一つに対して、チャンネルとリソースを示すチャンネル制御出力 を選択します。 制御出力 1 選択 OC1MXx[3:0] 制御出力の [4] から [7] の一つに対して、チャンネルとリソースを示すチャンネル制御出力 を選択します。 制御出力 2 選択 OC2MXx[4:0] 制御出力の [8] から [11] の一つに対して、チャンネルとリソースを示すチャンネル制御出力 を選択します。このビットの初期値はチャンネルにより異なります。 表 14-59:OC2MXx ビットの初期値 チャンネル / ビット ビット 初期値 OC2MX0 0x8 9 OC2MX1 0x9 10 OC2MX2 0xa 11 OC2MX3 0xb 8 OC2MXx 表 14-60:PWM チャンネルコンフィグ 2x レジスタ PWMCCFG2x(x=0 3) ビット位置 8 0 +3 +2 ビット +7 EV1LVx +6 +5 EV1FUNCx +4 EV1RETx EV1GATx +1 EV1SLx +0 RW RW RW RW RW RW RST 0 0 0 0 0 ビット EV0LVx EV0FUNCx EV0RETx EV0GATx EV0SLx RW RW RW RW RW RW RST 0 0 0 0 0 EV0SLx[1:0] チャンネル x イベント 0 入力選択 チャンネル x のイベント 0 で使用する制御入力機能出力を選択します。 EV0GATx チャンネル x イベント 0 ゲート処理 チャンネル x イベント 0 のゲート処理の有無を設定します。 0 - チャンネル x のイベント 0 はゲート処理は受けずそのまま出力されます 1 - チャンネル x のイベント 0 はゲート処理を受けて出力されます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 292 頁 Alligator Preliminary イベント 0 復帰方法 EV0RETx イベント 0 の復帰条件を設定します。 0 - ソフトウェア復帰 1 - ハードウェア復帰 イベント 0 機能選択 EV0FUNCx[1:0] チャンネル x のイベント 0 のイベント機能を選択します イベント 0 強制レベル EV0LVx[1:0] チャンネル x のイベント 0 のイベント機能における強制レベルを設定します。 チャンネル x イベント 1 入力選択 EV1SLx[1:0] チャンネル x のイベント 1 で使用する制御入力機能出力を選択します。 チャンネル x イベント 1 ゲート処理 EV1GATx チャンネル x イベント 1 のゲート処理の有無を設定します。 0 - チャンネル x のイベント 1 はゲート処理は受けずそのまま出力されます 1 - チャンネル x のイベント 1 はゲート処理を受けて出力されます。 イベント 1 復帰方法 EV1RETx イベント 1 の復帰条件を設定します。 0 - ソフトウェア復帰 1 - ハードウェア復帰 イベント 1 機能選択 EV1FUNCx[1:0] チャンネル x のイベント 1 のイベント機能を選択します イベント 1 強制レベル EV1LVx[1:0] チャンネル x のイベント 1 のイベント機能における強制レベルを設定します。 表 14-61:PWM チャンネルコンフィグ 3x レジスタ PWMCCFG3x(x=0 3) ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット GATSELx GATEXTx EXTRSTx RW RW RW RW 8 0 0 ビット RST - - EV1CTLx EV0CTLx RW - - RW RW RST 0 0 0 0 0 0 EV0CTLx[2:0] イベント 0 制御入力機能 チャンネル x のイベント 0 入力機能を選択します。 EV1CTLx[2:0] イベント 1 制御入力機能 チャンネル x のイベント 1 入力機能を選択します。 EXTRSTx[2:0] チャンネル x 複数チャンネルリンク動作選択 PWM チャンネル x の複数チャンネルリンク動作を設定します GATEXTx[2:0] チャンネル x 拡張ゲート処理設定 PWM チャンネル x の拡張ゲート処理を設定します GATSELx[1:0] チャンネル x ゲート処理出力選択 PWM チャンネル x のゲート処理出力を選択設定します 293 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 14.12.3 Alligator PWM 制御 / 状態 / データレジスタ これらのレジスタは PWM 動作中に使用することが可能です。 表 14-62:PWM 制御 0 レジスタ PWMCTL0 ビット位置 8 0 +7 +6 +5 +4 +3 +2 +1 +0 ビット EV1RUN3 EV1RUN2 EV1RUN1 EV1RUN0 EV0RUN3 EV0RUN2 EV0RUN1 EV0RUN0 RW RW RW RW RW RW RW RW RW RST 0 0 0 0 0 0 0 0 ビット CAPEN3 CAPEN2 CAPEN1 CAPEN0 PWMEN3 PWMEN2 PWMEN1 PWMEN0 RW RW RW RW RW RW RW RW RW RST 0 0 0 0 0 0 0 0 PWMEN0 PWM チャンネル 0 イネーブル PWM チャンネル 0 の動作許可とします。 0 - PWM チャンネル 0 は停止状態にあります。 1 - PWM チャンネル 0 の動作許可とします PWMEN1 PWM チャンネル 1 イネーブル PWM チャンネル 1 の動作許可とします。 0 - PWM チャンネル 1 は停止状態にあります。 1 - PWM チャンネル 1 の動作許可とします PWMEN2 PWM チャンネル 2 イネーブル PWM チャンネル 2 の動作許可とします。 0 - PWM チャンネル 2 は停止状態にあります。 1 - PWM チャンネル 2 の動作許可とします PWMEN3 PWM チャンネル 3 イネーブル PWM チャンネル 3 の動作許可とします。 0 - PWM チャンネル 3 は停止状態にあります。 1 - PWM チャンネル 3 の動作許可とします 以下のビットは 4 チャンネル分のホストレジスタビットを示します。x はチャンネルを示し、0 から 3 の値をとります。 CAPENx キャプチャ機能許可 チャンネル x のキャプチャ機能を行わせます。 0 - チャンネル x のキャプチャ機能を行わせません。 1 - チャンネル x のキャプチャ機能を行わせます。 EV0RUNx イベント 0 機能許可 チャンネル x のイベント 0 のイベント機能を使用許可します 0 - チャンネル x のイベント 0 のイベント機能を使用しません 1 - チャンネル x のイベント 0 のイベント機能を使用許可します EV1RUNx イベント 1 機能許可 チャンネル x のイベント 1 のイベント機能を使用許可します 0 - チャンネル x のイベント 1 のイベント機能を使用しません 1 - チャンネル x のイベント 1 のイベント機能を使用許可します 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 294 頁 Alligator Preliminary 表 14-63:PWM 制御 1 レジスタ PWMCTL1 ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット CAP3 CAP2 CAP1 CAP0 CAPE3 CAPE2 CAPE1 CAPE0 RW RC RC RC RC RW RW RW RW RST 0 0 0 0 0 0 0 0 8 ビット - - - - CNTACC - DATACC RW - - - - RW - RW RST 0 0 0 0 0 0 0 0 0 PWMDATx アクセス方法 DATACC PWMDATx レジスタのアクセス方法を設定します 0 - PWMDATx レジスタのアクセスにデータレジスタを選択します 1 - PWMDATx レジスタのアクセスにバッファレジスタを選択します CNTACC[1:0] PWMCNTx アクセス方法 PWMCNTx レジスタのアクセス先を選択します 次に CAPEx ビットと CAPx ビットは 4 チャンネル分のホストレジスタビットを示します。x はチャン ネルを示し、0 から 3 の値をとります。 キャプチャ割り込み許可 CAPEx CAPx がセットしたときに割り込み要求を起こさせます。 0 - CAPx がセットしても、割り込み要求を起こさせません 1 - CAPx がセットしたときに割り込み要求を起こさせます。 キャプチャ状態 CAPx チャンネル x のキャプチャ状態を示します。このビットをセットすると自己クリアされます。 0 - チャンネル x にキャプチャ検出はありません 1 - チャンネル x にキャプチャ検出がありました 表 14-64:PWM 割り込み制御 0-1 レジスタ PWMIRQ0 ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット EV1E1 EV0E1 PERBE1 DBE1 DTYE1 PERE1 DTYBE1 CTLE1 8 RW RW RW RW RW RW RW RW RW RST 0 0 0 0 0 0 0 0 ビット EV1E0 EV0E0 PERBE0 DBE0 DTYE0 PERE0 DTYBE0 CTLE0 RW RW RW RW RW RW RW RW RW RST 0 0 0 0 0 0 0 0 0 PWMIRQ1 ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット EV1E3 EV0E3 PERBE3 DBE3 DTYE3 PERE3 DTYBE3 CTLE3 8 RW RW RW RW RW RW RW RW RW RST 0 0 0 0 0 0 0 0 ビット EV1E2 EV0E2 PERBE2 DBE2 DTYE2 PERE2 DTYBE2 CTLE2 RW RW RW RW RW RW RW RW RW RST 0 0 0 0 0 0 0 0 0 4 チャンネル分のホストレジスタビットを示します。x はチャンネルを示し、0 から 3 の値をとります。 295 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary CTLEx Alligator CTLx 割り込み許可 CTLx ビットがセットしたときに、ホストに対して割り込み要求をします。 0 - CTLx ビットがセットしても、ホストに対して割り込みを要求しません。 1 - CTLx ビットがセットしたときに、ホストに対して割り込みを要求します。 DTYBEx DTYBx 割り込み許可 DTYBx ビットがセットしたときに、ホストに対して割り込み要求をします。 0 - DTYBx ビットがセットしても、ホストに対して割り込みを要求しません。 1 - DTYBx ビットがセットしたときに、ホストに対して割り込みを要求します。 PEREx PERx 割り込み許可 PERx ビットがセットしたときに、ホストに対して割り込み要求をします。 0 - PERx ビットがセットしても、ホストに対して割り込みを要求しません。 1 - PERx ビットがセットしたときに、ホストに対して割り込みを要求します。 DTYEx DTYx 割り込み許可 DTYx ビットがセットしたときに、ホストに対して割り込み要求をします。 0 - DTYx ビットがセットしても、ホストに対して割り込みを要求しません。 1 - DTYx ビットがセットしたときに、ホストに対して割り込みを要求します。 DBEx DBx 割り込み許可 DBx ビットがセットしたときに、ホストに対して割り込み要求をします。 0 - DBx ビットがセットしても、ホストに対して割り込みを要求しません。 1 - DBx ビットがセットしたときに、ホストに対して割り込みを要求します。 PERBEx PERBx 割り込み許可 PERBx ビットがセットしたときに、ホストに対して割り込み要求をします。 0 - PERBx ビットがセットしても、ホストに対して割り込みを要求しません。 1 - PERBx ビットがセットしたときに、ホストに対して割り込みを要求します。 EV0Ex EV0x 割り込み許可 EV0x ビットがセットしたときに、ホストに対して割り込みを要求します。 0 - EV0x ビットがセットしても、ホストに対して割り込みを要求しません。 1 - EV0x ビットがセットしたときに、ホストに対して割り込みを要求します。 EV1Ex EV1x 割り込み許可 EV1x ビットがセットしたときに、ホストに対して割り込みを要求します。 0 - EV1x ビットがセットしても、ホストに対して割り込みを要求しません。 1 - EV1x ビットがセットしたときに、ホストに対して割り込みを要求します。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 296 頁 Alligator Preliminary 表 14-65:PWM 状態 0-1 レジスタ PWMSTAT0 ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット EV11 EV01 PERB1 DB1 DTY1 PER1 DTYB1 CTL1 8 RW RC RC RC RC RC RC RC RC RST 0 0 0 0 0 0 0 0 ビット EV10 EV00 PERB0 DB0 DTY0 PER0 DTYB0 CTL0 RW RC RC RC RC RC RC RC RC RST 0 0 0 0 0 0 0 0 0 PWMSTAT1 ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット EV13 EV03 PERB3 DB3 DTY3 PER3 DTYB3 CTL3 8 RW RC RC RC RC RC RC RC RC RST 0 0 0 0 0 0 0 0 ビット EV12 EV02 PERB2 DB2 DTY2 PER2 DTYB2 CTL2 RW RC RC RC RC RC RC RC RC RST 0 0 0 0 0 0 0 0 0 4 チャンネル分のホストレジスタビットを示します。x はチャンネルを示し、0 から3の値をとります。 CTLx CTLx 状態検出 チャンネル x の CTLx 一致検出を示します。このビットのセットで自己クリアされます。 0 - チャンネル x の CTLx 検出はされていません。 1 - チャンネル x の CTLx 検出されました。 DTYBx DTYBx 状態検出 チャンネル x の DTYBx 一致検出を示します。このビットのセットで自己クリアされます。 0 - チャンネル x の DTYBx 検出はされていません。 1 - チャンネル x の DTYBx 検出されました。 PERx PERx 状態検出 チャンネル x の PERx 一致検出を示します。このビットのセットで自己クリアされます。 0 - チャンネル x の PERx 検出はされていません。 1 - チャンネル x の PERx 検出されました。 DTYx DTYx 状態検出 チャンネル x の DTYx 一致検出を示します。このビットのセットで自己クリアされます。 0 - チャンネル x の DTYx 検出はされていません。 1 - チャンネル x の DTYx 検出されました。 DBx DBx 状態検出 チャンネル x の DBx 一致検出を示します。このビットのセットで自己クリアされます。 0 - チャンネル x の DBx 検出はされていません。 1 - チャンネル x の DBx 検出されました。 PERBx PERBx 状態検出 チャンネル x の PERBx 一致検出を示します。このビットのセットで自己クリアされます。 0 - チャンネル x の PERBx 検出はされていません。 1 - チャンネル x の PERBx 検出されました。 297 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator EV0x 状態検出 EV0x チャンネル x のイベント 0 検出を示します。このビットをセットすると自己クリアされます。 0 - チャンネル x のイベント 0 検出はされていません。 1 - チャンネル x のイベント 0 検出されました。 イベント 0 の一致検出を示します。このビットのセットで自己クリアされます。 EV1x 状態検出 EV1x チャンネル x のイベント 1 検出を示します。このビットをセットすると自己クリアされます。 0 - チャンネル x のイベント 1 検出はされていません。 1 - チャンネル x のイベント 1 検出されました。 表 14-66:PWM チャンネル制御 0 レジスタ PWMCCTL0 ビット位置 8 +6 +5 +4 +3 +2 +1 +0 ビット DATBUP3 DATAUP3 DATBUP2 DATAUP2 RW RW RW RW RW RST 0 +7 0 0 0 0 0 0 0 0 ビット DATBUP1 DATAUP1 DATBUP0 DATAUP0 RW RW RW RW RW RST 0 0 0 0 以下のビットは 4 チャンネル分のホストレジスタビットを示します。x はチャンネルを示し、0 から3 の値をとります。 DATAUPx[1:0] チャンネル xA 側更新設定 チャネル x の A 側の更新方法を定めます。 DATBUPx[1:0] チャンネル xB 側更新設定 チャネル x の B 側の更新方法を定めます。 表 14-67:PWM チャンネル制御 1 レジスタ PWMCCTL1 ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット - OUTDAT3 OUTBWR3 OUTWR3 - OUTDAT2 OUTBWR2 OUTWR2 RW - W WS WS - W WS WS RST 0 0 0 0 0 0 0 0 ビット - OUTDAT1 OUTBWR1 OUTWR1 - OUTDAT0 OUTBWR0 OUTWR0 RW - W WS WS - W WS WS RST 0 0 0 0 0 0 0 0 8 0 以下のビットは 4 チャンネル分のホストレジスタビットを示します。x はチャンネルを示し、0 から3 の値をとります。 OUTWRx PWMOx 出力データ書き込み チャンネル x の PWMO 端子の出力 FF に OUTDATx ビットの内容を書き込みます。 1 - チャンネル x の PWMO 端子の出力 FF に OUTDATx ビットの内容を書き込みます。 OUTBWRx PWMOBx 出力データ書き込み チャンネル x の PWMOB 端子の出力 FF に OUTDATx ビットの内容を書き込みます。 1 - チャンネル x の PWMOB 端子の出力 FF に OUTDATx ビットの内容を書き込みます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 298 頁 Alligator Preliminary PWMO(B)x 出力データ OUTDATx チャンネル x の PWMO 端子と PWMOB 端子の出力 FF に書き込むデータを示す書き込み専 用ビットです。OUTWRx/OUTBWRx ビットと共に使用します。 表 14-68:PWM チャンネル制御 2-3 レジスタ PWMCCTL2 ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット OCEV1EN1 OCEV0EN1 OCPERBEN1 OCDBEN1 OCDTYEN1 OCPEREN1 OCDTYBEN1 OCCTLEN1 RW RW RW RW RW RW RW RW RW 8 RST 0 0 0 0 0 0 0 0 ビット OCEV1EN0 OCEV0EN0 OCPERBEN0 OCDBEN0 OCDTYEN0 OCPEREN0 OCDTYBEN0 OCCTLEN0 RW RW RW RW RW RW RW RW RW RST 0 0 0 0 0 0 0 0 +7 +6 +5 +4 +3 +2 +1 +0 ビット OCEV1EN3 OCEV0EN3 OCPERBEN3 OCDBEN3 OCDTYEN3 OCPEREN3 OCDTYBEN3 OCCTLEN3 RW RW RW RW RW RW RW RW RW 0 PWMCCTL3 ビット位置 8 RST 0 0 0 0 0 0 0 0 ビット OCEV1EN2 OCEV0EN2 OCPERBEN2 OCDBEN2 OCDTYEN2 OCPEREN2 OCDTYBEN2 OCCTLEN2 RW RW RW RW RW RW RW RW RW RST 0 0 0 0 0 0 0 0 0 以下のビットは 4 チャンネル分のホストレジスタビットを示します。x はチャンネルを示し、0 から3 の値をとります。 OCCTLENx 制御出力 CTLx 出力許可 制御出力 [x] に CTLx レジスタの比較一致出力をさせます OCDTYBENx 制御出力 DTYBx 出力許可 制御出力 [x] に DTYBx レジスタの比較一致出力をさせます OCPERENx 制御出力 PERx 出力許可 制御出力 [x] に PERx レジスタの比較一致出力をさせます OCDTYENx 制御出力 DTYx 出力許可 制御出力 [x] に DTYx レジスタの比較一致出力をさせます OCDBENx 制御出力 DBx 出力許可 制御出力 [x] に DBx レジスタの比較一致出力をさせます OCPERBENx 制御出力 PERBx 出力許可 制御出力 [x] に PERBx レジスタの比較一致出力をさせます OCEV0ENx 制御出力 EV0x 出力許可 制御出力 [x] にイベント 0 検出出力をさせます OCEV1ENx 制御出力 EV1x 出力許可 制御出力 [x] にイベント 1 検出出力をさせます 299 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 14-69:PWMx カウンタデータレジスタ(x=0~3) PWMCNTx ビット位置 +7 +6 +5 +4 ビット 8 0 +3 +2 +1 +0 PWMCNTx[15:8] RW RW RST 0x00 ビット PWMCNTx[7:0] RW RW RST 0x00 カウンタカウンタ値 PWMCNTx[15:0] 読み出しは主 PWM 中のカウンタの現在値を示します。このビットへの書き込みはカウンタ をクリアします。読み出しではこのビットの最上位側がカウンタの最上位になり、下位側は 0が挿入されます。 CNTACC ビットのにより、カウンタ Ax、カウンタ Bx、あるいはカウンタ Cx を選択しま す。カウンタデータレジスタと実カウンタの対応を表 14-70 に示します。 表 14-70:カウンタデータレジスタと実カウンタ対応 アクセス レジスタ名 CH CNTACC=0 CNTACC=1 CNTACC=2 PWMCNT0 0 カウンタ A0 カウンタ B0 カウンタ C0 PWMCNT1 1 カウンタ A1 カウンタ B1 カウンタ C1 PWMCNT2 2 カウンタ A2 カウンタ B2 カウンタ C2 PWMCNT3 3 カウンタ A3 カウンタ B3 カウンタ C3 表 14-71:PWMx データレジスタ(x=0~3,y=0~7) PWMxDATy ビット位置 8 0 +7 +6 +5 +4 +3 ビット PWMxDATy[15:8] RW W/RW RST 0x00 ビット PWMxDATy[7:0] RW W/RW RST 0x00 PWMxDATy[15:0] +2 +1 +0 PWMx データ y チャンネル x のデータレジスタを示します。全部で 32 ワードあります。DBx(DB0 から DB3) 以外は書き込み専用のレジスタになります。 アクセスビット位置は表 14-72 に示すようにレジスタの種類で異なります。表中の 0 記述 は無視されます。 表 14-72:レジスタアクセス位置 範囲 レジスタ種類 - 2013.12.20 版 PWMxDATy レジスタ 幅 16 上 下 15 0 15:12 11:8 7:4 3:2 1:0 レジスタ [15:0] (C) 2009-2013 New Japan Radio Co., Ltd. 300 頁 Alligator Preliminary 表 14-72:レジスタアクセス位置 範囲 レジスタ種類 PWMxDATy レジスタ 幅 上 下 DTYx/DTYBx/PERx/CTLx/DBx 16 15 0 Lx 8 12 4 15:12 11:8 7:4 3:2 1:0 レジスタ [15:0] 0 レジスタ [7:0] 0 PWM データレジスタと実レジスタの対応を表 14-73 に示します。アクセス欄の "RW" は読み書 き、 W" は書き込み専用レジスタを示します。 表 14-73:PWM データレジスタと実レジスタ対応 位置 レジスタ名 PWM0DAT0 幅 16 上 下 15 0 アク セス CH レジスタ データ バッファ W 0 PER0 PERDAT0 PERBUF0 CTL0 CTLDAT0 CTLBUF0 PWM0DAT1 PWM0DAT2 RW DB0 DBDAT0 DBBUF0 PWM0DAT3 W DTY0 DTYDAT0 DTYBUF0 PWM0DAT4 DTYB0 DTYBDAT0 DTYBBUF0 PWM0DAT5 PERB0 PERBDAT0 PERBBUF0 L0 LDAT0 - - - - PER1 PERDAT1 PERBUF1 CTL1 CTLDAT1 CTLBUF1 PWM0DAT6 8 11 4 PWM0DAT7 - - - - PWM1DAT0 16 15 0 W 1 PWM1DAT1 PWM1DAT2 RW DB1 DBDAT1 DBBUF1 PWM1DAT3 W DTY1 DTYDAT1 DTYBUF1 PWM1DAT4 DTYB1 DTYBDAT1 DTYBBUF1 PWM1DAT5 PERB1 PERBDAT1 PERBBUF1 L1 LDAT1 - - - - PER2 PERDAT2 PERBUF2 CTL2 CTLDAT2 CTLBUF2 PWM1DAT6 8 PWM1DAT7 - PWM2DAT0 16 11 4 - 15 0 W PWM2DAT1 301 頁 2 PWM2DAT2 RW DB2 DBDAT2 DBBUF2 PWM2DAT3 W DTY2 DTYDAT2 DTYBUF2 PWM2DAT4 DTYB2 DTYBDAT2 DTYBBUF2 PWM2DAT5 PERB2 PERBDAT2 PERBBUF2 L2 LDAT2 - - - - PWM2DAT6 8 11 4 PWM2DAT7 - - - - (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 14-73:PWM データレジスタと実レジスタ対応 位置 レジスタ名 PWM3DAT0 幅 16 上 下 15 0 アク セス CH レジスタ データ バッファ W 3 PER3 PERDAT3 PERBUF3 CTL3 CTLDAT3 CTLBUF3 PWM3DAT1 PWM3DAT2 RW DB3 DBDAT3 DBBUF3 PWM3DAT3 W DTY3 DTYDAT3 DTYBUF3 PWM3DAT4 DTYB3 DTYBDAT3 DTYBBUF3 PWM3DAT5 PERB3 PERBDAT3 PERBBUF3 L3 LDAT3 - - - - PWM3DAT6 8 11 4 PWM3DAT7 - - - 2013.12.20 版 - (C) 2009-2013 New Japan Radio Co., Ltd. 302 頁 Alligator Preliminary A 14.13 複数 PWM チャンネル動作例 複数 PWM チャンネルの動作例をいくつか挙げます。 A 14.13.1 位相シフト制御 位相シフト制御では次のブリッジ構成を元に説明をします。 図 14-75: ブリッジ構成 パワー電源 Q1A Q2A トランス 1 次側 Q1B Q2B パワーグランド A 14.13.2 位相シフト制御例 1- マスター出力後半ドライブ 位相シフト例として、フルブリッジの Q1A をマスター PWMO 出力、Q1B をマスター PWMOB 出 力、Q2A をスレーブ PWMOB 出力、Q2B をスレーブ PWMO 出力とします。この例ではマスター出力 の後半部分がドライブ動作になります。 チャンネルリセット設定により、マスターとスレーブ PWM チャンネルを選択します。位相シフト 制御はマスター側とスレーブ側の 2 つの PWM チャンネルを使用し、マスター側は相補付き PWM 動 作方式を選択、スレーブ側は PEREXx ビットをセット、チャンネルリセット開始モードでの相補付き PWM 動作方式を選択します。 303 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator ピリオド周期(PERx[15:4]) デューティ周期 (DTYx[15:4]) カウンタ Ax[15:4] PWMO[x] 周期出力 立ち下がりデッドタイム周期 (PERB[15:4]) 立ち上がりデッドタイム周期 (DBx[15:4]) PWMOB[x] 周期出力 副 PWM 遅延(DBx) 副 PWM 遅延(DTYx) PWMO[x] 波形出力 副 PWM 遅延(PERBx) 副 PWM 遅延(PERx) PWMOB[x] 波形出力 位相シフト量は最大 14 ビット幅で制御可能です。これにはマスター側の DTYBx レジスタの上位 12 ビット、DTYx レジスタの下位 2 ビット、PERx レジスタの下位 2 ビットで設定します。 表 14-74:位相シフト制御例1構成 種別 動作方式 PEREXx PWMO PWMOB マスター 相補付き PWM - Q1A Q1B スレーブ チャンネルリセット付き相補付き PWM 1 Q2B Q2A 備考 例えば、マスターとスレーブチャンネルはチャンネル 0 をマスター、チャンネル1をスレーブとし ます。この時、EXTRST0 ビットを 0x0、EXTRST1 ビットを 0x1 に設定します。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 304 頁 Alligator Preliminary 図 14-76: 位相シフト制御例 1 出力 ピリオド マスター側 PWM チャンネル DTYx[1:0] PWMO (Q1A) DERx[1:0] PWMOB(Q1B) シフト量 DTYBx[13:2] ピリオド スレーブ側 PWM チャンネル PWMO(Q2B) PWMOB (Q2A) Q1A-Q2B Q2A-Q1B この位相シフト制御において位相シフト量を変化させた場合の例を図 14-77 に示します。 図 14-77: 位相シフト制御例 1 動作 ピリオド マスター側 PWM チャンネル 位相シフト量 (DTYBx-1) スレーブ側 PWM チャンネル スレーブ側 ピリオド位置 Q1A-Q2B Q2A-Q1B 305 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator A 14.13.3 位相シフト例 2- マスター前半ドライブ 位相シフト例として、フルブリッジの Q1A をマスター PWMO 出力、Q1B をマスター PWMOB 出 力、Q2A をスレーブ PWMO 出力、Q2B をスレーブ PWMOB 出力とします。この例ではマスター出力 の前半部分がドライブ動作になります。 チャンネルリセット設定により、マスターとスレーブ PWM チャンネルを選択します。位相シフト 制御はマスター側とスレーブ側の 2 つの PWM チャンネルを使用し、マスター側は相補付き PWM 動 作方式を選択、スレーブ側は PEREXx ビットをクリア、チャンネルリセット開始モードでの相補付き PWM 動作方式を選択します。 位相シフト量はマスター側の DTYBx レジスタの上位 12 ビット、DBx レジスタの下位 2 ビット、 PERBx レジスタの下位 2 ビットで設定します。 表 14-75:位相シフト制御例 2 構成 種別 動作方式 DTEx PWMO PWMOB マスター 相補付き PWM 0 Q1A Q1B スレーブ チャンネルリセット付き相補付き PWM 1 Q2A Q2B 備考 例えば、マスターとスレーブチャンネルはチャンネル 0 をマスター、チャンネル1をスレーブとし ます。この時、EXTRST0 ビットを 0x0、EXTRST1 ビットを 0x1 に設定します。 図 14-78: 位相シフト制御例 2 出力 ピリオド マスター側 PWM チャンネル DBx[1:0]PWMO (Q1A) DTYBx[1:0] PWMOB (Q1B) シフト量 DTYBx[13:2] ピリオド スレーブ側 PWM チャンネル PWMO (Q2A) PWMOB (Q2B) Q1A-Q2B Q2A-Q1B この位相シフト制御において位相シフト量を変化させた場合の例を図 14-79 に示します。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 306 頁 Alligator Preliminary 図 14-79: 位相シフト制御例 2 動作 ピリオド マスター側 PWM チャンネル 位相シフト量 (DTYBx-1) スレーブ側 PWM チャンネル スレーブ側 ピリオド位置 Q1A-Q2B Q2A-Q1B A 14.13.4 位相シフト制御例 3- マスター出力後半ドライブ 位相シフト例として、フルブリッジの Q1A をマスター PWMO 出力、Q1B をマスター PWMOB 出 力、Q2A をスレーブ PWMOB 出力、Q2B をスレーブ PWMO 出力とします。この例ではマスター出力 の後半部分がドライブ動作になります。 チャンネルリセット設定により、マスターとスレーブ PWM チャンネルを選択します。位相シフト 制御はマスター側とスレーブ側の 2 つの PWM チャンネルを使用し、マスター側は相補付き PWM2 動 作方式を選択、スレーブ側は PEREXx ビットをクリア、チャンネルリセット開始モードでの相補付き PWM2 動作方式を選択します。 位相シフト量はマスター側の DTYBx レジスタの上位 12 ビット、DTYx と DBx の最下位 2 ビットを 変化させます。 マスター側の出力後半にブリッジドライブであるこの例では、スレーブ側の出力をマスター出力と 重なった部分だけをハイレベルにするようなソフトウェア制御を行う必要があります。 この例では、マスターとスレーブチャンネルはチャンネル 0 をマスター、チャンネル1をスレーブ します。この時、EXTRST0 ビットを 0x0、EXTRST1 ビットを 0x1 に設定します。 307 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 14-80: 位相シフト制御例 3 出力 ピリオド (PERx) マスター側 PWM チャンネル PWMO(Q1A) DTYx PERBx DBx PWMOB (Q1B) シフト量 (DTYBx-1) ピリオド スレーブ側 PWM チャンネル PWMO (Q2B) この部分だけをハイレベル DTYy PERBy この部分だけをハイレベル PWMOB(Q2A) DBy Q1A-Q2B Q2A-Q1B この位相シフト制御において位相シフト量を変化させた場合の例を図 14-81 に示します。 図 14-81: 位相シフト制御例 3 動作 ピリオド マスター側 PWM チャンネル 位相シフト量 (DBx-1) スレーブ側 PWM チャンネル スレーブ側 ピリオド位置 Q1A-Q2B Q2A-Q1B 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 308 頁 Alligator Preliminary A 14.13.5 3 相 PWM 動作 3 相 PWM 動作例 3 相 PWM 動作には位相シフト PWM 動作あるいはチャンネル同期 PWM 動作を使用して構成できま す。 最初の例は位相シフト PWM 動作を使用して 3 相 PWM 動作を実現します。3 つの PWM チャンネル を使用して、マスター側はチャンネル 0、スレーブ側はチャンネル1と2に設定します。マスターは相 補付き PWM 動作方式、スレーブは PEREXx ビットをセットしたチャンネルリセット開始モードでの 相補付き PWM 動作方式を使用します。位相量は DTYBx レジスタで設定します。 例えば、マスターとスレーブチャンネルはチャンネル 0 をマスター、チャンネル1と2をスレーブ とします。よって、EXTRST0 ビットを 0x7、EXTRST1 ビットを 0x1、EXTRST2 ビットを 0x1 に設 定します。 図 14-82: 3 相 PWM 出力例(位相シフト PWM 動作) PER0+1 PWMO[0] PWMOB[0] DTYB0+1 PER1+1 PWMO[1] PWMOB[1] DTYB1+1 PER2+1 PWMO[2] PWMOB[2] チャンネルリセット設定で使用する PWM チャンネルを指定します。この 3 相 PWM 例はチャンネ ル同期 PWM 動作を使用し、3 つの PWM チャンネルを使用して、マスター側はチャンネル 0、スレー ブ側はチャンネル1と2に設定します。動作方式は全チャンネル、相補付き PWM 動作方式あるいは 2 相 PWM 動作方式を使用します。また、すべての PERx の値は同一にします。 例えば、マスターとスレーブチャンネルはチャンネル 0 をマスター、チャンネル1と2をスレーブ とします。よって、EXTRST0 ビットを 0x7、EXTRST1 ビットを 0x4、EXTRST2 ビットを 0x4 に設 定します。 309 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 14-83: 3 相 PWM 出力例(チャンネル同期 PWM 動作使用) PER0+1 PWMO[0] PWMOB[0] PER1+1(=PER0+1) PWMO[1] PWMOB[1] PER2+1(=PER0+1) PWMO[2] PWMOB[2] A 14.13.6 可変周波数制御 可変周波数制御は最大 14 ビット幅で制御可能です。ピリオド等に必要なレジスタ値はピリオド一致 で更新されます。 図 14-84: ピリオド可変動作 PER=2 PER=2.25 PER=2.5 PER=2.25 PER=2 PER=1.75 PWMO[x] PWMOB[x] 可変周波数による PWM 出力にはデューティを固定比(例えば 50%)にして、ピリオドを変化させ ます。 例えば最小 1ns の分解能を持つ、微細モードで相補付き PWM 動作を使用して PWM 出力を行いま す。このために周波数を示す周期は PWMO[x] 出力の立ち上がり間隔になります。このため、ERx レ ジスタのビット 4 から 15 を使用して、最高 125MHz の CCLK クロックに同期した 12 ビット長ピリオ ドの PWM 動作をさせます。そのピリオドに対して、DBx[3:2] ビットを使用して、PWMO[x] 出力の立 ち上がりにその最高 1MHz 分解能を 2 ビット分遅延を行わせます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 310 頁 Alligator Preliminary 図 14-85: 可変周波数動作 周期 周期 周期 PWMO[x] PWMOB[x] ピリオド (PERx[15:4] ピリオド ピリオド 微細遅延範囲 PWMO[x] DBx[3:2]=0 DBx[3:2]=1 DBx[3:2]=2 DBx[3:2]=3 周期が CCLK の整数倍であるときは PERx[15:4] で周期を設定します。周期が微細値を取る場合に は、PERx[15:4] レジスタと DBx[3:2] レジスタの値をピリオド境界で動的に変更する必要があります。 以下の例では CCLK の1クロック長を 4 として周期を 4X、4X+1、4X+2、 4X+3 としたときの PERx[15:4] と DBx[3:2] の設定例を示します。 周期が 4X の PWM 波形を出力する場合の、PERx[15:4] と DBx[3:2] の値とその PWMO[x] 波形を図 14-86 に示します。 311 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 14-86: 周期(4X) の PWM 波形と設定値 拡大 拡大 拡大 拡大 拡大 CCLK 4X 4X 4X 4X PWMO[x] 4X ピリオド長 4X PERx[15:4]: X-1 X-1 0 0 DBx[3:2]: 4X 4X X-1 X-1 X-1 0 0 0 周期が(4X+1) の PWM 波形を出力する場合の、PERx[15:4] と DBx[3:2] の値とその PWMO[x] 波形 を図 14-87 に示します。 図 14-87: 周期(4X+1) の PWM 波形と設定値 拡大 拡大 拡大 拡大 拡大 CCLK 4X+1 4X+1 4X+1 4X+1 PWMO[x] 4X ピリオド長 4X PERx[15:4]: X-1 X-1 0 1 DBx[3:2]: 4X 4(X+1) X-1 X 4X-1 2 3 0 周期が(4X+2) の PWM 波形を出力する場合の、PERx[15:4] と DBx[3:2] の値とその PWMO[x] 波形 を図 14-88 に示します。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 312 頁 Alligator Preliminary 図 14-88: 周期(4X+2) の PWM 波形と設定値 拡大 拡大 拡大 拡大 拡大 CCLK 4X+2 4X+2 4X+2 4X+2 PWMO[x] ピリオド長 4X PERx[15:4]: X-1 DBx[3:2]: 4(X+1) X 2 0 4X 4(X+1) X-1 X X-1 0 2 0 周期が (4X+3) の PWM 波形を出力する場合の、PERx[15:4] と DBx[3:2] の値とその PWMO[x] 波形 を図 14-89 に示します。 図 14-89: 周期(4X+3) の PWM 波形と設定値 拡大 拡大 拡大 拡大 拡大 CCLK 4X+3 4X+3 4X+3 4X+3 PWMO[x] ピリオド長 4X PERx[15:4]: X-1 DBx[3:2]: 4(X+1) X 0 3 4(X+1) 4(X+1) X X X-1 2 1 0 A 14.13.7 対称 PWM 波形出力 2 相 PWM 動作方式を使用すると対称波形を持った PWM 波形を生成することが可能です。この波形 出力でも図 14-83 に示す 3 相 PWM 波形出力も可能です。 313 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 14-90: 対称 PWM 波形 PERx+1 DTYx+1 PWMO[x] DBx+1 DTYBx+1 PWMOB[x] PERBx+1 A 14.13.8 その他 同一ピリオド複数 PWM 出力例 チャンネルリセット設定で使用する PWM チャンネルを指定します。動作方式は全チャンネル共 2 相 PWM 動作方式を使用します。例えば、マスターとスレーブチャンネルはチャンネル 0 をマスター、 チャンネル1をスレーブとします。よって、EXTRST0 ビットを 0x7、EXTRST1 ビットを 0x4 に設定 します。 図 14-91: 同一ピリオド複数 PWM 出力例 ピリオド PWMO[0] PWMOB[0] PWMO[1] PWMOB[1] 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 314 頁 Alligator Preliminary 電源制御用 A/D 変換(PSATD) モジュール この電源制御用 A/D 変換(PSATD) モジュールは Alligator 用の A/D 変換モジュールであり、SAR タ イプの 12 ビット A/D 変換器で構成されたアナログ A/D 変換部と、制御あるいは変換データ保管等を 行うデジタル回路で構成されます。この A/D 変換器は入力チャンネル選択とサンプリングで 1ADC ク ロック、変換で 13ADC クロックの合計 14 クロックで A/D 変換を行うことが可能です。 このモジュールは 12 本のアナログ信号の入力チャンネルとして AN0 から AN11 があります。そし て、AN0 から AN5 の 6 つチャンネルにはそれぞれにサンプルホールド(S/H)回路、AN6 から AN11 の 6 チャンネルには 3 チャンネル分のマルチプレクサと1つのサンプルホールド(S/H)回路が 2 セッ トあります。そして、8 つのサンプルホールド(S/H)回路出力には 1 つの変換器が接続され、変換結 果は 17 ワードのデータレジスタに格納されます。また、A/D 変換タイミング用に 15 本の制御入力が 使用可能です。 また、このモジュールは割り込みとして、割り込み要求 0 から 4 の 5 本持ちます。 図 15-1: PSATD モジュールブロック図 EXTCLK A/D クロック用 プリスケーラ PCLK AYEXTCLK CTLIN[14:0] (制御入力) 入力チャンネル AN0 S/H0 AN1 S/H1 AN2 S/H2 AN3 S/H3 AN4 S/H4 AN5 S/H5 AN6 MUX AN8 タイマー ATD 制御 データレジスタ CONV S/HE 変換 S/H6 AN10 AN7 AN9 MUX S/HO S/H7 アナログ A/D 変換部 AN11 15.1 モジュールの使用許可 このモジュールを使用するには内部のコンフィグレーション設定を行った後に、ATDEN ビットを セットします。そうすると、このモジュールの内部機能が動きます。また、何らかの問題が発生して、 このモジュール全体を初期化させる必要があるときには、ATDRST ビットをセットします。そうしま すと、このモジュールはデバイスリセット直後の状態に戻ります。また、ATDEN ビットをセットから クリアにすると内部状態は初期化され、このモジュールは不活性状態になります。 この ATDRST ビットセットをしたときは、次のこのモジュールへのアクセスは 2 命令以上空けて行 わなくてはなりません。 315 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 15.2 Alligator ADC クロック A/D 変換器で使用するクロックを ADC クロックと呼びます。この ADC クロックは内部システムク ロックあるいは外部クロック (EXTCLK)、あるいは PLL クロック(PCLK)、非同期外部クロック (AYEXTCLK) を分周して生成します。CLKSEL ビットが 0x0 で内部システムクロック、0x1 で外部ク ロック、0x2 で PLL クロック、0x3 で非同期外部クロックを選択します。この外部クロックは LSI の ポートでシステムクロックに同期化されたものを使用します。また、PLL クロックと非同期外部クロッ クはシステムクロックに非同期であり、ADC クロックもシステムクロックと非同期になります。 表 15-1:CLKSEL ビット CLKSEL 動作 0x0 内部システムクロック選択 0x1 外部クロック選択 0x2 PLL クロック選択 0x3 非同期外部クロック選択 選択されたクロックソースを、PRES ビットの設定により分周して ADC クロックとします。この ADC クロックはシステムクロックの周波数より高いケースも低いケースも動作可能です。 このクロック生成器のブロック図を図 15-2 に示します。 図 15-2: ADC クロック生成器 ADC クロック 2 PLL クロック /2 3 分周器 (8 ビット) /2 1 0 PRES[7:0] CLKSEL[1:0] 非同期外部 クロック /2 外部クロック システムクロック 分周器は 8 ビット長のカウンタを PRES ビットの内容で分周し、1/1 から 1/256 を出力します。 (PRES ビットが 0x00 であるときは、分周比は 1/256 になります。)そして、その出力を 1/2 分周した 1/2 か ら 1/512 分周が ADC クロックになります。よって、ADC クロックは 1/(2*PRES)分周の周波数にな ります。但し、PRES ビットがゼロであるときは、1/512 分周の周波数で与えられます。 • システムクロックを選択するとき、システムクロックが分周器のクロックとなります。 • 外部クロックを選択するとき、外部クロックとシステムクロックの論理積が分周器のクロック となります。よって、外部クロックはシステムクロックに同期してある必要があります。 よって、システムクロックや外部クロックを ADC クロック源として使用する場合には、ADC クロッ クは 1/(2*PRES)の周波数で与えられます。但し、PRES ビットがゼロであるときは 1/512 の周波数 で与えられます。 • PLL クロックを選択するとき、1/2 分周した PLL クロックが分周器のクロックとなります。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 316 頁 Alligator Preliminary • 非同期外部クロックを選択するとき、1/2 分周した非同期外部クロックが分周器のクロックと なります。 PLLクロックや非同期外部クロックをADCクロックのクロック源として使用する際にはADCクロッ クは 1/(4*PRES)の周波数で与えられます。但し、PRES ビットがゼロであるときは 1/1024 の周波数 で与えられます。ADC クロックは図 15-3 に示すように 50% デューティを持ったクロックになります。 図 15-3: ADC クロック 分周器クロック PRES = 0x01 (1/2) PRES = 0x02 (1/4) PRES = 0x03 (1/6) PRES = 0x04 (1/8) PRES = 0x00 (1/1024) 15.3 ATD タイマー この PSATD モジュールは 24 ビット長のフリーランのタイマーを持ちます。このタイマーは A/D 変 換の開始タイミングに使用される 2 種類のタイマークロックを生成します。TIMAEN ビットと TIMBEN ビットの両方がクリアしてあると、タイマーのカウンタはゼロに初期化され、それらのタイマークロッ クは生成されません。TIMAEN ビットをセットすると、システムクロックに同期して TIMSELA ビット で選択した周期でタイマークロック A、TIMBEN ビットをセットすると、TIMSELB ビットで選択した 周期でタイマークロック B が出力されます。 図 15-4: タイマークロック生成器 カウンタ (24 ビット) TIMAEN TIMBEN 20 カウンタ出力 タイマークロック A マルチプレクサ タイマークロック B マルチプレクサ TIMSELA[4:0] TIMSELB[4:0] TIMSEL(A,B) ビットの設定によるこのタイマークロックの周波数はシステムクロックの 1/2(TIMSEL 0 であるときはシステムク (A,B)+4)ビット分周で与えられます。例としては、TIMSEL(A,B)ビットが 317 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator ロックの 1/16 分周、1 では 1/32 分周、20 から 23 では 1/224 分周になります。 表 15-2:タイマークロックの周期 TIMSEL(A,B) ビット 0 1/16 1 1/32 2 1/26 3-14 15.4 周期 1/2TIMSEL(A,B)+4 15 1/219 16 1/220 17-19 1/2TIMSEL(A,B)+4 20-23 1/224 アナログ A/D 変換部の設定 アナログ A/D 変換部を使用するには ATDIPEN ビットをセットします。そうすると、アナログ A/D 変換部は内部安定化後に動作状態になります。また、このビットをクリアすると、アナログ A/D 変換 器は不活性状態、かつ、パワーダウン状態になります。 アナログ A/D 変換部を初期化させたいときは、ATDIPRST ビットをセットします。そうすると、ア ナログ A/D 変換部が初期化され、そして、動作開始になり、内部安定化後に動作状態になります。 ATDIPEN ビットと ATDIPRST ビットの動作は ATDEN ビットの状態に依存しません。 S/H 回路のコンフィグレーション設定 アナログ A/D 変換部には 8 つのサンプルホールド (S/H) 回路を持ちます。8 つのうちのチャンネル x に対応する S/Hx 回路を使用するには、SHBLKEN[x] ビットをセットする必要があります。このビット がクリアされているときは、S/Hx回路はパワーダウン状態にあり、このA/D変換動作に使用できません。 図 15-5: S/H 回路イメージ 出力アンプ アナログ入力 [x] SW アナログ出力 [x] S/H キャパシタ サンプル / ホールド信号 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 318 頁 Alligator 15.5 Preliminary ADC 入力チャンネル部 このモジュールは全部で 12 本のアナログ入力チャンネルがあります。入力のプライオリティとレジ スタビットで使用する x を表 15-3 に示します。なお、小さい数字順にプライオリティが高くなります。 表 15-3:入力のプライオリティとレジスタビットの x 入力 プライオリティ x AN0 0 0 AN1 1 1 AN2 2 2 AN3 3 3 AN4 4 4 AN5 5 5 AN6 6 6 AN7 7 7 AN8 8 8 AN9 9 9 AN10 10 10 AN11 11 11 A/D 変換が終了すると、変換結果をデータレジスタへの格納と同時に入力チャンネル毎が持つ EOCx ビットがセットされます。この EOCx ビットがセットしているときに、EOCEx ビットをセットしてい れば、ホストに割り込みを要求できます。この EOCx ビットをセットするとクリアできます。 ソフトウェアあるいはハードウェア開始に関わらず 1 入力チャンネルの変換終了ごとに EOCx ビッ トがセットされます。 15.6 A/D 変換方法 この PSATD モジュールで使用する A/D 変換器は逐次比較器型であり、アナログ A/D 変換器による A/D 変換期間は最小 14ADC クロックになります。このうち、サンプル期間は最小 1ADC クロック、引 き続き 13ADC クロックで変換を行います。 図 15-6: アナログ A/D 変換器 アナログ A/D 変換期間(最小 14ADC クロック) ADC クロック 変換期間(13ADC クロック) サンプル期間(最小 1ADC クロック) アナログ A/D 変換器の動作でないときの ADC クロックの停止 アナログ A/D 変換器には ADC クロックが入力されますが、ADCCLK ビットをセットすると、アナ 319 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator ログ A/D 変換器が動作中で無いときは、ADC クロックを停止させることが可能になります。このク ロック停止期間はアナログ A/D 変換期間以外になります。 15.6.1 入力チャンネル毎の A/D 変換処理 アナログ A/D 変換器を使用した A/D 変換処理は、チャンネル(AN0 から 11)番号と SMPWx ビッ トを使用した拡張サンプル機能設定により動作が異なります。複数チャンネルの同時サンプリングも 可能です。 全部で 8 個ある S/H 回路と 1 個のアナログ A/D 変換器を最大限に使用するためにチャンネル 0 から 5 とチャンネル 6 から 11 の回路構成と A/D 変換の実現方法が異なります。チャンネル間の優先順位に よる調停により、調停期間にアサートされたチャンネルのうち常に優先順位が高いチャンネルが A/D 変換処理に入ります。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 320 頁 Alligator Preliminary 図 15-7: チャンネル毎の A/D 変換処理 アナログ A/D 変換期間 A/D 変換処理 MUX 調停 拡張サンプル S/H 調停 変換 S/H 入力チャンネルの調停処理 優先順位が低い入力チャンネルは ここでウェイト MUX 内調停処理 優先順位が低い入力チャンネルは ここでウェイト A/D 変換処理 (AN0-5) 処理開始 FUNCx ビット状態 1 0 ADCRUN ビット 0 1 0/1 0/1 通常 /2 サンプル /4 サンプル 常時サンプル サンプル期間 A/D 変換処理 (AN6-11) 処理開始 FUNCx ビット状態 ADCRUN ビット 0 1 0/1 0 1 0/1 通常 2/4/8 周期変換 サンプル期間 15.6.1.1 チャンネル 0 から 5(AN0 から 5) の A/D 変換処理 チャンネル 0 から 5 はそれぞれのチャンネルに個別のサンプル回路が付けられ、入力選択のマルチ プレクサがありません。これらのチャンネルの SMPWx ビットを使用したサンプル機能は以下の通り 321 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator になります。 表 15-4:チャンネル 0 から5のサンプル機能設定 SMPWx ビット 処理内容 全サンプル幅 拡張幅 アナログ A/D 幅 備考 0 通常 1 0 14 拡張サンプル機能無し 1 2 サンプル 2 1 15 2 4 サンプル 4 2 17 3 常時サンプル 1+ 常時 常時 14 通常処理 通常処理では制御入力やソフトウェアによる処理開始から、サンプル回路間の優先順位調停(S/H 調 停)を経てから、アナログ A/D 変換器による変換に入ります。アナログ A/D 変換器の占有期間は 14ADC クロックとなります。 図 15-8: 通常処理 制御入力 / SFSOC ビットセット アナログ A/D 変換器占有期間(14) A/D 変換処理 変換 S/H 調停 S/H 13 サンプル期間 1 処理開始 2 サンプル /4 サンプル処理 2 サンプル処理と 4 サンプル処理では通常 A/D 変換処理の S/H 期間を 2ADC クロックと 4ADC ク ロックに延長したものと同一です。S/H 期間後は 13ADC クロックの通常の処理を行わせます。アナロ グ A/D 変換器の占有期間は 2 サンプル処理では 15ADC クロック、4 サンプル処理では 17ADC クロッ クとなります。 図 15-9: 2 サンプル /4 サンプル A/D 変換処理 制御入力 / SFSOC ビットセット アナログ A/D 変換器占有期間 (15/17) A/D 変換処理 S/H 調停 S/H 変換 13 サンプル期間 2/4 処理開始 常時サンプル処理 常時サンプル処理では、変換期間以外は常にサンプル期間になります。常時サンプルをしておき、制 御入力やソフトウェアによる処理開始から、サンプル回路間の優先順位調停(S/H 調停)を経てから、 アナログ A/D 変換器による変換に入ります。その後はサンプル期間に戻ります。アナログ A/D 変換器 の占有期間は 14ADC クロックとなります。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 322 頁 Alligator Preliminary 尚、SMPWx ビットを常時サンプル処理に設定した後に、FUNCx ビットをクリアからセットすると サンプル期間の開始となります。 図 15-10: 常時サンプル処理 FUNCx ビットセット 制御入力 / SFSOC ビットセット アナログ A/D 変換器占有期間 (14) 拡張サンプル A/D 変換処理 変換 S/H 調停 S/H 13 サンプル期間 1 処理開始 この常時サンプル処理であるときに、SMPNGTx ビットをセットしておくと、非同期サンプル停止 機能が選択されます。非同期サンプル停止機能は制御入力やソフトウェアにより、非同期でサンプル を停止させ、その後、A/D 変換処理させます。 図 15-11: 常時サンプル処理(非同期サンプル停止処理) FUNCx ビットセット 制御入力 / SFSOC ビットセット アナログ A/D 変換器占有期間 (14) A/D 変換処理 拡張サンプル S/H 調停 S/H 変換 13 サンプル期間 1 非同期拡張サンプル停止 / 処理開始 サンプルウインドウ動作 常時サンプル処理を選択し、かつ、WINSRCx[3:0] ビットを 0xf 以外に設定した入力チャンネルに対 してだけ、サンプルウインドウ動作になります。 この動作ではホストのプログラミングによる常時サンプル処理設定時に拡張サンプル開始ではな く、WINSRCx[3:0] ビットで選択された制御入力のイベントにより拡張サンプリングの開始となりま す。そして、サンプリング終了位置は選択された制御入力のイベントで行われます。 この動作ではサンプル開始位置は ADC クロック同期位置になります。この時、SMPNGTx ビットが クリアされていると、サンプリング終了位置は ADC クロックに同期化した位置になります。 323 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 15-12: サンプルウインドウ動作 ウインドウ用制御入力 制御入力 / (WINSRCx ビット) SFSOC ビットセット アナログ A/D 変換器占有期間 (14) 拡張サンプル A/D 変換処理 変換 S/H 調停 S/H 13 サンプル期間 1 サンプルウインドウ動作 同期拡張サンプル停止 / 処理開始 また、SMPNGTx ビットがセットされていると、ADC クロックに非同期であり、制御入力のアク ティブ位置で直ちにサンプリング終了となります。 このとき、WINSRCx ビットで設定した拡張サンプルの開始位置の制御入力と SRCx ビットで設定 した非同期サンプル停止処理での停止位置の制御入力を同一にすることは出来ません。 図 15-13: サンプルウインドウ動作(非同期サンプル停止処理) ウインドウ用制御入力 制御入力 / (WINSRCx ビット) SFSOC ビットセット アナログ A/D 変換占有期間 (14) 拡張サンプル A/D 変換処理 変換 S/H 調停 S/H 13 サンプル期間 1 サンプルウインドウ動作 非同期拡張サンプル停止 / 処理開始 サンプリング開始とサンプリング終了が短いケースの場合は、望む A/D 変換測定が出来ないケース もあります。 15.6.1.2 チャンネル 6 から 11(AN6 から 11) の A/D 変換処理 チャンネル 6 から 11 は偶数チャンネルの AN6、AN8、AN10 はマルチプレクサを通し、1つのサン プル回路を持ちます。また奇数チャンネルの AN7、AN9、AN11 は偶数チャンネルと同一構造を持ちま す。これらのチャンネルの SMPWx ビットを使用したサンプル機能は以下の通りになります。 表 15-5:チャンネル 6 から 11 サンプル機能設定 SMPWx ビット 処理内容 全サンプル幅 拡張幅 アナログ ADC 幅 備考 0 通常 1 0 14 拡張サンプル機能無し 1 2 周期変換 ≧ 15 14 2 4 周期変換 ≧ 29 28 3 8 周期変換 ≧ 57 56 これらのチャンネルは低速なアナログ量を計測する目的で置かれます。サンプル機能によらず変換 期間は 14ADC クロックになります。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 324 頁 Alligator Preliminary 通常処理 通常処理では制御入力やソフトウェアによる処理開始から、マルチプレクサ内のチャンネル間優先 処理(MUX 調停)、サンプル回路間の優先順位調停(S/H 調停)を経てから、アナログ A/D 変換器に よる変換に入ります。サンプル期間は変換期間の1 ADC クロックになります。また、MUX 回路と S/ H 回路占有期間はS/H 調停開始から変換終了までとなります。アナログ A/D 変換器の占有期間は 14ADC クロックとなります。 図 15-14: 通常処理 制御入力 / SFSOC ビットセット アナログ A/D 変換器占有期間 (14) MUX 調停 A/D 変換処理 変換 S/H 調停 S/H 13 サンプル期間 1 MUX 回路と S/H 回路占有期間 処理開始 2/4/8 周期変換処理 2 周期処理、4 周期処理、8 周期処理では、制御入力やソフトウェアによる処理開始から、マルチプ レクサ内のチャンネル間優先処理(MUX 調停)を行わせた後に、拡張サンプル期間をそれぞれ、14ADC クロック、28ADC クロック、56ADC クロックを行わせます。そして、サンプル回路間の優先順位調 停(S/H 調停)を経てから、アナログ A/D 変換器による変換に入ります。 サンプル期間は拡張サンプル期間、S/H 調停期間、そして、変換期間の1 ADC クロックになります。 また、MUX 回路と S/H 回路占有期間は拡張サンプル開始から変換終了までとなります。アナログ A/D 変換器の占有期間は 14ADC クロックとなります。 図 15-15: 2/4/8 周期処理 制御入力 / SFSOC ビットセット A/D 変換処理 MUX 調停 アナログ A/D 変換器占有期間 (14) 拡張サンプル S/H 調停 S/H 変換 サンプル期間 1 MUX 回路と S/H 回路占有期間 処理開始 15.6.2 同時サンプル機能 A/D 変換では入力チャンネルの同時サンプルが可能になります。この同時サンプル機能はハードウェ ア起動動作、ソフトウェア起動動作に共通です。この同時サンプル機能は偶数 - 奇数の 2 チャンネル ペア、チャンネル0から3の4チャンネルペア、チャンネル0から5の6チャンネルペアも可能になります。 同時サンプル機能の設定は下位側入力チャンネルの内容が使用されます。 但し、複数チャンネル同時サンプル機能を使用する場合は、S/H 回路のホールドレベル漏れから A/ 325 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator D 変換精度が悪くなる可能性があります。 2 チャンネル同時サンプル PAIR[7:6] ビットを 0x0 にした場合には、同時サンプル機能を使用しない、あるいは、2 チャンネル 同時サンプル機能の選択が可能になります。2 チャンネル同時サンプルの設定は PAIR[5:0] ビットで行 います。4 チャンネルあるいは 6 チャンネル同時サンプルを指定した該当チャンネルは、2 チャンネル 同時サンプルから除外されます。 表 15-6:PAIR[5:0] ビット PAIR ペア入力チャンネル [0] AN0-AN1 [1] AN2-AN3 [2] AN4-AN5 [3] AN6-AN7 [4] AN8-AN9 [5] AN10-AN11 備考 4 チャンネル /6 チャンネル同時サンプル PAIR[7:6] ビットの設定で 4 チャンネル同時、あるいは 6 チャンネル同時サンプルの設定を行います。 この設定であるときは、チャンネル 0(AN0) が設定で使用されます。4 チャンネル同時サンプルであ るときはチャンネル 0 から 3、6 チャンネル同時サンプルであるときはチャンネル 0 から 5 が使用され ます。 表 15-7:PAIR[7:6] ビット 15.7 PAIR[7:6] 機能 同時チャンネル 0x0 同時サンプル使用せず あ るいは 2 チャンネル同時 - 0x1 4 チャンネル同時 AN0-AN3 0x2 6 チャンネル同時 AN0-AN5 0x3 (使用禁止) - 備考 変換動作選択 チャンネル毎に A/D 変換処理の有無と変換処理の起動方法であるソフトウェアあるいはハードウェ ア起動の選択が可能です。FUNCx ビットがクリアされているときに、FUNCx ビットをセットすると、 A/D 変換処理が可能となります。この FUNCx ビットがセットしているときに、FUNCx ビットをクリ アすると、A/D 変換処理が終了となります。 制御入力イベントによるハードウェア起動にするには SRCx ビットを 0x0 から 0xe、ソフトウェア 起動にするには SRCx ビットを 0xf に設定します。 表 15-8:FUNCx ビットの設定 2013.12.20 版 FUNCx SRCx 設定 0 - 使用せず 1 0x0-0xe ハードウェア起動動作 0xf ソフトウェア起動動作 (C) 2009-2013 New Japan Radio Co., Ltd. 326 頁 Alligator Preliminary また、FUNCx ビットの読み出しは A/D 変換の状態を示します : • FUNCx ビットがクリアであるときは、A/D 変換処理中でない、あるいは使用していない。 • FUNCx ビットがセットであるときは A/D 変換処理中である。 アナログ A/D 変換器動作 アナログ A/D 変換器が変換中であるとき、ADCRUN ビットがセットされます。また、アナログ A/D 変換器を使用している入力チャンネルを ADCCH ビットで返し、どのチャンネルもアナログ A/D 変換 中で無いときは、ADCCH ビットを 0xf を示します。 15.7.1 ソフトウェア起動動作 ソフトウェア起動動作はソフトウェア制御による A/D 変換であり、SFSOC ビットの 1 回セットで 1 つの入力チャンネルに対して 1 回だけの変換、かつ、このとき、同時サンプル動作も可能です。 入力チャンネルの SRCx ビットを 0xf に設定し、ソフトウェア起動動作に選択している入力チャン ネルに対してのみ、ソフトウェア起動動作の対象になります。この動作起動はホストが SFCHA ビッ トで入力チャンネルを選択、そして、SFSOC ビットをセットします。そのとき A/D 変換動作が始ま り、変換終了で EOCx ビットと共に SFEOC ビットがセットされます。 この SFSOC ビットセットから SFEOC ビットのセットまでが変換中であり、次のソフトウェア起 動動作を行わせることが出来ません。 15.7.2 ハードウェア起動動作 ハードウェア起動動作では制御入力に入力するモジュール外部あるいは外部からのハードウェアイ ベントで A/D 変換を開始させます。このとき、チャンネル毎に SRCx ビットに使用する制御入力を選 択し、FUNCx ビットをクリアからセットさせます。 個別チャンネルの A/D 変換の開始と終了には FUNCx ビットを使用します : • FUNCx ビットがクリアしているときに、FUNCx ビットをセットすると A/D 変換開始となりま す。 • FUNCx ビットをセットしているときに、FUNCx ビットをクリアすると A/D 変換終了となりま す。この A/D 変換終了処理は: - アナログ A/D 変換期間以外にあるときは、ADC クロックに同期して即座に A/D 変換が 終了となります。 - アナログ A/D 変換期間に入っている場合には EOCx ビットのセットとデータレジスタ への保存等の処理後に終了となります。 入力チャンネルプライオリティ 入力チャンネル毎に番号が小さいほうが高い優先順位を持ちます。複数の入力チャンネルが同一の 制御入力を選択していると、変換順序はプライオリティ順になります。このとき、同時サンプル動作 も可能です。 327 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 15-16: 複数チャンネルの A/D 変換 ADC クロック 制御入力 [a] 制御入力 [b] A/D 変換 #0 A/D 変換 #1 A/D 変換 #2 A/D 変換 #3 図 15-17 に示すように Sy のタイミングで入力チャンネル選択とサンプリング、変換、そして変換 データ格納を行います。そのためには Dy のタイミングで使用する入力チャンネルの選択をします。Dy タイミング最終エッジタイミングで入力チャンネルの優先順位から入力チャンネル選択を行います。 この D と S のタイミングはオーバーラップ(パイプライン化)されているので、効率良く A/D 変換 を行わせることが出来ます。 図 15-17: A/D 変換タイミング ADC クロック Dy Dz Sx Sy 制御入力 [a] 複数の制御入力 制御入力 [b] 入力選択と S/H 変換 出力 15.7.2.1 制御入力選択 A/D 変換の制御入力選択にはそれぞれの入力チャンネルが持つ SRCx ビットを使用します。この時、 A/D 変換開始信号としての制御入力を最大 15 本まで選択使用することが出来ます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 328 頁 Alligator Preliminary • TIMAEN ビットがクリアされているときは、外部制御入力 [13] が制御入力 [13] として使用さ れ、TIMAEN ビットがセットされていると、タイマー A クロックが制御入力 [13] として使用 されます。 • TIMBEN ビットがクリアされているときは、外部制御入力 [14] が制御入力 [14] として使用さ れ、TIMBEN ビットがセットされていると、タイマー B クロックが制御入力 [14] として使用 されます。 • 制御入力 [15] のソフトウェア起動動作の設定になります。 表 15-9:SRCx ビット SRCx 制御入力 0x0 外部制御入力 [0] 0x1 外部制御入力 [1] 0x2 外部制御入力 [2] 0x3 外部制御入力 [3] 0x4 外部制御入力 [4] 0x5 外部制御入力 [5] 0x6 外部制御入力 [6] 0x7 外部制御入力 [7] 0x8 外部制御入力 [8] 0x9 外部制御入力 [9] 0xa 外部制御入力 [10] 0xb 外部制御入力 [11] 0xc 外部制御入力 [12] 0xd 0xe 0xf TIMAEN ビットがクリア 外部制御入力 [13] TIMAEN ビットがセット タイマー A クロック TIMBEN ビットがクリア 外部制御入力 [14] TIMBEN ビットがセット タイマー B クロック ソフトウェア起動動作 拡張制御入力選択 入力チャンネルの 0 から 5 に対してはハードウェア起動の制御入力によるトリガ本数を増やすこと が可能です。SRCx ビットで設定された制御入力に対して、この拡張制御入力による制御入力選択は 論理和による開始トリガとなります。また、SRCx ビットでソフトウェア起動を選択した場合にもこ の拡張制御入力選択機能により、トリガ本数を増やすことが可能です。 この拡張制御入力選択は全部で 6 セットある ESRCx ビットで行います。この ESRCx ビットが 0xf であるときは、拡張制御入力選択は使用されません。またこのビットの値が 0x0 から 0xe までは SRCx ビットによる制御入力選択定義と同一になります。 ESRC0 ビットは入力チャンネル 0 に対する拡張制御入力選択、ESRC1 ビットは入力チャンネル 1 に対する拡張制御入力選択となります。また、ESRC2 ビットから ESRC5 ビットは対応する ESRCSEL2 ビットから ESRCSEL5 ビットを使用して、入力チャンネル 0 から 5 のいずれかの入力チャンネルを選 択をします。 329 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 15-10:ESRCx ビット ESRCx 制御入力 0x0-e SRCx ビットによる外部制御入力選択と同一定義 0xf 拡張制御入力を使用せず • ESRC0 ビットは入力チャンネル 0 に対する拡張制御入力選択を使用します。 • ESRC1 ビットは入力チャンネル 1 に対する拡張制御入力選択を使用します。 • ESRC2 ビットと拡張する入力チャンネルを選択する ESRCSEL2 ビットと共に拡張制御入力選 択を使用します。 • ESRC3 ビットと拡張する入力チャンネルを選択する ESRCSEL3 ビットと共に拡張制御入力選 択を使用します。 • ESRC4 ビットと拡張する入力チャンネルを選択する ESRCSEL4 ビットと共に拡張制御入力選 択を使用します。 • ESRC5 ビットと拡張する入力チャンネルを選択する ESRCSEL5 ビットと共に拡張制御入力選 択を使用します。 この ESRCSELx ビットによって拡張する入力チャンネルを示します。 表 15-11:ESRCSELx ビットと拡張する入力チャンネル ESRCSEL2 チャンネル ESRCSEL3 チャンネル ESRCSEL4 チャンネル ESRCSEL5 チャンネル 0x0 0 0x0 0 0x0 0 0x0 0 0x1 1 0x1 1 0x1 1 0x1 1 0x2 2 0x2 3 0x2 2 0x2 3 0x3 4 0x3 5 0x3 4 0x3 5 SRCx ビットとこの ESRCx ビット、ESRCSELx ビットによる入力チャンネルごとの最大制御入力 可能数を示します。入力チャンネル 0 と1は最大で 6 制御入力可能、入力チャンネル 2 から 5 は最大 で3制御入力可能になります。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 330 頁 Alligator Preliminary 表 15-12:使用可能制御入力数 制御入力数 入力 チャンネル SRCx ビット ESRCx ビットの拡張数 最小 最大 ビット 制御 入力数 ESRC0 ビット / 制御入力 数 ESRC1 ビット / 制御入力 数 ESRC2 ビット / 制御入力 数 ESRC3 ビット / 制御入力 数 ESRC4 ビット / 制御入力 数 ESRC5 ビット / 制御入力 数 1 6 SRC0 1 1 - いずれか 1 いずれか 1 いずれか 1 いずれか 1 SRC1 - 1 いずれか 1 いずれか 1 いずれか 1 いずれか 1 SRC2 - - いずれか 1 - いずれか 1 - 3 SRC3 - - - いずれか 1 - いずれか 1 4 SRC4 - - いずれか 1 - いずれか 1 - 5 SRC5 - - - いずれか 1 - いずれか 1 SRC6 - - - - - - 7 SRC7 - - - - - - 8 SRC8 - - - - - - 9 SRC9 - - - - - - 10 SRC10 - - - - - - 11 SRC11 - - - - - - 0 1 2 6 3 1 チャンネル 0 から 5 の拡張制御入力選択の回路イメージを図 15-18 に示します。 331 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 15-18: 拡張制御入力選択回路イメージ SRC0 ハードウェア起動 (制御入力 [14:0]) 選択 入力チャンネル 0 制御入力選択出力 ESRC0 選択 ソフトウェア起動 '0' SRC1 選択 入力チャンネル 1 制御入力選択出力 ESRC1 選択 '0' SRC2 選択 入力チャンネル 2 制御入力選択出力 SRC3 選択 入力チャンネル選択 SRC5 入力チャンネル選択 選択 入力チャンネル選択 SRC4 入力チャンネル 3 制御入力選択出力 入力チャンネル選択 入力チャンネル選択 選択 入力チャンネル 4 制御入力選択出力 入力チャンネル 5 制御入力選択出力 ESRC2 選択 '0' ESRC3 選択 '0' ESRC4 選択 '0' ESRC5 選択 '0' ESRCSEL2 ESRCSEL3 2013.12.20 版 ESRCSEL5 ESRCSEL4 (C) 2009-2013 New Japan Radio Co., Ltd. 332 頁 Alligator Preliminary 変換後の処理とデータ 15.8 変換されたデータはポストデータ処理、変換データ処理を施して、データレジスタに格納されます。 15.8.1 変換データ処理 変換した 12 ビット幅のデータの読み出しは MSB ビットを使用して 16 ビット幅のデータレジスタ の上位あるいは下位に詰められます。MSB ビットをクリアすると、16 ビットの下位詰め符号無し、 セットすると上位詰め符号無しを選択できます。 POSTx ビットをクリアした、通常の A/D 変換データ格納では、上位詰めでは下位 4 ビットは 0、下 位詰めでは上位 4 ビットに 0 が埋められます。 POSTx ビットをセットした、ポストデータ処理後のデータ格納では以下の結果になります。 • 上位詰めでは - 12 ビット加算結果が飽和したとき、12 ビット出力データの 0xfff に下位 4 ビット 0xf を追加した 0xffff が格納されます。 - 12 ビット減算結果が正の飽和したとき、12 ビット出力データの 0x7ff を下位 4 ビット 0xf を追加した 0x7fff が格納されます。 - 上記 2 つ以外の条件では、12 ビット演算では下位 4 ビットは 0x0、13 ビット幅演算で は下位 3 ビットが 0x0 になります。 • 下位詰めでは - 12 ビットと 13 ビットの減算結果は最上位ビットが符号拡張されます。 15.8.2 ポストデータ処理 A/D 変換後のデータは参照データとの加算あるいは減算処理を行い、データ格納することも可能で す。 この該当チャンネル選択としてコンフィグレーション設定を入力チャンネル x に合わせて POSTCFGx ビットで行います。このビットがセットされていると、DATLOC ビットの設定に関係な く、参照データがデータレジスタ領域に確保されます。このビットの設定は ATDEN ビットがクリアさ れているときに、行わなくてはなりません。 POSTCFGx ビットがセットされている入力チャンネル x の POSTx ビットが 0 以外の値であると、 該当チャンネルにポストデータ処理を行い、上位あるいは下位詰めで結果をデータレジスタに格納し ます。 図 15-19: ポストデータ処理 POSTFUNx[1:0]POSTx[1:0] 2 POSTEN OVRx データレジスタ 2 変換データ 加減算器 変換データ MSB 参照データ POSTCFGx 333 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 入力チャンネル x の POSTx ビットと POSTFUNx ビットを使用して、加算と減算の選択、ポスト処 理データの 12 ビットあるいは 13 ビットの格納、アンダーやオーバーフローの飽和処理を設定します。 加算処理では変換データに参照データを加算します。これは 2 つの 12 ビット長の符号無し整数(0 から +4095:0x000 から 0xfff)の加算となり、結果は 13 ビット長の符号無し整数(0 から +8191:0x0000 から 0x1fff)で扱われ、その加算結果が +4096 以上であるときはオーバーフロー検出とします。12 ビッ ト長選択では加算結果(13 ビット長)の最上位ビットが捨てられますが、飽和処理機能により加算結 果がオーバーフロー検出であるときは、値を +4095(0xfff)として格納します。 減算処理では変換データから参照データを減算します。これは 2 つの 12 ビット長の正整数(0 から +4095:0x000 から 0xfff)の減算となり、結果は 13 ビット長の符号付整数(-4096 から +4095:0x1000 から 0x1fff、0x0000、0x0001 から 0x0fff)で扱われ、その減算結果が +2048 以上、あるいは -2049 以 下であるときにアンダーフロー検出とします。12 ビット長選択では減算結果(13 ビット長)の最上位 ビット(符号ビット)が捨てられますが、飽和処理機能により減算結果がアンダーフロー検出として、 +2048 以上であるときに値を +2047(0x7ff)、-2049 以下であるときに値を -2048(0x800)として格 納します。 ビット幅や飽和処理の設定に関わらず、12 ビット演算でのアンダーやオーバーフロー結果は OVRx ビットに内容を反映します。EOCx ビットのセットタイミングと同時に OVRx ビットがセットされれ ばアンダーやオーバーフロー検出、クリアであれば検出なしを示します。ポスト処理がなされないと きは、OVRx ビットがクリアされます。 ポスト処理データの 12 ビット格納 ポスト処理結果が 12 ビット幅で格納されます。通常処理であるとき、ポスト処理結果の 12 ビット がそのまま格納されます。飽和処理設定であるとき、加算演算のオーバーフロー発生で最大値(0xfff) が格納されます。同様に減算演算のアンダーフロー検出では正側は 0x7ff、負側では 0x800 が格納され ます。 ポスト処理データの 13 ビット格納 ポスト処理結果が 13 ビット幅で格納されますが、飽和処理はされません。 表 15-13:ポストデータ処理 ホストビット 機能 POSTx POSTFUNx 演算 ビット幅 通常 / 飽和 オーバー / アンダーフローの飽和処理 0 - - - - ポストデータ処理を行わない 1 0 加算 12 通常 - 飽和 最大値(0xfff)格納 13 通常 - 12 通常 - 飽和 最大値(0x7ff)/ 最小値(0x800)格納 通常 - 2 1 1 1 2 減算 2 1 15.8.3 3 13 データレジスタの格納と ACTy ビット A/D 変換されたデータはデータレジスタに格納されます。全データレジスタの大きさは 17 ワードあ り、A/D 変換終了で変換データがポストデータ処理、変換データ処理を経たデータがデータレジスタ の一つに格納され、同時に EOCx ビットのセット、データレジスタ #y ごとにアサインされた ACTy ビットがセットされます。この ACTy ビットは該当ビットをセットすることでクリアされます。また、 このデータレジスタは DATy ビットで読み出せます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 334 頁 Alligator Preliminary 図 15-20: データレジスタ #y の格納と EOCx ビット、ACTy ビット システムクロック 更新データ データレジスタ #y EOCx ACTy この ACTy ビットがセットされたとき、対応する ACTEy ビットをセットしているとホストに割り込 みを要求することが出来ます。 入力チャンネルとデータレジスタの位置は DATLOC ビットで制御できます。このビットと入力デー タの関係を表 15-14 に示します。尚、このビットの 0x6 から 0x7、0xc から 0xf までの動作は将来の拡 張用途に確保してあり、動作は保証できません。 表 15-14:入力チャンネルとデータレジスタ位置 データレ ジスタ # DATLOC ビットと入力チャンネル 0x0 0x1 0x2 0x3 0x4 0x5 0x8 0x9 0xa 0xb 0 AN0 AN0 AN0 AN0 AN0 AN0 AN0 AN1 2 AN2 3 AN3 全入 力 チャ ンネ ル (AN011) AN0 1 4 AN4 偶数 入力 チャ ンネ ル (AN0/ 2/4/ 6/8/ 10) 5 AN5 6 AN6 7 AN7 8 AN8 AN4 9 AN9 AN5 10 AN10 AN6 11 AN11 AN7 12 - AN8 13 - AN9 14 - AN10 15 - AN11 16 - - AN1 AN2 AN1 AN2 AN1 AN1 AN2 AN1 AN1 AN1 AN3 AN4 AN3 AN2 AN2 AN5 AN3 AN3 AN6 AN2 AN5 AN6 AN3 奇数 入力 チャ ンネ ル (AN1/ 3/5/ 7/9/ 11) AN7 AN811 AN411 - - - AN3 AN3 AN7 AN4 AN2 - - AN4 - - - AN5 - - - AN6 - - - AN7 - - - - - - - - - - - - - - - - - - AN811 AN811 AN411 AN411 この表 15-14 で示す入力チャンネルは動作許可をしている入力チャンネルに対してだけが使用され ます。 入力チャンネルが複数のデータレジスタを使用できる場合には,次のいずれかの条件でデータレジス タ位置が最小側に初期化されます : 335 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator - ATDEN ビットをクリア - DATLOC ビットの設定で 1 つのチャンネルが複数のデータレジスタを使用する設定に あるとき、A/D 変換開始として、該当するチャンネルの FUNCx ビットがクリアされ ているときに FUNCx ビットをセットしたとき ポストデータ処理のデータレジスタ 15.8.4 ポストデータ処理を使用する場合には参照データ領域として、17 ワードのデータレジスタ中に最大 12 ワード確保可能です。参照データはデータレジスタ #15 から番号の小さい方に向かって確保されま す。 POSTCFGx ビットをセットしたチャンネルに対して、1 ワードの参照データがデータレジスタ中に 自動的に確保されます。複数のチャンネルの POSTCFGx ビットがセットされた場合には、チャンネル 番号が小さいほうがデータレジスタ # の小さい方に確保されます。 例えば、チャンネル 0 と 2 の POSTCFGx ビットがセットされていると、データレジスタ#の 14 は チャンネル 0、データレジスタ#の 15 はチャンネル 1 が自動的にアサインされます。 この参照データがデータレジスタ領域を確保する際に、DATLOC ビットで設定するデータレジスタ 領域中の未使用レジスタに確保する必要があります。参照データと変換データが重なったデータレジ スタの内容は参照データと変換データ共に保証できません。 例えば、チャンネル 0 から 5 の 6 チャンネルにポストデータ処理をさせる場合は、ホストプログラ ムにより、DATLOC ビットを 0x8 にします。同様にチャンネル 0 から 3 の 4 チャンネルにポストデー タ処理をする場合は、ホストプログラムにより、DATLOCビットを0x0、あるいは0x8から0xbにします。 割り込み 15.9 この PSATD モジュールはホストに対して最大 5 本の割り込み要求を出来ます。 割り込みを発生できるリソースは全部で 30 本あります。それぞれの割り込み要求リソースが持つ割 り込み状態ビットがデバイスによりセットされ、ホストにより対応する割り込み許可ビットがセット されているとき、モジュール内リソースからホストに割り込み要求を行うことが出来ます。 図 15-21: 割り込みイメージ IRQEXT4 IRQEXT3 IRQEXT2 IRQEXT1 入力 0 から 11 割り込み要求 1-3 に選択された 割り込みソースは割り込み要求 0 か らは除外される EOCx EOCEx 12 割り込み要求 0 データレジスタ 0 から 16 ACTy ACTEy 17 割り込み要求 1 割り込み要求 2 割り込み要求 3 割り込み要求 4 デフォルトではすべての割り込み要求リソースに対して 1 本の割り込み要求 0 が使用されます。ま た、5 ビット幅の IRQEXTx ビット(x は 1 から 4)を使用すると割り込み要求 1 から 4 の 4 本の割り 込み要求信号に対して、任意の割り込みソースに対して割り込み要求を与えることが出来ます。この 設定で使用される割り込みソースは割り込み要求 0 から除外されます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 336 頁 Alligator Preliminary この IRQEXTx ビットが 0 であるときは該当する割り込み要求を与えません。 表 15-15:IRQEXTx ビットと割り込みリソース 15.10 IRQEXTx 状態ビット IRQEXTx 状態ビット 0x00 - 0x10 ACT0 0x01 EOC0 0x11 ACT1 0x02 EOC1 0x12 ACT2 0x03 EOC2 0x13 ACT3 0x04 EOC3 0x14 ACT4 0x05 EOC4 0x15 ACT5 0x06 EOC5 0x16 ACT6 0x07 EOC6 0x17 ACT7 0x08 EOC7 0x18 ACT8 0x09 EOC8 0x19 ACT9 0x0a EOC9 0x1a ACT10 0x0b EOC10 0x1b ACT11 0x0c EOC11 0x1c ACT12 0x0d - 0x1d ACT13 0x0e ADCFAIL 0x1e ACT14 0x0f ACT16 0x1f ACT15 ホストアクセス 表 15-16 にこのモジュールの全レジスタビットを示します。この表はアクセス方法を区別させるも のです。 337 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 15-16:PSATD レジスタビットアクセス ATDCTL0 ATDCTL1 PRES - ADCCLK - - CLKSEL - ATDCTL5 ATDCTL6 ATDCTL9 OPT[7:0] - IRQEXT2 - - - IRQEXT1 - - - IRQEXT4 - - - IRQEXT3 - - - TIMSELB - - - DATLOC TIMBEN TIMAEN MSB - SFCHA ADCFAILE ACTE16 - POSTEN - - - - SFEOC SFSOC - - - - - - - - - - - - - ADCRUN - - ADCCH WINSRC3 WINSRC2 WINSRC1 - - WINSRC0 - - - - WINSRC5 WINSRC4 ESRC3 ESRC2 ESRC1 ESRC0 ESRCSEL5 ESRCSEL4 ESRCSEL3 SMPW6 SMPW5 ESRCSEL2 ESRC5 ESRC4 SMPW7 ATDCH0 SMPW3 - SMPW2 - SMPNGT5 SMPW11 ATDCH3 ATDCH4 SMPW4 SMPW1 SMPNGT4 SMPNGT3 SMPW10 ATDCH2 SMPW0 SMPNGT2 SMPW9 SRC1 SRC0 SRC7 SRC6 SRC5 SRC4 SRC11 SRC10 SRC8 POSTFUN6 POSTFUN3 POSTFUN11 POSTFUN5 POSTFUN2 - SMPNGT0 SMPW8 SRC2 SRC9 - SMPNGT1 SRC3 POSTFUN7 ATDCH5 2013.12.20 版 TIMSELA PAIR ATDCTL13 ATDCH6 - - ATDCTL12 ATDCH1 ATDEN - - ATDCTL10 ATDCTL11 ATDRST - OPT[15:8] ATDCTL7 ATDCTL8 ATDIPEN - SHBLKEN[7:0] ATDCTL2 ATDCTL4 ATDIPRST - - POSTFUN1 - POSTFUN10 POSTFUN4 - POSTFUN0 - POSTFUN9 (C) 2009-2013 New Japan Radio Co., Ltd. - POSTFUN8 338 頁 Alligator Preliminary 表 15-16:PSATD レジスタビットアクセス ATDCH7 ATDCH8 - - - - FUNC7 FUNC6 FUNC5 FUNC4 FUNC3 FUNC2 FUNC1 FUNC0 - - - - POSTCFG11 POSTCFG10 POSTCFG9 POSTCFG8 POSTCFG6 POSTCFG5 POSTCFG4 POSTCFG3 POSTCFG2 POSTCFG1 POSTCFG0 POSTCFG7 POST7 ATDCH9 POST6 POST3 - ATDCH10 - - - EOCE7 OVR7 ATDCH12 ATDCH13 ATDDATC0 ATDDATC1 FUNC10 FUNC9 POST5 POST2 - - - - EOCE6 EOCE5 EOC7 OVR6 OVR3 EOC3 - - FUNC8 POST4 POST1 - POST0 - - EOCE11 EOCE10 EOCE9 EOCE8 EOCE4 EOCE3 EOCE2 EOCE1 EOCE0 EOC6 OVR5 EOC5 OVR4 EOC4 OVR2 EOC2 OVR1 EOC1 OVR0 EOC0 - ADCFAIL - - - ACT16 POST11 ATDCH11 FUNC11 POST10 POST9 POST8 OVR11 EOC11 OVR10 EOC10 OVR9 EOC9 OVR8 EOC8 ACTE15 ACTE14 ACTE13 ACTE12 ACTE11 ACTE10 ACTE9 ACTE8 ACTE7 ACTE6 ACTE5 ACTE4 ACTE3 ACTE2 ACTE1 ACTE0 ACT15 ACT14 ACT13 ACT12 ACT11 ACT10 ACT9 ACT8 ACT7 ACT6 ACT5 ACT4 ACT3 ACT2 ACT1 ACT0 DATy[15:8] ATDDAT0-16 DATy[7:0] 表 15-17 にアクセス方法を示します。 • PSATD モジュールのコンフィグレーションは ATDEN ビットがクリアされているときに行わ なくてはなりません。 • 内部処理のコンフィグレーションは FUNCx ビットがゼロ、かつ、仕様で定められた条件のと きに行わなくてはなりません。 • 内部処理の設定はすべてのチャンネルで該当する機能を使用していない(FUNCx ビットがク リア)ときに行います。 表 15-17:レジスタビットのアクセス方法 表中 339 頁 内容 備考 PSATD モジュールのコンフィグレーション ATDEN=0 時に設定 内部処理のコンフィグレーション 少なくとも FUNCx=0 時に設定 内部処理の設定 FUNCx=0 時に設定 設定 / 状態ビット / データビット いつでも設定可能 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 15.11 Alligator レジスタ このモジュールは全部で 48 ワードの大きさを持ちます。レジスタマップを表 15-18 に示します。 表 15-18:ATD レジスタ レジスタ名 アドレス ATD 制御 0 ATDCTL0 +0 ATD 制御 1 ATDCTL1 +1 ATD 制御 2 ATDCTL2 +2 (使用禁止) 2013.12.20 版 +3 ATD 制御 4 ATDCTL4 +4 ATD 制御 5 ATDCTL5 +5 ATD 制御 6 ATDCTL6 +6 ATD 制御 7 ATDCTL7 +7 ATD 制御 8 ATDCTL8 +8 ATD 制御 9 ATDCTL9 +9 ATD 制御 10 ATDCTL10 +10 ATD 制御 11 ATDCTL11 +11 ATD 制御 12 ATDCTL12 +12 ATD 制御 13 ATDCTL13 +13 ATD チャンネル 0 ATDCH0 +14 ATD チャンネル 1 ATDCH1 +15 ATD チャンネル 2 ATDCH2 +16 ATD チャンネル 3 ATDCH3 +17 ATD チャンネル 4 ATDCH4 +18 ATD チャンネル 5 ATDCH5 +19 ATD チャンネル 6 ATDCH6 +20 ATD チャンネル 7 ATDCH7 +21 ATD チャンネル 8 ATDCH8 +22 ATD チャンネル 9 ATDCH9 +23 ATD チャンネル 10 ATDCH10 +24 ATD チャンネル 11 ATDCH11 +25 ATD チャンネル 12 ATDCH12 +26 ATD チャンネル 13 ATDCH13 +27 (C) 2009-2013 New Japan Radio Co., Ltd. 340 頁 Alligator Preliminary 表 15-18:ATD レジスタ レジスタ名 アドレス ATD データ制御 0 ATDDATC0 +28 ATD データ制御 1 ATDDATC1 +29 ATD データレジスタ 16 ATDDAT16 +31 ATD データレジスタ 0 ATDDAT0 +32 ATD データレジスタ 1 ATDDAT1 +33 ATD データレジスタ 2 ATDDAT2 +34 ATD データレジスタ 3 ATDDAT3 +35 ATD データレジスタ 4 ATDDAT4 +36 ATD データレジスタ 5 ATDDAT5 +37 ATD データレジスタ 6 ATDDAT6 +38 ATD データレジスタ 7 ATDDAT7 +39 ATD データレジスタ 8 ATDDAT8 +40 ATD データレジスタ 9 ATDDAT9 +41 ATD データレジスタ 10 ATDDAT10 +42 ATD データレジスタ 11 ATDDAT11 +43 ATD データレジスタ 12 ATDDAT12 +44 ATD データレジスタ 13 ATDDAT13 +45 ATD データレジスタ 14 ATDDAT14 +46 ATD データレジスタ 15 ATDDAT15 +47 (使用禁止) +30 以降にレジスタの詳細を示します。 表 15-19:ATD 制御 0 レジスタ ATDCTL0 ビット位置 +7 +6 +5 +4 ビット 8 RW RST +3 +2 +1 +0 0 0 0 1 PRES RW 0 0 ビット - ADCCLK CLKSEL ATDIPRST ATDIPEN ATDRST ATDEN RW - RW RW WS RW WS RW RST 0 0 0 0 0 0 0 0 ATDEN 0 0 ATD イネーブル ATD モジュールの動作を設定します。このビットをクリアして、休止状態であるときにもレ ジスタのアクセスは可能です。 0 - ATD モジュールを休止状態にして初期化します。 1 - ATD モジュールを動作させます。 ATDRST ATD リセット ATD モジュールをリセットします。 1 - ATD モジュールをリセットします。 ATDIPEN ATDIP イネーブル ATD モジュール内のアナログ A/D 変換部の動作を設定します。このビットをクリアして、 休止状態であるときにもレジスタのアクセスは可能です。 0 - アナログ A/D 変換部を休止状態にして初期化します。 1 - アナログ A/D 変換部を動作させます。 341 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator ATDIP リセット ATDIPRST ATD モジュール内のアナログ A/D 変換部をリセットします。 1 - ATD モジュール内のアナログ A/D 変換部をリセットします。 CLKSEL[1:0] ADC クロック源選択 ADC クロックのクロック源を選択します。このビットの設定は ATDEN ビットがクリアし てあるときに行います。 ATDCLK 停止 ADCCLK アナログ A/D 変換器の ADC クロックを A/D 変換動作していないときに停止させます。こ のビットの設定は ATDEN ビットがクリアしてあるときに行います。 0 - 常に ADC クロックは停止しません。 1 - A/D 変換中以外ではアナログ A/D 変換器の ADC クロックを停止させます。 ADC クロック分周比選択 PRES[7:0] ADC クロック生成用モジュロカウンタの分周比を設定します。このビットの設定は ATDEN ビットがクリアしてあるときに行います。 表 15-20:ATD 制御 1 レジスタ ATDCTL1 ビット位置 8 +7 +6 +5 +3 +2 +1 +0 ビット - - - - - - - - RW - - - - - - - - RST 0 0 0 0 0 0 0 0 0 0 0 ビット 0 +4 SHBLKEN[7:0] RW RST RW 0 0 0 0 0 このレジスタの設定は ATDEN ビットがクリアしてあるときに行います。このレジスタのビットから 15 は常にゼロでなくてはなりません。 SHBLKEN[7:0] S/H 回路使用許可 S/H 回路の使用許可を設定します。ビット位置は S/H 回路位置を示します。 0 - S/H 回路をパワーダウン状態にさせ、使用可能状態にしません。 1 - S/H 回路をパワーアップ状態にさせ、使用可能状態にさせます。 表 15-21:ATD 制御 2 レジスタ ATDCTL2 ビット位置 +7 +6 +5 +4 ビット 8 RW RST 0 +2 +1 +0 0 0 0 0 0 0 0 0 RW 0 0 0 0 ビット OPT[7:0] RW RW RST +3 OPT[15:8] 0 0 0 0 このレジスタの設定は ATDEN ビットがクリアしてあるときに行います。 OPT[15:0] ADC オプション A/D 変換器のオプション設定をします。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 342 頁 Alligator Preliminary 表 15-22:ATD 制御 4 レジスタ ATDCTL4 ビット位置 +7 +6 +5 ビット - - - RW - - - RST 0 0 0 8 +4 +3 +2 +0 0 0 0 0 +1 +0 0 0 0 0 +1 +0 RW 0 0 0 ビット - - - IRQEXT1 RW - - - RW RST 0 0 0 0 +1 IRQEXT2 0 0 0 このレジスタの設定は ATDEN ビットがクリアしてあるときに行います。 IRQEXT1[4:0] 割り込み 1 要求設定 割り込み要求 1 の割り込みリソースを設定します。 IRQEXT2[4:0] 割り込み 2 要求設定 割り込み要求 2 の割り込みリソースを設定します。 表 15-23:ATD 制御 5 レジスタ ATDCTL5 ビット位置 +7 +6 +5 +4 +3 +2 ビット - - - IRQEXT4 RW - - - RW 8 RST 0 0 0 ビット - - - RW - - - RST 0 0 0 0 0 0 0 IRQEXT3 RW 0 0 0 このレジスタの設定は ATDEN ビットがクリアしてあるときに行います。 IRQEXT3[4:0] 割り込み 3 要求設定 割り込み要求 3 の割り込みリソースを設定します。 IRQEXT4[4:0] 割り込み 4 要求設定 割り込み要求 4 の割り込みリソースを設定します。 表 15-24:ATD 制御 6 レジスタ ATDCTL6 ビット位置 +7 +6 +5 +4 +3 +2 ビット - - - TIMSELB RW - - - RW 8 RST 0 0 0 0x0 ビット - - - TIMSELA RW - - - RW RST 0 0 0 0x0 0 TIMSELA[4:0] タイマークロック A 分周比選択 タイマークロック A の ADC クロックからの分周比を選択します。このビットの設定は TIMAEN ビットがクリアしてあるときに行います。 343 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary TIMSELB[4:0] Alligator タイマークロック B 分周比選択 タイマークロック B の ADC クロックからの分周比を選択します。このビットの設定は TIMBEN ビットがクリアしてあるときに行います。 表 15-25:ATD 制御 7 レジスタ ATDCTL7 ビット位置 8 +7 +6 +4 +3 ビット PAIR RW RW RST 0 0 ビット 0 +5 RW RST 0 0 DATLOC RW 0 0 0 0 +2 +1 +0 0 0 0 0 TIMBEN TIMAEN MSB - RW RW RW - 0 0 0 0 出力データ詰め方法 MSB 12 ビット幅のデータレジスタを 16 ビットアクセスで読み出す際に上位側あるいは下位側に 詰めるかを選択します。このビットの設定は ATDEN ビットがクリアしてあるときに行いま す。 0 - 下位側に詰めて出力します。上位 4 ビットはゼロが挿入されます。 1 - 上位側に詰めて出力します。下位 4 ビットはゼロが挿入されます。 タイマークロック A 使用 TIMAEN タイマークロック A を使用します。このビットの設定はすべてのチャンネルでこの機能を使 用していないときに行います。 0 - タイマークロック A を使用しません。 1 - タイマークロック A を使用します。 タイマークロック B 使用 TIMBEN タイマークロック B を使用します。このビットの設定はすべてのチャンネルでこの機能を使 用していないときに行います。 0 - タイマークロック B を使用しません。 1 - タイマークロック B を使用します。 DATLOC[3:0] データレジスタ位置 データレジスタと入力チャンネルの位置関係を設定します。このビットはこのビットの設定 は ATDEN ビットがクリアしてあるときに行います。 同時サンプル設定 PAIR[7:0] 同時サンプル機能設定を行います。このビットの設定はすべてのチャンネルでこの機能を使 用していないときに行います。 表 15-26:ATD 制御 8 レジスタ ATDCTL8 ビット位置 8 0 +7 +6 +5 +4 +3 +2 +1 +0 ビット SFCHA ADCFAILE ACTE16 - POSTEN RW RW RW RW - RW RST 0 0 0 0 0 0 0 0 ビット - - - - SFEOC SFSOC - - RW - - - - RC WS - - RST 0 0 0 0 0 0 0 0 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 344 頁 Alligator Preliminary ソフトウェア起動動作開始 SFSOC ソフトウェア起動動作を開始させます。 1 - ソフトウェア起動動作を開始させます。 変換終了 SFEOC ソフトウェア起動動作終了を示します。このビットをセットするとクリアされます。SFEOC ビットの状態はこの A/D 変換動作に影響を与えません。 0 - ソフトウェア起動動作が終了していません。 1 - ソフトウェア起動動作が終了しました。 ACT16 割り込み許可 ACTE16 データレジスタ 16 に対応する ACT16 ビットがセットしたときにホストに割り込みを要求 させます。 0 - ACT16 ビットがセットしてもホストに割り込みを要求させません。 1 - ACT16 ビットがセットしたときホストに割り込みを要求させます。 ADCFAIL 割り込み許可 ADCFAILE ADCFAILE ビットがセットしたときにホストに割り込みを要求させます。 0 - ADCFAILE ビットがセットしてもホストに割り込みを要求させません。 1 - ADCFAILE ビットがセットしたときホストに割り込みを要求させます。 ソフトウェア起動動作入力チャンネル選択 SFCHA[3:0] ソフトウェア起動動作の入力チャンネルを選択します。 ポストデータ処理イネーブル POSTEN ポストデータ処理の実行を制御します。このビットの設定はすべてのチャンネルでこの機能 を使用していないときに行います。 0 - ポストデータ処理を行いません。 1 - ポストデータ処理を行います。 表 15-27:ATD 制御 9 レジスタ ATDCTL9 ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット - - - - - - - - RW - - - - - - - - RST 0 0 0 0 0 0 0 0 8 ビット ADCCH - - - ADCRUN RW R - - - R RST 0xf 0 0 0 0 0 ADCRUN アナログ A/D 変換状態 アナログ A/D 変換器が変換実行中であることを示します。 0 - アナログ A/D 変換器が変換実行中ではありません。 1 - アナログ A/D 変換器が変換実行中です。 ADCCH[3:0] アナログ A/D 変換チャンネル アナログ A/D 変換器が変換実行中のチャンネルを示します。 345 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 15-28:ATD 制御レジスタ 10 から 11 ATDCTL10 ビット位置 +7 +6 ビット 8 0 +5 +4 +3 +2 WINSRC3 +1 +0 WINSRC2 RW RW RW RST 0xf 0xf ビット WINSRC1 WINSRC0 RW RW RW RST 0xf 0xf ATDCTL11 ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット - - - - - - - - RW - - - - - - - - RST 0 0 0 0 0 0 0 0 +1 +0 +1 +0 8 0 ビット WINSRC5 WINSRC4 RW RW RW RST 0xf 0xf x は 0 から 5 を持ち、チャンネル 0 から 5 を示します。 サンプルウインドウ動作開始側制御入力 x WINSRCx[3:0] チャンネル x のサンプルウインドウ動作での開始側制御入力を設定します。 表 15-29:ATD 制御レジスタ 12 から 13 ATDCTL12 ビット位置 8 0 +7 +6 +5 +4 +3 +2 ビット ESRC3 ESRC2 RW RW RW RST 0xf 0xf ビット ESRC1 ESRC0 RW RW RW RST 0xf 0xf ATDCTL13 ビット位置 8 +6 +5 +4 +3 +2 ビット ESRCSEL5 ESRCSEL4 ESRCSEL3 ESRCSEL2 RW RW RW RW RW RST 0 0 0 ビット 0 +7 ESRC5 0 ESRC4 RW RW RW RST 0xf 0xf ESRCx ビットはセット x が 0 から 5 に定義されます。 ESRCx[3:0] 拡張制御入力選択 セット x に対する拡張制御入力を選択します。このビットの設定は使用している、あるいは、 使用しようとする入力チャンネルの FUNCx ビットがクリアされているときに行います。こ のビットのデフォルト値は 0xf になります。 ESRCSELx ビットはセット x が 2 から 5 に定義されます。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 346 頁 Alligator Preliminary 拡張制御入力チャンネル選択 ESRCSELx[1:0] セット x に対応する ESRCx ビットの入力チャンネルを選択します。このビットの設定は使 用している、あるいは、使用しようとする入力チャンネルの FUNCx ビットがクリアされて いるときに行います。 表 15-30:ATD チャンネルレジスタ 0 から 1 ATDCH0 ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット SMPW7 SMPW6 SMPW5 SMPW4 RW RW RW RW RW 8 RST 0 0 0 0 ビット SMPW3 SMPW2 SMPW1 SMPW0 RW RW RW RW RW RST 0 0 0 0 0 ATDCH1 ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット - - SMPNGT5 SMPNGT4 SMPNGT3 SMPNGT2 SMPNGT1 SMPNGT0 RW - - RW RW RW RW RW RW RST 0 0 0 0 0 0 0 8 0 ビット SMPW11 SMPW10 SMPW9 SMPW8 RW RW RW RW RW RST 0 0 0 0 0 SMPWx ビットと SMPNGTx ビットは入力チャンネル x ごとに定義されます。 SMPWx[1:0] サンプル幅 入力チャンネル x のサンプル幅を設定します。このビットの設定は FUNCx ビットがクリア されているときに行います。 SMPNGTx 非同期サンプル動作終了設定 非同期サンプル動作終了機能を使用します。このビットの設定は FUNCx ビットがクリアさ れているときに行います。 0 - 非同期サンプル動作終了設定を使用しません。 1 - 非同期サンプル動作終了設定を使用します。 347 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 15-31:ATD チャンネルレジスタ 2 から 4 ATDCH2 ビット位置 8 0 +7 +6 +5 +4 +3 +2 ビット SRC3 SRC2 RW RW RW RST 0x0 0x0 ビット SRC1 SRC0 RW RW RW RST 0x0 0x0 +1 +0 +1 +0 +1 +0 ATDCH3 ビット位置 8 0 +7 +6 +5 +4 +3 +2 ビット SRC7 SRC6 RW RW RW RST 0x0 0x0 ビット SRC5 SRC4 RW RW RW RST 0x0 0x0 ATDCH4 ビット位置 8 0 +7 +6 +5 +4 +3 +2 ビット SRC11 SRC10 RW RW RW RST 0x0 0x0 ビット SRC9 SRC8 RW RW RW RST 0x0 0x0 SRCx ビットは入力チャンネル x ごとに定義されます。 SRCx[3:0] 制御入力選択 入力チャンネル x の制御入力を選択します。このビットの設定は FUNCx ビットがクリアさ れているときに行います。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 348 頁 Alligator Preliminary 表 15-32:ATD チャンネルレジスタ 5 から 6 ATDCH5 ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット POSTFUN7 POSTFUN6 POSTFUN5 POSTFUN4 8 RW RW RW RW RW RST 0 0 0 0 ビット POSTFUN3 POSTFUN2 POSTFUN1 POSTFUN0 RW RW RW RW RW RST 0 0 0 0 0 ATDCH6 ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット - - - - - - - - RW - - - - - - - - RST 0 0 0 0 0 0 0 0 8 ビット POSTFUN11 POSTFUN10 POSTFUN9 POSTFUN8 RW RW RW RW RW RST 0 0 0 0 0 POSTFUNx ビットは入力チャンネル x ごとに定義されます。 POSTFUNx[1:0] ポストデータ処理機能 入力チャンネル x のポストデータ処理機能を定めます。このビットの設定は POSTEN ビット がクリアしてあるときに行います。 表 15-33:ATD チャンネルレジスタ 7 ATDCH7 ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット - - - - FUNC11 FUNC10 FUNC9 FUNC8 8 RW - - - - RW RW RW RW RST 0 0 0 0 0 0 0 0 ビット FUNC7 FUNC6 FUNC5 FUNC4 FUNC3 FUNC2 FUNC1 FUNC0 RW RW RW RW RW RW RW RW RW RST 0 0 0 0 0 0 0 0 0 FUNCx ビットは入力チャンネル x ごとに定義されます。 FUNCx 変換機能選択 このビットの書き込みは A/D 変換を開始させます。このビットがクリアしているときに、こ のビットをセットすると、入力チャンネル x の A/D 変換を開始させます。また、読み出しは 入力チャンネル x の A/D 変換動作状態を示します。このビットに対する読み出しは書き込 んだ内容と異なります。 349 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 表 15-34:ATD チャンネルレジスタ 8 ATDCH8 ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット - - - - POSTCFG11 POSTCFG10 POSTCFG9 POSTCFG8 - - - RW RW RW RW 0 0 8 0 RW - RST 0 ビット POSTCFG7 POSTCFG6 POSTCFG5 POSTCFG4 POSTCFG3 POSTCFG2 POSTCFG1 POSTCFG0 RW RW RW RW RW RW RW RW RW RST 0 0 0 0 0 0 0 0 0 0 このレジスタの設定は ATDEN ビットがクリアしてあるときに行います。POSTCFGx ビットは入力 チャンネル x ごとに定義されます。 A/D 変換ポスト処理コンフィグレーション POSTCFGx 入力チャンネル x にポスト処理を行わせます。 0 - 入力チャンネル x にポスト処理を行わせません。 1 - 入力チャンネル x にポスト処理を行わせます。 表 15-35:ATD チャンネルレジスタ 9 から 10 ATDCH9 ビット位置 8 0 +7 +6 +5 +4 +3 +2 +1 +0 ビット POST7 POST6 POST5 POST4 RW RW RW RW RW RST 0 0 0 0 ビット POST3 POST2 POST1 POST0 RW RW RW RW RW RST 0 0 0 0 ATDCH10 ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット - - - - - - - - RW - - - - - - - - RST 0 0 0 0 0 0 0 0 8 0 ビット POST11 POST10 POST9 POST8 RW RW RW RW RW RST 0 0 0 0 POSTx ビットは入力チャンネル x ごとに定義されます。 POSTx[1:0] ポスト処理設定 入力チャンネル x の A/D 変換後のポスト処理を設定します。このビットの設定は FUNCx ビットがクリアされているときに行います。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 350 頁 Alligator Preliminary 表 15-36:ATD チャンネルレジスタ 11 ATDCH11 ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット - - - - EOCE11 EOCE10 EOCE9 EOCE8 RW - - - - RW RW RW RW 8 RST 0 0 0 0 0 0 0 0 ビット EOCE7 EOCE6 EOCE5 EOCE4 EOCE3 EOCE2 EOCE1 EOCE0 RW RW RW RW RW RW RW RW RW RST 0 0 0 0 0 0 0 0 0 EOCEx ビットは入力チャンネル x ごとに定義されます。 変換終了割り込み許可 EOCEx 入力チャンネル x の EOCx ビットがセットしたときにホストに対して割り込み要求を行いま す。 0 - 入力チャンネル x の EOCx ビットがセットしても、ホストに割り込み要求を行いません。 1 - 入力チャンネル x の EOCx ビットがセットしたときにホストに割り込み要求を行います。 表 15-37:ATD チャンネルレジスタ 12 から 13 ATDCH12 ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット OVR7 EOC7 OVR6 EOC6 OVR5 EOC5 OVR4 EOC4 RW R RC R RC R RC R RC 8 RST 0 0 0 0 0 0 0 0 ビット OVR3 EOC3 OVR2 EOC2 OVR1 EOC1 OVR0 EOC0 RW R RC R RC R RC R RC RST 0 0 0 0 0 0 0 0 +7 +6 +5 +4 +3 +2 +1 +0 0 ATDCH13 ビット位置 ビット - - - ADCFAIL - - - ACT16 RW - - - RC - - - RC 8 RST 0 0 0 0 0 0 0 0 ビット OVR11 EOC11 OVR10 EOC10 OVR9 EOC9 OVR8 EOC8 RW R RC R RC R RC R RC RST 0 0 0 0 0 0 0 0 0 EOCx ビットと OVRx ビットは入力チャンネル x ごとに定義されます。 EOCx 変換終了 入力チャンネルの A/D 変換終了を示します。このビットをセットするとクリアされます。 EOCx ビットの状態はこの A/D 変換動作に影響を与えません。 0 - 入力チャンネル x の A/D 変換が終了していません。 1 - 入力チャンネル x の A/D 変換が終了しました。 OVRx ポスト処理オーバーフロー検出 入力チャンネルの A/D 変換ポスト処理後のオーバーフロー検出を示します。このビットは EOCx ビットのセットと同時に更新されます。このビットの状態はこの A/D 変換動作に影響 を与えません。 0 - 入力チャンネル x の A/D 変換ポスト処理後のオーバーフロー検出がありません。 1 - 入力チャンネル x の A/D 変換ポスト処理後のオーバーフロー検出がありました。 351 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator データレジスタアクティブ ACT16 データレジスタ 16 に新規データが入力されたことを示します。このビットをセットすると クリアされます。 0 - データレジスタ 16 に新規データが入力されていません。 1 - データレジスタ 16 に新規データが入力されました。 ADC エラー検出 ADCFAIL A/D 変換器でエラー検出したことを示します。このビットをセットするとクリアされます。 0 - A/D 変換器でエラー検出されていません。 1 - A/D 変換器でエラー検出されました。 表 15-38:ATD データ制御レジスタ 0 から1 ATDDATC0 ビット位置 8 0 +7 +6 +5 +4 +3 +2 +1 +0 ビット ACTE15 ACTE14 ACTE13 ACTE12 ACTE11 ACTE10 ACTE9 ACTE8 RW RW RW RW RW RW RW RW RW RST 0 0 0 0 0 0 0 0 ビット ACTE7 ACTE6 ACTE5 ACTE4 ACTE3 ACTE2 ACTE1 ACTE0 RW RW RW RW RW RW RW RW RW RST 0 0 0 0 0 0 0 0 ATDDATC1 ビット位置 8 0 +7 +6 +5 +4 +3 +2 +1 +0 ビット ACT15 ACT14 ACT13 ACT12 ACT11 ACT10 ACT9 ACT8 RW RC RC RC RC RC RC RC RC RST 0 0 0 0 0 0 0 0 ビット ACT7 ACT6 ACT5 ACT4 ACT3 ACT2 ACT1 ACT0 RW RC RC RC RC RC RC RC RC RST 0 0 0 0 0 0 0 0 ACTEy ビットと ACTy ビットはデータレジスタ 0 から 15 の 16 ビット分あります。 ACTEy ACTEy 割り込み許可 対応する ACTy ビットがセットしたときにホストに割り込みを要求させます。 0 - ACTy ビットがセットしても、ホストに割り込みを要求させません。 1 - ACTy ビットがセットしたとき、ホストに割り込みを要求させます。 ACTy データレジスタアクティブ データレジスタ x に新規データが入力されたことを示します。このビットをセットするとク リアされます。 0 - データレジスタ x に新規データが入力されていません。 1 - データレジスタ x に新規データが入力されました。 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 352 頁 Alligator Preliminary 表 15-39:ATD データレジスタ 0 から 16 ATDDAT0-16 ビット位置 +7 +6 +5 +4 ビット 8 RW RST 0 0 0 DATy[7:0] RW RW RST +2 +1 +0 0 0 0 0 0 0 0 0 RW 0 ビット 0 +3 DATy[15:8] 0 0 0 0 DATy ビットは全データレジスタ分の 17 ワードあり、y は0から 16 を示します。 DATy[15:0] データレジスタ 読み出しは変換データあるいは参照データを返します。 ポスト処理の参照データを設定するには FUNCx ビットがクリアされているときに書き込み ます。この時、読み出し / 書き込みとも参照データに対するアクセスになります。 ビット位置は MSB ビットに定められます。 353 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. Alligator 354 頁 Alligator Preliminary コンパレータ(COMP3) モジュール このコンパレータ(COMP3) モジュールは Alligator 用の 3 チャンネルの比較器です。それぞれのチャ ンネルは個別に動作をし、比較出力は内部モジュールに出力、また、外部端子に出力可能です。 このモジュールの入出力端子を表 16-1 に示します。COMPENx 出力はコンパレータチャンネル x の 動作中を示し、OUTENx 出力はコンパレータチャンネル x の外部端子からの出力許可を示します。 表 16-1:コンパレータモジュール端子 端子名 方向 備考 COMPI[2:0] 入 コンパレータ入力 COMPR[2:0] 入 コンパレータ参照入力 COMPO[2:0] 出 コンパレータ出力 COMPEN[2:0] 出 COMPEN0-2 ビットと同じ内容 OUTEN[2:0] 出 OUTEN0-2 ビットと同じ内容 COMPEN ビットをセットすると、このモジュールは動作可能状態になり、内部のバイアス電圧生成 器の動作開始となります。また、またはデバイスがリセット状態、あるいは、COMPEN ビットをクリ アすると、このモジュールは動作休止状態になり、内部のバイアス電圧生成器と全チャンネルのコン パレータは停止かつ低消費電流動作に移行します。 3 チャンネルのコンパレータはそれぞれ独立に設定を行い動作をさせます。まず、REFSELx ビット で参照電圧入力を選択します。この REFSELx ビットをクリアすると、チャンネルごとにアサインさ れた参照電圧入力端子を使用しますが、セットしたときは表 16-2 に示すようにチャンネル間で共通の 参照電圧端子が使用可能になります。 表 16-2:REFSELx ビットの参照入力 REFSELx ビット チャンネル 0 1 0 COMPR[0] 端子 COMPR[2] 端子 1 COMPR[1] 端子 COMPR[0] 端子 2 COMPR[2] 端子 COMPR[0] 端子 コンパレータ出力を外部端子から出力させたい場合はチャンネルの OUTENx ビットをセットさせま す。その後、COMPONx ビットをセットして、内部の実体コンパレータを動作させます。COMPENx ビットがクリアされていると COMPENx 出力がローレベルであり、コンパレータ出力を使用する外部 モジュールはコンパレータ入力に接続している端子に自動選択可能にさせます。 また、COMPONx ビットがクリア、またはデバイスがリセット状態にいるときは、内部の実体コン パレータは停止そして低消費電流動作に移行します。 355 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary Alligator 図 16-1: COMP3 モジュールブロック図 COMPI[0] COMPIN COMPOUT COMPO[0] COMPREF1 COMPR[0] COMPREF2 MUX LOWPWR REFSEL REFSEL0 COMPI[1] COMPIN COMPR[1] COMPON0&COMPEN& リセット COMPOUT COMPO[1] COMPREF1 COMPREF2 MUX LOWPWR REFSEL REFSEL1 COMPI[2] COMPIN COMPR[2] COMPON1&COMPEN& リセット COMPOUT COMPO[2] COMPREF1 COMPREF2 MUX LOWPWR REFSEL REFSEL2 バイアス電源 生成器 COMPON2&COMPEN& リセット (バイアス電圧) COMPEN& リセット 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. 356 頁 Alligator Preliminary レジスタ 16.1 このモジュールは全部で 1 ワードの大きさを持ちます。レジスタマップを表 16-3 に示します。 表 16-3:COMP3 モジュール内のレジスタ レジスタ名 アドレス コンパレータ制御 COMPCTL +0 以降にレジスタの詳細を示します。 表 16-4:コンパレータ制御レジスタ COMPCTL ビット位置 +7 +6 +5 +4 +3 +2 +1 +0 ビット OUTEN2 REFSEL2 COMPEN2 COMPON2 OUTEN1 REFSEL1 COMPEN1 COMPON1 RW RW RW RW RW RW RW RW RW 8 RST 0 0 0 0 0 0 0 0 ビット OUTEN0 REFSEL0 COMPEN0 COMPON0 - - - COMPEN RW RW RW RW RW - - - RW RST 0 0 0 0 0 0 0 0 0 COMPEN コンパレータイネーブル コンパレータモジュールの動作を設定します。このビットをセットすると、このモジュール が動作中となります。このビットをクリアすると、休止状態に入ります。このビットをクリ アしてもレジスタのアクセスは可能です。 0 - COMP3 モジュールを休止状態にします 1 - COMP3 モジュールを動作させます 以下のビットは 3 チャンネル分のホストレジスタビットを示します。x はチャンネルを示し、0 から 2 の値をとります。 COMPONx チャンネル x 実体コンパレータ動作可能 チャンネル x の実体コンパレータを動作可能にします。 0 - チャンネル x の実体コンパレータを動作休止とします。 1 - チャンネル x の実体コンパレータを動作可能にします。 COMPENx チャンネル x コンパレータ動作許可 チャンネル x のコンパレータ動作を許可します。 0 - チャンネル x のコンパレータ動作を休止します。 1 - チャンネル x のコンパレータ動作を許可します。 REFSELx チャンネル x 参照電圧選択 チャンネル x の参照電圧を選択します。 0 - チャンネル x の参照電圧を COMPREF1 とします。 1 - チャンネル x の参照電圧を COMPREF2 とします。 OUTENx チャンネル x コンパレータ出力許可 チャンネル x のコンパレータ出力を端子から出力許可にします。 0 - チャンネル x のコンパレータ出力を端子から出力出来ません。 1 - チャンネル x のコンパレータ出力を端子から出力許可にします。 357 頁 (C) 2009-2013 New Japan Radio Co., Ltd. 2013.12.20 版 Preliminary 2013.12.20 版 (C) 2009-2013 New Japan Radio Co., Ltd. Alligator 358 頁