Section 41. Interrupts (Part IV)

Size: px
Start display at page:

Download "Section 41. Interrupts (Part IV)"

Transcription

1 ハイライト 第 41 章割り込み ( パート IV) 本章では次のトピックについて説明します ご注意 : この日本語版ドキュメントは 参考資料としてご使用の上 最新情報につきましては 必ず英語版オリジナルをご参照いただきますようお願いします 41 割り込み ( パート IV) 41.1 はじめに ノンマスカブルトラップ 割り込み処理タイミング 割り込み制御レジスタとステータスレジスタ 割り込みセットアッププロシージャ レジスタマップ 設計のヒント 関連するアプリケーションノート 改版履歴 Microchip Technology Inc. DS70300B_JP - ページ 41-1

2 dspic33f ファミリリファレンスマニュアル 41.1 はじめに dspic33f 割り込み制御モジュールは 周辺からの多数の割り込み要求信号を dspic33f の CPU への 1 つの割り込み要求信号にします モジュールの機能は以下のとおりです 8 個までのプロセッサ例外とソフトウェアトラップ ユーザー選択可能な 7 つの優先度 126 個までのベクタを持つ割り込みベクタテーブル (IVT) それぞれの割り込みまたは例外要因に一意のベクタ 指定したユーザー優先度内での固定優先度 デバッグサポート用の代替割り込みベクタテーブル (AIVT) 割り込み受付時と戻り時の遅延は一定 割り込みベクタテーブル 図 41-1 に示した割り込みベクタテーブル (IVT) はプログラムメモリにあり 開始位置は 0x です IVT には 126 個のベクタがあり 内訳はノンマスカブルトラップベクタ 8 個と最大 118 個までの割り込み要因です 通常 各割り込み要因には固有のベクタがあります 各割り込みベクタには 24 ビット幅のアドレスがあります それぞれの割り込みベクタ位置にプログラムされる値は それと連動する割り込みサービスルーチン (ISR) の開始アドレスです 代替割り込みベクタテーブル 代替割り込みベクタテーブル (AIVT) は IVT の後に位置します ( 図 41-1 参照 ) AIVT へのアクセスは 割り込み制御レジスタ2 (INTCON2<15>) のALTIVT (Enable Alternate Interrupt Vector Table: 代替割り込みベクタテーブル許可 ) 制御ビットにより与えられます ALTIVT ビットがセットされると すべての割り込みと例外処理は デフォルトのベクタではなく代替ベクタを使用します 代替ベクタはデフォルトベクタと同じ構成です AIVT は 割り込みベクタを再プログラムすることなく アプリケーションとサポート環境を切り替える方法を提供することで エミュレーションとデバッグをサポートしています また この機能により アプリケーションを切り替えて 異なるソフトウェアアルゴリズムの実行時の評価ができます AIVT が不要な場合には IVT 内で使用されているのと同じアドレスを AIVT にプログラムします リセットシーケンス デバイスリセットは 割り込みコントローラがリセット処理にかかわっていないため 真の例外ではありません dspic33f デバイスは リセットに応答してレジスタをクリアし これによってプログラムカウンタ (PC) がゼロになります プロセッサは 0x の位置からプログラムの実行を開始します ユーザーアプリケーションでは 適切な起動ルーチンにプログラムの実行を転送する GOTO 命令をリセットアドレスにプログラムします 注 : IVT と AVIT 内の未実装または未使用のベクタの位置には RESET 命令を含むデフォルトの割り込みハンドラルーチンのアドレスをプログラムしてください DS70300B_JP - ページ Microchip Technology Inc.

3 第 41 章割り込み ( パート IV) 41 図 41-1: Decreasing Natural Order Priority 割り込みベクタテーブル Reset GOTO Instruction 0x Reset GOTO Address 0x Reserved 0x Oscillator Fail Trap Vector 0x Address Error Trap Vector 0x Stack Error Trap Vector 0x00000A Math Error Trap Vector 0x00000C Reserved 0x00000E AIVT IVT Reserved 0x Reserved 0x Interrupt Vector 0 0x Interrupt Vector 1 0x : : : : : : Interrupt Vector 52 0x00007C Interrupt Vector 53 0x00007E Interrupt Vector 54 0x : : : : : : Interrupt Vector 116 0x0000FC Interrupt Vector 117 0x0000FE Reserved 0x Reserved 0x Reserved 0x Oscillator Fail Trap Vector 0x Address Error Trap Vector 0x Stack Error Trap Vector 0x00010A Math Error Trap Vector 0x00010C Reserved 0x00010E Reserved 0x Reserved 0x Interrupt Vector 0 0x Interrupt Vector 1 0x : : : : : : Interrupt Vector 52 0x00017C Interrupt Vector 53 0x00017E Interrupt Vector 54 0x : : : : : : Interrupt Vector 116 0x0001FC Interrupt Vector 117 0x0001FE START OF CODE 0x See Table 41-1 for Interrupt Vector details. 割り込み ( パート IV) 2009 Microchip Technology Inc. DS70300B_JP - ページ 41-3

4 dspic33f ファミリリファレンスマニュアル 表 41-1: 割り込みベクタ IRQ Number IVT Address AIVT Address Interrupt Source Highest Natural Order Priority 0 0x x Reserved 1 0x x Oscillator Failure 2 0x x Address Error 3 0x00000A 0x00010A Stack Error 4 0x00000C 0x00010C Math Error 5 0x00000E 0x00010E Reserved 6 0x x Reserved 7 0x x Reserved 8 0x x INT0 External Interrupt 0 9 0x x IC1 Input Capture x x OC1 Output Compare1 11 0x00001A 0x00011A T1 Timer1 12 0x00001C 0x00011C Reserved 13 0x00001E 0x00011E IC2 Input Capture x x OC2 Output Compare x x T2 Timer2 16 0x x T3 Timer3 17 0x x SPI1E SPI1 Fault 18 0x x SPI1 SPI1 Transfer Done 19 0x00002A 0x00012A U1RX UART1 Receiver 20 0x00002C 0x00012C U1TX UART1 Transmitter 21 0x00002E 0x00012E ADC ADC Group Convert Done 22 0x x Reserved 23 0x x Reserved 24 0x x SI2C1 I2C1 Slave Event 25 0x x MI2C1 I2C1 Master Event 26 0x x CMP1 Analog Comparator 1 Interrupt 27 0x00003A 0x00013A CN Input Change Notification Interrupt 28 0x00003C 0x00013C INT1 External Interrupt x00003E 0x00013E Reserved 30 0x x Reserved 31 0x x Reserved 32 0x x Reserved 33 0x x Reserved 34 0x x Reserved 35 0x00004A 0x00014A Reserved 36 0x00004C 0x00014C Reserved 37 0x00004E 0x00014E INT2 External Interrupt x x x x Reserved 65 0x x PWM PSEM Special Event Match x x x x Reserved 73 0x x U1E UART1 Error Interrupt x x0000CE 0x x0001CE Reserved 102 0x0000D0 0x0001D0 PWM 1 PWM1 Interrupt 103 0x0000D2 0x0001D2 PWM 2 PWM2 Interrupt 104 0x0000D4 0x0001D4 PWM 3 PWM3 Interrupt 105 0x0000D6 0x0001D6 PWM 4 PWM4 Interrupt 106 0x0000D8 0x0001D8 Reserved DS70300B_JP - ページ Microchip Technology Inc.

5 第 41 章割り込み ( パート IV) 41 表 41-1: 割り込みベクタ ( 続き ) IRQ Number IVT Address AIVT Address Interrupt Source 107 0x0000DA 0x0001DA Reserved 108 0x0000DC 0x0001DC Reserved 109 0x0000DE 0x0001DE Reserved 110 0x0000E0 0x0001E0 Reserved 111 0x0000E2 0x00001E2 CMP2 Analog Comparator x0000E4 0x0001E4 CMP3 Analog Comparator x0000E6 0x0001E6 CMP4 Analog Comparator x0000E8 0x0001E8 Reserved 115 0x0000EA 0x0001EA Reserved 116 0x0000EC 0x0001EC Reserved 117 0x0000EE 0x0001EE Reserved 118 0x0000F0 0x0001F0 ADC Pair 0 Convert Done 119 0x0000F2 0x0001F2 ADC Pair 1 Convert Done 120 0x0000F4 0x0001F4 ADC Pair 2 Convert Done 121 0x0000F6 0x0001F6 ADC Pair 3 Convert Done 122 0x0000F8 0x0001F8 ADC Pair 4 Convert Done 123 0x0000FA 0x0001FA ADC Pair 5 Convert Done 124 0x0000FC 0x0001FC ADC Pair 6 Convert Done 125 0x0000FE 0x0001FE Reserved Lowest Natural Order Priority 割り込み ( パート IV) 2009 Microchip Technology Inc. DS70300B_JP - ページ 41-5

6 dspic33f ファミリリファレンスマニュアル CPU 優先度ステータス CPU は 0 ~ 15 までの 16 の優先度のいずれかで動作できます 割り込みまたはトラップ要因は 例外処理を開始するため 現在の CPU 優先度よりも高い優先度を持っている必要があります 周辺および外部割り込み要因は 0 ~ 7 の優先度にプログラムできます CPU 優先度 8 ~ 15 は トラップ要因に使用します トラップは ハードウェアおよびソフトウェアの問題を検出するためのノンマスカブル割り込み要因です (41.2 項 ノンマスカブルトラップ を参照 ) 各トラップ要因の優先度は固定されています 1 つの優先度には 1 つのトラップしか割り当てられません 優先度 0 にプログラムされた割り込み要因は CPU 優先度よりも大きくなることがないため 結果的には無効です 現在の CPU 優先度は 以下のステータスビットで示されます CPU ステータスレジスタ (SR<7:5>) の CPU 割り込み優先度 (IPL<2:0>) ステータスビット コア制御 (CORCON<3>) レジスタの CPU 割り込み優先度 3 (IPL3) IPL<2:0> ステータスビットは 読み書きが可能であり ユーザーアプリケーションは これらのビットを変更して 所定の優先度より低いすべての割り込み要因を無効にできます 例えば IPL<2:0> = 3 である場合 CPU では プログラムされた優先度 または 3 のいずれの要因でも割り込みが発生しません トラップイベントは ユーザー割り込み要因よりも高い優先度を持ちます IPL3 ビットがセットされている場合 トラップイベントが進行中です IPL3 ビットはユーザーアプリケーションでクリアできますが セットできません 一部のアプリケーションでは トラップが発生した時点で IPL3 ビットをクリアし そのトラップを発生させた元の命令以外の命令に分岐させる必要があります IPL<2:0> ビットを 111 にセットすることで すべてのユーザー割り込み要因を無効にできます 注 : IPL<2:0> ビットは 割り込みネスティングが無効になっている場合に読み出し専用となります 詳細は 項 割り込みのネスティング ( 入れ子 ) を参照してください 割り込み優先度 各周辺割り込み要因に対して 7 つの優先度のいずれかを割り当てられます 各割り込みのユーザーアプリケーションで割り当て可能な割り込み優先度制御ビットは IPCx レジスタ内の各ニブルの最下位 3 ビットに含まれます 各ニブルのビット 3 は使用されず 0 として読み出されます これらのビットは 特定の割り込みに割り当てられた優先度を示しています 使用可能な優先度は 1 ( 最低の優先度 ) ~ 7 ( 最高の優先度 ) となっています 割り込み要因に関連付けられた IPC ビットがすべてクリアされた場合 その割り込み要因は無効になります 注 : 割り込み優先度を動作中に再設定している間は アプリケーションプログラムで割り込みが無効になっていなければなりません 割り込みが無効になっていないと 予期しない結果を生じることがあります 1 つの優先度に対して複数の割り込み要求要因を割り当てられます ユーザーアプリケーションで割り当てられたレベル内で優先度の衝突を解決するには 各割り込み要因が IVT での対応する場所に基づいて 自然順序による優先度を持っています 表 41-1 に IVT での各割り込み要因の場所を示します 数字が小さい割り込みベクタは高い自然順序の優先度を持ち 数字が大きいベクタは低い自然順序の優先度を持ちます 保留中の割り込み要因の全体での優先度を決定するには まず IPCx レジスタの該当する割り込み要因にユーザーアプリケーションが割り当てた優先度を使用します 次に IVT 内の自然順序による優先度を使用します 自然順序による優先度が使用されるのは ユーザーアプリケーション割り当ての優先度が同じ複数の割り込みが同時に保留になっている衝突を解決する場合のみです 優先度の衝突が解決されて例外処理が開始された後は ユーザーアプリケーションで割り当てた優先度がより高い要因によってのみ CPU を割り込むことが可能です 例外処理中に ユーザーアプリケーション割り当ての優先度が同じで 自然順序の優先度が高い割り込みが保留となっても 現在の例外処理が完了するまで保留のままとなります DS70300B_JP - ページ Microchip Technology Inc.

7 第 41 章割り込み ( パート IV) 各割り込み要因に 7 つの優先度のいずれかを割り当てることで ユーザーアプリケーションから 低い自然順序の優先度と 非常に高い全体的優先度を持つ割り込みを設定できます 例えば UART1 Rx 割り込みに優先度 7 を 外部割り込み 0 (INT0) に非常に低い優先度 1 を割り当てることができます 注 : IVT で使用可能な周辺モジュールと割り込み要因は dspic33f デバイスによって異なります 本書に記載した割り込み要因は dspic33f デバイスで見られるすべての割り込み要因の包括的なリストとなっています 詳細は各デバイスのデータシートを参照してください 41 割り込み ( パート IV) 41.2 ノンマスカブルトラップ トラップはノンマスカブルで 固定の優先度構造に基づいたネスト可能な割り込みです トラップは アプリケーションのデバッグ中や動作中に 誤った処理を修正する手段となります ユーザーアプリケーションでトラップのエラー状態を修正しない場合 デバイスをリセットするには このベクタにソフトウェアルーチンのアドレスをロードする必要があります あるいは ユーザーアプリケーションで トラップ状態を修正するサービスルーチンのアドレスをトラップベクタにプログラムします dspic33f では 4 つの要因のノンマスカブルトラップを実装しています 発振器異常トラップ スタックエラートラップ アドレスエラートラップ 算術エラートラップ多くのトラップ状態で トラップの原因となった命令は 例外処理が開始される前に完了できます したがって ユーザーアプリケーションは トラップの原因となった命令のアクションを修正する必要があります 各トラップ要因は IVT に定義された位置に基づいて 固定の優先度を持ちます 発振器異常トラップは最も高い優先度を取り 算術エラートラップは最も低い優先度となります ( 図 41-1 を参照 ) また トラップ要因は ソフトトラップとハードトラップという 2 つのカテゴリに大別されます ソフトトラップ 算術エラートラップ ( 優先度 11) とスタックエラートラップ ( 優先度 12) は ソフトトラップ要因に分類されます ソフトトラップは IVT 内の位置によって割り当てられた優先度に従い ノンマスカブル割り込みとして処理されます ソフトトラップは割り込みと同様に処理され 例外処理に先立ってサンプリングと確認応答に 2 つのサイクルが必要です このため ソフトトラップを応答できるまで 追加の命令が実行されます スタックエラートラップ ( ソフトトラップ レベル 12) スタックは リセット中に 0x0800 に初期化されます スタックエラートラップは スタックポインタアドレスが 0x0800 未満になった場合に生成されます スタックポインタに関連付けられたスタック制限 (SPLIM) レジスタは リセット時に初期化されません SPLIM レジスタに何らかのワードが書き込まれるまで スタックオーバーフローチェックは有効になりません W15 をソースポインタまたは格納先ポインタとして使用して有効アドレス (EA) が生成される場合は SPLIM レジスタの値と比較されます EA が SPLIM レジスタの内容よりも大きい場合 スタックエラートラップが生成されます また EA の計算結果がデータスペースの末尾 (0xFFFF) を越える場合も スタックエラートラップが生成されます スタックエラートラップ (STKERR) ステータスビット (INTCON1<2>) をポーリングすると スタックエラーをソフトウェアで検出できます トラップサービスルーチン (TSR) への再入を防ぐため プログラムがトラップから戻る前に ソフトウェアで STKERR ステータスフラグをクリアしてから RETFIE (Return From Interrupt) 命令を実行する必要があります 2009 Microchip Technology Inc. DS70300B_JP - ページ 41-7

8 dspic33f ファミリリファレンスマニュアル 算術エラートラップ ( ソフトトラップ レベル 11) 以下のイベントはいずれも 算術エラートラップを生成します アキュムレータ A オーバーフロー アキュムレータ B オーバーフロー 修復不可アキュムレータオーバーフロー ゼロ除算 ±16 ビットを超えるシフトアキュムレータ (SFTAC) 動作 INTCON1 レジスタのこれら 3 つのビットは 以下の 3 種類のアキュムレータオーバーフロートラップを有効にします アキュムレータ A オーバーフロートラップ有効 (OVATE) の制御ビット (INTCON1<10>) は アキュムレータ A オーバーフローイベントのトラップを有効にします アキュムレータ B オーバーフロートラップ有効 (OVBTE) の制御ビット (INTCON1<9>) は アキュムレータ B オーバーフローイベントのトラップを有効にします 修復不可オーバーフロートラップ有効 (COVTE) の制御ビット (INTCON1<8>) は 各アキュムレータの修復不可オーバーフローのトラップを有効にします このトラップが検出されると INTCON1 レジスタの対応する ERROR ビットがセットされます - アキュムレータ A オーバーフロートラップフラグ (OVAERR) - アキュムレータ B オーバーフロートラップフラグ (OVBERR) - アキュムレータ A 修復不可オーバーフロートラップ有効 (COVAERR) - アキュムレータ B 修復不可オーバーフロートラップ有効 (COVBERR) アキュムレータ A またはアキュムレータ B のオーバーフローイベントは ビット 31 からのキャリーアウトとして定義されます 31 ビット飽和モードがアキュムレータで有効になっている場合 アキュムレータオーバーフローは発生しません 修復不可アキュムレータオーバーフローは いずれかのアキュムレータのビット 39 からのキャリーアウトとして定義されます アキュムレータ飽和 (31 ビットまたは 39 ビット ) が有効になっている場合 修復不可オーバーフローは発生しません ゼロ除算トラップは無効にできません ゼロ除算チェックは 除算命令を実行する REPEAT ループの最初の反復中に実行されます このトラップが検出されると 算術エラーステータス (DIV0ERR) ビット (INTCON1<6>) がセットされます アキュムレータシフトトラップは無効にできません SFTAC 命令を使用すると リテラル値または W レジスタのいずれかの値でアキュムレータをシフトさせることができます シフト値が ±16 ビットを超える場合に算術トラップが生成され シフトアキュムレータエラーステータス (SFTACERR) ビット (INTCON1<7>) がセットされます SFTAC 命令が実行されますが シフトの結果はターゲットアキュムレータには書き込まれません 算術エラーステータス (MATHERR) ビット (INTCON1<4>) をポーリングすると 算術エラートラップをソフトウェアで検出できます トラップサービスルーチンへの再入を防ぐため プログラムがトラップから戻る前に ソフトウェアで MATHERR ステータスフラグをクリアしてから RETFIE (Return From Interrupt) 命令を実行する必要があります MATHERR ステータスビットをクリアする前に トラップの原因となった状態もすべてクリアする必要があります トラップがアキュムレータのオーバーフローによる場合 アキュムレータオーバーフロー (OA および OB) ステータスビット (SR<15:14>) をクリアする必要があります OA ステータスビットおよび OB ステータスビットは読み出し専用なので ユーザーソフトウェアはオーバーフローしたアキュムレータに対しダミー処理を実行し ( 0 を加算するなど ) ハードウェアで OA ステータスビットまたは OB ステータスビットをクリアする必要があります ハードトラップ 優先度 13 ~ 15 の例外はハードトラップに分類されます アドレスエラー ( レベル 13) と発振器エラー ( レベル 14) のトラップが このカテゴリに含まれます ソフトトラップと同様に ハードトラップはノンマスカブルの割り込み要因です ハードトラップとソフトトラップの違いは トラップを引き起こした命令の終了後 ハードトラップでは CPU のコード実行を強制停止させることにあります 通常のプログラム実行フローは トラップの確認応答と処理が終了するまで再開されません DS70300B_JP - ページ Microchip Technology Inc.

9 トラップ優先度とハードトラップの衝突 第 41 章割り込み ( パート IV) 低い優先度のトラップの進行中に 高い優先度のトラップが発生した場合 低い優先度のトラップの処理は中断され 高い優先度のトラップの確認応答と処理が実行されます 低い優先度のトラップは 高い優先度のトラップの処理が完了するまで保留となります 発生した各ハードトラップには コードの実行を継続する前に確認応答が必要です 高い優先度のトラップの保留中 確認応答中 または処理中に 低い優先度のハードトラップが発生した場合 低い優先度のトラップは高い優先度のトラップの処理が完了するまで確認応答できないため ハードトラップの衝突が発生します ハードトラップの衝突状態が発生すると デバイスは自動的にリセットされます リセットが発生した場合にその状態をソフトウェアで検出できるように リセット制御レジスタ ( リセットモジュールのRCON<15>) のトラップリセットフラグ (TRAPR) ステータスビットがセットされます 41 割り込み ( パート IV) 発振器異常トラップ ( ハードトラップ レベル 14) 発振器異常トラップイベントは 以下のいずれかの理由で発生します フェイルセーフクロックモニタ (FSCM) が有効になっており システムクロックソースの損失が検出された場合 PLL を使用した通常の動作中に PLL ロックの損失が検出された場合 FSCM が有効になっており PLL がパワーオンリセット (POR) でロックを実現できなかった場合 発振器異常トラップ (OSCFAIL) ステータスビット (INTCON1<1>) またはクロックフェイル (CF) ステータスビット ( 発振器モジュールの OSCCON<3>) をポーリングすると 発振器異常トラップイベントをソフトウェアで検出できます トラップサービスルーチンへの再入を防ぐため プログラムがトラップから戻る前に ソフトウェアで OSCFAIL ステータスフラグをクリアしてから RETFIE (Return From Interrupt) 命令を実行する必要があります アドレスエラートラップ ( ハードトラップ レベル 13) アドレスエラートラップを発生させる動作条件には 以下のようなものがあります 誤った配置のデータワードのフェッチを試みた場合 この条件は 有効アドレスの最下位ビット (LSB) が 1 にセットされた状態で 命令がワードアクセスを実行した場合に発生します dspic33f の CPU では すべてのワードアクセスを偶数アドレス境界に合わせて行うことが要求されます ビットの操作命令で 有効アドレスの LSB を 1 にセットして 間接アドレス処理モードを使用した場合 データフェッチは 未実装のデータアドレス空間へ行った場合 literal が未実装のプログラムメモリアドレスであるときに BRA #literal 命令または GOTO #literal 命令を実行した場合 未実装のプログラムメモリアドレスをポイントするようにプログラムカウンタを変更した後に 命令を実行した場合 スタックに値をロードし RETURN 命令を実行すると プログラムカウンタを変更できます アドレスエラートラップが発生した場合 データが破壊されないように データ空間の書き込みは禁止されます ADDRERR ステータスビット ((INTCON1<3>) をポーリングすると アドレスエラーをソフトウェアで検出できます トラップサービスルーチンへの再入を防ぐため プログラムがトラップから戻る前に ソフトウェアで ADDRERR ステータスフラグをクリアしてから RETFIE (Return From Interrupt) 命令を実行する必要があります 注 : MAC クラスの命令では データ空間が X および Y 空間に分割されています これらの命令の場合 未実装の X 空間にすべての Y 空間が 未実装の Y 空間にすべての X 空間が包含されます 割り込み禁止命令 DISI ( 割り込み禁止 ) 命令は 最大で 命令サイクルまで割り込みを無効にできます この命令は 時間がクリティカルな要素となるコードセグメントを実行するときに便利です DISI 命令は 優先度 1 ~ 6 の割り込みだけを無効にします DISI 命令がアクティブであっても 優先度 7 の割り込みとすべてのトラップイベントは CPU を割り込むことができます 2009 Microchip Technology Inc. DS70300B_JP - ページ 41-9

10 dspic33f ファミリリファレンスマニュアル DISI 命令は CPU の割り込み禁止カウント (DISICNT) レジスタと合わせて動作します DISICNT レジスタがゼロ以外の場合 優先度 1 ~ 6 の割り込みは無効になります DISICNT レジスタは 後続の命令サイクルが実行されるたびに値が減ります DISICNT レジスタがゼロになると 優先度 1 ~ 6 の割り込みが再び有効になります DISI 命令に指定される値には PSV アクセス 命令ストールなどによるすべてのサイクルが含まれます DISICNT レジスタは 読み込みと書き込みの両方が可能です DISICNT レジスタをクリアすることによって ユーザーアプリケーションで DISI 命令を早期に終わらせることができます また DISICNT レジスタに書き込むか 加算することによって 割り込みが無効となる時間を延長できます DISICNT レジスタがゼロである場合 レジスタにゼロ以外の値を書き込むだけでは 割り込みを無効にできません 割り込みを無効にするには まず DISI 命令を使用します DISI 命令が実行され DISICNT にゼロ以外の値が格納されている場合 DISICNT の内容を変更することによって アプリケーションで割り込み無効時間を延長できます DISI 命令の結果として割り込みが無効になっている場合 DISI 命令 (DISI) ステータスビット (INTCON2<14>) がセットされます 注 : DISI 命令は CPU 優先度 7 にどの要因も割り当てられていない場合に すべてのユーザー割り込み要因をただちに無効にするときに便利です 割り込み処理 割り込みイベントフラグはすべて 各命令サイクル中にサンプリングされます 保留の割り込み要求 (IRQ) は IFSx レジスタのフラグビット = 1 で示されます 割り込み許可 (IECx) レジスタの対応するビットがセットされている場合 IRQ は割り込みを発生させます IRQ がサンプリングされる残りの命令サイクルでは すべての保留割り込み要求の優先度が評価されます CPU が IRQ に応答するときに 命令は中止されません IRQ のサンプリング時に進行中であった命令が完了してから 割り込みサービスルーチン (ISR) を実行します IPL<2:0> ステータスビット (SR<7:5>) で示される現在のプロセッサ優先度より高いレベルの ユーザーアプリケーション割り当ての優先度を持つ保留 IRQ がある場合 割り込みがプロセッサに渡されます プロセッサは ソフトウェアスタックに以下の情報を保存します 現在の PC 値 プロセッサステータスレジスタ (SRL) の下位バイト IPL3 ステータスビット (CORCON<3>) これら 3 つの値により 戻りプログラムカウンタアドレス値 MCU ステータスビット および現在のプロセッサ優先度が自動的に保存されます この情報がスタックに保存されたら CPU は 保留中の割り込みの優先度を IPL<2:0> ビット位置に書き込みます このアクションは RETFIE 命令によって ISR が終了されるまで 低いまたは等しい優先度を持つすべての割り込みを無効にします 図 41-2: 割り込みイベントのスタック処理 Stack Grows Toward Higher Address 15 PC<15:0> SR<7:0> <Free Word> PC<22:16> 0 W15 (before IRQ) W15 (after IRQ) This stack stores the IPL3 status bit (CORCON<3>) DS70300B_JP - ページ Microchip Technology Inc.

11 割り込みからの復帰 第 41 章割り込み ( パート IV) RETFIE 命令は PC 戻りアドレス IPL3 ステータスビット および SRL レジスタをスタックから取り出し 割り込みシーケンスの前の状態および優先度にプロセッサを復帰させます 割り込みのネスティング ( 入れ子 ) 割り込みはデフォルトでネスティングされます 処理中の ISR は 高いユーザーアプリケーション割り当ての優先度を持つ別の割り込み要因で割り込ませることができます 割り込みネスティング無効 (NSTDIS) 制御ビット (INTCON1<15>) をセットすると 割り込みネスティングを無効にできます NSTDIS 制御ビットをセットすると IPL<2:0> = 111 にセットされ 処理中のすべての割り込みが CPU 優先度を強制的にレベル 7 にします このアクションは RETFIE 命令が実行されるまで すべての割り込み要因をマスクします 割り込みネスティングを無効にすると 同時保留割り込み間の衝突を解決しない限り ユーザーアプリケーション割り当ての割り込み優先度が無意味になります IPL<2:0> ビット (SR<7:5>) は 割り込みネスティングが無効になっている場合は 読み出し専用となります これにより ユーザーソフトウェアが IPL<2:0> を低い値にセットする ( 結果的に割り込みネスティングが再び有効になってしまう ) のを防止できます 41 割り込み ( パート IV) スリープおよびアイドルからのウェイクアップ IECx レジスタの対応する制御ビットを使用して個別に有効にできる割り込み要因は スリープまたはアイドルモードからプロセッサをウェイクアップできます 割り込み要因の割り込みステータスフラグがセットされ IEC 制御レジスタの対応するビットで割り込み要因が有効になっている場合 ウェイクアップ信号が dspic33f CPU へ送られます デバイスがスリープまたはアイドルモードからウェイクアップすると 2 つのアクションのいずれかが発生します 該当する割り込み要因の割り込み優先度が 現在の CPU 優先度よりも高い場合 プロセッサは割り込みを処理し 割り込み要因の ISR に分岐します 該当する割り込み要因のユーザーアプリケーション割り当ての優先度が 現在の CPU 優先度と同じか それより低い場合 プロセッサは CPU をスリープまたはアイドルモードにした PWRSAV 命令の直後の命令から実行を継続します 注 : CPU 優先度 0 に割り当てられたユーザー割り当て要因は 割り込み要因が無効になっているため スリープまたはアイドルモードから CPU をウェイクアップできません 割り込みをウェイクアップ要因として使用するには プログラムで割り込みの CPU 優先度をレベル 1 以上にセットする必要があります A/D コンバータ (ADC) 外部変換要求 INT0 外部割り込み要求ピンは ADC の外部変換要求信号と共有されます INT0 割り込み要因は プログラマブルエッジ極性を持ち ADC 外部変換要求機能でも使用できます 外部割り込みサポート dspic33f は 最大 3 つの外部割り込みピンソース (INT0 ~ INT2) をサポートします 各外部割り込みピンには 割り込みイベントを検出するエッジ検出回路が含まれます INTCON2 レジスタには エッジ検出回路の極性を選択する 3 つの制御ビット (INT0EP ~ INT2EP) があります 各外部割り込みピンは 立ち上がりエッジまたは立ち下がりエッジイベントで CPU を割り込むようにプログラムできます 詳細は レジスタ 41-4 を参照してください 2009 Microchip Technology Inc. DS70300B_JP - ページ 41-11

12 dspic33f ファミリリファレンスマニュアル 41.3 割り込み処理タイミング サイクル命令の割り込みレイテンシ 図 41-3 に 1 サイクル命令中に周辺割り込みが発生するときのイベントシーケンスを示します この割り込み処理には 4 つの命令サイクルがあります 図 41-3 で各サイクルに番号を示しています 割り込みフラグステータスビットは 周辺割り込みが発生した後 命令サイクル中にセットされます 現在の命令は この命令サイクル中に完了します 割り込みイベントの後の 2 番目の命令サイクルでは プログラムカウンタ (PC) および下位バイトステータス (SRL) レジスタが一時バッファレジスタに保存されます 割り込み処理の 2 番目のサイクルは NOP 命令として実行され 2 サイクル命令中のシーケンスと一貫性が保たれます ( 項 2 サイクル命令の割り込みレイテンシ を参照 ) 3 番目のサイクルでは PC に割り込み要因のベクタテーブルアドレスがロードされ ISR の開始アドレスがフェッチされます 4 番目のサイクルでは PC に ISR アドレスがロードされます 4 番目のサイクルは ISR の最初の命令がフェッチされるので NOP として実行されます 図 41-3: 1 サイクル命令中の割り込みタイミング TCY PC PC PC + 2 Vector# 2000 (ISR) INST Executed Fetch INST(PC - 2) INST(PC) FNOP Vector FNOP ISR ISR + 2 ISR + 4 Interrupt Flag Status bit CPU Priority Peripheral interrupt event occurs at or before midpoint of this cycle Save PC in temporary buffer PUSH SRL and High 8 bits of PC (from temporary buffer) PUSH Low 16 bits of PC (from temporary buffer) DS70300B_JP - ページ Microchip Technology Inc.

13 サイクル命令の割り込みレイテンシ 第 41 章割り込み ( パート IV) 2 サイクル命令の割り込みレイテンシは 1 サイクル命令の場合と同じです 最初と 2 番目の割り込み処理サイクルでは 2 サイクル命令の実行が完了します 図 41-4 のタイミング図に 2 サイクル命令実行の前の命令サイクルで発生する周辺割り込みイベントを示します 図 41-5 に 周辺割り込みが 2 サイクル命令の最初のサイクル中に発生する場合のタイミングを示します この場合 1 サイクル命令の割り込み処理と同じです ( 項 1 サイクル命令の割り込みレイテンシ を参照 ) 41 割り込み ( パート IV) 図 41-4: 2 サイクル命令中の割り込みタイミング TCY PC PC PC + 2 Vector# 2000 (ISR) INST Executed INST(PC - 2) INST(PC) INST(PC) Fetch FNOP ISR 1st cycle 2nd cycle Vector ISR + 2 ISR + 4 Interrupt Flag Status bit CPU Priority Peripheral interrupt event occurs at or before midpoint of this cycle Save PC in temporary buffer PUSH SRL and High 8 bits of PC (from temporary buffer) PUSH Low 16 bits of PC (from temporary buffer) 図 41-5: 割り込みタイミング 2 サイクル命令の最初のサイクル中に発生する割り込み TCY PC PC PC + 2 Vector# 2000 (ISR) INST Executed INST(PC) 1st cycle INST(PC) 2nd cycle FNOP Fetch Vector FNOP ISR ISR + 2 ISR + 4 Interrupt Flag Status bit CPU Priority Peripheral interrupt event occurs at or before midpoint of this cycle Save PC in temporary buffer PUSH SRL and High 8 bits of PC (from temporary buffer) PUSH Low 16 bits of PC (from temporary buffer) 2009 Microchip Technology Inc. DS70300B_JP - ページ 41-13

14 dspic33f ファミリリファレンスマニュアル 割り込みからの復帰 割り込みから復帰するには プログラムが RETFIE 命令を実行しなければいけません RETFIE 命令の最初の 2 サイクル中に PC および SRL レジスタの内容がスタックから取り出されます 3 番目の命令サイクルは 更新されたプログラムカウンタに基づいて 命令をフェッチするために使用されます このサイクルは NOP 命令として実行されます 4 番目のサイクルでは 割り込みが発生したポイントからプログラムの実行が再開されます 図 41-6: 割り込みからの復帰タイミング TCY INST Executed ISR last instruction RETFIE RETFIE FNOP PC 2nd cycle PC + 2 PC + 4 PC ISR ISR + 2 PC PC + 2 PC + 4 PC + 6 CPU Priority 割り込みレイテンシの特殊条件 dspic33f では 周辺割り込み要因が保留となるまで 現在の命令を完了できます 割り込みレイテンシは 1 サイクル命令と 2 サイクル命令の場合は同じです ただし 割り込みが発生したタイミングによっては 所定の条件が割り込みレイテンシを 1 サイクルだけ長くすることがあります アプリケーションで固定のレイテンシが不可欠である場合 以下の条件を避ける必要があります プログラムメモリ空間でPSVを使用して値にアクセスするMOV.D 命令を実行すること 2 サイクル命令に命令ストールサイクルを付加すること PSV アクセスを実行する 1 サイクル命令に命令ストールサイクルを付加すること プログラムメモリ空間で PSV を使用して値にアクセスするビットテストおよびスキップ命令 (BTSC BTSS) DS70300B_JP - ページ Microchip Technology Inc.

15 41.4 割り込み制御レジスタとステータスレジスタ 第 41 章割り込み ( パート IV) 以下のレジスタは 割り込みコントローラと関連付けられます INTCON1: 割り込み制御レジスタ 1 グローバル割り込み機能を制御する INTCON1 レジスタは 割り込みネスティング無効 (NSTDIS) ビットと プロセッサトラップソースの制御およびステータスフラグを含みます INTCON2: 割り込み制御レジスタ 2 グローバル割り込み機能を制御する INTCON2 レジスタは 外部割り込み要求信号の動作や代替ベクタテーブルの使用も制御します IFSx: 割り込みフラグステータスレジスタ ( レジスタ 41-5 からレジスタ を参照 ) すべての割り込み要求フラグは IFSx レジスタに保存されます ここで x は レジスタ番号を示します 各割り込み要因には それぞれについてのステータスビットがあります このステータスビットは 対応する周辺モジュールや外部信号によってセットされ ソフトウェアでクリアされます IECx: 割り込み許可制御レジスタ ( レジスタ からレジスタ を参照 ) すべての割り込み許可制御ビットは IECx レジスタに保存されます ここで x は レジスタ番号を示します これらの制御ビットは 周辺モジュールや外部信号による割り込みの個別許可に使用されます IPCx: 割り込み優先度制御レジスタ ( レジスタ からレジスタ を参照 ) 各ユーザー割り込み要因に対して 8 つの優先度のうち 1 つを設定できます IPC レジスタは 割り込み要因ごとに優先度を設定します SR: CPU ステータスレジスタ SR レジスタは 割り込みコントローラハードウェアの一部ではありませんが IPL<2:0> ステータスビット (SR<7:5>) を含みます これは 現在の CPU 優先度を示します ユーザーアプリケーションはこの IPL ビットを書き換えることで CPU の優先度を変更できます CORCON: コア制御レジスタ CORCON レジスタは 割り込みコントローラハードウェアの一部ではありませんが IPL3 ステータスビットを含みます これは 現在の CPU 優先度を示します IPL3 は読み出し専用のビットなので トラップイベントはユーザーソフトウェアではマスクできません INTTREG: 割り込み制御およびステータスレジスタ INTTREG レジスタには 割り込みベクタ番号と 新たな CPU の割り込み優先度が含まれていて それらは INTTREG レジスタ内のベクタ番号 (VECNUM<6:0>) と割り込みレベル (ILR<3:0>) ビットフィールドになります 新たな割り込みの優先度は 待機中割り込みの優先度です これらのレジスタの詳細は 以下の項で説明します 41 割り込み ( パート IV) 注 : 割り込み要因の合計数と種類は デバイスによって異なります 詳細は各デバイスのデータシートを参照してください 制御レジスタへの割り込みの割り当て 割り込み要因は 表 41-1 と同じ順序で IFSx IECx および IPCx のレジスタに割り当てられます 例えば INT0 ( 外部割り込み 0) 要因はベクタ番号を持ち 自然順序の優先度は 0 です したがって 外部割り込み 0 フラグステータス (INT0IF) ビットは IFS0<0> にあります INT0 割り込みは IEC0 レジスタのビット 0 を許可ビットとして使用します IPC0<2:0> ビットは INT0 割り込みの割り込み優先度を割り当てます 2009 Microchip Technology Inc. DS70300B_JP - ページ 41-15

16 dspic33f ファミリリファレンスマニュアル レジスタ 41-1: SR: CPU ステータスレジスタ R-0 R-0 R/C-0 R/C-0 R-0 R/C-0 R-0 R-0 OA OB SA SB OAB SAB DA DC R/W-0 R/W-0 R/W-0 R-0 R/W-0 R/W-0 R/W-0 R/W-0 IPL<2:0> (1,2) RA N OV Z C C = クリア可 ビット 15-8 割り込みコントローラでは使用せず (SR ビットの説明は dspic30f/33f Programmer s Reference Manual (DS70157) を参照してください ) ビット 7-5 IPL<2:0>: CPU 割り込み優先度ステータスビット (1,2) 111 = CPU 割り込み優先度が 7 (15) で ユーザー割り込みは無効 110 = CPU 割り込み優先度が 6 (14) 101 = CPU 割り込み優先度が 5 (13) 100 = CPU 割り込み優先度が 4 (12) 011 = CPU 割り込み優先度が 3 (11) 010 = CPU 割り込み優先度が 2 (10) 001 = CPU 割り込み優先度が 1 (9) 000 = CPU 割り込み優先度が 0 (8) ビット 4-0 割り込みコントローラでは使用せず (SR ビットの説明は dspic30f/33f Programmer s Reference Manual (DS70157) を参照してください ) 注 1: IPL<2:0> ビットは IPL<3> ビット (CORCON<3>) と連結して CPU 割り込み優先度を表します 括弧内の値は IPL<3> = 1 のときの IPL を表します 2: IPL<2:0> ステータスビットは NSTDIS = 1 (INTCON1<15>) のときは読み込みのみ可となります DS70300B_JP - ページ Microchip Technology Inc.

17 第 41 章割り込み ( パート IV) 41 レジスタ 41-2: CORCON: コア制御レジスタ U-0 U-0 U-0 U-0 R/W-0 R-0 R-0 R-0 EDT DL<1:0> R/W-0 R/W-0 R/W-1 R/W-0 R/C-0 R/W-0 R/W-0 R/W-0 SATA SATB SATDW ACCSAT IPL3 (1) PSV RND IF 割り込み ( パート IV) C = クリア可 ビット 15-4 割り込みコントローラでは使用せず (CORCON ビットの説明は dspic30f/33f Programmer s Reference Manual (DS70157) を参照してください ) ビット 3 IPL3: CPU 割り込み優先度ステータスビット 3 (1) 1 = CPU 割り込み優先度が 7 より高い 0 = CPU 割り込み優先度が 7 以下ビット 2-0 割り込みコントローラでは使用せず (CORCON ビットの説明は dspic30f/33f Programmer s Reference Manual (DS70157) を参照してください ) 注 1: IPL3 ビットは IPL<2:0> ビット (SR<7:5>) と連結して CPU 割り込み優先度を表します 2009 Microchip Technology Inc. DS70300B_JP - ページ 41-17

18 dspic33f ファミリリファレンスマニュアル レジスタ 41-3: INTCON1: 割り込み制御レジスタ 1 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 NSTDIS OVAERR OVBERR COVAERR COVBERR OVATE OVBTE COVTE R/W-0 R/W-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 U-0 SFTACERR DIV0ERR MATHERR ADDRERR STKERR OSCFAIL ビット 15 ビット 14 ビット 13 ビット 12 ビット 11 ビット 10 ビット 9 ビット 8 ビット 7 ビット 6 ビット 5 ビット 4 ビット 3 NSTDIS: 割り込みネスティング無効ビット 1 = 割り込みネスティングは無効 0 = 割り込みネスティングが有効 OVAERR: アキュムレータ A オーバーフロートラップフラグビット 1 = アキュムレータ A のオーバーフローによりトラップが発生 0 = アキュムレータ A のオーバーフローによるトラップは発生していない OVBERR: アキュムレータ B オーバーフロートラップフラグビット 1 = アキュムレータ B のオーバーフローによりトラップが発生 0 = アキュムレータ B のオーバーフローによるトラップは発生していない COVAERR: アキュムレータ A 修復不可オーバーフロートラップフラグビット 1 = アキュムレータ A の修復不可オーバーフローによりトラップが発生 0 = アキュムレータ A の修復不可オーバーフローによるトラップは発生していない COVBERR: アキュムレータ B 修復不可オーバーフロートラップフラグビット 1 = アキュムレータ B の修復不可オーバーフローによりトラップが発生 0 = アキュムレータ B の修復不可オーバーフローによるトラップは発生していない OVATE: アキュムレータ A オーバーフロートラップ有効化ビット 1 = アキュムレータ A のオーバーフロートラップは有効 0 = トラップは無効 OVBTE: アキュムレータ B オーバーフロートラップ有効化ビット 1 = アキュムレータ B のオーバーフロートラップは有効 0 = トラップは無効 COVTE: 修復不可オーバーフロートラップ有効化ビット 1 = アキュムレータ A または B の修復不可オーバーフロートラップは有効 0 = トラップは無効 SFTACERR: アキュムレータシフトエラーステータスビット 1 = 不正なアキュムレータシフトにより算術エラートラップが発生 0 = 不正なアキュムレータシフトによる算術エラートラップは発生していない DIV0ERR: ゼロ除算エラーステータスビット 1 = ゼロ除算によりゼロ除算エラートラップが発生 0 = ゼロ除算によるゼロ除算エラートラップは発生していない MATHERR: 算術エラーステータスビット 1 = 算術エラートラップが発生 0 = 算術エラートラップは発生していない ADDRERR: アドレスエラートラップステータスビット 1 = アドレスエラートラップが発生 0 = アドレスエラートラップは発生していない DS70300B_JP - ページ Microchip Technology Inc.

19 第 41 章割り込み ( パート IV) 41 レジスタ 41-3: INTCON1: 割り込み制御レジスタ 1 ( 続き ) ビット 2 ビット 1 ビット 0 STKERR: スタックエラートラップステータスビット 1 = スタックエラートラップが発生 0 = スタックエラートラップは発生していない OSCFAIL: 発振器異常トラップステータスビット 1 = 発振器異常トラップが発生 0 = 発振器異常トラップは発生していない 割り込み ( パート IV) 2009 Microchip Technology Inc. DS70300B_JP - ページ 41-19

20 dspic33f ファミリリファレンスマニュアル レジスタ 41-4: INTCON2: 割り込み制御レジスタ 2 R/W-0 R-0 U-0 U-0 U-0 U-0 U-0 U-0 ALTIVT DISI U-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0 INT2EP INT1EP INT0EP ビット 15 ビット 14 ビット 13-3 ビット 2 ビット 1 ビット 0 ALTIVT: 代替割り込みベクタテーブル許可ビット 1 = 代替ベクタテーブルを使用 0 = 標準 ( デフォルト ) ベクタテーブルを使用 DISI: DISI 命令ステータスビット 1 = DISI 命令が動作中 0 = DISI 命令は動作中でない INT2EP: 外部割り込み 2 エッジ検出極性選択ビット 1 = 立ち下がりエッジで割り込み発生 0 = 立ち上がりエッジで割り込み発生 INT1EP: 外部割り込み 1 エッジ検出極性選択ビット 1 = 立ち下がりエッジで割り込み発生 0 = 立ち上がりエッジで割り込み発生 INT0EP: 外部割り込み 0 エッジ検出極性選択ビット 1 = 立ち下がりエッジで割り込み発生 0 = 立ち上がりエッジで割り込み発生 DS70300B_JP - ページ Microchip Technology Inc.

21 第 41 章割り込み ( パート IV) 41 レジスタ 41-5: IFS0: 割り込みフラグステータスレジスタ 0 U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 ADIF U1TXIF U1RXIF SPI1IF SPI1EIF T3IF R/W-0 R/W-0 R/W-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 T2IF OC2IF IC2IF T1IF OC1IF IC1IF INT0IF 割り込み ( パート IV) ビット ビット 13 ビット 12 ビット 11 ビット 10 ビット 9 ビット 8 ビット 7 ビット 6 ビット 5 ビット 4 ビット 3 ビット 2 ADIF: ADC グループ変換完了割り込みフラグステータスビット U1TXIF: UART1 送信割り込みフラグステータスビット U1RXIF: UART1 受信割り込みフラグステータスビット SPI1IF: SPI1 イベント割り込みフラグステータスビット SPI1EIF: SPI1 フォルト割り込みフラグステータスビット T3IF: タイマ 3 割り込みフラグステータスビット T2IF: タイマ 2 割り込みフラグステータスビット OC2IF: 出力コンペアチャネル 2 割り込みフラグステータスビット IC2IF: 入力キャプチャチャネル 2 割り込みフラグステータスビット T1IF: タイマ 1 割り込みフラグステータスビット OC1IF: 出力コンペアチャネル 1 割り込みフラグステータスビット 2009 Microchip Technology Inc. DS70300B_JP - ページ 41-21

22 dspic33f ファミリリファレンスマニュアル レジスタ 41-5: IFS0: 割り込みフラグステータスレジスタ 0 ( 続き ) ビット 1 ビット 0 IC1IF: 入力キャプチャチャネル 1 割り込みフラグステータスビット INT0IF: 外部割り込み 0 フラグステータスビット DS70300B_JP - ページ Microchip Technology Inc.

23 第 41 章割り込み ( パート IV) 41 レジスタ 41-6: IFS1: 割り込みフラグステータスレジスタ 1 U-0 U-0 R/W-0 U-0 U-0 U-0 U-0 U-0 INT2IF U-0 U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 INT1IF CNIF AC1IF MI2C1IF SI2C1IF 割り込み ( パート IV) ビット ビット 13 ビット 12-5 ビット 4 ビット 3 ビット 2 ビット 1 ビット 0 INT2IF: 外部割り込み 2 フラグステータスビット INT1IF: 外部割り込み 1 フラグステータスビット CNIF: 入力変化通知割り込みフラグステータスビット AC1IF: アナログコンパレータ 1 割り込みフラグステータスビット MI2C1IF: I2C1 マスターイベント割り込みフラグステータスビット SI2C1IF: I2C1 スレーブイベント割り込みフラグステータスビット 2009 Microchip Technology Inc. DS70300B_JP - ページ 41-23

24 dspic33f ファミリリファレンスマニュアル レジスタ 41-7: IFS3: 割り込みフラグステータスレジスタ 3 U-0 U-0 U-0 U-0 U-0 U-0 R/W-0 U-0 PSEMIF U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 ビット ビット 9 ビット 8-0 PSEMIF: PWM 特殊イベント一致割り込みフラグステータスビット レジスタ 41-8: IFS4: 割り込みフラグステータスレジスタ 4 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 R/W-0 U-0 U1EIF ビット 15-2 ビット 1 ビット 0 U1EIF: UART1 エラー割り込みフラグステータスビット DS70300B_JP - ページ Microchip Technology Inc.

25 第 41 章割り込み ( パート IV) 41 レジスタ 41-9: IFS5: 割り込みフラグステータスレジスタ 5 R/W-0 R/W-0 U-0 U-0 U-0 U-0 U-0 U-0 PWM2IF PWM1IF U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 割り込み ( パート IV) ビット 15 ビット 14 ビット 13-0 PWM2IF: PWM 2 割り込みフラグステータスビット PWM1IF: PWM 1 割り込みフラグステータスビット 2009 Microchip Technology Inc. DS70300B_JP - ページ 41-25

26 dspic33f ファミリリファレンスマニュアル レジスタ 41-10: IFS6: 割り込みフラグステータスレジスタ 6 R/W-0 R/W-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0 ADCP1IF ADCP0IF AC4IF AC3IF R/W-0 U-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0 AC2IF PWM4IF PWM3IF ビット 15 ビット 14 ビット ビット 9 ビット 8 ビット 7 ビット 6-2 ビット 1 ビット 0 ADCP1IF: ADC ペア 1 変換完了割り込みフラグステータスビット ADCP0IF: ADC ペア 0 変換完了割り込みフラグステータスビット AC4IF: アナログコンパレータ 4 割り込みフラグステータスビット AC3IF: アナログコンパレータ 3 割り込みフラグステータスビット AC2IF: アナログコンパレータ 2 割り込みフラグステータスビット PWM4IF: PWM 4 割り込みフラグステータスビット PWM3IF: PWM 3 割り込みフラグステータスビット DS70300B_JP - ページ Microchip Technology Inc.

27 第 41 章割り込み ( パート IV) 41 レジスタ 41-11: IFS7: 割り込みフラグステータスレジスタ 7 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 ADCP6IF ADCP5IF ADCP4IF ADCP3IF ADCP2IF 割り込み ( パート IV) ビット 15-5 ビット 4 ビット 3 ビット 2 ビット 1 ビット 0 ADCP6IF: ADC ペア 6 変換完了割り込みフラグステータスビット ADCP5IF: ADC ペア 5 変換完了割り込みフラグステータスビット ADCP4IF: ADC ペア 4 変換完了割り込みフラグステータスビット ADCP3IF: ADC ペア 3 変換完了割り込みフラグステータスビット ADCP2IF: ADC ペア 2 変換完了割り込みフラグステータスビット 2009 Microchip Technology Inc. DS70300B_JP - ページ 41-27

28 dspic33f ファミリリファレンスマニュアル レジスタ 41-12: IEC0: 割り込み許可制御レジスタ 0 U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 ADIE U1TXIE U1RXIE SPI1IE SPI1EIE T3IE R/W-0 R/W-0 R/W-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 T2IE OC2IE IC2IE T1IE OC1IE IC1IE INT0IE ビット ビット 13 ビット 12 ビット 11 ビット 10 ビット 9 ビット 8 ビット 7 ビット 6 ビット 5 ビット 4 ビット 3 ビット 2 ADIE: ADC1 変換完了割り込み許可ビット U1TXIE: UART1 送信割り込み許可ビット U1RXIE: UART1 受信割り込み許可ビット SPI1IE: SPI1 イベント割り込み許可ビット SPI1EIE: SPI1 フォルト割り込み許可ビット T3IE: タイマ 3 割り込み許可ビット T2IE: タイマ 2 割り込み許可ビット OC2IE: 出力コンペアチャネル 2 割り込み許可ビット IC2IE: 入力キャプチャチャネル 2 割り込み許可ビット T1IE: タイマ 1 割り込み許可ビット OC1IE: 出力コンペアチャネル 1 割り込み許可ビット DS70300B_JP - ページ Microchip Technology Inc.

29 第 41 章割り込み ( パート IV) 41 レジスタ 41-12: IEC0: 割り込み許可制御レジスタ 0 ( 続き ) ビット 1 ビット 0 IC1IE: 入力キャプチャチャネル 1 割り込み許可ビット INT0IE: 外部割り込み 0 許可ビット 割り込み ( パート IV) 2009 Microchip Technology Inc. DS70300B_JP - ページ 41-29

30 dspic33f ファミリリファレンスマニュアル レジスタ 41-13: IEC1: 割り込み許可制御レジスタ 1 U-0 U-0 R/W-0 U-0 U-0 U-0 U-0 U-0 INT2IE U-0 U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 INT1IE CNIE AC1IE MI2C1IE SI2C1IE ビット ビット 13 ビット 12-5 ビット 4 ビット 3 ビット 2 ビット 1 ビット 0 INT2IE: 外部割り込み 2 許可ビット INT1IE: 外部割り込み 1 許可ビット CNIE: 入力変化通知割り込み許可ビット AC1IE: アナログコンパレータ 1 割り込み許可ビット MI2C1IE: I2C1 マスターイベント割り込み許可ビット SI2C1IE: I2C1 スレーブイベント割り込み許可ビット DS70300B_JP - ページ Microchip Technology Inc.

31 第 41 章割り込み ( パート IV) 41 レジスタ 41-14: IEC3: 割り込み許可制御レジスタ 3 U-0 U-0 U-0 U-0 U-0 U-0 R/W-0 U-0 PSEMIE U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 割り込み ( パート IV) ビット ビット 9 ビット 8-0 PSEMIE: PWM 特殊イベント一致割り込み許可ビット レジスタ 41-15: IEC4: 割り込み許可制御レジスタ 4 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 R/W-0 U-0 U1EIE ビット 15-2 ビット 1 ビット 0 U1EIE: UART1 エラー割り込み許可ビット 2009 Microchip Technology Inc. DS70300B_JP - ページ 41-31

32 dspic33f ファミリリファレンスマニュアル レジスタ 41-16: IEC5: 割り込み許可制御レジスタ 5 R/W-0 R/W-0 U-0 U-0 U-0 U-0 U-0 U-0 PWM2IE PWM1IE U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 ビット 15 ビット 14 ビット 13-0 PWM2IE: PWM2 割り込み許可ビット PWM1IE: PWM1 割り込み許可ビット DS70300B_JP - ページ Microchip Technology Inc.

33 第 41 章割り込み ( パート IV) 41 レジスタ 41-17: IEC6: 割り込み許可制御レジスタ 6 R/W-0 R/W-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0 ADCP1IE ADCP0IE AC4IE AC3IE R/W-0 U-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0 AC2IE PWM4IE PWM3IE 割り込み ( パート IV) ビット 15 ビット 14 ビット ビット 9 ビット 8 ビット 7 ビット 6-2 ビット 1 ビット 0 ADCP1IE: ADC ペア 1 変換完了割り込み許可ビット ADCP0IE: ADC ペア 0 変換完了割り込み許可ビット AC4IE: アナログコンパレータ 4 割り込み許可ビット AC3IE: アナログコンパレータ 3 割り込み許可ビット AC2IE: アナログコンパレータ 2 割り込み許可ビット PWM4IE: PWM4 割り込み許可ビット PWM3IE: PWM3 割り込み許可ビット 2009 Microchip Technology Inc. DS70300B_JP - ページ 41-33

34 dspic33f ファミリリファレンスマニュアル レジスタ 41-18: IEC7: 割り込み許可制御レジスタ 7 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 ADCP6IE ADCP5IE ADCP4IE ADCP3IE ADCP2IE ビット 15-5 ビット 4 ビット 3 ビット 2 ビット 1 ビット 0 ADCP6IE: ADC ペア 6 変換完了割り込み許可ビット ADCP5IE: ADC ペア 5 変換完了割り込み許可ビット ADCP4IE: ADC ペア 4 変換完了割り込み許可ビット ADCP3IE: ADC ペア 3 変換完了割り込み許可ビット ADCP2IE: ADC ペア 2 変換完了割り込み許可ビット DS70300B_JP - ページ Microchip Technology Inc.

35 第 41 章割り込み ( パート IV) 41 レジスタ 41-19: IPC0: 割り込み優先度制御レジスタ 0 U-0 R/W-1 R/W-0 R/W-0 U-0 R/W-1 R/W-0 R/W-0 T1IP<2:0> OC1IP<2:0> U-0 R/W-1 R/W-0 R/W-0 U-0 R/W-1 R/W-0 R/W-0 IC1IP<2:0> INT0IP<2:0> 割り込み ( パート IV) ビット 15 ビット ビット 11 ビット 10-8 ビット 7 ビット 6-4 ビット 3 ビット 2-0 T1IP<2:0>: タイマ 1 割り込み優先度ビット OC1IP<2:0>: 出力コンペアチャネル 1 割り込み優先度ビット IC1IP<2:0>: 入力キャプチャチャネル 1 割り込み優先度ビット INT0IP<2:0>: 外部割り込み 0 優先度ビット 注 : デバイスによっては 一部のビットが存在しない場合があります 詳細は 各デバイスのデータシートを参照してください 2009 Microchip Technology Inc. DS70300B_JP - ページ 41-35

36 dspic33f ファミリリファレンスマニュアル レジスタ 41-20: IPC1: 割り込み優先度制御レジスタ 1 U-0 R/W-1 R/W-0 R/W-0 U-0 R/W-1 R/W-0 R/W-0 T2IP<2:0> OC2IP<2:0> U-0 R/W-1 R/W-0 R/W-0 U-0 U-0 U-0 U-0 IC2IP<2:0> ビット 15 ビット ビット 11 ビット 10-8 ビット 7 ビット 6-4 ビット 3-0 T2IP<2:0>: タイマ 2 割り込み優先度ビット OC2IP<2:0>: 出力コンペアチャネル 2 割り込み優先度ビット IC2IP<2:0>: 入力キャプチャチャネル 2 割り込み優先度ビット 注 : デバイスによっては 一部のビットが存在しない場合があります 詳細は 各デバイスのデータシートを参照してください DS70300B_JP - ページ Microchip Technology Inc.

37 第 41 章割り込み ( パート IV) 41 レジスタ 41-21: IPC2: 割り込み優先度制御レジスタ 2 U-0 R/W-1 R/W-0 R/W-0 U-0 R/W-1 R/W-0 R/W-0 U1RXIP<2:0> SPI1IP<2:0> U-0 R/W-1 R/W-0 R/W-0 U-0 R/W-1 R/W-0 R/W-0 SPI1EIP<2:0> T3IP<2:0> 割り込み ( パート IV) ビット 15 ビット ビット 11 ビット 10-8 ビット 7 ビット 6-4 ビット 3 ビット 2-0 U1RXIP<2:0>: UART1 受信割り込み優先度ビット SPI1IP<2:0>: SPI1 イベント割り込み優先度ビット SPI1EIP<2:0>: SPI1 エラー割り込み優先度ビット T3IP<2:0>: タイマ 3 割り込み優先度ビット 注 : デバイスによっては 一部のビットが存在しない場合があります 詳細は 各デバイスのデータシートを参照してください 2009 Microchip Technology Inc. DS70300B_JP - ページ 41-37

38 dspic33f ファミリリファレンスマニュアル レジスタ 41-22: IPC3: 割り込み優先度制御レジスタ 3 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 R/W-1 R/W-0 R/W-0 U-0 R/W-1 R/W-0 R/W-0 ADC1IP<2:0> U1TXIP<2:0> ビット 15-7 ビット 6-4 ビット 3 ビット 2-0 ADC1IP<2:0>: ADC1 変換完了割り込み優先度ビット U1TXIP<2:0>: UART1 送信割り込み優先度ビット 注 : デバイスによっては 一部のビットが存在しない場合があります 詳細は 各デバイスのデータシートを参照してください DS70300B_JP - ページ Microchip Technology Inc.

39 第 41 章割り込み ( パート IV) 41 レジスタ 41-23: IPC4: 割り込み優先度制御レジスタ 4 U-0 R/W-1 R/W-0 R/W-0 U-0 R/W-1 R/W-0 R/W-0 CNIP<2:0> AC1IP<2:0> U-0 R/W-1 R/W-0 R/W-0 U-0 R/W-1 R/W-0 R/W-0 MI2C1IP<2:0> SI2C1IP<2:0> 割り込み ( パート IV) ビット 15 ビット ビット 11 ビット 10-8 ビット 7 ビット 6-4 ビット 3 ビット 2-0 CNIP<2:0>: 変更通知割り込み優先度ビット AC1IP<2:0>: アナログコンパレータ 1 割り込み優先度ビット MI2C1IP<2:0>: I2C1 マスターイベント割り込み優先度ビット SI2C1IP<2:0>: I2C1 スレーブイベント割り込み優先度ビット 注 : デバイスによっては 一部のビットが存在しない場合があります 詳細は 各デバイスのデータシートを参照してください 2009 Microchip Technology Inc. DS70300B_JP - ページ 41-39

40 dspic33f ファミリリファレンスマニュアル レジスタ 41-24: IPC5: 割り込み優先度制御レジスタ 5 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 R/W-1 R/W-0 R/W-0 INT1IP<2:0> ビット 15-3 ビット 2-0 INT1IP<2:0>: 外部割り込み 1 優先度ビット 注 : デバイスによっては 一部のビットが存在しない場合があります 詳細は 各デバイスのデータシートを参照してください レジスタ 41-25: IPC7: 割り込み優先度制御レジスタ 7 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 R/W-1 R/W-0 R/W-0 U-0 U-0 U-0 U-0 INT2IP<2:0> ビット 15-7 ビット 6-4 ビット 3-0 INT2IP<2:0>: 外部割り込み 2 優先度ビット 注 : デバイスによっては 一部のビットが存在しない場合があります 詳細は 各デバイスのデータシートを参照してください DS70300B_JP - ページ Microchip Technology Inc.

41 第 41 章割り込み ( パート IV) 41 レジスタ 41-26: IPC14: 割り込み優先度制御レジスタ 14 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 R/W-1 R/W-0 R/W-0 U-0 U-0 U-0 U-0 PSEMIP<2:0> 割り込み ( パート IV) ビット 15-7 ビット 6-4 ビット 3-0 PSEMIP<2:0>: PWM 特殊イベント一致割り込み優先度ビット 注 : デバイスによっては 一部のビットが存在しない場合があります 詳細は 各デバイスのデータシートを参照してください レジスタ 41-27: IPC16: 割り込み優先度制御レジスタ 16 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 R/W-1 R/W-0 R/W-0 U-0 U-0 U-0 U-0 U1EIP<2:0> ビット 15-7 ビット 6-4 ビット 3-0 U1EIP<2:0>: UART1 エラー割り込み優先度ビット 注 : デバイスによっては 一部のビットが存在しない場合があります 詳細は 各デバイスのデータシートを参照してください 2009 Microchip Technology Inc. DS70300B_JP - ページ 41-41

42 dspic33f ファミリリファレンスマニュアル レジスタ 41-28: IPC23: 割り込み優先度制御レジスタ 23 U-0 R/W-1 R/W-0 R/W-0 U-0 R/W-1 R/W-0 R/W-0 PWM2IP<2:0> PWM1IP<2:0> U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 ビット 15 ビット ビット 11 ビット 10-8 ビット 7-0 PWM2IP<2:0>: PWM2 割り込み優先度ビット 111 = 割り込み優先度 7( 最高優先度割り込み ) PWM1IP<2:0>: PWM1 割り込み優先度ビット 注 : デバイスによっては 一部のビットが存在しない場合があります 詳細は 各デバイスのデータシートを参照してください DS70300B_JP - ページ Microchip Technology Inc.

43 第 41 章割り込み ( パート IV) 41 レジスタ 41-29: IPC24: 割り込み優先度制御レジスタ 24 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 R/W-1 R/W-0 R/W-0 U-0 R/W-1 R/W-0 R/W-0 PWM4IP<2:0> PWM3IP<2:0> 割り込み ( パート IV) ビット 15-7 ビット 6-4 ビット 3 ビット 2-0 PWM4IP<2:0>: PWM4 割り込み優先度ビット PWM3IP<2:0>: PWM3 割り込み優先度ビット 注 : デバイスによっては 一部のビットが存在しない場合があります 詳細は 各デバイスのデータシートを参照してください 2009 Microchip Technology Inc. DS70300B_JP - ページ 41-43

44 dspic33f ファミリリファレンスマニュアル レジスタ 41-30: IPC25: 割り込み優先度制御レジスタ 25 U-0 R/W-1 R/W-0 R/W-0 U-0 U-0 U-0 U-0 AC2IP<2:0> U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 ビット 15 ビット ビット 11-0 AC2IP<2:0>: アナログコンパレータ 2 割り込み優先度ビット 注 : デバイスによっては 一部のビットが存在しない場合があります 詳細は 各デバイスのデータシートを参照してください DS70300B_JP - ページ Microchip Technology Inc.

45 第 41 章割り込み ( パート IV) 41 レジスタ 41-31: IPC26: 割り込み優先度制御レジスタ 26 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 R/W-1 R/W-0 R/W-0 U-0 R/W-1 R/W-0 R/W-0 AC4IP<2:0> AC3IP<2:0> 割り込み ( パート IV) ビット 15-7 ビット 6-4 ビット 3 ビット 2-0 AC4IP<2:0>: アナログコンパレータ 4 割り込み優先度ビット AC3IP<2:0>: アナログコンパレータ 3 割り込み優先度ビット 注 : デバイスによっては 一部のビットが存在しない場合があります 詳細は 各デバイスのデータシートを参照してください 2009 Microchip Technology Inc. DS70300B_JP - ページ 41-45

46 dspic33f ファミリリファレンスマニュアル レジスタ 41-32: IPC27: 割り込み優先度制御レジスタ 27 U-0 R/W-1 R/W-0 R/W-0 U-0 R/W-1 R/W-0 R/W-0 ADCP1IP<2:0> ADCP0IP<2:0> U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 ビット 15 ビット ビット 11 ビット 10-8 ビット 7-0 ADCP1IP<2:0>: ADC ペア 1 変換完了割り込み優先度ビット ADCP0IP<2:0>: ADC ペア 0 変換完了割り込み優先度ビット 注 : デバイスによっては 一部のビットが存在しない場合があります 詳細は 各デバイスのデータシートを参照してください DS70300B_JP - ページ Microchip Technology Inc.

47 第 41 章割り込み ( パート IV) 41 レジスタ 41-33: IPC28: 割り込み優先度制御レジスタ 28 U-0 R/W-1 R/W-0 R/W-0 U-0 R/W-1 R/W-0 R/W-0 ADCP5IP<2:0> ADCP4IP<2:0> U-0 R/W-1 R/W-0 R/W-0 U-0 R/W-1 R/W-0 R/W-0 ADCP3IP<2:0> ADCP2IP<2:0> 割り込み ( パート IV) ビット 15 ビット ビット 11 ビット 10-8 ビット 7 ビット 6-4 ビット 3 ビット 2-0 ADCP5IP<2:0>: ADC ペア 5 変換完了割り込み優先度ビット ADCP4IP<2:0>: ADC ペア 4 変換完了割り込み優先度ビット ADCP3IP<2:0>: ADC ペア 3 変換完了割り込み優先度ビット ADCP2IP<2:0>: ADC ペア 2 変換完了割り込み優先度ビット 注 : デバイスによっては 一部のビットが存在しない場合があります 詳細は 各デバイスのデータシートを参照してください 2009 Microchip Technology Inc. DS70300B_JP - ページ 41-47

48 dspic33f ファミリリファレンスマニュアル レジスタ 41-34: IPC29: 割り込み優先度制御レジスタ 29 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 R/W-1 R/W-0 R/W-0 ADCP6IP<2:0> (1) ビット 15-3 未実装 : 0 として読み出し ビット 2-0 ADCP6IP<2:0>: ADC ペア 6 変換完了割り込み 1 優先度ビット (1) 注 1: デバイスによっては 一部のビットが存在しない場合があります 詳細は 各デバイスのデータシートを参照してください DS70300B_JP - ページ Microchip Technology Inc.

49 第 41 章割り込み ( パート IV) 41 レジスタ 41-35: INTTREG: 割り込み制御およびステータスレジスタ U-0 U-0 U-0 U-0 R-0 R-0 R-0 R-0 ILR<3:0> U-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0 VECNUM<6:0> 割り込み ( パート IV) ビット ビット 11-8 ビット 7 ビット 6-0 ILR<3:0>: 新たな CPU 割り込み優先度ビット 1111 = CPU 割り込み優先度は = CPU 割り込み優先度は = CPU 割り込み優先度は 0 未実装 : 0 として読み出し VECNUM<6:0>: 割り込み待機中のベクタ番号ビット = 割り込み待機中のベクタ番号は = 割り込み待機中のベクタ番号は = 割り込み待機中のベクタ番号は Microchip Technology Inc. DS70300B_JP - ページ 41-49

50 dspic33f ファミリリファレンスマニュアル 41.5 割り込みセットアッププロシージャ 初期化 割り込み要因を設定するには 以下の手順を実行します 1. ネスト割り込みを使用しない場合は NSTDIS 制御ビット (INTCON1<15>) をセットします 2. 適切な IPCx 制御レジスタの制御ビットを書き込んで 割り込み要因のユーザーアプリケーション割り当ての優先度を選択します 優先度は そのアプリケーションと割り込み要因のタイプに依存します 複数の優先度を使用しない場合 有効にしたすべての割り込み要因に対して IPCx レジスタ制御ビットにゼロ以外の同じ値をプログラムします 注 : デバイスリセットで IPC レジスタが初期化され ユーザー割り込み要因がすべて優先度 4 に割り当てられます 3. 関連する IFSx ステータスレジスタ内で 関連する周辺モジュールの割り込みフラグステータスビットをクリアします 4. 関連する IECx 制御レジスタ内の対応する割り込み許可制御ビットをセットして 割り込み要因を有効にします 割り込みサービスルーチン ISR を宣言して割り込みベクタテーブル (IVT) を正しいベクタアドレスに初期化する手法は プログラミング言語 (C またはアセンブラ ) およびアプリケーション開発に使用する言語開発ツールセットに依存します 通常はユーザーアプリケーションの側で ISR が処理する割り込み要因について 対応する IFSx レジスタの割り込みフラグをクリアする必要があります クリアしない場合 アプリケーションはルーチン終了直後に再び ISR に入ります ISR がアセンブリで記述されている場合 RETFIE 命令で終了して 保存した PC 値 SRL の値 および以前の CPU 優先度をスタックから取り出す必要があります トラップサービスルーチン トラップサービスルーチン (TSR) は ISR と同様に記述しますが TSR への再入を防ぐために INTCON1 レジスタのトラップステータスフラグをクリアする必要がある点が異なります 割り込み禁止 割り込みを禁止にするには 以下の手順を実行します 1. PUSH 命令を使用して 現在の SR 値をソフトウェアスタックにプッシュします 2. SRL と値 0xE0 の論理和 (OR) をとり CPU を優先度 7 に設定します ユーザー割り込みを許可するには POP 命令を使用して 以前の SR 値を復元します 注 : 禁止できるのは 優先度 7 以下のユーザー割り込みのみです トラップ要因 ( レベル 8 ~ レベル 15) は無効にできません DISI 命令は 一定の時間の間 優先度 1 ~ 6 の割り込みを無効にします レベル 7 の割り込み要因は DISI 命令では禁止できません DS70300B_JP - ページ Microchip Technology Inc.

51 コード例 第 41 章割り込み ( パート IV) 例 41-1 に示したコードは ネスト割り込みを許可し タイマ 1 タイマ 2 タイマ 3 および変更通知ペリフェラルを優先度 および 4 にそれぞれ設定します また ステータスレジスタを使用して割り込みを有効 / 無効にする方法も示しています ISR のサンプルでは 割り込みのクリアを示します 例 41-1: 割り込み設定コードの例 void enableinterrupts(void) { /* Set CPU IPL to 0, enable level 1-7 interrupts */ /* No restoring of previous CPU IPL state performed here */ SRbits.IPL = 0; 41 割り込み ( パート IV) } return; void disableinterrupts(void) { /* Set CPU IPL to 7, disable level 1-7 interrupts */ /* No saving of current CPU IPL setting performed here */ SRbits.IPL = 7; } return; void initinterrupts(void) { /* Interrupt nesting enabled here */ INTCON1bits.NSTDIS = 0; /* Set Timer3 interrupt priority to 6 (level 7 is highest) */ IPC2bits.T3IP = 6; /* Set Timer2 interrupt priority to 5 */ IPC1bits.T2IP = 5; /* Set Change Notice interrupt priority to 4 */ IPC4bits.CNIP = 4; /* Set Timer1 interrupt priority to 2 */ IPC0bits.T1IP = 2; /* Reset Timer1 interrupt flag */ IFS0bits.T1IF = 0; /* Reset Timer2 interrupt flag */ IFS0bits.T2IF = 0; /* Reset Timer3 interrupt flag */ IFS0bits.T3IF = 0; /* Enable CN interrupts */ IEC1bits.CNIE = 1; /* Enable Timer1 interrupt */ IEC0bits.T1IE = 1; /* Enable Timer2 interrupt (PWM time base) */ IEC0bits.T2IE = 1; 2009 Microchip Technology Inc. DS70300B_JP - ページ 41-51

52 dspic33f ファミリリファレンスマニュアル 例 41-1: 割り込み設定コードの例 ( 続き ) /* Enable Timer3 interrupt */ IEC0bits.T3IE = 1; /* Reset change notice interrupt flag */ IFS1bits.CNIF = 0; } return; void attribute (( interrupt, no_auto_psv)) _T1Interrupt(void) { /* Insert ISR Code Here*/ } /* Clear Timer1 interrupt */ IFS0bits.T1IF = 0; void attribute (( interrupt, no_auto_psv)) _T2Interrupt(void) { /* Insert ISR Code Here*/ } /* Clear Timer2 interrupt */ IFS0bits.T2IF = 0; void attribute (( interrupt, no_auto_psv)) _T3Interrupt(void) { /* Insert ISR Code Here*/ } /* Clear Timer3 interrupt */ IFS0bits.T3IF = 0; void attribute (( interrupt, no_auto_psv)) _CNInterrupt(void) { /* Insert ISR Code Here*/ } /* Clear CN interrupt */ IFS1bits.CNIF = 0; DS70300B_JP - ページ Microchip Technology Inc.

53 2009 Microchip Technology Inc. DS70300B_JP - ページ レジスタマップ 表 41-2: File Name SFR Addr. 割り込み制御レジスタマップ INTCON NSTDIS OVA ERR dspic33f 割り込み ( パート IV) モジュールに対応する特殊機能レジスタについて 表 41-2 にまとめます Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 OVB ERR COVA ERR COVB ERR OVATE OVBTE COVTE SFTAC ERR DIV0 ERR MATH ERR ADDR ERR STK ERR OSC FAIL All Resets 0000 INTCON ALTIVT DISI INT2EP INT1EP INT0EP 0000 IFS ADIF U1TXIF U1RXIF SPI1IF SPI1EIF T3IF T2IF OC2IF IC2IF T1IF OC1IF IC1IF INT0IF 0000 IFS INT2IF INT1IF CNIF AC1IF MI2C1IF SI2C1IF 0000 IFS3 008A PSEMIF 0000 IFS4 008C U1EIF 0000 IFS5 008E PWM2IF PWM1IF 0000 IFS ADCP1IF ADCP0IF AC4IF AC3IF AC2IF PWM4IF PWM3IF 0000 IFS ADCP6IF ADCP5IF ADCP4IF ADCP3IF ADCP2IF 0000 IEC ADIE U1TXIE U1RXIE SPI1IE SPI1EIE T3IE T2IE OC2IE IC2IE T1IE OC1IE IC1IE INT0IE 0000 IEC INT2IE INT1IE CNIE AC1IE MI2C1IE SI2C1IE 0000 IEC3 009A PSEMIE 0000 IEC4 009C U1EIE 0000 IEC5 009E PWM2IE PWM1IE 0000 IEC6 00A0 ADCP1IE ADCP0IE AC4IE AC3IE AC2IE PWM4IE PWM3IE 0000 IEC7 00A2 ADCP6IE ADCP5IE ADCP4IE ADCP3IE ADCP2IE 0000 IPC0 00A4 T1IP<2:0> OC1IP<2:0> IC1IP<2:0> INT0IP<2:0> 4444 IPC1 00A6 T2IP<2:0> OC2IP<2:0> IC2IP<2:0> 4440 IPC2 00A8 U1RXIP<2:0> SPI1IP<2:0> SPI1EIP<2:0> T3IP<2:0> 4444 IPC3 00AA - ADC1IP<2:0> U1TXIP<2:0> 0044 IPC4 00AC CNIP<2:0> AC1IP<2:0> MI2C1IP<2:0> SI2C1IP<2:0> 4444 IPC5 00AE INT1IP<2:0> 0004 IPC7 00B2 INT2IP<2:0> 0040 IPC14 00C0 PSEMIP<2:0> 0040 IPC16 00C4 U1EIP<2:0> 0040 IPC23 00D2 PWM2IP<2:0> PWM1IP<2:0> 4400 IPC24 00D4 PWM4IP<2:0> PWM3IP<2:0> 0044 IPC25 00D6 AC2IP<2:0> 4000 IPC26 00D8 AC4IP<2:0> AC3IP<2:0> 0044 IPC27 00DA ADCP1IP<2:0> ADCP0IP<2:0> 4400 IPC28 00DC ADCP5IP<2:0> ADCP4IP<2:0> ADCP3IP<2:0> ADCP2IP<2:0> 4444 IPC29 00DE ADCP6IP<2:0> 0004 INTTREG 00E0 ILR<3:0> VECNUM<6:0> 0000 x = リセット時不定 = 未実装 0 として読み出し リセット時の値は 16 進数で表示 第 41 章割り込み ( パート IV) 割り込み ( パート IV) 41

54 dspic33f ファミリリファレンスマニュアル 41.7 設計のヒント 質問 1: 答 : 質問 2: 答 : 同時に保留になった 2 つの割り込み要因があり ユーザーアプリケーション設定の優先度が同じである場合はどうなりますか この場合 自然順序の優先度が高い割り込み要因が優先されます 自然順序の優先度は 割り込み要因の割り込みベクタテーブル (IVT) アドレスによって決まります 割り込み要因の IVT アドレスが低いほど 自然順序の優先度は高くなります DISI 命令を使用して すべての割り込み要因とトラップを無効にできますか DISI 命令は トラップや 優先度 7 の割り込み要因を無効にできません ただし DISI 命令は ユーザーのアプリケーションで優先度 7 の割り込み要因が有効になっていない場合 すべての割り込み要因を無効にする便利な方法として使用できます DS70300B_JP - ページ Microchip Technology Inc.

55 41.8 関連するアプリケーションノート 第 41 章割り込み ( パート IV) この項では マニュアルのこの章に関連するアプリケーションノートをリストアップします これらのアプリケーションノートは 特に dspic33f 製品ファミリ用に記述されているわけではありませんが その概念は適切であり 変更あるいは制限事項も考慮に入れて使用可能です 現在割り込み ( パート IV) モジュールに関連するアプリケーションノートは次のとおりです タイトルアプリケーションノート # 現在関連するアプリケーションノートはありません 41 割り込み ( パート IV) 注 : dspic33f デバイスファミリに関するその他のアプリケーションノートやサンプルコードについては マイクロチップウェブサイト ( をご参照ください 2009 Microchip Technology Inc. DS70300B_JP - ページ 41-55

56 dspic33f ファミリリファレンスマニュアル 41.9 改版履歴 リビジョン A (2007 年 11 月 ) 本文書の初版リリース リビジョン B (2008 年 8 月 ) この改版には 以下の変更が含まれています 例 : 項 割り込み優先度 の例で使用した 外部割り込み 0 (INT0) という語を UART1 Rx 割り込み に修正しました 項 割り込み優先度 の例で使用した 外部割り込み 0 (INT1) という語を 外部割り込み 0 (INT0) に修正しました 注 : - すべての IPC レジスタの割り込み優先度について注記を追加しました ( レジスタ からレジスタ 41-34) - IPC28: 割り込み優先度制御レジスタ 28 の誤った参照先を削除しました ( レジスタ を参照 ) レジスタ : 項 割り込み制御レジスタとステータスレジスタ の項のレジスタ定義に相互参照を追加しました - (INTCON1): 割り込み制御レジスタ 1 のビット 11 およびビット 12 の記述を修正しました ( レジスタ 41-3 を参照 ) テーブル : - 表 41-1 で IRQ 番号 38 ~ ~ 72 および 74 ~ 101 の IVT アドレスおよび AIVT アドレスを追加しました 本書全体で 言語や書式の変更など その他のマイナーな修正が行われています DS70300B_JP - ページ Microchip Technology Inc.

dsPIC33F FRM - Section 47. Interrupts (Part V)

dsPIC33F FRM - Section 47. Interrupts (Part V) 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います セクション 47. 割り込み ( パート V) ハイライト 本セクションには以下の主要項目を記載しています 47 47.1 はじめに... 47-2 47.2 ノンマスカブルトラップ... 47-7 47.3 割り込み処理タイミング... 47-12 47.4 割り込み制御 / ステータスレジスタ...

More information

33F FRM Section 6. Interrupts.fm

33F FRM Section 6. Interrupts.fm 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います セクション. 割り込み ハイライト 本セクションには下記の主要項目を記載しています.1 はじめに... -2.2 ノンマスカブルトラップ... -7.3 割り込み処理タイミング... -13.4 割り込み制御およびステータスレジスタ... -1.5 割り込みのセットアップ手順... -59.

More information

PIC24F Family Reference Manual Section 8 Interrupts

PIC24F Family Reference Manual Section 8 Interrupts 第 8 章 ハイライト 本章では次のトピックについて説明します 8.1 はじめに... 8-2 8.2 マスクできないトラップ... 8-5 8.3 処理のタイミング... 8-9 8.4 制御とステータスレジスタ... 8-12 8.5 設定手順... 8-20 8.6 レジスタマップ... 8-21 8.7 設計の秘訣... 8-23 8.8 関連するアプリケーションノート... 8-24 8.9

More information

dsPIC33F/PIC24H

dsPIC33F/PIC24H 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います セクション 53. 割り込み ( パート VI) ハイライト 本セクションには以下の主要項目を記載しています 53.1 はじめに... 53-2 53.2 ノンマスカブルトラップ... 53-8 53.3 割り込み処理タイミング... 53-13 53.4 割り込み制御 / ステータスレジスタ...

More information

dspic33e/pic24e ファミリリファレンスマニュアル.1 はじめに Note: dspic33e/pic24e の割り込みコントローラは CPU に対する多数の周辺モジュールからの割り込み要求の中から 最も優先度の高い 1 つの割り込み要求を選択します dspic33e/pic24e 本モ

dspic33e/pic24e ファミリリファレンスマニュアル.1 はじめに Note: dspic33e/pic24e の割り込みコントローラは CPU に対する多数の周辺モジュールからの割り込み要求の中から 最も優先度の高い 1 つの割り込み要求を選択します dspic33e/pic24e 本モ 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います セクション. 割り込み 割り込み ハイライト 本セクションには下記の主要項目を記載しています.1 はじめに... -2.2 ノンマスカブルトラップ... -5.3 割り込み処理タイミング... -11.4 割り込み制御 / ステータスレジスタ... -15.5 割り込みのセットアップ手順...

More information

33E_24E FRM Interrupts.fm

33E_24E FRM Interrupts.fm 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います 割り込み ハイライト 本セクションには以下の主要項目を記載しています 1.0 はじめに... 2 2.0 ノンマスカブルトラップ... 7 3.0 割り込み処理タイミング... 16 4.0 割り込み制御 / ステータスレジスタ... 20 5.0 割り込みの設定手順... 32 6.0 レジスタマップ...

More information

Timers_JP.fm

Timers_JP.fm 14 14.1 14-2 14.2 14-3 14.3 14-6 14.4 14-9 14.5 14-14 14.6 14-14 14.7 16 14-15 14.8 2 32 khz 14-15 14.9 32 14-16 14.10 32 14-18 14.11 32 14-21 14.12 14-21 14.13 14-22 14.14 14-23 14.15 14-24 14.16 14-25

More information

PIC24F Family Reference Manual Section 9 WDT

PIC24F Family Reference Manual Section 9 WDT 第 9 章 (WDT) ハイライト 本章では次のトピックについて説明します 9.1 はじめに... 9-2 9.2 WDT の動作... 9-2 9.3 レジスタマップ... 9-5 9.4 設計の秘訣... 9-6 9.5 関連するアプリケーションノート... 9-7 9.6 改版履歴... 9-8 9 2007 Microchip Technology Inc. Advance Information

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション コンピュータアーキテクチャ 第 13 週 割込みアーキテクチャ 2013 年 12 月 18 日 金岡晃 授業計画 第 1 週 (9/25) 第 2 週 (10/2) 第 3 週 (10/9) 第 4 週 (10/16) 第 5 週 (10/23) 第 6 週 (10/30) 第 7 週 (11/6) 授業概要 2 進数表現 論理回路の復習 2 進演算 ( 数の表現 ) 演算アーキテクチャ ( 演算アルゴリズムと回路

More information

Microsoft PowerPoint - kougi7.ppt

Microsoft PowerPoint - kougi7.ppt 到達目標 スーパバイザモード, 特権命令, 割り込み CPU の割り込みメカニズム 割り込みの種類ごとに, 所定の例外処理が呼び出される スーパーバイザモードに, 自動的に切り替わる 割り込み終了後に 元のモード に戻る ハードウエア割り込みについて 割り込み禁止 割り込み発生時の CPU の挙動 現在の処理を中断 例外処理用のプログラム ( ハンドラともいう ) が起動される プログラム実行の流れ

More information

2.RL78 での割り込み処理 ( 割り込み受け付け ) マスクが解除された (xxmk ビットが 0 の ) 割り込み要求信号は 2 つの用途で使用されます 一つ目は,CPU のスタンバイ状態の解除です この動作は, 割り込み優先順位とは全く無関係で, マスクされていない (xxmk=0 の )

2.RL78 での割り込み処理 ( 割り込み受け付け ) マスクが解除された (xxmk ビットが 0 の ) 割り込み要求信号は 2 つの用途で使用されます 一つ目は,CPU のスタンバイ状態の解除です この動作は, 割り込み優先順位とは全く無関係で, マスクされていない (xxmk=0 の ) 割り込み / ポーリング /DMA/DTC(RL78 での周辺機能制御 ) 周辺機能を介してデータ転送を制御する方法には, 大きく分けて 3 つの方法があります その中で DMA や DTC は CPU を介することなく, 高速にデータを転送することができますが, 使用できるチャネル数が限られます そのため, たとえば,CSI のスレーブでの高速通信のように限られた時間内に転送が必要な場合に使用できます

More information

39733a.fm

39733a.fm 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います セクション 45. 拡張データ空間 (EDS) を備えたデータメモリ ハイライト 本セクションには下記の主要項目を記載しています 45.1 はじめに... 45-2 45.2 データメモリの構成... 45-3 45.3 拡張データ空間... 45-7 45.4 データ配置... 45-14

More information

命令セットの構成例 a) 算術 演算命令 例 )ADD dest, source : dest dest + source SUB dest, source : dest dest - source AND dest, source : dest dest AND source SHR reg, c

命令セットの構成例 a) 算術 演算命令 例 )ADD dest, source : dest dest + source SUB dest, source : dest dest - source AND dest, source : dest dest AND source SHR reg, c 第 11 回機械語とアーキテクチャ コンピュータは, 記号で組み立てられ, 記号で動く機械 : ソフトウェアソフトウェア としても理解されなければならない ソフトウェアの最も下位レベルのしくみが ( 命令セット ) アーキテクチャ である 講義では命令符号 ( 機械語 ) の構成と種類についてまとめる また, 機械語を効率良く実行するために採用されている技術について紹介する 機械語とアセンブリ言語

More information

RH850の割り込み/例外実現方法 CC-RHアプリケーションガイド

RH850の割り込み/例外実現方法 CC-RHアプリケーションガイド RH850の割り込み / 例外実現方法 CC-RH アプリケーションガイド R20UT3546JJ0101 2018.10.12 ソフトウェア開発統括部 ソフトウェア技術部ルネサスエレクトロニクス株式会社 アジェンダ 概要ページ 03 割り込み / 例外発生時に実行する関数の定義ページ 10 直接ベクタ方式のベクタの定義ページ 17 テーブル参照方式のベクタの定義ページ 25 その他 割り込み制御ページ

More information

スライド 1

スライド 1 RL78/G13 周辺機能紹介 SAU シリアル アレイ ユニット ルネサスエレクトロニクス株式会社 ルネサス半導体トレーニングセンター 2013/08/02 Rev. 0.00 00000-A コンテンツ SAU の概要 UART 通信機能のプログラム サンプル紹介 2 SAU の概要 3 SAU の機能 クロック同期式調歩同期式マスタ動作のみ チャネル 0: 送信チャネル 1: 受信 4 UART

More information

PIC24F Family Reference Manual Section 2

PIC24F Family Reference Manual Section 2 第 章 ハイライト 本章では次のトピックについて説明します.1 はじめに... -. プログラマ用モデル... -4.3 ソフトウェアスタックポインタ... -7.4 レジスタ説明... -10.5 算術演算論理ユニット (ALU)... -13.6 乗算と除算のサポート... -14.7 コンパイラとの親和性を持つアーキテクチャ... -17.8 複数ビットシフトのサポート... -17.9 命令フローの種類...

More information

Section 36. Programmable Cyclic Redundancy Check (CRC)

Section 36. Programmable Cyclic Redundancy Check (CRC) 36 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います セクション 36. プログラマブル巡回冗長検査 () プログラマブル ハイライト 本セクションには以下の主要項目を記載しています 36.1 はじめに... 36-2 36.2 モジュールの概要... 36-3 36.3 レジスタ... 36-3 36.4 エンジン... 36-6 36.5

More information

39734a_JP.fm

39734a_JP.fm 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います 46 セクション 46 スケーラブルコンパレータモジュール スケーラブルコンパレータモジュール ハイライト 本セクションでは 以下の項目について説明します 46.1 はじめに...46-2 46.2 制御レジスタ...46-4 46.3 コンパレータの動作...46-7 46.4 コンパレータ応答時間...46-7

More information

スライド 1

スライド 1 RL78/G13 周辺機能紹介安全機能 ルネサスエレクトロニクス株式会社 ルネサス半導体トレーニングセンター 2013/08/02 Rev. 0.00 00000-A コンテンツ 安全機能の概要 フラッシュ メモリ CRC 演算機能 RAM パリティ エラー検出機能 データの保護機能 RAM ガード機能 SFR ガード機能 不正メモリ アクセス機能 周辺機能を使用した安全機能 周波数検出機能 A/D

More information

スライド 1

スライド 1 RX62N 周辺機能紹介 MTU2 マルチファンクションタイマパルスユニット 2 ルネサスエレクトロニクス株式会社ルネサス半導体トレーニングセンター 2013/08/02 Rev. 1.00 00000-A コンテンツ MTU2 の概要 プログラムサンプル (1) インプットキャプチャ機能 プログラムサンプル (2) PWM モード プログラムサンプル (3) 相補 PWM モード プログラムサンプルのカスタマイズ

More information

割り込み 今までのプログラムは 順番にそって命令を実行していくのみ それはそれで良いが 不便な場合もある 例えば 時間のかかる周辺機器を使う場合 その周辺機器が動作を終了するまで CPU は待たなければいけない 方法 1( ポーリング ) 一定時間毎に 周辺機器の動作が終了したか調べる 終了していれ

割り込み 今までのプログラムは 順番にそって命令を実行していくのみ それはそれで良いが 不便な場合もある 例えば 時間のかかる周辺機器を使う場合 その周辺機器が動作を終了するまで CPU は待たなければいけない 方法 1( ポーリング ) 一定時間毎に 周辺機器の動作が終了したか調べる 終了していれ 第 2 回 本日の内容割り込みとは タイマー 割り込み 今までのプログラムは 順番にそって命令を実行していくのみ それはそれで良いが 不便な場合もある 例えば 時間のかかる周辺機器を使う場合 その周辺機器が動作を終了するまで CPU は待たなければいけない 方法 1( ポーリング ) 一定時間毎に 周辺機器の動作が終了したか調べる 終了していれば 次の動作に移るし そうでなければ また少し待ってから同じことを繰り返す

More information

Section 8. Interrupts

Section 8. Interrupts 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います セクション 8. 割り込み 本セクションには以下の主な項目を記載しています 8.1 はじめに... 8-2 8.2 制御レジスタ... 8-3 8.3 動作... 8-12 8.4 シングルベクタモード... 8-13 8.5 マルチベクタモード... 8-14 8.6 割り込みベクタアドレスの計算...

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2015 年度 5 セメスター クラス D 計算機工学 6. MIPS の命令と動作 演算 ロード ストア ( 教科書 6.3 節,6.4 節 ) 大学院情報科学研究科鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ レジスタ間の演算命令 (C 言語 ) c = a + b; ( 疑似的な MIPS アセンブリ言語 )

More information

スライド 1

スライド 1 RL78/G13 周辺機能紹介 ADC A/D コンバータ ルネサスエレクトロニクス株式会社 ルネサス半導体トレーニングセンター 2013/08/02 Rev. 0.00 00000-A コンテンツ ADC の概要 ソフトウエア トリガ セレクト モード 連続変換モードのプログラム サンプル紹介 2 ADC の概要 3 ADC のブロック図 パワー オフが可能 入力 選択 記憶 比較 基準電圧 変換結果

More information

スライド 1

スライド 1 RX62N 周辺機能紹介データフラッシュ データ格納用フラッシュメモリ ルネサスエレクトロニクス株式会社ルネサス半導体トレーニングセンター 2013/08/02 Rev. 1.00 00000-A コンテンツ データフラッシュの概要 プログラムサンプル 消去方法 書き込み方法 読み出し方法 FCUのリセット プログラムサンプルのカスタマイズ 2 データフラッシュの概要 3 データフラッシュとは フラッシュメモリ

More information

割り込み 今までのプログラムは 順番にそって命令を実行していくのみ それはそれで良いが 不便な場合もある 例えば 時間のかかる周辺機器を使う場合 その周辺機器が動作を終了するまで CPU は待たなければいけない 方法 1( ポーリング ) 一定時間毎に 周辺機器の動作が終了したか調べる 終了していれ

割り込み 今までのプログラムは 順番にそって命令を実行していくのみ それはそれで良いが 不便な場合もある 例えば 時間のかかる周辺機器を使う場合 その周辺機器が動作を終了するまで CPU は待たなければいけない 方法 1( ポーリング ) 一定時間毎に 周辺機器の動作が終了したか調べる 終了していれ 第 2 回 本日の内容割り込みとは タイマー 割り込み 今までのプログラムは 順番にそって命令を実行していくのみ それはそれで良いが 不便な場合もある 例えば 時間のかかる周辺機器を使う場合 その周辺機器が動作を終了するまで CPU は待たなければいけない 方法 1( ポーリング ) 一定時間毎に 周辺機器の動作が終了したか調べる 終了していれば 次の動作に移るし そうでなければ また少し待ってから同じことを繰り返す

More information

RL78開発環境移行ガイド R8C/M16C, H8S/H8SXからRL78への移行(統合開発環境編)(High-performance Embedded Workshop→CS+)

RL78開発環境移行ガイド R8C/M16C, H8S/H8SXからRL78への移行(統合開発環境編)(High-performance Embedded Workshop→CS+) RL78 開発環境移行ガイド R8C/M16C, H8S/H8SXからRL78への移行 ( 統合開発環境編 ) (High-performance Embedded Workshop CS+) 2017/4/7 R20UT2087JJ0103 ソフトウェア事業部ソフトウエア技術部ルネサスシステムデザイン株式会社 はじめに 本資料は 統合開発環境 High-performance Embedded Workshop

More information

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A STM32L_ADC の説明 V003 2014/03/30 STM32L-Discovery の A/D 入力を行うプログラムです A/D CH0 ~ A/D CH3 の 4 本の入力が可能です 提供する PC のアプリケーション Access_SerialPort を使用して UART( 非同期シリアル通信 ) により A/D 入力の表示を行うことができます 無料の開発ツール Atollic TrueSTUDIO

More information

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O)

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O) ALTIMA Corp. SOPC Builder ペリフェラル簡易ユーザ マニュアル PIO (Parallel I/O) ver.1.0 2010 年 8 月 ELSENA,Inc. SOPC Builder ペリフェラル簡易ユーザ マニュアル PIO (Parallel I/O) 目次 1. はじめに... 3 2. PIO 概要... 3 2-1. PIO 概要... 3 2-2. PIO

More information

81 /******************************************************************************/ 82 /* スレーブアドレスの設定 */ 83 /*****************************************

81 /******************************************************************************/ 82 /* スレーブアドレスの設定 */ 83 /***************************************** 1 /******************************************************************************/ 2 /* IIC(Inter IC Bus) の制御 */ 3 /******************************************************************************/ 4 /*

More information

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x CoIDE 用 F4D_VCP の説明 V001 2014/07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x08000000 です デバッグが可能です 目次 1. USB の VCP( 仮想 COM ポート )

More information

S1C17 Family Application Note S1C17 シリーズ PORT 多重割り込みアプリケーションノート Rev.1.0

S1C17 Family Application Note S1C17 シリーズ PORT 多重割り込みアプリケーションノート Rev.1.0 S1C17 Family Application Note S1C17 シリーズ PORT 多重割り込みアプリケーションノート Rev.1.0 評価ボード キット 開発ツールご使用上の注意事項 1. 本評価ボード キット 開発ツールは お客様での技術的評価 動作の確認および開発のみに用いられることを想定し設計されています それらの技術評価 開発等の目的以外には使用しないで下さい 本品は 完成品に対する設計品質に適合していません

More information

実習内容 PIC18C242 のポート B に接続した LED を点滅させます ( 他の実習と同じ内容です ) 8 個の LED に表示される値が +3 ずつインクリメントします MPLAB を使って MPASM アセンブラのソース ファイルをアセンブルします MPLAB とソース ファイルは配布し

実習内容 PIC18C242 のポート B に接続した LED を点滅させます ( 他の実習と同じ内容です ) 8 個の LED に表示される値が +3 ずつインクリメントします MPLAB を使って MPASM アセンブラのソース ファイルをアセンブルします MPLAB とソース ファイルは配布し エンベデッド コントロール セミナー 2000 2000 Microchip Technology Incorporated. All Rights Reserved. S9002A Embedded Control Seminar 2000 1 実習内容 PIC18C242 のポート B に接続した LED を点滅させます ( 他の実習と同じ内容です ) 8 個の LED に表示される値が +3

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション マイコンプログラミング演習 I 第 04-05 回 LEDを用いたI/O 制御担当 : 植村 実験の目的 本実験ではマイコンシステムを用いた信号の入出力の制御方法を理解することを目的とし, マイコンのアーキテクチャを理解 実装するとともに, アセンブラによるプログラミング技術の習得を行う. 回路の構成として,PIC16F84A を用いてスイッチを入力とする LED の点灯 / 消灯の出力操作を行う回路ならびにアセンブラプログラムを実装する.

More information

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは? アルテラ FPGA 向け PLL リコンフィグの応用回路 1. PLL リコンフィグとは アルテラ FPGA は PLL 機能を内蔵しています PLL を利用して基本周波数を逓倍 分周したクロックを利用することができます 通常 FPGA 開発ツール Quartus2( 以下 Q2) の MegaWizard プラグインマネージャを利用して PLL を設定し 希望のクロック周波数を得ることができます

More information

CoIDE 用 STM32F4_UART2 の説明 V /03/30 STM32F4 Discovery の非同期シリアル通信ポート UART2 の送受信を行うプログラムです Free の開発ツール CoIDE で作成したプロジェクトサンプルです プログラムの開始番地は 0x08000

CoIDE 用 STM32F4_UART2 の説明 V /03/30 STM32F4 Discovery の非同期シリアル通信ポート UART2 の送受信を行うプログラムです Free の開発ツール CoIDE で作成したプロジェクトサンプルです プログラムの開始番地は 0x08000 CoIDE 用 STM32F4_UART2 の説明 V002 2014/03/30 STM32F4 Discovery の非同期シリアル通信ポート UART2 の送受信を行うプログラムです Free の開発ツール CoIDE で作成したプロジェクトサンプルです プログラムの開始番地は 0x08000000 です デバッグが可能です 提供する PC のアプリケーションの Access_SerialPort

More information

計算機アーキテクチャ

計算機アーキテクチャ 計算機アーキテクチャ 第 11 回命令実行の流れ 2014 年 6 月 20 日 電気情報工学科 田島孝治 1 授業スケジュール ( 前期 ) 2 回日付タイトル 1 4/7 コンピュータ技術の歴史と コンピュータアーキテクチャ 2 4/14 ノイマン型コンピュータ 3 4/21 コンピュータのハードウェア 4 4/28 数と文字の表現 5 5/12 固定小数点数と浮動小数点表現 6 5/19 計算アーキテクチャ

More information

まず,13 行目の HardwareTimer Timer(1); は,HardwareTimer というクラスを利用するという宣言である. この宣言によって Timer というインスタンスが生成される.Timer(1) の 1 は,OpenCM に 4 個用意されているタイマのうち,1 番のタイマ

まず,13 行目の HardwareTimer Timer(1); は,HardwareTimer というクラスを利用するという宣言である. この宣言によって Timer というインスタンスが生成される.Timer(1) の 1 は,OpenCM に 4 個用意されているタイマのうち,1 番のタイマ 8 タイマ割り込みを使ってみよう割り込み (Interrupt) とは, 言葉の意味の通り, ある作業中に割り込むことである. マイコンにおいてはとても重要な機能の一つである. 例えば, インスタントカップ麺にお湯を入れて 3 分間待ってから食べることを想像してみよう. お湯を入れてカップ麺ができるまでの 3 分間, 時計の針だけを見つめ続けて, 他には何にもせずに待ち続ける人はほとんどいないだろう.

More information

スライド 1

スライド 1 RX62N 周辺機能紹介 RTC リアルタイムクロック ルネサスエレクトロニクス株式会社ルネサス半導体トレーニングセンター 2013/08/02 Rev. 1.00 00000-A コンテンツ RTC の概要 プログラムサンプル プログラムサンプルのカスタマイズ 2 RTC の概要 3 RTC の仕様 32.768KHz メイン発振 サブ発振 CPG RTC システムクロック (ICLK) 周辺モジュールクロック

More information

【注意事項】RX Driver Package、 RXファミリ RTC モジュール Firmware Integration Technology

【注意事項】RX Driver Package、 RXファミリ RTC モジュール Firmware Integration Technology 注意事項 RX Driver Package RX ファミリ RTC モジュール Firmware Integration Technology 概要 RX Driver Package および RX ファミリ RTC モジュール Firmware Integration Technology( 以下 RTC FIT モジュール ) の使用上の注意事項を連絡します 1. R_RTC_Read 関数における時刻読み出し処理の注意事項

More information

スライド 1

スライド 1 RX62N 周辺機能紹介 TMR 8 ビットタイマ ルネサスエレクトロニクス株式会社ルネサス半導体トレーニングセンター 2013/08/02 Rev. 1.00 00000-A コンテンツ TMR の概要 プログラムサンプル (1) パルス出力機能 (8 ビットモード ) プログラムサンプル (2) インターバルタイマ機能 (16 ビット コンペアマッチカウントモード ) プログラムサンプルのカスタマイズ

More information

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート ) TrueSTUDIO 用 F4D_VCP の説明 V001 2014/07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです 無料の試用版開発ツール Atollic TrueSTUDIO for ARM Lite で作成したプロジェクトです ビルド可能なプログラムのコードサイズが 32Kbyte 以内の制限があります プログラムの開始番地は 0x08000000

More information

1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受

1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受 STM32L_UART1 の説明 V004 2014/03/30 STM32L-Discovery の UART 1 の送受信を行うプログラムです 無料の開発ツール Atollic TrueSTUDIO for ARM Lite( 試用版 ) で作成したプロジェクトです プログラムの開始番地は 0x08000000 です デバッグが可能です PC アプリケーションの Access_SerialPort

More information

Microsoft PowerPoint - RL78G14_動画マニュアル_タイマRD.ppt [互換モード]

Microsoft PowerPoint - RL78G14_動画マニュアル_タイマRD.ppt [互換モード] RL78/G14 周辺機能紹介タイマ RD ルネサスエレクトロニクス株式会社 ルネサス半導体トレーニングセンター 2013/08/02 Rev. 0.00 00000-A コンテンツ タイマ RD の概要 PWM 機能のプログラム サンプル紹介 相補 PWM モードのプログラム サンプル紹介 2 タイマ RD の概要 3 タイマ RD の機能 モード 使用チャネル チャネル0, チャネル1 独立で使用

More information

PIC24F Reference Manual Sect.23

PIC24F Reference Manual Sect.23 第 23 章 ハイライト 本章では次のトピックについて説明します 23.1 はじめに... 23-2 23.2 ステータスと制御レジスタ... 23-3 23.3 動作モード... 23-7 23.4 マスターモードのクロック周波数... 23-18 23.5 省電力モードでの動作... 23-19 23.6 レジスタマップ... 23-20 23.7 電気的仕様... 23-21 23.8 関連するアプリケーションノート...

More information

1. 新規プロジェクト作成の準備新規プロジェクトのためのフォルダを用意して そこにプロジェクトを作成します [ 新しいフォルダー ] をクリックして希望のフォルダに新しいフォルダを作成します この例では TrST_F401N_BlinkLD2 というフォルダを作成しました TrST_F401N_Bl

1. 新規プロジェクト作成の準備新規プロジェクトのためのフォルダを用意して そこにプロジェクトを作成します [ 新しいフォルダー ] をクリックして希望のフォルダに新しいフォルダを作成します この例では TrST_F401N_BlinkLD2 というフォルダを作成しました TrST_F401N_Bl NUCLEO-F401RE の TrueSTUDIO プロジェクト構築方法 V001 2014/09/24 Atollic TrueSTUDIO for ARM Lite を使用して NUCLEO-F401RE のプロジェクトを新規に作成する方法について説明します また ビルドとデバッグについても説明しています 目次 1. 新規プロジェクト作成の準備... 2 2. 新規プロジェクトの作成... 3

More information

Jan/25/2019 errata_c17m11_10 S1C17 マニュアル正誤表 項目 リセット保持時間 対象マニュアル発行 No. 項目ページ S1C17M10 テクニカルマニュアル システムリセットコントローラ (SRC) 特性 19-3 S1C17M20/M

Jan/25/2019 errata_c17m11_10 S1C17 マニュアル正誤表 項目 リセット保持時間 対象マニュアル発行 No. 項目ページ S1C17M10 テクニカルマニュアル システムリセットコントローラ (SRC) 特性 19-3 S1C17M20/M Jan/25/2019 errata_c17m11_10 S1C17 マニュアル正誤表 項目 リセット保持時間 対象マニュアル発行 No. 項目ページ S1C17M10 テクニカルマニュアル 413180100 19.4 システムリセットコントローラ (SRC) 特性 19-3 S1C17M20/M21/M22/M23/M24/M25 テクニカルマニュアル 413556900 21.4 システムリセットコントローラ

More information

AN-1077: ADXL345 Quick Start Guide

AN-1077: ADXL345 Quick Start Guide 09119-002 TOP 09119-001 ADXL345 Quick Start Guide by Tomoaki Tsuzuki APPLICATION NOTE PHYSICAL MOUNTING ADXL345 は 3 軸の加速度センサーです 検出軸方向を Figure1 に示します ADXL345 は検出軸の正方向に加速されると正極性の出力になります 重力は検出軸方向の逆方向の極性が出力されるので注意が必要です

More information

データ収集用 NIM/CAMAC モジュールマニュアル 2006/5/23 目次 クレート コントローラ CC/ NIM ADC 1821 (Seiko EG&G)...3 ADC インターフェイス U デッドタイム

データ収集用 NIM/CAMAC モジュールマニュアル 2006/5/23 目次 クレート コントローラ CC/ NIM ADC 1821 (Seiko EG&G)...3 ADC インターフェイス U デッドタイム データ収集用 NIM/CAMAC モジュールマニュアル 2006/5/23 hiromi@tac.tsukuba.ac.jp 目次 クレート コントローラ CC/7700...2 NIM ADC 1821 (Seiko EG&G)...3 ADC インターフェイス U9201...4 デッドタイム カウンター NK-1000...5 AD811 8ch ADC (Ortec)...6 C011 4ch

More information

RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for

RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for ARM Lite 4.2.0 で作成した STM32F4 Discovery 基板用のプロジェクトです

More information

DUSx200 シリーズコントローラ I2C インターフェース仕様書

DUSx200 シリーズコントローラ I2C インターフェース仕様書 DUSx200 シリーズコントローラ I2C インターフェース仕様書 目次 1. 変更履歴... 2 2. 適用... 3 3. ホストインターフェース... 3 3.1. 通信タイミング... 3 3.2. 制御信号... 3 3.3. 通信仕様... 4 3.4. プロトコル仕様... 4 4. レポート形式... 5 4.1. タッチ座標データ... 5 4.2 水レポート... 5 5. メンテナンスコマンド...

More information

三菱電機マイコン機器ソフトウエア株式会社

三菱電機マイコン機器ソフトウエア株式会社 MU500-RX サンプル回路仕様書 三菱電機マイコン機器ソフトウエア株式会社 2012-5-9 1 概要 1.1 目的本仕様書は MU500-RX と MU500-RK で実現する 1 秒カウンタの仕様について記述するものである マイコンで 1 秒を生成し 表示は 7 セグメント LED を用いる また 開始 / 停止は Push-SW を使う 1.2 関連文書 MU500-RX

More information

スライド 1

スライド 1 2. 転送命令を学ぼう 2004 年 8 月に本講義ノートを Web にアップして以来, とても多くの方の訪問を受けてきました. 内容が一部古くなっていたので,2012 年 5 月時点の情報に書き改めました. 主な変更点は以下の通りです. 第 0 章に本講座の準備のための章を設け, 以下の更新をしました. 1. プログラム開発環境 (MPLAB IDE) を v8.84 に更新しました. 2012

More information

X.25 PVC 設定

X.25 PVC 設定 X.25 PVC 設定 目次 はじめに前提条件要件使用するコンポーネント表記法背景説明仮想回線範囲の設定設定ネットワーク図設定確認トラブルシューティング関連情報 はじめに このドキュメントでは X.25 相手先固定接続 (PVC) の設定例を紹介します 前提条件 要件 このドキュメントに関しては個別の要件はありません 使用するコンポーネント このドキュメントは 特定のソフトウェアやハードウェアのバージョンに限定されるものではありません

More information

ex04_2012.ppt

ex04_2012.ppt 2012 年度計算機システム演習第 4 回 2012.05.07 第 2 回課題の補足 } TSUBAMEへのログイン } TSUBAMEは学内からのログインはパスワードで可能 } } } } しかし 演習室ではパスワードでログインできない設定 } 公開鍵認証でログイン 公開鍵, 秘密鍵の生成 } ターミナルを開く } $ ssh-keygen } Enter file in which to save

More information

1.1 ラベル ラベルはカラム 1 から始まらなければならない ラベルの後にはコロン スペース タブ 改行が続いてよい ラベルはアルファベットかアンダーバーで始まり 英数字 アンダーバー クエスチョンマークを含んでよい ラベルは 32 文字までである デフォルトではこれらは大文字と小文字を区別するが

1.1 ラベル ラベルはカラム 1 から始まらなければならない ラベルの後にはコロン スペース タブ 改行が続いてよい ラベルはアルファベットかアンダーバーで始まり 英数字 アンダーバー クエスチョンマークを含んでよい ラベルは 32 文字までである デフォルトではこれらは大文字と小文字を区別するが MPASM MPASM は Microchip Tecnology Inc. 社の開発した PIC のためのアセンブリ言語である ここでは MPASM の文法と使用法などについて記述する 1. 文法 ソースコードファイルは ASCII テキストファイルエディターを使って作成する そのように作られたソースコードは以下に示す基本的ガイドラインに従うべきである ソースファイルの各行は次の 4 つのタイプの情報を含んでよい

More information

Cisco ViewMail for Microsoft Outlook クイックスタートガイド (リリース 8.5 以降)

Cisco ViewMail for Microsoft Outlook クイックスタートガイド (リリース 8.5 以降) クイックスタートガイド Cisco ViewMail for Microsoft Outlook クイックスタートガイド ( リリース 8. 以降 ) Cisco ViewMail for Microsoft Outlook( リリース 8. 以降 ) Cisco ViewMail for Microsoft Outlook の概要 Outlook 010 および Outlook 007 での ViewMail

More information

内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一

内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一 RX210 グループ IRQ 割り込みを使用したパルス出力 要旨 本サンプルコードでは IRQ 割り込みが発生すると 一定期間タイマでパルスを出力する 方法について説明します 対象デバイス RX210 1 / 25 内容 1. 仕様... 3 2. 動作確認条件... 3 3. ハードウェア説明... 3 3.1 使用端子一覧... 3 4. ソフトウェア説明... 4 4.1 動作概要... 4

More information

Notes and Points for TMPR454 Flash memory

Notes and Points for TMPR454 Flash memory 表紙 TMPR454 内蔵 Flash メモリ対応版手順書 株式会社 DTS インサイト ご注意 (1) 本書の内容の一部または 全部を無断転載することは禁止されています (2) 本書の内容については 改良のため予告なしに変更することがあります (3) 本書の内容について ご不明な点やお気付きの点がありましたら ご連絡ください (4) 本製品を運用した結果の影響については (3) 項にかかわらず責任を負いかねますのでご了承ください

More information

Microsoft PowerPoint - dsp12_2006.ppt

Microsoft PowerPoint - dsp12_2006.ppt 第 12 回 信 号 処 理 演 習 割 り 込 み 処 理 プログラミング 教 官 : 小 澤 助 教 授 渡 邉 ( 非 常 勤 講 師 ) 2007/01/25 本 日 の 予 定 ポーリングと 割 り 込 み 割 り 込 み 処 理 の 仕 組 み 割 り 込 み 処 理 による アナログループバックの 作 成 ボイスチェンジャーの 作 成 2 ポーリング (Polling) 目 的 ある

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2019 年度クラス C D 情報科学基礎 I 6. MIPS の命令と動作 演算 ロード ストア ( 教科書 6.3 節,6.4 節命令一覧は p.113) 大学院情報科学研究科 鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ レジスタ間の演算命令 (C 言語 ) c = a + b; ( 疑似的な MIPS アセンブリ言語

More information

アプリケーション インスペクションの特別なアクション(インスペクション ポリシー マップ)

アプリケーション インスペクションの特別なアクション(インスペクション ポリシー マップ) CHAPTER 2 アプリケーションインスペクションの特別なアクション ( インスペクションポリシーマップ ) モジュラポリシーフレームワークでは 多くのアプリケーションインスペクションで実行される特別なアクションを設定できます サービスポリシーでインスペクションエンジンをイネーブルにする場合は インスペクションポリシーマップで定義されるアクションを必要に応じてイネーブルにすることもできます インスペクションポリシーマップが

More information

ヤマハDante機器と他社AES67機器の接続ガイド

ヤマハDante機器と他社AES67機器の接続ガイド はじめに AES67 は 高性能なデジタル IP ネットワークの相互接続を実現するための標準規格です AES67 は や Ravenna Q-LAN Livewire WheatNet などの異なるネットワーク規格で構築されたシステム間で オーディオ信号を送受信する手段を提供します ヤマハも 機器のアップデートにより順次 AES67 への対応を開始し 第一弾としてデジタルミキシングコンソール CL/QL

More information

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ arduino プログラミング課題集 ( Ver.5.0 2017/06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイコンから伝える 外部装置の状態をマイコンで確認する 信号の授受は 入出力ポート 経由で行う (2) 入出力ポートとは?

More information

Microsoft Word - Ladder Tool 使çfl¨ã…žã…‰ã…¥ã‡¢ã…«ã…©ã…•ã…¼ã†ªã†Š_ docx

Microsoft Word - Ladder Tool 使çfl¨ã…žã…‰ã…¥ã‡¢ã…«ã…©ã…•ã…¼ã†ªã†Š_ docx 2018/11/05 第 1 版 Ladder Tool 使用マニュアル 1. はじめに LadderTool は ラダーからマイコンプログラムを作成する 連枝 を改良し作成された ラダープログラム作成ツールです 作成したプログラムは DIPPLC で動作するニーモニッ クで保存されます そのため 通常使用する場合は DIPPLC をご用意ください 2. 使い方 ソフトウェアのフォルダ内にある LadderTool

More information

1. 使用する信号 1.1. UART 信号 UART 通信に使用する信号と接続相手との接続は以下の通りです UART 信号表 番号 CPU 機能名 CPU 信号名 基板コネクタピン番号 方向 接続相手の信号名 1 USART1_TX PA9 CN > RxD 2 USART1_R

1. 使用する信号 1.1. UART 信号 UART 通信に使用する信号と接続相手との接続は以下の通りです UART 信号表 番号 CPU 機能名 CPU 信号名 基板コネクタピン番号 方向 接続相手の信号名 1 USART1_TX PA9 CN > RxD 2 USART1_R TrueSTUDIO 用 L152CD_UART1 の説明 V001 2014/10/22 UART( 非同期シリアル通信 ) で送受信を行う STM32L152C-DISCO のプロジェクトサンプルです STM32L152C-DISCO は STMicroelectronics 社製の Cortex-M3 ARM CPU である STM32L152RCT6 を搭載した基板です 試用版の開発ツール

More information

Microsoft Word - dg_sataahciip_refdesign_jp.doc

Microsoft Word - dg_sataahciip_refdesign_jp.doc SATA AHCI-IP コア リファレンス デザイン説明書 Rev1.3J 2017/03/22 本ドキュメントは AHCI-IP コア実機デモ システムのリファレンス デザインを説明したものです SATA-IP コアの上位に AHCI-IP コアを実装することで アプリケーション レイヤのドライバを介して Linux 等の OS から接続 SATA デバイスを直接ドライブとして認識でき ファイル

More information

SAC (Jap).indd

SAC (Jap).indd 取扱説明書 機器を使用する前に本マニュアルを十分にお読みください また 以後も参照できるよう保管してください バージョン 1.7 目次 目次 について...3 ご使用になる前に...3 インストール手順...4 ログイン...6 マネージメントソフトウェアプログラムの初期画面... 7 プロジェクタの検索...9 グループの設定... 11 グループ情報画面... 12 グループの削除... 13

More information

Section 15. Input Capture

Section 15. Input Capture 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います セクション 15. 入力キャプチャ ハイライト 本セクションには下記の主要項目を記載しています 15.1 はじめに... 15-2 15.2 入力キャプチャレジスタ... 15-4 15.3 タイマの選択... 15-8 15.4 入力キャプチャの有効化... 15-8 15.5 入力キャプチャイベントモード...

More information

Section 33. Audio Digital-to-Analog Converter (DAC)

Section 33. Audio Digital-to-Analog Converter (DAC) 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います セクション 33. オーディオ コンバータ (DAC) ハイライト 本セクションには以下の主要項目を記載しています 33.1 はじめに... 33-2 33.2 主な特長... 33-3 33.3 DAC レジスタ... 33-3 33.4 モジュールの動作... 33-7 33.5 割り込みとステータス...

More information

MODBUS ユーザーズマニュアル 페이지 1 / 23

MODBUS ユーザーズマニュアル 페이지 1 / 23 MODBUS ユーザーズマニュアル 페이지 1 / 23 目次 1. 概要... 1 2. GX7 サポートファンクションコード... 1 3. GX7 サポートリファレンス... 1 4. GX7 サポートリファレンスとファンクションコードの関係... 2 5. XD+ 内プロジェクト設定でオプション別の機能... 4 6. トラブルシューティング... 9 A. APPENDIX... 12 1.

More information

また RLF 命令は 図 2 示す様に RRF 命令とは逆に 各ビットを一つずつ 左方向に回転 ( ローテイト ) する命令である 8 ビット変数のアドレスを A とし C フラグに 0 を代入してから RLF A,1 を実行すると 変数の内容が 左に 1 ビットシフトし 最下位ビット (LSB)

また RLF 命令は 図 2 示す様に RRF 命令とは逆に 各ビットを一つずつ 左方向に回転 ( ローテイト ) する命令である 8 ビット変数のアドレスを A とし C フラグに 0 を代入してから RLF A,1 を実行すると 変数の内容が 左に 1 ビットシフトし 最下位ビット (LSB) コンピュータ工学講義プリント (12 月 11 日 ) 今回は ローテイト命令を用いて 前回よりも高度な LED の制御を行う 光が流れるプログラム 片道バージョン( 教科書 P.119 参照 ) 0.5 秒ごとに 教科書 P.119 の図 5.23 の様に LED の点灯パターンが変化するプログラムを作成する事を考える この様にすれば 光っている点が 徐々に右に動いているように見え 右端まで移動したら

More information

スライド 1

スライド 1 マイコンをはじめよう 割り込みを使おう 徳島大学大学院ソシオテクノサイエンス研究部 技術専門職員辻明典 連絡先 : 770-8506 徳島市南常三島町 2-1 TEL/FAX: 088-656-7485 E-mail::a-tsuji@is.tokushima-u.ac.jp 割り込みを使おう 第 8 回 2013/9/14(Sat) 10:00 11:30 2 本日の予定 1 割り込みについて 2

More information

1. ボードの複数台制御 コンフィグ ROM から FPGA が起動できる場合を想定しています FPGA 回路には 特定のレジスタアドレスにプリセットしたデータが必要です 製品出荷時のサンプル FPGA 回路では レジスタ No.3 を 8bit 幅に設定し FPGA 外部の 4bit ディップスイ

1. ボードの複数台制御 コンフィグ ROM から FPGA が起動できる場合を想定しています FPGA 回路には 特定のレジスタアドレスにプリセットしたデータが必要です 製品出荷時のサンプル FPGA 回路では レジスタ No.3 を 8bit 幅に設定し FPGA 外部の 4bit ディップスイ LabVIEW 用リファレンス制御アプリケーション RefAppLV の使い方 概要 LabVIEW 開発ツールで設計したリファレンス制御アプリケーションです LabVIEW を所有していないユー ザ環境でも インストーラを利用して RefAppLV.exe を利用することができます 機能 1. 複数台ボード制御 2. USB コンフィグ機能 3. レジスタアクセス機能 4. 拡張レジスタアクセス機能

More information

Nios II - PIO を使用した I2C-Bus (2ワイヤ)マスタの実装

Nios II - PIO を使用した I2C-Bus (2ワイヤ)マスタの実装 LIM Corp. Nios II - PIO を使用した I 2 C-Bus (2 ワイヤ ) マスタの実装 ver.1.0 2010 年 6 月 ELSEN,Inc. 目次 1. はじめに... 3 2. 適用条件... 3 3. システムの構成... 3 3-1. SOPC Builder の設定... 3 3-2. PIO の設定... 4 3-2-1. シリアル クロック ライン用 PIO

More information

内容 1. APX-3302 の特長 APX-3312 から APX-3302 へ変更するためには 差分詳細 ハードウェア ハードウェア性能および仕様 ソフトウェア仕様および制限 Ini ファイルの設

内容 1. APX-3302 の特長 APX-3312 から APX-3302 へ変更するためには 差分詳細 ハードウェア ハードウェア性能および仕様 ソフトウェア仕様および制限 Ini ファイルの設 APX-3312 と APX-3302 の差分一覧 No. OM12021D APX-3312 と APX-3302 は どちらも同じ CameraLink 規格 Base Configuration カメラ 2ch 入力可能なボードになります 本書では APX-3312 をご利用になられているお客様が APX-3302 をご利用になられる場合の資料として 両ボードについての差異 を記述しております

More information

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR 第 回マイクロプロセッサのしくみ マイクロプロセッサの基本的なしくみについて解説する. -1 マイクロプロセッサと周辺回路の接続 制御バス プロセッサ データ バス アドレス バス メモリ 周辺インタフェース バスの基本構成 Fig.-1 バスによる相互接続は, 現在のコンピュータシステムのハードウェアを特徴づけている. バス (Bus): 複数のユニットで共有される信号線システム内の データの通り道

More information

TMPM4G Group(1) Reference Manual EXCEPT-M4G(1)

TMPM4G Group(1) Reference Manual EXCEPT-M4G(1) 32 ビット RISC マイクロコントローラ リファレンスマニュアル (EXCEPT-M4G(1)) Revision 1.1 2018-06 2018-06-26 1 / 101 Rev. 1.1 2017-2018 Toshiba Electronic Devices & Storage Corporation 目次 序章... 5 関連するドキュメント... 5 表記規約... 6 用語 略語...

More information

6. パイプライン制御

6. パイプライン制御 6. パイプライン制御 パイプライン (Pipelining) 命令のスループットをあげて性能を向上する Program eection order Time (in instrctions) lw $, ($) fetch 2 4 6 8 2 4 6 8 Data access lw $2, 2($) 8 ns fetch Data access lw $3, 3($) Program eection

More information

コンピュータ工学Ⅰ

コンピュータ工学Ⅰ コンピュータ工学 Ⅰ Rev. 2018.01.20 コンピュータの基本構成と CPU 内容 ➊ CPUの構成要素 ➋ 命令サイクル ➌ アセンブリ言語 ➍ アドレッシング方式 ➎ CPUの高速化 ➏ CPUの性能評価 コンピュータの構成装置 中央処理装置 (CPU) 主記憶装置から命令を読み込み 実行を行う 主記憶装置 CPU で実行するプログラム ( 命令の集合 ) やデータを記憶する 補助記憶装置

More information

コンピュータ工学Ⅰ

コンピュータ工学Ⅰ コンピュータ工学 Ⅰ 中央処理装置 Rev. 2019.01.16 コンピュータの基本構成と CPU 内容 ➊ CPUの構成要素 ➋ 命令サイクル ➌ アセンブリ言語 ➍ アドレッシング方式 ➎ CPUの高速化 ➏ CPUの性能評価 コンピュータの構成装置 中央処理装置 (CPU) 主記憶装置から命令を読み込み 実行を行う 主記憶装置 CPU で実行するプログラム ( 命令の集合 ) やデータを記憶する

More information

スライド 1

スライド 1 RX62N 周辺機能紹介 DAC D/A Converter ルネサスエレクトロニクス株式会社ルネサス半導体トレーニングセンター 2013/08/02 Rev. 1.00 00000-A コンテンツ DACの概要 データフォーマット 変換開始と変換時間 転送時間 プログラムサンプル 2 DAC の概要 3 機能概要 項目 内容 分解能 出力チャネル 消費電力低減機能 10 ビット 2 チャネル モジュールストップ状態への設定が可能

More information

PowerPoint Presentation

PowerPoint Presentation VME Embedded System ユーザーズマニュアル ~ Slim VME Embedded ~ Tecstar Page: 1 Agenda 1. VME Embedded System 概要 2. VME Embedded の特徴 3. Embedded Overview 4. VMEファイルとHEXファイルについて 5. Slim VME について 6. Deployment Toolの起動方法について

More information

スライド 1

スライド 1 RX ファミリ用コンパイラスタートアップの紹介 ルネサスエレクトロニクス株式会社ルネサス半導体トレーニングセンター 2013/08/02 Rev. 1.00 00000-A コンテンツ スタートアップの概要 スタートアッププログラム例 外部メモリを利用する場合の設定 2 スタートアップの概要 3 処理の流れとファイル構成例 パワーオン リセット Fixed_Vectors ( 固定ベクタテーブル )

More information

問 2. タイミングチャート以下に示す VHDL コードで記述されている回路に関するタイミングチャートを完成させよ ) レジスタの動作 use IEEE.std_logic_64.all; entity RegN is generic (N : integer := 8 port ( CLK, EN

問 2. タイミングチャート以下に示す VHDL コードで記述されている回路に関するタイミングチャートを完成させよ ) レジスタの動作 use IEEE.std_logic_64.all; entity RegN is generic (N : integer := 8 port ( CLK, EN 第 8 回中間試験前の演習 問.VHDL ソースコードを読む () 次の VHDL のソースコードが記述しているゲート回路の回路図を示せ. use IEEE.STD_LOGIC_64.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Logic is port ( A : in std_logic_vector(3

More information

ex05_2012.pptx

ex05_2012.pptx 2012 年度計算機システム演習第 5 回 2012.05.25 高水準言語 (C 言語 ) アセンブリ言語 (MIPS) 機械語 (MIPS) コンパイラ アセンブラ 今日の内容 サブルーチンの実装 Outline } ジャンプ 分岐命令 } j, jr, jal } レジスタ衝突 回避 } caller-save } callee-save 分岐命令 ( 復習 ) } j label } Jump

More information

スライド 1

スライド 1 4. 演算命令 ( つづき ) ( 足し算の桁上がり,Rotate, etc.) を学ぼう 本稿の Web ページ http://www.cmplx.cse.nagoya-u.ac.jp/~furuhashi/education/pic/index.html 1 本章では足し算の桁上がり情報の格納場所の確認をするプログラムを学びます. PIC16F マイコンではデータは 8 ビットで表されています.

More information

Nios II - Vectored Interrupt Controller の実装

Nios II - Vectored Interrupt Controller の実装 ALTIMA Corp. Nios II Vectored Interrupt Controller の実装 ver.1.0 2010 年 7 月 ELSENA,Inc. 目次 1. はじめに... 3 2. 適用条件... 3 3. システムの構成... 4 3-1. SOPC Builder の設定... 4 3-2. ペリフェラルの設定... 4 3-2-1. VIC の設定... 4 3-2-2.

More information

DS39708A_JP_UART

DS39708A_JP_UART 第 21 章 ハイライト 本章では次のトピックについて説明します 21.1 はじめに... 21-2 21.2 制御レジスタ... 21-3 21.3 ボーレートジェネレータ (BRG)... 21-9 21.4 の構成... 21-13 21.5 送信部... 21-14 21.6 受信部... 21-18 21.7 の 9 ビット通信の使い方... 21-21 21.8 ブレーク文字の受信...

More information

スライド 1

スライド 1 6.LED( 発光ダイオード ) の制御を学ぼう 本稿の Web ページ http://www.cmplx.cse.nagoya-u.ac.jp/~furuhashi/education/pic/index.html 1 5V R 4 SW 1 R 3 R 2 SW 2 SW 3 PIC16F84A 1 RA2 RA1 18 2 RA3 RA0 17 3 RA4 OSC1 16 4 MCLR OSC2

More information

TMPM4K Group(1) Reference Manual EXCEPT-M4K(1)

TMPM4K Group(1) Reference Manual EXCEPT-M4K(1) 32 ビット RISC マイクロコントローラ リファレンスマニュアル (EXCEPT-M4K(1)) Revision 1.1 2018-09 2018-09-11 1 / 71 Rev. 1.1 2017-2018 Toshiba Electronic Devices & Storage Corporation 目次 序章... 5 関連するドキュメント... 5 表記規約... 6 用語 略語...

More information

Microsoft PowerPoint - 工学ゼミⅢLED1回_2018

Microsoft PowerPoint - 工学ゼミⅢLED1回_2018 工学ゼミ Ⅲ 安全 環境活動に役立つ LEDイルミネーションの製作 第 1 回 1. 概要 3~5 名の学生グループで安全 環境活動に役立つ LED イルミネーションを作製する 作品のデザイン画や部品リスト 回路図 動作フロー図等は事前に作成し 計画的に作業を行うことが求められる 2. 達成すべき目標 作品に係る資料を事前にまとめ それに基づいて製作が行える 集団の中で 自身の知識 技術を積極的に応用しながら

More information

目次 1 本アプリケーションノートの目的 送信手順 基本的な送信方法 キャリアセンスなし送信 キャリアセンスあり送信 ACK 期待送信 フレームメモリへのデータの設定 INFO

目次 1 本アプリケーションノートの目的 送信手順 基本的な送信方法 キャリアセンスなし送信 キャリアセンスあり送信 ACK 期待送信 フレームメモリへのデータの設定 INFO フレーム送受信方法 パナソニック ( 株 ) AIS 社セミコンダクター事業部 1 AP-MN87400_401-002 目次 1 本アプリケーションノートの目的...3 2 送信手順...3 2.1 基本的な送信方法...3 2.1.1 キャリアセンスなし送信...3 2.1.2 キャリアセンスあり送信...4 2.1.3 ACK 期待送信...4 2.2 フレームメモリへのデータの設定...5

More information

SoftBank 403ZT ユーザーガイド

SoftBank 403ZT ユーザーガイド SoftBank 403ZT Utility で各種設定をする 自動接続 ( 日本のみ ) / 自動接続 ( 日本 / 海外 ) 自動接続を設定する SoftBank 403ZT Utility の起動と同時に 設定していたアクセスポ イントでインターネット接続されます 接続モードが自動接続になります 自動接続( 日本のみ ) を選択した場合 海外では自動接続されません 海外で設定しているアクセスポイントにインターネット接続する場合は手動で接続してください

More information

PowerPoint Presentation

PowerPoint Presentation Armv8-M セキュアマイコンプログラミングテクニック 技術チーム / 殿下 信二 このセッションの目的 Armv8-M セキュアマイコンの使い方の基礎を学ぶ Cortex-M マイコンと Armv8-M セキュアマイコンの違い 簡単です Armv8-M セキュアマイコンプログラミング なぜセキュアマイコンが必要ですか? 製品が偽造 模造 過剰生産されるリスクの低減 IoT 製品のメリット ( コネクティビティ

More information

UIOUSBCOM.DLLコマンドリファレンス

UIOUSBCOM.DLLコマンドリファレンス UIOUSBCOM.DLL UIOUSBCOM.DLL Command Reference Rev A.1.0 2008/11/24 オールブルーシステム (All Blue System) ウェブページ : www.allbluesystem.com コンタクト :contact@allbluesystem.com 1 このマニュアルについて...3 1.1 著作権および登録商標...3 1.2

More information

ソフトウェア基礎技術研修

ソフトウェア基礎技術研修 算術論理演算ユニットの設計 ( 教科書 4.5 節 ) yi = fi (x, x2, x3,..., xm) (for i n) 基本的な組合せ論理回路 : インバータ,AND ゲート,OR ゲート, y n 組合せ論理回路 ( 復習 ) 組合せ論理回路 : 出力値が入力値のみの関数となっている論理回路. 論理関数 f: {, } m {, } n を実現.( フィードバック ループや記憶回路を含まない

More information

(Microsoft Word - \216\346\220\340SiTCP-VME-Master\(Rev26\).doc)

(Microsoft Word - \216\346\220\340SiTCP-VME-Master\(Rev26\).doc) SiTCP VME-Master Master module Mode2 BBT-002 002-2 取扱説明書 Rev 2.6 (June21, 2016) 変更履歴 Rev 変更日 変更ページ 変更内容 0.4 2008/02/13 P12 Address Fix モード時の制限事項を追加 0.5 2008/02/14 P3, 11 非整列転送の非サポートを明記 1.0 2008/04/04 P6

More information

TMPM3Hグループ(2) Reference Manual EXCEPT-M3H(2)

TMPM3Hグループ(2) Reference Manual EXCEPT-M3H(2) 2 ビット RISC マイクロコントローラ TPH グループ (2) リファレンスマニュアル (EXCEPT-H(2)) Revision.0 2018-07 2018-07-1 1 / 100 Rev..0 2017-2018 Toshiba Electronic Devices & Storage Corporation 目次 序章... 5 関連するドキュメント... 5 表記規約... 6

More information

Microsoft PowerPoint - 01-VerilogSetup-2019.pptx

Microsoft PowerPoint - 01-VerilogSetup-2019.pptx 2019 年 4 月 26 日ハードウエア設計論 :3 ハードウエアにおける設計表現 ハードウエア設計記述言語 VerilogHDL ~ 種々の記述 ~ ALU の実装とタイミングに関して always @(A or B or C) Ubuntu を起動し verilog が実行できる状態にしておいてください 79 演習 4: 簡単な演算器 1 入力 A:8 ビット 入力 B:8 ビット 出力 O:8

More information