NJU20300 暫定版 デジタル電源制御用 DSC ■ 概 ■ 要 NJU20300 は、デジタル電源向けにリアルタイム性の向上を追及し、最適設計 された最大動作周波数 31.25MHz の新日本無線オリジナル DSC(デジタル・シグ ナル・コントローラ)です。 DSP とマイクロ・コントローラの特徴を合わせたハイブリッド型 16 ビット固 定小数点 DSP コアと、高速 AD 変換機能、柔軟な PWM 機能など周辺回路を含め た高速応答の実現に向けた機構を備えます。また、プログラマブルなクロック周 波数設定機能、各種スリープ機能などシステム構成や仕事量に応じた消費電力管理 の実現に向けた機構を備えます。また、60MHz 内蔵発振器、LDO 内蔵による単一 電源、コンパレータ用 DAC を持ち、コンパクトな電源システムを構築可能です。 ■ 外 形 NJU20301FR3 特徴 ● DSPコア ・4ステージのインオーダパイプライン ・ハーバードアーキテクチャバス ・4レベルの優先順位付き割込み ・1系統の高速割込み ・16ビット長/32ビット長混在命令 ・ロードストアアーキテクチャ ・64ビット長の信号処理命令 (積和演算とメモリアクセスの並列実行) ・パイプラインハザード検出ロジック ・分岐先アドレスバッファ ・2つのハードウェアループ ・2つのデータアドレス生成 ・40ビットの算術論理演算 ・+16∼-16ビットのシフト ● AD変換 ①差動A/D変換器 ・10ビット精度6ビット分解能 最大6MSPS ・差動比較型 ・4入力/参照 + 内蔵DAC ・PWM波形生成器との同期 ②A/D変換器 ・10ビット分解能 最大1MSPS ・逐次比較型 ・8入力 + 2S/H ・PWM波形生成器との同期 ● PWM波形生成 ・6出力/3チャンネルPWM出力 ・最小1ns分解能出力 ・外部イベント連動の出力停止機能 ● タイマー ● クロック ・内蔵60MHz発振器、XTAL発振器+PLL選択 ● 通信 ・UART/I2C/SPI ● メモリ ・プログラム ワンタイムROM(8kW) ・データ/プログラムRAM(2kW ● IOポート・コンパレータ ・12本のIOポート(機能ピンと共用) ・DAC付き20ns遅延コンパレータx2 ● 電源 ・LDO内蔵 3V単一電源 ・デジタル/アナログ 3.0∼3.6V ● 消費電力 ・135mW@30MHz ● 動作温度 ・周囲温度 -40∼85℃ ・ケース表面温度 -40∼100℃ ・ジャンクション温度 -40∼105℃ ● 構造 ・CMOS構造 ● 外形 ・LQFP48 ・プログラムタイマー ・IC/OC/PWM―4チャンネル汎用タイマー Ver.2011-12-1 -1- NJU20300 暫定版 パッケージ図 AVSS AVDD AN0 AN1 AVSS AVDD DVSS PA4 AVDD DVDD33 DVSS 48 47 46 45 44 43 42 41 40 39 38 37 36 1 AN6 32 AN3 PB0 6 31 7 LQFP48-R3 LQFP48 AN2 PB1 30 DVSS PB2 8 29 DVDD33 PB3 9 28 VPP PB6 10 27 TESTMODE PB7 11 26 PB4 RESETB 12 25 13 14 15 16 17 18 19 20 21 22 23 24 PB5 OSCO 5 NJU20300 AN4 PA7 OSCI 33 PLLVDD 4 PC0 AN5 PA6 PLLVSS 34 PC1 3 PC2 AN7 PA5 PC3 35 PC4 2 PC5 DVDD18 DVSS ■ VLDOI VLDOO DVDD33 ■ 端子説明 機能入出力端子以外にもデジタル内部電源端子、デジタル入出力用の電源端子、アナログ電源端子、PLL専用電 源端子が必要になります。 注意) ・ 3.3V電源とLDO入力であるVLDOI端子はPCB上で太く短く接続する必要があります。1.8V電源とLDO出力である VLDOO端子も同様にPCB上で太く短く接続する必要があります。 ・ LDO出力であるVLDOO端子は1.8Vを出力します。このVLDOO端子からグランドに3.3μFの積層セラミックキャパシ タを最短で接続する必要があります。 ・ 全てのGND端子はPCB上での配線をIC近傍で接続して下さい。DVDD18とPLLVDD18はPCB上での配線をIC近傍で接続 してください。VDD33はPCB上での配線をIC近傍で接続してください。 記号) I・・・CMOS入力、O・・・CMOS出力、OD・・・オープンドレイン出力、Z・・・ハイインピーダンス、PU・・・プルアッ プ抵抗付き -2- Ver.2011-12-1 NJU20300 暫定版 端子機能 Ver.2011-12-1 端子番号 記号 I/O(初期状態) 機能 1 VLDOO - LDO出力(1.8V) 2 DVDD18 - 内部デジタル電源(1.8V) 3 PA5 I/O(Z) 汎用入出力ポートA ビット5 コンパレータ0参照入力 4 PA6 I/O(Z) 汎用入出力ポートA ビット6 コンパレータ1入力 5 PA7 I/O(Z) 汎用入出力ポートA ビット7 コンパレータ1参照入力 6 PB0 I/O(Z) 汎用入出力ポートB ビット0 7 PB1 I/O(Z) 汎用入出力ポートB ビット1 8 PB2 I/O(Z) 汎用入出力ポートB ビット2 9 PB3 I/O(Z) 汎用入出力ポートB ビット3 10 PB6 I/O(Z) 汎用入出力ポートB ビット4 11 PB7 I/O(Z) 汎用入出力ポートB ビット5 12 RESETB I/OD(Z) 外部リセット 13 DVSS - デジタルグランド 14 DVDD33 - デジタルIO電源 15 PC5 I/O(Z) 汎用入力ポートC ビット5 PWMOB[2]出力 16 PC4 I/O(Z) 汎用入力ポートC ビット4 PWMO[2]出力 17 PC3 I/O(Z) 汎用入力ポートC ビット3 PWMOB[1]出力 18 PC2 I/O(Z) 汎用入力ポートC ビット2 PWMO[1]出力 19 PC1 I/O(Z) 汎用入力ポートC ビット1 PMOB[0]出力 20 PC0 I/O(Z) 汎用入力ポートC ビット0 PWMO[0]出力 21 PLLVSS - PLLアナロググランド 22 PLLVDD - PLLアナログ電源 23 OSCI I 発振器入力 24 OSCO O 発振器出力 25 PB5 I/O(Z) 汎用入出力ポートB ビット5 26 PB4 I/O(Z) 汎用入出力ポートB ビット4 27 TESTMODE I テストモード 28 VPP - OTP書込み電源 29 DVDD33 - デジタルIO電源 30 DVSS - デジタルグランド 31 AN2 アナログ A/D変換器 アナログ 入力2 32 AN3 アナログ A/D変換器 アナログ 入力3 33 AN4 アナログ A/D変換器 アナログ 入力4 34 AN5 アナログ A/D変換器 アナログ 入力5 (1.8V) 書込み6.75V/書込み以外0V -3- NJU20300 暫定版 ■ 35 AN7 アナログ A/D変換器 アナログ 入力7 36 AN6 アナログ A/D変換器 アナログ 入力6 37 AVSS - アナロググランド 38 AVDD - アナログ電源 39 AN0 アナログ A/D変換器 アナログ 入力0 40 AN1 アナログ A/D変換器 アナログ 入力1 41 AVSS - アナロググランド 42 AVDD - アナログ電源 43 DVSS - デジタルグランド 44 AVDD - アナログ電源 45 PA4 I/O(Z) 46 DVDD33 - デジタル電源 47 VLDOI - LDO入力(3.3V) 48 DVSS - デジタルグランド 汎用入出力ポートA ビット4 コンパレータ0入力 電気的特性 絶対最大定格 パラメータ 値 ロジック系外部電源電圧 VDVDDIO33 VSS端子基準 -0.3Vから3.6V ロジック系内部電源電圧 VDVDD18 VSS端子基準 -0.3Vから1.98V ロジック入力電圧範囲、VIN -0.3Vから5.5V アナログ系入力電圧範囲 AVSS端子基準 -0.3VからAVDD33+0.3V 接合温度(Tj) -40∼125℃ 電気的特性 項目 電圧 -4- 最小 標準 最大 単位 電源電圧-1.8V系(DVDD18) 1.62 1.80 1.98 V 電源電圧-3.3V系(DVDDIO33,AVDD33) 2.97 3.3 3.63 V ロジック入力ローレベル電圧範囲、VIL -0.3 - 0.8 V Ver.2011-12-1 NJU20300 暫定版 周波数 温度 ロジック入力ローレベル電圧範囲、VIH 2 - DVDIO33 V ロジック入力リーク電流、Il(VI=0V/3.3V) -2 - 2 uA ロジックオフリーク電流、Ioz(Vo==0V/3.3V) -2 - 2 uA プルアップ抵抗、RPU 25K 56K 100K Ω プルダウン抵抗、RPD 25K 57K 125K Ω ロジック出力ローレベル電圧、VOL@下記負荷条件 - - 0.4 V ロジック出力ハイレベル電圧、VOH@下記負荷条件 2.4 - - V ロジック出力ローレベル電流、IOL@VOL 5.0 7.5 10 mA ロジック出力ハイレベル電流、IOH@VOH 7.5 15 25 mA アナログ入力電圧範囲 -0.3 - AVDD+0. 3 V XTAL発振器周波数1 6 - 30 MHz 内蔵発振器周波数 - 60MHz - MHz システムクロック周波数 0 - 62.5 MHz PLL入力クロック周波数 3.2 20 322 MHz PLL出力VCO周波数 200 - 500 MHz 動作温度:ジャンクション温度(Tj)3 -40 - 105 ℃ 周囲温度(Ta) -40 ー 85 ℃ 保存温度(OTPROMのデータ保持を除く) -50 ー 125 ℃ 保存温度(OTPROMのデータ保持4) -40 ー 85 ℃ 1 発振周波数により発振回路と水晶発振子パラメータ選択必要あり SIIM/PLLのCLKOPTビットを0x00にした条件 3 デバイスの動作保証はジャンクション温度(Tj)で定まる 4 保存可能時間を保証するものではない 2 Ver.2011-12-1 -5- NJU20300 暫定版 1 NJU20300概要 このNJU20300はデジタル電源制御DSC向けの16ビットのDSPである"XIMO16"をコアとした、制御用DSPマイコン (DSC)であり、電源制御やモーター制御に必要な基本的なモジュールを内部に持ちます。 このNJU20300の特徴は: ・ デジタル電源やモーター制御などの制御向けLSI ・ DSPコア31.25MHz動作バージョンXIMO16B ・ 差動ADC(DAD)-4ch/6-bit/6Msps@最大10bit精度 ・ 逐次比較型ADC変換(PSATD2)-8ch/10bit/1Msps ・ PWM出力(PSPWM2)-3ch/6出力@最小1ns/2ns分解能 ・ アナログコンパレータ(COMP)-非同期x2(応答時間20ns)/同期x1、DAC-10ビットx2 ・ 通信-I2C,UART,SPI ・ 汎用タイマ-時間管理(RTM)、OC/IC/PWM/QEI機能(GPT2) ・ プログラムメモリ-OTP ROM 8kW ・ データメモリ/プログラムメモリ兼用-Dual-Port RAM 2kW ・ 48ピンQFPパッケージ ・ 内蔵発振器( 62.5MHz)/XTAL発振器(+PLL(最大250MHz))選択 ・ 3.3V単一電源(LDO内蔵) ・ 小型、省消費電力 ・ システム制御-クロック/リセット/割り込み/WDT、スリープモードと復帰 ・ システム保護機能-クロック監視、PLL動作異常、パワーオン検出、電源電圧監視、ウォッチドッグリセット、 バスエラーモニター、不正割り込み検出 尚、デバッグ専用デバイスでは以下の機能を持ちます。 ・ デバッグ-JTAG-IF ・ デバッグ用外部メモリインターフェース機能 外部端子は、機能入出力端子、デジタル内部電源端子、デジタル入出力用の電源端子、アナログ電源端子、PLL 専用電源端子で構成されます。すべての出力端子と入出力端子はリセット端子によりデバイス内のクロックに非同 期でハイインピーダンス状態になります。 -6- Ver.2011-12-1 NJU20300 暫定版 GPIO VPP (TESTMODE) (RESETB) (TBD) (TBD) SPCK IRQ SPDA SPDB RDYB EXTCLK SPI.A GPIOA (PORT)[7:0] GPIOA(SFOUT/DDR)[7:4] PA4 PA5 PA6 PA7 XIMO16B TXD RXD X S バス IRQ Y P バス制御 DMEM EXTCLK UART2 POTP SCL IRQ SDA EXTCLK MEMS TEST TESTMODE (PC0) (PC1) (PC2) (PC3) (PC4) (PC5) MODE GPIOB (PORT)[7:0] GPTI[3:0] GPTO[3:0] GPTC[1:0] IRQ[4:0] SPECIAL IRQ RESETB IRQS GPT2 RTM2 EXTHIRQ (PB5) (RESETB) RESETB PWRON IRQ SIM EXTCLK0 EXTCLK1 GPIOC(PORT)5:6] PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 GPIOB(SFOUT/DDR)[7:0] MMI2C BGV CLKGEN LVI. EXTIRQ0 EXTIRQ1 IRQ[1:0] IRQS[1:0] PLL MONCLK INTOSC. PSPWM2 OSC PWMCO[13:0] IRQ[7:0] IRQS[7:0] PCLK OSCI OSCO VLDOI PWM00 PWM0B0 PWM01 PWM0B1 PWM02 PWM02B PWMI0 PWMI1 PWMI2 PWMI3 BG (AVDD33) (AVSS33) LDO VLDOO ANAMUX (AN7) (AN6) (AN5) (AN4) (AN3 (AN2) (AN1) (AN0) AN7 AN6 AN5 AN4 AN3 AN2 AN1 AN0 EXTCLK COMP AN8 AN9 AN10 AN11 COMPI0 COMPR0 COMPI1 COMPR1 IRQ[2:0] IRQS[2:0] CTLIN[11:0] IRQ[4:0] (PA4) (PA5) (PA6) (PA7) DAD CTLIN[6:0] IRQ[3:0] PSATD2 COMPO0 COMPOS0 COMPO1 COMPOS1 COMPO2 COMPOS2 HRDG2 AN0 AN1 AN2 AN3 AN4 AN5 AN6 AN7 PWM00 PWM01 PWM02 PWM03 PWM04 PWM05 AN7 AN6 AN5 AN4 AN3 AN2 AN1 AN0 REF3 REF2 REF1 (AN3 (AN2) (AN1) (AN0) (AN6) (AN5) (AN4) AN0 AN1 AN2 AN3 AN4 AN5 AN6 AN7 PC0 PC1 PC2 PC3 PC4 PC5 図1-1: NJU20300 データシートブロック図 Ver.2011-12-1 -7- NJU20300 暫定版 1.1 機能オプション NJU2030xシリーズのデバイスは機能オプションとして、内蔵発振器とXTAL外部発振器の発振器選択、LDO使用/不 使用の選択、SLEEP命令実行時のSTOP動作の許可/不許可の選択が可能です。 このNJU20300の機能オプションはSTOP動作の不許可が固定化され、内蔵発振器とXTAL外部発振器の発振器選択、 LDO使用/不使用の選択が可能です。 表 1:機能オプション 機能オプション オプション 発振器選択 内蔵発振器 XTAL発振器 LDO使用 LDO不使用 LDO使用 SLEEP命令STOP動作 STOP動作不使用 1.1.1動作モード このデバイスにはテスト動作を示すテストモードと、ユーザー動作を示すユーザーモード及びブートモードがあ ります。ユーザーモードとブートモードは例外処理ベクタが異なり、ブートモードはデバイス起動時にブートROM コードを実行するように動作します。(ブートモードのリセットベクタはブートROMコードの先頭アドレスを指し示 します。) 各モードエントリーはTESTMODE端子、RESETB端子とPB端子の状態で定められます。尚、TESTMODE端子がローレベ ルであるときは、常にユーザーモードでの動作になります。 ブートモード ブートモードではチップ内蔵されたブートプログラムが実行されMMI2CあるいはUARTを使用して、内部メモリにデ ータを書き込みます。この端子による起動デバイスの選択はソフトウェアによりGPIOモジュールを通して行われま す。 RESETB端子の立ち上がり時にTESTMODE端子がハイレベル、PB5端子がハイレベルのときにブートモードとしての動 作になります。このとき、PB5端子がローレベルであるときの動作は保証されません。このとき、PB2端子とPB3端子 により、UARTとMMI2Cの設定をします。尚、ブート動作ではUART2とMMI2CモジュールがPB0端子とPB1端子を使用しま す。 ・ PB2端子とPB3 端子が共にハイレベルであるとマスター動作によるMMI2Cによるブート起動になります。 ・ PB2端子がハイレベル、かつ、PB3 端子がローレベルであるとスレーブ動作によるMMI2Cによるブート起動にな ります。 ・ PB2端子がローレベル、かつ、PB3 端子がハイレベルであると、UART2によるブート起動になります。 ・ PB2端子とPB3端子がローレベルであると、即座にブートジャンプをします。 -8- Ver.2011-12-1 NJU20300 暫定版 1.2 アドレスマップとメモリ このデバイスは64Kワードのアドレス空間のうち、0x0000から0x00ffまでを256ワードのIO空間,0x800から0x0FFF までをデータ用RAMから成るDRAM、0xE000から0xFFFFまでをプログラム用メモリとして、ユーザープログラムや例外 処理ベクタやブートメモリ空間を持ち、OTPROMやRAMからなるPMEMとします。 図1-2: メモリマップ P バス 256 2K 0x0000 0x00FF X バス Y バス S バス IO (256) I/O 0x0800 DRAM 0x0FFF 0xE000 POTP 8K 512 0xFCFF 0xFD00 0xFEFF 0xFF00 224 28 4 Ver.2011-12-1 0xFFDF 0xFFE0 0xFFFB 0xFFFC 0xFFFF BROM POTP VRAM POTP -9- NJU20300 暫定版 1.2.1IOレジスタマップ ペリフェラルモジュールは0x0000から0xffの256ワードのアドレス空間におかれます。バス接続はSバスになりま す。IO領域レジスタは0x0000からのオフセットアドレスになります。 表 2:IO領域レジスタ アドレス モジュール 0x00 SIM SIMコンフィグ SIMCFG 0x01 SIM制御0 SIMCTL0 0x02 SIM制御1 SIMCTL1 0x03 生成器制御 SIMCGEN 0x04 COP制御 SIMCOPCL 0x05 COPデータ SIMCOPDT 0x06 WUT制御 SIMWUT 0x07 内蔵発振器制御 SIMIOSC 0x08 SIM割込み制御0 SIMINT0 0x09 SIM割込み制御1 SIMINT1 0x0a SIM割込み制御2 SIMINT2 0x0b SIM割込み制御3 SIMINT3 0x0c SIM割込み状態 SIMINTS 0x0d システム例外処理 SIMEXCP 0x0e バスエラー制御 SIMBEL 0x0f バスエラーアドレス SIMBERAD 0x10-1f (内部使用) (内部使用) 0x20 メモリコンフィグ MEMCFG 0x21 メモリ制御0 MEMCTL0 メモリ制御1 MEMCTL1 0x23 メモリ制御2 MEMCTL2 0x24 メモリオプション0 MEMOPT0 0x25 メモリオプション1 MEMOPT1 0x22 MEMS - 10 - レジスタ名 0x26-27 (内部使用) 0x28 COMP (内部使用) コンパレータ制御0 COMPCTL0 0x29 コンパレータ制御1 COMPCTL1 0x2a コンパレータDAC0データ COMP0DAC Ver.2011-12-1 NJU20300 暫定版 0x2b 0x2c EXTHIRQ コンパレータDAC1データ COMP1DAC 外部高速割込み制御 EXTIRQ 0x2d (予約) 0x2c-2f 0X30 (予約) RTM2 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 RTMチャンネル3比較 RTMCH3 SPIコンフィグ SPICFG 0x39 SPI制御 SPICTL 0X3a SPIデータ SPIDAT 0X38 SPI.A 0x3b (予約) 0x3c-3f 0x40 (予約) UART2 UARTコンフィグ0 UARTCFG0 0x41 UARTコンフィグ1 UARTCFG1 0x42 UARTコンフィグ2 UARTCFG2 0x43 UART制御 UARTCTL 0x44 UART状態 UARTSTAT 0x45 UARTデータ UARTDAT 0x46 UARTLIN0 UARTLIN0 0x47 UARTLIN1 UARTLIN1 I2Cコンフィグ I2CCFG 0x49 I2Cコンフィグ2 I2CCFG2 0x4a I2C制御 I2CCTL 0x4b I2Cステータス I2CSTA 0x4c I2Cデータ I2CDAT 0x48 MMI2C 0x4d-f 0x50 Ver.2011-12-1 (予約) GPT2 GPT制御0 GPTCTL0 - 11 - NJU20300 暫定版 0x51 GPT制御1 GPTCTL1 0x52 GPT制御2 GPTCTL2 0x53 - - 0x54 GPTコンフィグ0 GPTCFG0 0x55 GPTコンフィグ1 GPTCFG1 0x56 GPTコンフィグ2 GPTCFG2 0x57 GPTコンフィグ3 GPTCFG3 0x58 GPTコンフィグ4 GPTCFG4 0x59 GPTコンフィグ5 GPTCFG5 0x5a GPTカウンタAデータ GPTCTA 0x5b GPTカウンタBデータ GPTCTB 0x5c GPTチャンネル0データ GPTCH0DT 0x5d GPTチャンネル1データ GPTCH1DT 0x5e GPTチャンネル2データ GPTCH2DT 0x5f GPTチャンネル3データ GPTCH3DT ATDコンフィグ ATDCFG 0x60 0x61 - 12 - PSATD2 (使用禁止) 0x62 ATD制御0 ATDCTL0 0x63 ATD制御1 ATDCTL1 0x64 ATDチャンネル0 ATDCH0 0x65 ATDチャンネル1 ATDCH1 0x66 ATDチャンネル2 ATDCH2 0x67 ATDチャンネル3 ATDCH3 0x68 ATDチャンネル4 ATDCH4 0x69 ATDチャンネル5 ATDCH5 0x6a ATDチャンネル6 ATDCH6 0x6b ATDチャンネル7 ATDCH7 0x6c ATDチャンネル8 ATDCH8 0x6d ATDチャンネル9 ATDCH9 0x6e ATDチャンネル10 ATDCH10 0x6f ATDチャンネル11 ATDCH11 0x70 ATDチャンネル12 ATDCH12 0x71 ATDチャンネル13 ATDCH13 Ver.2011-12-1 NJU20300 暫定版 0x72 0x73 ATDCH14 ATDチャンネル15 ATDCH15 0x74 (予約) 0x75 (予約) 0x76 (使用禁止) 0x77 (使用禁止) 0x78 ATDデータレジスタ0 ATDDAT0 0x79 ATDデータレジスタ1 ATDDAT1 0x7a ATDデータレジスタ2 ATDDAT2 0x7b ATDデータレジスタ3 ATDDAT3 0x7c ATDデータレジスタ4 ATDDAT4 0x7d ATDデータレジスタ5 ATDDAT5 0x7e ATDデータレジスタ6 ATDDAT6 0x7f ATDデータレジスタ7 ATDDAT7 0x80 DADコンフィグ DADCFG 0x81 DAD制御 DADCTL 0x82 (使用禁止) 0x83 (使用禁止) 0x84 DADチャンネル0コンフィグ DAD0CFG 0x85 DADチャンネル1コンフィグ DAD1CFG 0x86 DADチャンネル2コンフィグ DAD2CFG DADチャンネル3コンフィグ DAD3CFG 0x88 DADチャンネル0制御 DAD0CTL 0x89 DADチャンネル1制御 DAD1CTL 0x8a DADチャンネル2制御 DAD2CTL 0x8b DADチャンネル3制御 DAD3CTL 0x8c DADチャンネル0データ DAD0DAT 0x8d DADチャンネル1データ DAD1DAT 0x8e DADチャンネル2データ DAD2DAT 0x8f DADチャンネル3データ DAD3DAT 0x87 DAD 0x90-9f Ver.2011-12-1 ATDチャンネル14 (予約) - 13 - NJU20300 暫定版 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-b1 - 14 - PSPWM2 (使用禁止) 0xb2 PWM制御0 PWMCTL0 0xb3 PWM制御1 PWMCTL1 0xb4 PWM割込み制御0 PWMIRQ0 0xb5 PWM割込み制御0 PWMIRQ1 0xb6 PWM状態0 PWMSTAT0 0xb7 PWM状態1 PWMSTAT1 0xb8 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 Ver.2011-12-1 NJU20300 暫定版 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 0xd0 PWM2データ0 PWM2DAT0 0xd1 PWM2データ1 PWM2DAT1 0xd2 PWM2データ2 PWM2DAT2 0xd3 PWM2データ3 PWM2DAT3 PWM2データ4 PWM2DAT4 0xd5 PWM2データ5 PWM2DAT5 0xd6 PWM2データ6 PWM2DAT6 0xd7 PWM2データ7 PWM2DAT7 0xd4 PSPWM 0xd8-df (使用禁止) 0xe0 HRDG制御0 HRDGCTL0 0xe1 HRDG制御1 HRDGCTL1 0xe2 HRDG制御2 HRDGCTL2 HRDG制御3 HRDGCTL3 0xe4 HRDG制御4 HRDGCTL4 0xe5 HRDG制御5 HRDGCTL5 0xe6 HRDG制御6 HRDGCTL6 0xe7 HRDG制御7 HRDGCTL7 0xe3 HRDG Ver.2011-12-1 - 15 - NJU20300 暫定版 0xe8-ef 0xf0 (予約) GPIO ポート0 PORT0 0xf1 ポート1 PORT1 0xf2 ポート出力設定 DDR 0xf3 ポートモジュール出力設定 MODOUT 0xf4 ポート機能 PORTFUNC 0xf5 入力ブリッジ GPIOBG 0xf6-f7 0xf8-ff - 16 - (予約) (予約) Ver.2011-12-1 NJU20300 暫定版 2 割り込み 2.1 割り込みベクタ 割り込みベクタは以下に割り付けられます。 表 3:割込み要求モジュールとベクタアドレス ベクターアドレス 例外処理リソース 例外番号 ユーザーモード ブートモード リセット 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 不正動作割込み等のシステム機能ではない、ユーザー機能による割込みソースは全部で24本あります。これらの 割込みソースはモジュール仕様で管理されています。これらの割込みソースを割込み要求入力番号に合わせて、ホ スト設定によりペリフェラル割込み0から11にマッピングをする必要があります。 に例外処理リソースと割込み要求入力番号、そしてスリープ動作に於ける動作を示します。 シリアル通信関係のモジュール(UART2、MMI2C、SPI.A)はそれぞれ1本づつ計3本の割込みソースを持っていま すが1本に集約、COMPが持つ3本の割り込みは1本に集約、GPT2が持つ5本の割り込みも1本に集約されます。論理 和回路でこれらの3つの割込みの集約が行われます。 Ver.2011-12-1 - 17 - NJU20300 暫定版 表 4:例外処理ソース 例外処理リソース スリープ動作 モジュール 信号 SIM リセット ○ DEBUG命令 − 不正動作 ○ EXTHIRQ IDLE 不正割り込み ○ 外部割込み0 ○ DOZE SIESTA INTINUMビット - - 0 INTINUM[0] 1 INTINUM[1] ○ ○ 外部割込み1 RTM2 割込み要求 ○ - - 2 INTINUM[2] UART2,MMI2C,SPI.A 割込み要求 ○ - - 3 INTINUM[3] GPT ¦割込み要求[4:0] ○ - - 4 INTINUM[4] SIM(WUT) 割込み要求 ○ ○ ○ 5 INTINUM[5] COMP ¦割込み要求[2:0] ○ ○ ○ 6 INTINUM[6] DAD 割込み要求[0] ○ - - 7 INTINUM[7] 割込み要求[1] 8 INTINUM[8] 割込み要求[2] 9 INTINUM[9] 割込み要求[3] 10 INTINUM[10] 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] 19 INTINUM[19] 割込み要求[1] 20 INTINUM[20] 割込み要求[2] 21 INTINUM[21] 割込み要求[3] 22 INTINUM[22] 割込み要求[4] 23 INTINUM[23] 24-31 INTINUM[24-31] PSPWM2 割込み要求[0] PSATD2 割込み要求[0] (使用禁止) 3 割込み要 求入力番 号 ○ ○ - ○ - - ○ - - ブートモード ブートプログラムはブートモードからブートROMコードを実行することで動作をします。そのブートプログラムは - 18 - Ver.2011-12-1 NJU20300 暫定版 MMI2CあるいはUART2を使用して、内部メモリにデータを書き込みます。詳細についてはブートプログラムを参照し てください。 4 その他の機能 4.1 バスエラー バスエラーを出力する動作は内部バス制御部とIOバス制御部が行います。バスエラーを検出すると、内部バス制 御部が内部モジュールに対して、バスアクセス強制終了(バスターミネート)要求をアサートし、以下のモジュー ルのうち、バスアクセスを行っているモジュールはその信号を受けてバスアクセスを強制終了します。 表 5:バスエラーを発生しうるモジュール モジュール 備考 RTM2 GPT2 PSPWM2 PSATD2 バス制御(SIM) メモリ(MEMS) 4.2 JTAG デバイスIDは0x000035a5になります。その内訳は、新日本無線(株)の生産者番号は0x52(バンク6)、バージョン は0x0と部品番号は0x0003です。 表 6:デバイスID デバイスID[31:0] Ver.2011-12-1 ビット位置 [31:28] [27:12] [11:1] [0] ビット長 4 16 11 1 内容 バージョン 部品番号 生産者番号 固定値 コード 0000 0000 0000 0000 0011 010 1101 0010 1 - 19 - NJU20300 暫定版 5 SIM(System-Integration-Module) LSI全体の制御はこのSIM(System-Integration-Module)で行われます。このSIMは内部はクロック制御、割込み 例外制御、リセット制御、テストモードエントリー部からなります。このモジュールにはスキャンパスは使用され ません。また、このSIMはDSPコアであるXIMO16Bと直に接続されたモジュールになります。 システム保護機能として、クロック監視、PLL動作異常、パワーオン検出、電源電圧監視、ウォッチドッグリセッ ト、バスエラーモニター、不正割り込みなどがあります。 5.1 電源部 電源制御は3.3Vからデジタル用電源1.8Vを生成するLDO、LVIや内蔵発振器、そしてバッファを通してA/D変換器に バンドギャップ電圧を生成するBG出力、内部3.3V電源と1.8V電源の電圧監視を行うLVI、1.8Vの電源投入を検出する PORからなります。 ・ LDO回路はVLDOI端子に入力した2.5V以上の電圧から1.8Vの電圧を生成しVLDOO端子に出力します。 ・ LVI回路はデジタル用1.8V電源が検出電圧以下になると1.8V用LVIリセット状態を出力、また、アナログ用3.3V 電源が検出電圧以下になると3.3V用LVIリセット状態を出力します。そして、デジタル1.8V電源の電圧検出電圧 以上になると1.8V用LVIリセット状態から抜け、また、アナログ用3.3V電源が検出電圧以下上になると3.3V用LVI リセット状態から抜けます。この両方のLVIリセット状態から抜けるとLVIリセット解除となります。 このLVIにはヒステリシス動作はありません。 ・ PWRON回路は電源投入時にはデジタル回路をパワーオンリセット状態にします。そして、デジタル用1.8V電源が 検出電圧以上になるとパワーオンリセット状態から抜けて動作状態に移行可能にします。LVI回路は内部使用の BG出力用にバンドギャップ電圧を生成します。 図5-1: 電源部概念図 (内蔵発振器へ) BG 出力 BGOUTEN ビット VLDOO VLDOI LIV33 LDO LVI POR - 20 - LVI18 PORON Ver.2011-12-1 NJU20300 暫定版 5.2 クロック 発振器オプション選択により、SIM外部に接続されるXTALを使用したXTAL発振器、あるいは内蔵発振器でクロック を生成します。オプション選択により、内蔵発振器あるいはXTAL発振器が発振クロック(gclk)になります。LSI 外部からクロックを入力するには、XTAL発振器オプションを選択し、OSCO端子をオープン、OSCI端子から外部クロ ックを入力します。 内蔵発振器をオプション選択であればXTAL発振器は停止、XTAL発振器をオプション選択であれば内蔵発振器は停 止状態になります。 発振クロック(gclk)を1/2分周したものが、内部使用する基本クロック(iclk)になります。 発振クロック(gclk)を生成器に入力し逓倍クロックと生成器クロックを生成します。内部がリセット状態にある ときは生成器は初期化され停止し、CLKSELビットが0x0に設定され、基本クロック(iclk)がメインクロックとなりま す。ソフトウェアにより生成器を動作開始させ、生成器クロックをメインクロック(mclk)にすることも可能です。 CLKSELビットで基本クロック(iclk)、発振クロック(gclk)、生成器クロックのいずれかから、メインクロック (mclk)を生成します。メインクロック(mclk)からシステムクロック(suysclk)を生成して、LSI内部に分配されます。 クロック系の特徴 ・ DSPコア、メモリ、PWM生成以外の周辺機能用システムクロックと独立したPWM生成クロック ・ 動的動作周波数設定可能と各種スリープ動作 ・ 機能、負荷に応じた消費電力制御が可能 内蔵発振器動作 内蔵 発振器 LSI 全体 マルチプレクサ マルチプレクサ 基本クロック メインクロック システムクロック /2 発振クロック 分周器 システムクロック 動作 生成器 逓倍器 分周器 PSATD2 生成器クロック 逓倍クロック PLL クロック 内蔵発振クロック PSPWM2 マルチプレクサ OSCO OSCI XTAL 発振器 XTAL 発振器動作 クロック モニター MONCLK クロックモニター動作へ 図5-2: クロック系統図 Ver.2011-12-1 - 21 - NJU20300 暫定版 5.2.1発振器 発振器はXTALを使用するXTAL発振器と内蔵RCを使用する内蔵発振器があり、オプションによりどちらかを選択し ます。尚、生成器の逓倍器(PLL)を使用する際にはXTAL発振器を選択しなくてはなりません。 発振器周波数、内蔵発振器周波数、生成器内のPLLの入力周波数と出力周波数、システムクロック周波数、PLLク ロック周波数には最大値と最小値を持ちます。 表 7:周波数 リスース 標準(参考) XTAL発振器 16MHz/20MHHz 内蔵発振器 60MHz PLL入力 16MHz PLL出力(pclk) 125MHz システムクロック 31.25MHz iclk 16.125MHz gclk 31.25MHz XTAL発振器 XTAL発振器オプションを選択すると発振クロック(gclk)はOSCI/OSCOに接続されるXTAL発振器より生成されます。 生成器の逓倍器(PLL)を使用する際にはこのXTAL生成器オプションを選択しなければなりません。 OSCI信号はXTAL発振器入力、または外部クロック入力となります。OSCO信号はXTAL発振器出力となります。また 外部クロックを入力する場合は使用しません。 XTAL発振器が動作を始めクロックを出力し始めた後、安定動作とみなされると、クロックが出力されます。外部 の電源電圧が低下状態、あるいは、内蔵発振器オプションが選択される場合には、XTAL発振器は停止します。 内蔵発振器 内蔵発振器オプションを選択すると、発振クロックgclkは内蔵発振器より生成されます。内蔵発振器が動作を開 始し、安定動作とみなされると、内蔵発振器から発振クロックが出力されます。 外部の電源電圧が低下状態、あるいはXTAL発振器オプション選択では内蔵発振器は停止します。 内蔵発振器は発振周波数をホストレジスタビットの設定で調整することが可能です。 5.2.2生成器 発振クロック(gclk)をPLLにより逓倍、分周器で分周、そして望む周波数の生成器クロックを生成します。リセ ット状態であるときは生成器は初期化、パワーダウン状態であり、ホストレジスタビットは初期化されます。コー ルドリセットでは生成器はパワーダウンモードになります。 生成器の逓倍器(PLL)を使用する際にはこのXTAL生成器オプションを選択しなければなりません リセット状態にあるとき、生成器の動作は停止された状態にあります。リセット復帰後、ホストがソフトウェア 設定で生成器の動作を開始させる必要があります。生成器の動作は停止しているとき、システムは基本クロック - 22 - Ver.2011-12-1 NJU20300 暫定版 (iclk)と同じ周波数で動作しています。 ソフトウェアにより生成器を動作させると、OSCクロック周波数を逓倍したPLLクロックを生成します。そして、 このPLL出力のクロックは、1)PSPWM2 2)分周してシステムクロックとして配られ、それぞれの設定に従って動作 クロックを生成します。 5.2.3低消費電力動作 低消費電力動作には生成器の逓倍比と分周比を設定してマスタ−クロックの周波数を変える方法とsleep命令実 行によるスリープ動作による方法があります。 5.2.3.1ソフトウェアによる生成器の設定値変更 生成器内の分周器に対するパラメータ変更による生成クロック信号の周波数変更は、PLLを含む逓倍器の動作には 無関係であるので比較的短い回復時間でクロック出力を開始します。 生成器内の逓倍器に関するパラメータ変更では、逓倍器のPLLの動作を変更することになるので、PLL動作の変更 そして安定後に、クロック出力を開始することになります。このような生成器の設定値変更は動作安定するまで、 生成器クロックは停止されます。 5.2.3.2スリープ動作 SLEEP命令実行したとき、スリープ動作の各状態に移行します。スリープ動作にはSIESTA、DOZE、WAIT、IDLEの各 状態があります。それらのステージでは以下の内部動作をすることにより、消費電力を下げることになります。ス リープ動作からの復帰はリセットあるいは割り込みからになります。割り込みからの復帰はこのスリープ動作固有 のステートフローを使用しますが、リセットからの復帰はリセットのステートフロー内の動作になります。 スリープ-SIESTA動作では生成器を停止させますが、GENENビットをクリアした生成器停止状態からのスリープ -SIESTA動作であれば、PLLの電源を遮断された状態になり、一層の低消費電力動作が可能になります。す。 また、スリープ状態からの復帰条件はインテグレーションによって定められます。 リセット リセット制御部は多種のリセットソースから内部リセットを生成します。これにより、外乱によるシステム保護 を可能にします。リセットソースは内部リセット、発振器、生成器、クロック出力動作に影響を与えます。 リセットソースの種類によって、コールドリセット、エラーリセット、通常リセットの種類の動作があります。 リセットソースは外部端子だけではなく、いくつか存在します。リセット解除後、そのリセット要因を知ることが 出来ます。このリセットソースにより内部動作の停止制御がおこなわれます。ります。内部リセット解除後に、 SOFTRSTビットのセットでソフトウェアリセットを確認出来ます。リセット要因のうち、コールドリセット、クロッ クモニターリセット、生成器エラーリセット、システムエラーリセット、COP内部リセット、ソフトウェアリセット はリセット出力RESETOUT信号として外部に出力されます。 リセット端子の接続はインテグレーションによって異なりますが、標準ではリセット出力RESETOUTおよびCOP外部 リセット出力COPOUTは外部リセット入力信号とWired ORで接続され、RESETB端子より入力される外部リセット信号 となります。 COP機能はシステムが正常に動作しているかを検出するハードウェアです。別名WDT(Watch-Dog-Timer)とも呼ば れます。基本クロック(iclk)を最長224-1(16777215サイクル:1.6Hz @27MHz)間隔で動作チェックをする事が可 能です。バスタイムアウトは内部バスに接続されたペリフェラルはアクセス時間の延長を図ることが出来ます。し かしながら、なんらかの問題でペリフェラルがバスを開放しないとき、バスタイムアウト時間を超えたときにバス タイムアウトとして割り込みが発生します。 SIMは基本クロック(iclk)によって動作するタイマ、WUT(Wake Up Timer)を持っています。WUTEビットをセットす るとこのタイマは動作状態になります。 Ver.2011-12-1 - 23 - NJU20300 暫定版 例外制御と割り込み 割込みやリセットなどのベクターなどを処理する例外制御部はベクターアドレス生成と割込み制御機能を持ちま す。ペリフェラルからの割込み要求入力は全部で32本可能です。ソフトウェアの設定により、その割込み要求入力 から12本のペリフェラル割込みを割り当てる必要があります。それらの割込みはそれぞれベクターアドレスと割込 みレベルを設定することが可能です。 高速割込み(FINT) 高速割込み処理では通常割り込みのように例外ベクタを使用せずにあらかじめ設定されたアドレスの内容を実行 先頭アドレスとします。 5.3 動作モードとそのエントリー デバイスはいくつかの動作モードを持ちます。通常はユーザーモードで動作しますが、プログラムとデータを初 期化する目的で、ユーザーモードに対して異なるベクターを持つブートモードを持ちます。 それらのモードに入るには、TIFM/TRSTB/TCK/TDI信号を使用します。その内容はRESETB信号の立ち上がりで内部 に取り込まれますブートモードではブートメモリ内のブートプログラムが動作して、外部デバイスがペリフェラル を通して内部RAMにデータを書き込みます。 電源投入、逓倍比、オプション変更、外乱などによって、PLLそのものが安定化時間を必要であるとき、比較的長 い安定化時間が要求されます。このとき、COP動作は自動的に停止状態にあります。 - 24 - Ver.2011-12-1 NJU20300 暫定版 6 XIMO16Bアーキテクチャ概要 6.1 構成 にコアのブロック図を示します。コアはフロー制御ユニット、命令デコードユニット、データアドレス生成ユニ ット、データ演算ユニットの4つの部分から構成されます。 フロー制御ユニットでは2つゼロオーバーヘッドループ機構によるループ実行が行なわれます。 命令デコードユニットでは、命令キューによるの可変長命令の整列、命令デコード、分岐命令によるプログラム フロー制御などが行なわれます。また命令キャッシュとのインターフェイスを持ち、キャッシュへの命令登録、キ ャッシュからの命令実行を行います。 データアドレス生成ユニットは、ポインタ演算用に2つの16ビットアドレス演算器を持っています。この演算器は 有効アドレス計算及びポインタレジスタ自動更新のために用いられます。命令毎に最大2つのアドレス生成と2つポ インタレジスタの更新を行なうことが可能です。ポインタレジスタの自動更新ではポストインクリメント/デクリメ ント、リングバッファ用のモジュロアドレッシング、FFT用のビットリバースアドレッシングをサポートしています。 データ演算ユニットでは、演算器として、1つの40ビット ALU、1つの40ビットバレルシフタ、1つの16ビット乗算 器を持っています。 40ビット ALUでは16/32/40ビットの算術論理演算を行ないます。40ビットバレルシフタでは最大40ビットデータ の+16∼−16ビットシフトが行なえます。40ビット長の演算では2本の40ビットアキュームレータレジスタによって 演算結果を保持することができます。16ビット乗算器は16ビット × 16ビットの乗算を1サイクルで行い32ビットの 乗算結果を得ることができます。ALUと乗算器は、命令によって同時に使用することができます。1命令内で加減算 と乗算を並列に実行することで1システムクロック毎に1回の積和演算を実行することが可能です。 6.1.1アドレス空間 アドレス空間は16ビットで、ワード長が16ビットです。よって64KWordの空間を持ちます。データアドレス/プロ グラムアドレスとも同じ論理空間内に存在します。 データメモリとして扱う場合、16ビットワードまたは32ビットロングワードとしてアクセスできます。32ビット ロングワードとしてアクセスする場合、データは偶数アドレスに整列されている必要があります。 6.1.2バス コアは統一された1つの論理空間を持ちますが、ハーバード型のアーキテクチャで構成されており、プログラムバ スとデータバスは分離されています。 プログラムバスは1サイクルあたり16ビット分の命令語をメモリより読み込みます。読み込まれた命令語は命令キ ューによって整列されます。 データバスはリード/ライト共通の32ビットバスが1つと、リード専用の32ビットバスが1つあります。命令によっ て、2つのデータバスは同時に使用することができます。 ・32ビット リード/ライト共通データバス (Xバス) ・32ビット リードデータバス (Yバス) ・16ビット プログラムバス (Pバス) Ver.2011-12-1 - 25 - NJU20300 暫定版 図6-1: コAブロック図 - 26 - Ver.2011-12-1 NJU20300 暫定版 6.2 コアレジスタ レジスタユーザモデルをレジスタモデルを示します。 コアのレジスタは16 本の16ビットデータレジスタと8本の16ビットポインタレジスタを中心に構成されています。 このほかに、40ビットのアキュームレータレジスタ2 本、データアドレス生成の設定レジスタ3本x2セット、ハー ドウェアループ設定レジスタ3本x2セットなどから成ります。 図6-2: レジスタモデル Ver.2011-12-1 - 27 - NJU20300 暫定版 表 8:レジスタの種類 種類 - 28 - 機能 リセット時 汎用データレジスタ d0 - d15 d1.0 - d15.14 d0からd15までの16ビット、16本のレジスタを表します。 不定 通常は16ビットレジスタとして使用されますが、命令によって32ビット、 8本のレジスタとして使用できます。 アキュームレータレジスタ a0 a0i/a0h/a0l a1 a1i/a1h/a1l 2本の40ビットレジスタa0/a1を表します。アキュームレータレジスタは8 ビットのa0i/a1i、16ビットのa0h/a1h、16ビットのa0l/a1l、と3つの部 位に分解してアクセスすることができます。 a0i/a1iを読み出す場合は、最上位ビットであるビット7から符号拡張し た値が得られます。これら上位の8ビットは積和演算などの累加算による オーバーフローを保持するために用いられます。 不定 ポインタレジスタ p0 - p5/fp/sp p0/p1/p2/p3/p4/p5/fp/spの8本の16ビットレジスタを表します。これら のレジスタはアドレス空間を指示するためのポインタレジスタとして用 いられます。 spはスタックトップを指示するためのポインタとして使用されます。 fpはスタックフレームを指示するためのポインタとして、一部の命令で 特殊な操作、アドレッシングがサポートされています。 p0-5/fp: 不定 ステータスレジスタ st cc stレジスタを表します。ALU/シフト演算での各コンディションコードビ ット、割込みレベルを表すビットなどから成ります。 ccレジスタはコンディションコードレジスタで、stレジスタの下位8ビッ トのみを指します。このシンボルでアクセスする場合、上位8ビットの読 み出し/書きこみはできません。 0xC000 動作モードレジスタ pm pmレジスタを表します。命令キャッシュやストアバッファの設定ビット などから成ります。 0x0000 プログラムカウンタレジスタ pc 実行するプログラムのアドレスを指示します。プログラムフロー制御命 令によって操作されます。 不定 ループカウンタレジスタ c0/c1 2本の16ビットレジスタc0/c1を表します。ハードウェアループ動作での ループ回数カウンタとして使用されます。 0x0000 ループスタートレジスタ s0/s1 2本の16ビットレジスタs0/s1を表します。ハードウェアループ動作での ループ上限アドレスを指示するレジスタとして使用されます。 不定 ループエンドレジスタ e0/e1 2本の16ビットレジスタe0/e1を表します。ハードウェアループ動作での ループ下限アドレスを指示するレジスタとして使用されます。 不定 ポインタモデファイレジスタ m0/m1 2本の16ビットレジスタm0/m1を表します。通常はポインタレジスタの自 動更新でのステップ値として使用されます。 不定 バッファサイズレジスタ l0/l1 2本の16ビットレジスタl0/l1を表します。データアドレス生成ユニット の動作モード設定や循環バッファアドレッシング時のバッファサイズ値 として使用されます。 0x0000 バッファアドレスレジスタ n0/n1 2本の16ビットレジスタn1/n0を表します。循環バッファアドレッシング 時のバッファの先頭アドレスとして使用されます。 不定 pc内部スタックレジスタ spc 高速割込み時にpcレジスタの値がコピーされます。 不定 sp: 0xFFDF Ver.2011-12-1 NJU20300 暫定版 st内部スタックレジスタ sst 高速割込み時にstレジスタの値がコピーされます。 不定 c0/c1内部スタックレジスタ sc0/sc1 高速割込み時にc0/c1レジスタの値がコピーされます。 不定 s0/s1内部スタックレジスタ ss0/ss1 高速割込み時にs0/s1レジスタの値がコピーされます。 不定 e0/e1内部スタックレジスタ se0/se1 高速割込み時にe0/e1レジスタの値がコピーされます。 不定 6.2.1ステータスレジスタとコンディションコードレジスタ ステータスレジスタstは16ビット幅のレジスタで、ビット7からビット0は演算のコンディションコードレジスタ ccで構成されています。このほかに割込みステータスビット、レジスタバンクビットなどがあります。 ビット位置 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 シンボル I1 I0 FI EE - - - B U E S F N V Z C 表 9:stレジスタのビット割り当て ビット 説明 リセット後の値 C 加算命令の場合、キャリーが発生するとセットされ、そうでない場合クリアされます。減算/比較命 0 令の場合ボローが発生するとセットされ、そうでない場合クリアされます。 Z 演算の結果がゼロの場合にセットされ、そうでない場合にクリアされます。 V 演算の結果、オーバーフローが発生するとセットされ、そうでない場合にクリアされます。 0 N 演算結果の最上位ビットがコピーされます。 0 F 演算の結果、オーバーフローが発生するとセットされます。ユーザーが明示的にクリアしない限りク 0 リアされないスティッキービットです。 S 演算の結果、飽和処理が行なわれた場合にセットされます。ユーザーが明示的にクリアしない限りク 0 リアされないスティッキービットです。 E アキュームレータをディスティネーションとする演算の結果、アキュームレータのビット39からビッ 0 ト31までが全て1または全て0で無い場合にセットされ、そうでない場合にクリアされます。 これは40ビットアキュームレータの値を2の補数とした場合、アキュームレータの拡張ワード部分に 有意なデータが存在しているかどうかを指示します。 U コンディションコピー命令ccpによってセットまたはクリアされます。 B レジスタバンクの現在選択されているバンクを表します。 0 EE エラー例外の発生を表すステータスビットです。 エラー例外を受け付けるとセットされます。 0 FI 高速割込みのステータスを表すビットです。 高速割込みを受け付けるとセットされます。。 0 I0 コアの割込みマスクレベルとして使用されます。 1 I1 コアの割込みマスクレベルとして使用されます。 1 0 0 表 10:stレジスタ内のビット 6.2.1.1コンディションコードレジスタ コンディションコードレジスタccはstレジスタの下位8ビットで構成されます。このレジスタにはALU/シフタによ る演算のコンディションが格納されます。 一部の命令はシンボルccによってこのレジスタのみにアクセスすることが可能です。 Ver.2011-12-1 - 29 - NJU20300 暫定版 6.2.1.2コンディションコード 条件付きブランチ/ジャンプ命令、条件付きレジスタ間転送命令、コンディションコピー命令では以下のコンディ ションコードを使用できます。 シンボ ル condition 真の条件 フィールド 意味 比較命令後 ビットの状態 の意味 zc b_00000 Z clear 等しく無い != Z=0 zs b_00001 Z set 等しい == Z=1 gt b_00010 signed greater than 大きい(符号有り) > N=V and Z=0 ge b_00011 signed greater than or eqaul 大きい又は等しい(符号有り) >= N=V N!=V lt b_00100 signed less than 小さい(符号有り) < le b_00101 signed less than or equal 小さい又は等しい(符号有り) <= N!=V or Z=1 ugt b_00110 unsigned greater than 大きい(符号無し) > C=0 and Z=0 ule b_00111 unsigned less than or equal 小さい又は等しい(符号無し) <= C=1 or Z=1 unsigned greater than or equal (C clear) 大きい又は等しい(符号無し) >= C=0 ult/cs b_01001 unsigned less than (C set) 小さい(符号無し) < vc b_01010 V clear オーバーフロー無し vs b_01011 V set オーバーフロー有り nc b_01100 N clear 正又はゼロ >=0 N=0 < 0 N=1 uge/cc b_01000 C=1 V=0 V=1 ns b_01101 N set 負 al b_01111 always 条件無し(常に真) - fc b_10000 F clear スティッキーオーバーフロー無し F=0 fs b_10001 F set スティッキーオーバーフロー有り F=1 sc b_10010 S clear 飽和演算無し S=0 ss b_10011 S set 飽和演算有り S=1 ec b_10100 E clear 拡張アキュームレータ不使用 E=0 es b_10101 E set 拡張アキュームレータ使用 E=1 uc b_10110 U clear Uビットクリア U=0 us b_10111 U set Uビットセット U=1 表 11:コンディションコード一覧 - 30 - Ver.2011-12-1 NJU20300 暫定版 6.2.2pmレジスタ pm(Processor Mode)レジスタはコア全体の動作モードを切り替える設定ビットから構成されています。命令キャ ッシュ機能のon/off、ストアバッファのon/off、丸めモードの切り替えビットなどからなります。 ビット位置 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 シンボル - - - - - I64E I32E ICEN N N - - RM - PIOE N 0 SBEN 表 12:pmレジスタのビット割り当て ビット 説明 リセット後の値 SBEN 0 ストアバッファの設定ビットです。 0:ストアバッファオフ 1:ストアバッファオン PIOEN ポートマップドI/O動作許可ビットです。データレジスタD8-D15に対するRead/WriteがIOポートにマ 0 ップされます。詳細はインテグレーションの仕様を参照して下さい。 0:通常動作 1:ポートマップドI/Oモード RM rnd命令での丸めモードを選択します。 0:四捨五入 1:偶数丸め 0 ICEN 命令キャッシュ動作許可ビットです。 またこのビットがクリアされているとき、キャッシュは初期化されます。 0:キャッシュ不使用 1:キャッシュ使用 0 I32EN 32ビット長命令キャッシュ登録許可ビットです。 0 ICENビットと、このビットがセットされている時、32ビット長の命令が命令キャッシュにキャッシュ されます。 0:32ビット長命令キャッシュ登録不許可 1:32ビット長命令キャッシュ登録許可 I64EN 64ビット長命令キャッシュ登録許可ビットです。 0 ICENビットと、このビットがセットされている時、64ビット長の命令が命令キャッシュにキャッシュ されます。 0:64ビット長命令キャッシュ登録不許可 1:64ビット長命令キャッシュ登録許可 表 13:pmレジスタ内のビット 6.2.2.1SBENビット コアはストアバッファと呼ばれるメモリへの書き込みデータ用一時バッファを持っており、SBENビットをセット するとストアバッファの動作を有効にします。 ストアバッファはメモリへの遅延書き込みを実現することでバス競合によるコアのパイプラインストールを軽減 することが可能です。ストアバッファを有効にしている場合、データメモリ空間へのアクセスは命令の実行順と異 なる場合があります。 たとえば以下のような命令手続きを実行するとき、 mov.w (0x1000), d0 mov.w d0, (0x1001) ストアバッファが有効な場合、アドレス0x1000への書き込みは一度ストアバッファに保持され、アドレス0x1001 からの読み出しが先に処理されます。コアのパイプラインはストールしません。 ストアバッファが無効な場合、アドレス0x1000への書き込み終了を待ってからアドレス0x1001からの読み出しが 実行され、その間コアはストールします。この動作は読み書きする相手がメモリである場合、ユーザが特に意識す る必要はありません。しかしIO領域にマップされるペリフェラルに対するアクセスを行なう場合、バスアクセスの 順序が意味を持つことがあるため注意が必要です。 Ver.2011-12-1 - 31 - NJU20300 暫定版 以下のケースではSBENビットの状態に関わらずストアバッファを含む書き込みトランザクションが全て処理され た後に実行されることが保障されます。 ・同じアドレスに対するWrite After Read ・movp.w命令によるリードアクセス ・メモリオペランドに対するビット操作命令 6.2.2.2PIOENビット XIMO16BはデータレジスタD8-D15に対するアクセスをI/Oアクセスにマップする、ポートマップドI/O動作が可能で す。PIOENビットをセットすると、D8-D15への読み書きがI/Oポートへのアクセスになります。 ポートの割り当てはデバイスのインテグレーションによって異なります。 6.2.2.3RMビット 丸め処理で使用されるビットです。 6.2.2.4ICENビット XIMO16Bはプログラムバスのデータ幅が16ビットです。32ビット長の命令、64ビット長の命令を実行する際には、 命令フェッチに複数サイクルを使用するため、実行効率が低下します。 XIMO16Bの命令キャッシュ機能は32ビット長命令、及び64ビット長命令を一時バッファにキャッシュすることが可 能です。キャッシュされた命令を実行する場合、命令フェッチのためのサイクルが不要となり、命令実行を高速化 することができます。 ICENビットをセットするとキャッシュ動作が許可され、キャッシュから読み出された命令の実行が可能になりま す。またICENビットをクリアするとキャッシュされた命令は全て破棄されます。 キャッシュのサイズ、制御方式はデバイスのインテグレーションによって異なります。 6.2.2.5I32ENビット ICENビットとI32ENビットとがセットされているとき、32ビット長命令のキャッシュ登録動作が有効になります。 プログラムバスから読み出されて実行された32ビット長の命令はキャッシュに登録されます。 6.2.2.6I64ENビット ICENビットとI64ENビットとがセットされているとき、64ビット長命令のキャッシュ登録動作が有効になります。 プログラムバスから読み出されて実行された64ビット長の命令はキャッシュに登録されます。 6.3 レジスタバンク コアレジスタの一部はレジスタのバンクをもっています。バンク化されているレジスタはd0 - d15 / a0, a1 / p0 - p5, fp / m0, m1 / l0, l1 / n0, n1レジスタで、それぞれ1つのバンクを持ちます。リセット直後はバンク0の 常態にあります。stレジスタ内のBビットにコアレジスタの現在使用されているバンクの状態が表示されます。 Bビットの値を直接書き換えることで、どちらのバンクのレジスタにもアクセスすることが可能です。ただしバン ク1(B=1)は高速割込みのサービスルーチンにおけるコンテキストとして使用することを前提としています。このた め高速割込みの受付時にはBビットは自動的に1にセットされ、レジスタのバンクはバンク1の方向へ切り替わります。 - 32 - Ver.2011-12-1 NJU20300 暫定版 7 ペリフェラル概要 7.1 メモリ このデバイスはハーバードアーキテクチャとして同時にアクセス可能なプログラム専用バスと2つのデータ専用 バスを持ちます。メモリ実体としては内蔵RAMで構成されたデータメモリと内蔵OTPで構成されたプログラムメモリ を持ちます。 このデバイスはデフォルトでセキュリティロック状態にあります。つまり、デバイスがリセット時にはセキュリ ティロック状態にあります。低消費電力動作であるときに内蔵RAMと内蔵OTPとRAMはスタンバイ動作に入り、いかな るアクセスも出来ません。 プログラムメモリー ユーザープログラムメモリは0xe000から0xfcffの領域で約8Kワードのプログラム用OTPメモリ、0xffe0から0xfffb の28ワードのベクタRAMなどから構成されます。また、OTPの書き込みについては別仕様で定義します。 OTPのアクセス時間が、バスの要求するノンウェイトのアクセス時間に比べて長い場合は、バスアクセスにウェイ トサイクルを挿入してタイミングを合わせる必要があります。 OTP書込みの際にはVPP端子に標準6.75Vを印加します。OTP書き込みを使用しないときは、VPP端子を0Vにしなくて はなりません。 ブートプログラムはブートROM内に置かれます。ジャンプテーブルとワークエリア、アドレス0xFD00から0xFEFF までの512ワードのROMにプログラム、0xFFE0から0xFFEFまでの16ワードにベクターRAMとROMを置きます。ブートプ ログラムコードの最終命令はジャンプテーブルの先頭アドレスにジャンプします。このジャンプテーブルはデータ RAM(DRAM)のシステムプログラム領域の先頭アドレス0x0FC0と0x0FC1の2ワードに置かれます。端子の設定により、 UARTあるいはMMICによるブート起動が可能です。 データメモリ データ用SRAMは0x0800から0x0fffまでの2Kワードの大きさを持ち、32ビット幅の排他的な読み/書き動作を行うX バスとYバスの2つのポートを持った2ポートRAMになります。また、Xデータバスの書き込みは1ワード(16ビット) 幅あるいは2ワード(32ビット)幅で可能です。 この2Kワード空間のうち、0x0800から0x0FBFはユーザーデータ領域として使用されます。0x0FC0から0x0FFFまで はシステムプログラム領域と使用され、ユーザーのアクセスは禁止されます。 7.2 タイマー 7.2.1リアルタイマー2 リアルタイマー2はリアルタイム制御用の時間間隔を生成する用途で使用されます。 16ビットのプリスケーラで分周された1/4から1/65536のシステムクロックあるいは外部入力クロックを選択し、 リードライト可能な16ビットのカウンタを2つ使用して任意のカウンタタイミングを生成します。そして2つのカウ ンタ出力を選択し、16ビットの比較器を持った独立した4つの比較チャンネルを使用して、任意のタイミングで割込 みを発生することが出来ます。 7.2.2汎用タイマー(GPT2) この汎用タイマーはアウトプットコンペア、インプットキャプチャ、基本的なPWM用途、モーター制御用のQEI動 作に使えるカウンタAとBを持ちます。また、カウンタBはパルスアキュムレータにも使えます。4つのチャンネル部 を持ち、そのチャンネル部はダブルバッファ構造のデータレジスタとロジックコンパレータで構成され、カウンタA とBに選択接続可能になります。モジュール出力はチャンネル毎に設定可能です。カウンタAとB、外部イベント0と1、 チャンネル0から3の全部で8本の割込みソースから、ホストに対して最大5本の割込み要求を行うことが出来ます。 Ver.2011-12-1 - 33 - NJU20300 暫定版 最大4本のインプットキャプチャとアウトプットコンペア、パルスアキュムレータ、イベントカウンタ、2つのPWM 出力を構成することが可能です。また、PWM動作であるとき、外部イベント入力のトリガにより出力レベルを即座に ローレベルにする機能も持ちます。 7.3シリアル 3線式同期通信ペリフェラル(SPI)、非同期通信(UART)、同期通信(MMI2C)の3つのシリアルモジュールを持ち ます。 7.3.1SPI このモジュールはSPI(Serial Peripheral Interface)フォーマットを持つ同期型のシリアルインターフェース になります。SPIフォーマットを持つデバイスと通信可能な機能を持ち、転送速度は最大3.37Mbpsになります。 このモジュールは可変周波数のシステムクロックと外部クロックを使用します。ユーザーがSPIENビットをセット すると、このモジュールは動作許可になります。このモジュールの最高ビット周波数はマスター/スレーブとも2MHz になります。このモジュールのシステムクロックは24MHz以上、200MHz以内でなくてはいけません。MSBファースト の固定長8ビットになり、そのクロックのレベルと位相の選択は可能です。 SPCK端子は入出でSPIクロック、SPDA端子は入出力でSPIデータA入出力、SPDB端子は入出でSPIデータB入出力、 RDYBは入力専用端子でSPIレディに使用されます。SPDA端子とSPDB端子はSPIデータ入力(SDI)とSPIデータ出力(SDO) 信号に接続します。RDYB端子はマスターであるとき、使用されません。スレーブではRDY端子はRDYBENビットをセッ トすると内部使用されます。また、該当する端子はオープンドレインとして動作をします。各入力端子はシュミッ トトリガ動作をします。 7.4MMI2Cインターフェースモジュール このインターフェースはI2C(Inter Integrated Circuit:以後I2C)のフォーマットでマルチマスターとスレーブ 動作をサポートします。 SCL端子は入出でシリアルクロックを示し、SDA端子は入出でシリアルデータ(双方向)を示します。SDL/SDA端子は、 ローレベル出力時にはプルダウン、ハイレベル出力時にはハイインピーダンス状態になります。よって、外部にプ ルアップ抵抗接続が必要です。また、各入力端子はシュミットトリガ入力です。 SCL端子はマスター動作では出力、スレーブ動作ではアクノレッジサイクルでローレベルに保持するストレッチ動 作を行えます。SDA端子はマスター/スレーブ動作とも,有効データや制御レベルを出力する以外では切断されます。 7.4.1UARTモジュール このモジュールはUARTフォーマットを持つ非同期型のシリアルインターフェースになります。RXD端子は入力で通 信データ通力、TXD端子は出力で通信データ出力となります。 送信と受信に別々に8バイトのバッファを持っており、そのバッファリングを使用した動作も可能になります。送 信部には送信間隔を制御可能な送信間隔カウンタ、受信部にはボーレート観測用のビット長計測がついています。 送信と受信部の入出力側ではループ動作とシングルワイヤ動作に対応しています。 データ送信では全キャラクタ送信長は1ビット長のSTARTビット、WLSビットで設定される最下位ビット(LSB)か ら送信される7から8ビット長のデータビット、0から1ビット長のパリティビット、1から2ビット長のSTOPビットの 計9ビットから12ビット長に対応可能です。 データ受信ではSTOPビット長は常に1ビットとみなされ、全キャラクタ受信長は計9ビットから11ビット長になり ます。 レジスタビットで設定される全キャラクタ転送時間以上RXD端子がローレベルであるときにブレイク検出としま す。 データ受信期間以外でレジスタビットで設定される全キャラクタ転送時間以上RXD端子がハイレベルであるとき - 34 - Ver.2011-12-1 NJU20300 暫定版 にアイドル検出とします。受信バイトがセットやSTOPビットなど受信データビットがハイレベルである期間はアイ ドル期間とはされません。。 TXD端子を一定期間ローレベルにして、センドブレイクを送ることが出来ます。XD端子を一定期間ハイレベルにし て、センドアイドルを送ることが出来ます。これらの動作は内部動作に影響を与えません。 LIN動作の補助機能として、LIN動作の開始を示す、ブレーク動作直後の同期バイトの検出とビット周期の計測が 行われます。 7.5電源制御用ペリフェラル 電源制御用ペリフェラルとしては電源制御用A/D変換2、差動A/D変換、電源制御用PWM2、微細遅延器2、コンパレ ータ3があります。 7.5.1電源制御用A/D変換2(PSATD2)モジュール このPSATD2モジュールはNJU20300用のA/D変換モジュールであり、アナログ回路で構成されたSARタイプの10ビッ トA/D変換器で構成されたアナログA/D変換部と、制御あるいは変換データ保管等を行うデジタル回路で構成されま す。このA/D変換器は入力チャンネル選択とサンプリングで1ADCクロック、変換で11ADCクロックの合計12クロック でA/D変換を行うことが可能です。 このモジュールはユーザー用の8本のアナログ信号の入力チャンネルとしてAN0からAN7はメイン入力部と奇数チ ャンネルのAN1,AN3,AN5,AN7はサブ入力部に接続されます。メインとサブ入力回路はそれぞれ マルチプレクサとサ ンプルホールド(S/H)回路を持ちます。そして、これらのサンプルホールド(S/H)回路出力には1つの変換器が接 続され、変換結果はデータレジスタに格納されます。また、A/D変換タイミング用に12 本の制御入力が使用可能で す。 4本の内部較正/試験用アナログ端子であるAN8 から11はメイン入力に接続されます。また、サブ入力部は同時サ ンプル動作のみに使用されます。 また、このモジュールの割り込みは割込み要求0から4の5本持ちます。ADCクロック生成用に外部クロックをEXTCLK から入力することが出来ます。この外部クロックは、内部でシステムクロックに同期化使用されます。 PSATD2特徴: ・ 1Msps/10-bit 逐次比較型ADCコア ・ 8chアナログ入力 ・ 1ch S/H回路+独立1chS/H回路 ・ 1回変換/メディアン処理/平均変換/連続処理 ・ 17出力レジスタ ・ 変換後データ処理 ・ 右左ビット詰め ・ オフセット値加減算 ・ 変換値リミット処理 ・ A/D開始トリガ入力 ・ ソフトウェアトリガ ・ 内部タイマトリガ ・ 15制御入力 ・ PWM波形に同期した変換 また、このモジュールは割り込みとして、割込み要求0から4の5本持ちます。 Ver.2011-12-1 - 35 - NJU20300 暫定版 EXTCLK A/D クロック用 プリスケーラ アナログ入力 CTLIN[11:0] (制御入力) 12 IRQ[3:0] (割込要求) 4 タイマー AN0 MUX AN1 S/H AN2 ATD 制御 AN3 AN4 AN5 変換 AN6 データレジスタ AN7 CONV AN8 AN9 AN10 AN11 メイン入力 AN1 AN3 AN5 MUX アナログ A/D 変換部 S/H AN7 サブ入力 図7-1: 電源制御用A/D変換器2ブロック図 A/D変換器で使用するクロックはADCクロックと呼びます。このADCクロックは内部システムクロックを設定により 1/1から1/4分周して生成します。また、外部非同期入力信号を内部同期化してADCクロックとしても使用できます。 このペリフェラルは24ビット長のフリーランのタイマーを持ちます。このタイマーはA/D変換の開始タイミングに 使用可能なタイマークロックを生成します。アナログA/D変換部にはメインとサブ側の合計2つのサンプルホールド (S/H)回路を持ちます。サブS/H回路は同時サンプル動作でのみ使用されます。 ADC変換 このモジュールは全部で8本のアナログ入力チャンネルがあります。それぞれチャンネル毎に変換用の設定が可能 です。複数のチャンネルが同時にA/D変換の要求があると、番号の小さいチャンネルが先に変換されます。A/D変換 が終了ると、変換結果をデータレジスタに格納と同時に入力チャンネル毎が持つ変換終了ビットがセットされます。 このビットがセットしているときにホストに割込を要求できます。1入力チャンネルの変換終了ごとに変換終了ビッ トがセットされます。 このPSATDモジュールで使用するA/D変換器は逐次比較器型であり、実A/D変換器によるA/D変換期間は最小12ADC クロックになります。このうち、サンプル期間は最小1ADCクロック、引き続く11ADCクロックで変換を行います。 実A/D変換器にはADCクロックが入力されますが、実A/D変換器が動作中で無いときは、ADCクロックを停止させる ことが可能です。このクロック停止期間は実A/D変換期間以外になります。 - 36 - Ver.2011-12-1 NJU20300 暫定版 入力チャンネル毎のA/D変換処理 A/D変換処理は制御入力、ソフトウェアあるいは内部タイマーによるA/D変換開始トリガを使用して変換を開始し ます。 A/D変換開始トリガによる1チャンネル変換あるいは複数チャンネルの同時サンプル後変換も可能です。また、同 時にA/D変換開始トリガを入力すると、チャンネル間の優先順位による調停により、調停期間にアサートされたチャ ンネルのうち常に優先順位が高いチャンネルがA/D変換処理に入ります。サブS/H回路は同時サンプルのみに使用さ れ、チャンネル番号は奇数チャンネルだけを使用します。 このA/D変換方法にはA/D変換開始トリガ1回による1回の変換処理、3回の変換で真ん中データを出力するメディア ン処理、2回の変換で平均値を出力する栄金処理、A/D変換をし続ける連続処理があります。 A/D変換のS/H時間はソフトウェア設定により設定可能です。また2本のA/D変換開始トリガを使用して、サンプル ウインドウ動作あるいは非同期サンプルウインドウ動作が可能です。非同期サンプルウインドウ動作を使用すると、 ノイズから逃げるためにPWM波形変化前の位置でS/H回路をクローズすることが可能です。 変換後の処理とデータ 変換されたデータはポストデータ処理、変換データ処理を施して、データレジスタに格納されます。 変換した12ビット幅のデータの読み出しは16ビット幅のデータレジスタの下位位側詰め符号無し、セットすると 上位詰め符号無しを選択できます。A/D変換後のデータは参照データとの加算あるいは減算処理を行い、データ格納 することも可能です。入力チャンネルxの加算と減算の選択、ポスト処理データの12ビットあるいは13ビット格納、 アンダーやオーバーフローの飽和処理を設定します。 ビット幅や飽和処理の設定に関わらず、12ビット演算でのアンダーやオーバーフロー結果はホストビットに内容 を反映します。変換終了にアンダーやオーバーフロー検出を行います。 割込み このPSATDモジュールはホストに対して最大5本の割込み要求を出来ます。 割込みを発生できるリソースは全部で30 本あります。それぞれの割り込み要求リソースが持つ割込み状態ビット がデバイスによりセットされ、ホストにより対応する割り込み許可ビットがセットされているとき、モジュール内 リソースからホストに割り込み要求を行うことが出来ます。 デフォルトではすべての割込み要求リソースに対して1本の割込み要求0が使用されます。また、ホストビットを 使用すると割込み要求1から4の4本の割込み要求信号に対して、任意の割込みソースに対して割込み要求を与えるこ とが出来ます。この設定で使用される割込みソースは割込み要求0から除外されます。 7.5.2差動A/D変換(DAD)モジュール この差動A/D変換モジュールはアナログ入力に対して参照入力とのアナログ電圧差を最小10ビット精度で6ビット のデジタルコードに変換する差動A/D変換処理を行います。4チャンネルのアナログ入力と参照入力のペアを持ちま す。また、この参照入力は外部端子もしくは内部のD/A変換出力を使用します。 このモジュールのハードウェアは差動A/D変換を行う実体A/D変換器、実体D/A変換器、マルチプレクサなどからな るアナログ回路部と制御するデジタル回路部からなります このA/D変換器は入力チャンネル選択とサンプリングで1ADCクロック、変換で5ADCクロックの合計6クロックでA/D 変換を行うことが可能です。 4チェンネル分のアナログ入力と参照入力用のマルチプレクサ、そしてその出力にマルチプレクサとサンプルホー ルド(S/H)回路を持ちます。そして、これらのサンプルホールド(S/H)回路出力には1つの変換器が接続され、変 換結果はデータレジスタに格納されます。 アナログ入力は外部端子から入力され、参照入力は外部端子あるいは内部D/A変換器出力を使用可能になります。 A/D変換の開始は7本の制御入力あるいはソフトウェアによって行います。各チャンネルのA/D変換終了毎に計4本 の割込みを要求することが出来ます。 Ver.2011-12-1 - 37 - NJU20300 暫定版 DAD特徴: ・ 最高8Msps/6-bits(10-bit精度) 差動型ADCコア ・ 30MHz動作内蔵6bitD/A変換器 ・ 4chアナログ入力/参照入力 ・ 1ch S/H回路 ・ 1回変換/メディアン処理/平均変換/連続処理 ・ チャンネル毎に1出力レジスタ ・ 変換後データ処理 ・ 右ビット詰め ・ オフセット値加減算 ・ 変換値リミット処理 ・ A/D開始トリガ入力 ・ ソフトウェアトリガ ・ 7制御入力 ・ PWM波形に同期した変換 システムクロック CTLIN[6:0] (制御入力) 0] ADC クロック用 プリスケーラ IRQ[3:0] (割込要求) 0] 7 4 アナログ入力 AN0 AN1 MUX + - AN2 AN3 参照入力 MUX 実体 A/D 変換器 (差動) デジタル制御 実体 D/A 変換器 REF1 REF2 REF3 アナログ回路部 図7-2: DADCモジュール内部ブロック - 38 - Ver.2011-12-1 NJU20300 暫定版 A/D変換器で使用するクロックはADCクロックと呼びます。このADCクロックは内部システムクロックを設定により 1/1から1/8分周して生成します。 アナログA/D変換部には4セットのアナログ入力と参照入力用マルチプレクサに接続されたサンプルホールド (S/H)回路を持ちます。 ADC変換 このモジュールは全部で4本のアナログ入力チャンネルがあります。それぞれチャンネル毎に変換用の設定が可能 です。複数のチャンネルが同時にA/D変換の要求があると、番号の小さいチャンネルが先に変換されます。A/D変換 が終了すると、変換結果をデータレジスタに格納と同時に入力チャンネル毎が持つ変換終了ビットがセットされま す。このビットがセットしているときにホストに割込を要求できます。1入力チャンネルの変換終了ごとに変換終了 ビットがセットされます。 このDADモジュールで使用するA/D変換器は差動型であり、実A/D変換器によるA/D変換期間は最小6ADCクロックに なります。このうち、サンプル期間は最小1ADCクロック、引き続く5ADCクロックで変換を行います。このS/H時間は ソフトウェア設定により設定可能です。 実A/D変換器にはADCクロックが入力されますが、実A/D変換器が動作中で無いときは、ADCクロックを停止させる ことが可能です。このクロック停止期間は実A/D変換期間以外になります。 入力チャンネル毎のA/D変換処理 A/D変換処理は制御入力、あるいは、ソフトウェアによるA/D変換開始トリガを使用して変換を開始します。 同時にA/D変換開始トリガを入力すると、チャンネル間の優先順位による調停により、調停期間にアサートされた チャンネルのうち常に優先順位が高いチャンネルがA/D変換処理に入ります。 このA/D変換方法にはA/D変換開始トリガ1回による1回の変換処理、3回の変換で真ん中データを出力するメディア ン処理、2回の変換で平均値を出力する栄金処理、A/D変換をし続ける連続処理があります。 アナログ入力は外部端子から入力されますが、参照入力は外部端子あるいは内蔵DAC出力を選択します。 リファレンスレベルで設定した電圧値を基準に6ビット(64レベル)の変換範囲を設定し、この変換範囲内の電圧 レベルを持つアナログ入力(ANx)を0から63の6ビット幅のデジタル値に変換します。 リファレンスレベルとアナログ入力が一致したときは、A/D変換器の出力は32になります。正方向の最大値では63、 負の最大値は0となります。この出力値は一致出力で0、正方向の最大値が31、負の最大値-32になる設定も可能です。 この1ビット幅はゲインレベルの設定でVRLからVRHを基準に10ビット(=1/1024)精度から8ビット(=/256)、6ビッ ト(=1/64)まで設定可能です。 変換後の処理とデータ 変換されたデータはポストデータ処理、変換データ処理を施して、データレジスタに格納されます。 割込み このDADモジュールはホストに対して最大4本の割込み要求を出来ます。 Ver.2011-12-1 - 39 - NJU20300 暫定版 7.5.3電源制御用PWM2(PSPWM2)モジュール この制御用(PSPWM)モジュールは電源制御に特化したPWM波形を生成します。このモジュールはPWM波形出力 (PWMOとPWMOB)を6本持ち、イベント入力に使用できる制御入力(PWMI)は3本、割込み要求は6本持ちます。また、 A/D変換器などに対するタイミング出力として使用出来る制御出力(PWMCO)を14本持ちます。 このモジュール出力に微細遅延モジュール(HRDG2)を接続して、微細遅延データを生成することも可能です。 PSPM特徴は: ・ PSPWM(Power Supply PWM) ・ 3ch/6PWM出力(2出力/1ch) ・ システムと独立した動作クロック設定 62.5MHz/250MHz ・ 全てのPWM出力で、最高2ns精度のPWM波形を生成 ・ 逓倍クロックを波形生成に使用 ・ 動作モード ・ 1ch毎に設定可能 ・ 相補付きPWM ・ 任意の動作モードでチャネル間リンク ・ イベント動作 ・ 内蔵コンパレータ出力接続可能 ・ Pulse-by-Pulse/PeriodCut Limit他 ・ ADC制御トリガ出力 ・ 15本のPWM同期トリガでADCを制御 - 40 - Ver.2011-12-1 NJU20300 暫定版 PWMI[3:0] ( 制御入力 ) PSPWM 出力 PWMO[0] PWMCO[13:0] (制御出力) チャンネル部 [0] 割り込み要求 [7:0] チャンネル部 [1] PWMOB[0] PWMO[1] 制御部 PWMOB[1] 出力部 PWMO[2] チャンネル部 [2] PWMOB[2] ホストバス 図7-3: PSPWM全体 PWM波形精度は最大16ビットで最小2nsの分解能を持った波形出力を行うことが可能です。複数のチャンネルを使 用した位相シフト動作や周波数制御による周期変調でも、最小2nsの分解能を持った波形出力が可能です。 選択された制御入力にアクティブなイベントが入力されると、ブランキング用ゲート処理を行わせて、非同期イ ベント機能であるピリオドカットやデューティカット、またキャプチャ動作を行わせることが可能です。 ホストに対して最大8本の割込み要求を出来ます。割込みを発生できるリソースは全部で28本ありますが、PWMチ ャンネル毎に4本の割込み要求となります。この全チャンネル合計で12本の割込み要求をホストに対する8本の割込 みに振り分けます。 PWMチャンネル部は全部で3チャンネル分あります。それぞれ、PWMO[x]とPWMOB[x]という2つの出力を持つPWM波形 生成を行うブロックです。 動作方式 基本PWM動作方式にコンプリメンタリ出力を付加した相補付きPWM動作方式はPWMO[x]出力とPWMOB[x]出力の2つの 出力を使用し、カウンタ周期は12ビット、波形出力は16ビット精度で最小2nsの分解能を持ちます。 Ver.2011-12-1 - 41 - NJU20300 暫定版 ピリオド周期 (12 ビット) デューティ周期 (12 ビット ]) カウンタ Ax[15:4] PWMO[x] 波形出力 最小 1ns 分解能 PWMOB[x] 波形出力 図7-4: 相補付きPWM波形 ピリオドカットとデューティカット、キャプチャなどのイベント機能 デューティカットはカウンタは変化せずに出力中の波形を非同期/同期で任意のレベルにします。復帰手段とし て、ピリオド境界で自動的に復帰するハードウェア復帰と、ソフトウェア操作による手動的に復帰させるソフトウ ェア復帰という2つの方法があります。そのレベル復帰はピリオド周期のタイミングで行われます。また、動作方 式に依存しますが、デッドタイム付きのデューティカットも可能です。この動作は過電圧や過電流検出による、出 力の遮断などに使用されます。 ピリオドカットはカウンタをクリア、出力中の波形を非同期/同期で任意のレベルにします。これはサイクルバ イサイクルなどで使用されます。 キャプチャ動作では選択された制御入力がアサートされると、カウンタの内容をレジスタに保持します。 イベント ピリオド ハードウェア復帰 ピリオド 出力 ソフトウェア復帰 イベントの継続中 あるいは ソフトウェア復帰手続き 図7-5: デューティカット動作後の復帰手段 PWMチャンネル PWMチャンネル部ではレジスタとカウンタ動作によるもの6本と制御入力によるもの3本の合計9本の割込みソース を持つことが可能です。 また、PWM出力はソフトウェアによりレベル設定が可能であり、非同期の外部イベントによる出力レベルの強制設 定なども可能です。 PWMチャンネル動作方式は相補付きPWM、相補付きPWM2、2相PWM、基本PWMの4種類の動作方式が可能です。いず れかの動作方式を選択、そして他のホストビットで詳細な動作方式を定めます。 - 42 - Ver.2011-12-1 NJU20300 暫定版 複数チャンネル連携(リンク)動作 0から3の4つのPWMチャンネルに対して、単独PWM動作、そして、複数のチャンネルを同期動作させるチャンネル同 期PWM動作、複数のチャンネルで連携動作を行う位相シフト同期PWM動作をさせることが可能です。それぞれの設定 はPWMチャンネル制御部で行います。位相シフト制御では最小1nsの分解能を持った波形出力を行うことが可能です。 位相シフト制御はマスター側とスレーブ側の2つのPWMチャンネルを使用します。以下にリンク動作を使用した例を 示します: 3相PWM動作では最小1nsの分解能を持った波形出力を行うことが可能です。この動作は位相シフトPWM動作あるい はチャンネル同期PWM動作を使用して構成できます。 可変周波数制御では最小1nsの分解能を持った波形出力を行うことが可能です。可変周波数によるPWM出力にはデ ューティを固定比(例えば50%)にして、ピリオドを変化させます。 最小1nsの分解能を持つ2相PWM動作方式を使用すると対称波形を持ったPWM波形を生成することが可能です。この 波形出力でも3相PWM波形出力も可能です。 同一ピリオドを持った複数PWM出力も可能です。 位相シフト制御 PWM シフト量≧ 0 マスター 相補付き PWM スレーブ 相補付き PWM (チャンネルリセットモード) 3 相 PWM マスター シフト量≧ 0 相補付き PWM シフト量≧ 1 スレーブ 相補付き PWM スレーブ 相補付き PWM (チャンネルリセットモード)(チャンネルリセットモード) マニュアル位相 PWM マスター 相補付き PWM シフト量≧ 0 スレーブ 相補付き PWM (チャンネルリセットモード) スレーブ シフト量≧ 1 スレーブ 相補付き PWM 相補付き PWM (チャンネルリセットモード) (チャンネルリセットモード) 位相シフトPWM動作例 Ver.2011-12-1 - 43 - NJU20300 暫定版 7.5.4高精度遅延生成2(HRDG2)モジュール PWM生成器は内部のPWMクロックに同期して、数十から数百KHz程度の周波数を持ったPWM波形を出力します。この ジュールはPWM生成器の出力に接続し、高精度のPWM出力を生成する目的で微細な遅延を持たせます。 このモジュールは6本のPWM出力に対して立ち上がりと立ち上がりに対して微細な遅延を与えて出力します。この 微細な遅延量は前段に接続されたPWM生成器から送られます。 PWM 周期 PWM 生成器出力 PWM クロック HRDG2 出力 HRDG2 遅延分 HRDG2 遅延分 図7-6: HRDG2出力 このモジュールはPWMクロック周波数範囲内で動作をさせる必要があります。この定められたPWMクロック周波数 範囲内においても、その周波数により保証できる遅延量と分解能は異なります。このPWMクロックの動作周波数の最 大5ビットの分解能を持ちます。この分解能はアナログ遅延素子を使用しているために、温度・電源電圧・製造ばら つきによりその大きさが異なり、その遅延セルのゲイン設定などで遅延値を制御することにより、使用可能になり ます。。 この1ビット分解能からHRDG2で使用するPWMクロック周波数と分解能の関係は62.5MHz近辺で動作させるには4ピ ット分解能、31.25MHzで動作させるには5ピット分解能が設定可能です。 PWM出力はデジタル制御部で立上り/立下り検出、マルチプレクサ選択出力などのデータ処理を経て、複数のPWM クロック後に同期して、アナログ遅延部に出力されます。そしてアナログ遅延を受けてモジュールの出力されます。 データ処理期間はアナログ遅延器への遅延データの送出などの使われます。 7.5.5コンパレータモジュール コンパレータモジュールは2 チャンネルの非同期型比較器と1チャンネルの同期型比較器から成ります。それぞれ のチャンネルは個別に動作をし、このモジュールは2つの10ビットD/A変換器を持ちます。D/A変換器0はチャンネル0 専用、D/A変換器1はチャンネル1と2の共用になります。 チャンネル毎に比較器の同期出力信号と非同期出力信号を持ちます。また、ホストに対する割込み要求数はチャ ンネル毎に1本づつ、合計3本になります。割込み要求信号は同期信号(IRQ)とスリープ用非同期信号が出力されま すが、その使用は排他的になります。 - 44 - Ver.2011-12-1 NJU20300 暫定版 チャンネル 0 アナログ入力 非同期出力 0 非同期型比較器 COMPI0 入力 COMPR0 参照 出力 同期出力 0 MUX DAC0 設定値 D/A 変換器 0 チャンネル 1 非同期出力 1 非同期型比較器 入力 COMPI1 出力 参照 COMPR1 同期出力 1 MUX DAC1 設定値 D/A 変換器 1 チャンネル 2 コンパレータクロック AN0-7 非同期出力 2 1/2 8 入力 同期出力 2 出力 MUX 参照 MUX 3 MUX 同期型比較器 図7-7: コンパレータ部ブロック図 Ver.2011-12-1 - 45 - NJU20300 暫定版 7.6 その他のペリフェラル 7.6.1外部高速割込み(EXTHIRQ) 外部高速割込みは2本の外部割込入力可能にし、同期化された外部割込み要求とスタンバイ動作復帰用の外部割込 み要求を2セット持ちます。 7.7 汎用入出力ポート ユーザー用端子を制御します。端子レベルの読み出し、出力ドライブの有無、そして内部モジュール接続機能を 持ちます。内部は端子のドライブや入力機能を持つ端子入出力部、内部モジュールと端子入出力部のブリッジ回路 である端子接続選択部、モジュール用の同期化回路やフィルタなどからなるモジュール入力生成部からなります。 このモジュールが取り扱う外部端子は双方向端子のポートAの4 から7、ポートBとポートC、そしてポートDにな ります。これらのすべての端子の出力ドライブの有無と出力レベル、そして端子レベルに読み出しを可能にします。 また、それらの端子に内部モジュールの端子のプログラマブル接続可能です。 それぞれの端子は設定/アクセスにより、出力ドライブの有無と出力レベル、端子レベルの読み出し、内部モジュ ールの出力がホスト設定により設定可能になります。ソフトウェアにより、端子入力としての端子レベルの読み出 し、また端子出力としてに任意のレベルを出力することが出来ます。 7.8 デバッグ デバッグと出荷検査用のペリフェラルとしてバウンダリスキャンとデバッグ機能を持ちます。 <注意事項> このデータブックの掲載内容の正確さに は万全を期しておりますが、掲載内容につ いて何らかの法的な保証を行うものではあ りません。とくに応用回路については、製 品の代表的な応用例を説明するためのもの です。また、工業所有権その他の権利の実 施権の許諾を伴うものではなく、第三者の 権利を侵害しないことを保証するものでも ありません。 - 46 - Ver.2011-12-1