pic18f から pic24f から samd2x...

38
2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書では PIC18FPIC24FSAMD2x のアーキテク チャの特長を説明します。各種周辺モジュールの相違 点と類似点を示し、PIC18F から PIC24FPIC24F SAMD2xへ移行する際に考慮すべき点についても説 明します。また、PIC18F のアーキテクチャには多く の更新が加えられており、その中でも最も重要なもの がダイレクト メモリアクセス (DMA) の追加です。本 書では、古いデバイス (DMA なし ) と新しいデバイス (DMA あり ) 間の相違と、PIC24F および SAMD2x の相違を説明します。 CPUコア PIC24F PIC18F のアーキテクチャは大きく異なりま すが、PIC24F MCU PIC18F の拡張版と見なす事が できます。 それに比べて SAMD2x PIC24F のアーキテクチャは 異なっています。SAMD2x MCU Arm ® Cortex ® M0+ アーキテクチャがベースであり、PIC24F Microchip 社独自の 16 ビットMCU アーキテクチャがベースです。 本書はこれらファミリ間での移行を支援します。変更 点のほとんどはデータビット幅、命令ワードサイズ、命 令クロッキング方式、スタック、コアレジスであり、主 にアセンブリ ベースのプログラムに影響します。その 他のハードウェアの変更は処理性能を向上させるため に追加されたものです。1 に、これらの変更点をま とめています。 1: CPUコ アの比較 Note: 本書では PIC18F から PIC24FPIC24F から SAMD2x への移行について詳しく説 明します。ただし、一部機能については 詳細を省略している場合があります。詳 細は各デバイスのデータシートを参照し てください。デバイス データシートとエ ラッタは以下の Microchip 社ウェブサイ トからダウンロードできます。 http://www.microchip.com 項目 PIC18F PIC24F SAMD2x 命令サイズ 16 ビット 24 ビット 16 ビット、32 ビット 命令クロック サイクル T CY = FOSC/4 T CY = FOSC/2 ALU命令 – 1クロックサイクル ロード/ストア – 2クロックサイクル メモリバリア – 3 クロックサイクル ワーキング レジスタ 1 (WWREG) 16 (W0 W15) 16 (R0R15) R0R12(汎用) R13 (SP - スタックポインタ) R14 (LR - リンクレジスタ) R15 (PC - プログラム カウンタ ) STATUS レジスタ 1 (STATUS) 2 (STATUSCORCON) 1 ( プログラム ステータス レジスタ (PSR)) スタック ハードウェア、32 レベル ソフトウェア ソフトウェア (1) ハードウェア乗算器 8x8 17x17 高速 (1 サイクル ) ハードウェア除算器 No DIV REPEAT を使った ハードウェア支援除算 No ビットシフト / ローテート 1 ビット、左または右、 ローテートのみ 最大 15 ビットのバレル シフト、左または右、 シフトまたはローテート 論理左または右シフト、 算術右シフト、右ローテート PIC18F から PIC24FPIC24F から SAMD2x への移行と 性能向上ガイド 注意 : この日本語版文書は参考資料としてご利用ください。 最新情報は必ずオリジナルの英語版をご参照願います。

Upload: others

Post on 05-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

PIC18F から PIC24F、PIC24F から SAMD2x への移行と性能向上ガイド

注意 : この日本語版文書は参考資料としてご利用ください。新情報は必ずオリジナルの英語版をご参照願います。

はじめに

本書では PIC18F、PIC24F、SAMD2x のアーキテクチャの特長を説明します。各種周辺モジュールの相違点と類似点を示し、PIC18F から PIC24F、PIC24F からSAMD2xへ移行する際に考慮すべき点についても説明します。また、PIC18F のアーキテクチャには多くの更新が加えられており、その中でも も重要なものがダイレクト メモリアクセス (DMA) の追加です。本書では、古いデバイス (DMA なし ) と新しいデバイス(DMA あり ) 間の相違と、PIC24F および SAMD2x との相違を説明します。

CPUコア

PIC24F と PIC18F のアーキテクチャは大きく異なりますが、PIC24F MCU は PIC18F の拡張版と見なす事ができます。 それに比べて SAMD2x と PIC24F のアーキテクチャは異なっています。SAMD2x MCU は Arm® Cortex® M0+アーキテクチャがベースであり、PIC24F は Microchip社独自の16ビットMCUアーキテクチャがベースです。本書はこれらファミリ間での移行を支援します。変更点のほとんどはデータビット幅、命令ワードサイズ、命令クロッキング方式、スタック、コアレジスであり、主にアセンブリ ベースのプログラムに影響します。その他のハードウェアの変更は処理性能を向上させるために追加されたものです。表 1 に、これらの変更点をまとめています。

表 1: CPUコ アの比較

Note: 本書では PIC18F から PIC24F、PIC24FからSAMD2xへの移行について詳しく説明します。ただし、一部機能については詳細を省略している場合があります。詳細は各デバイスのデータシートを参照してください。デバイス データシートとエラッタは以下の Microchip 社ウェブサイトからダウンロードできます。 http://www.microchip.com

項目 全 PIC18F PIC24F SAMD2x

命令サイズ 16 ビット 24 ビット 16 ビット、32 ビット

命令クロックサイクル

TCY = FOSC/4 TCY = FOSC/2 ALU命令 – 1クロックサイクルロード/ストア – 2クロックサイクルメモリバリア – 3 クロックサイクル

ワーキング レジスタ 1 (W、WREG) 16 (W0 ~ W15) 16 (R0~R15)R0~R12(汎用)

R13 (SP - スタックポインタ)R14 (LR - リンクレジスタ)

R15 (PC - プログラム カウンタ ) STATUS レジスタ 1 (STATUS) 2 (STATUS、CORCON) 1 ( プログラム ステータス レジスタ

(PSR)) スタック ハードウェア、32 レベル ソフトウェア ソフトウェア (1)

ハードウェア乗算器 8x8 17x17 高速 (1 サイクル ) ハードウェア除算器 No DIVと REPEATを使った

ハードウェア支援除算

No

ビットシフト /ローテート

1 ビット、左または右、ローテートのみ

大 15 ビットのバレルシフト、左または右、

シフトまたはローテート

論理左または右シフト、算術右シフト、右ローテート

2019 Microchip Technology Inc. DS00002991C_JP-p.1

Page 2: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

移行に関する注意

PIC18F から PIC24F へ移行する際の一番の注意点は、PIC18Fコアが命令クロックとしてFOSC/4を使うのに対し、PIC24F コアは FOSC/2 を使う事です。これにより、入力クロック速度に対する命令処理速度は実質的に 2 倍となり、命令クロックをベースとして使う多くの周辺モジュールのベースクロックも変わります。移行後も周辺モジュールが期待通りに機能するように、この周波数の変化を考慮する必要があります。その他のほとんどのPIC18FとPIC24FのCPUの違いはコンパイラによって自動的に処理されるため、C 言語で書かれたプログラムには影響しません。

大 48 MHz で動作する SAMD2x CPU は、SYSCTRL( システム制御 )、GCLK( 汎用クロック コントローラ )、電源マネージャで制御するクロック源で構成されています。

SYSCTRL で制御するクロック源は、汎用クロック ジェネレータ等のコンポーネントが使うタイムベースを提供します。サンプルのクロック源は内部OSC8M (8 MHzオシレータ )、XOSC( 外部水晶振動子オシレータ )、DFLL48M( デジタル周波数ロックループ ) です。

汎用クロック ジェネレータは、システムクロックと汎用クロック マルチプレクサを使って周辺モジュールのクロックを生成するプログラマブル プリスケーラです。

PM( 電源マネージャ ) はシステムの同期クロックを生成、制御します。これには CPU、バスクロック (APB、AHB)、周辺モジュールと CPU との同期ユーザ インターフェイスが含まれます。周辺モジュールのユーザインターフェイスを ON/OFF できるクロックマスクと、CPU とバスクロック用のプリスケーラを備えています。 CPU と周辺モジュールは別々のクロック源と速度で駆動する事ができます。このため、CPU がアクセスする周辺モジュールは同期させる必要があります。そのような周辺モジュールは、同期が進行中かどうかを確認できるSYNCBUSYステータス レジスタを備えています。

DMAなしPIC18FとDMAありPIC18Fの違い

新旧 PIC18F のコアにはいくつか相違点があります。これらの相違点により新旧デバイス間または PIC24Fへの移行方法が変わる事があります。

メモリマップとプログラムメモリ

PIC18F と PIC24F のアーキテクチャはどちらもプログラムメモリ空間には同種のアクセス方法を使います。

SAMD2x はメモリマップト アーキテクチャを使います。SAMD2x のプロセッサは 大 4 GB のアドレス指定可能なメモリを提供する既定値メモリマップを備えています。グローバルメモリ空間はコード、SRAM、周辺モジュール、IOBUS、システムの各セクションに分かれています。

バス幅が異なる以外に、PIC24F ではデータ空間のアドレスレンジを拡張する機能を備え組み込んでいます。空間の構成と非プログラムメモリの位置も若干異なるため、アプリケーション移植時には注意が必要です。 SAMD2x のフラッシュメモリは、命令、校正データ、既定値設定を格納する不揮発性メモリ (NVM) です。SAMD2x のコンパイラは、フラッシュメモリ アドレスのほとんどを命令の格納に使います。

PIC18F、PIC24F、SAMD2xのメモリ構成の主な違いを 表 2 に示します。

PSV (Program Space Visibility)

No Yes No

Note 1: SAMD2xのプロセッサは、メインとプロセスの2つのスタックを実装しており、スタックポインタはそれぞれ独立しています。スレッドモードでは、プロセッサがどちらのスタックを使うのかレジスタで制御します。ハンドラモードでは、プロセッサは常にメインスタックを使います。

項目 全 PIC18F PIC24F SAMD2x

DS00002991C_JP-p.2 2019 Microchip Technology Inc.

Page 3: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

表 2: メモリ構成の比較

移行に関する注意

1つ目の注意点はプログラム カウンタ (PC)のサイズです。PIC18Fは22ビット、PIC24Fは24ビット、SAMD2xは 32 ビットです。この違いは主に、プログラム カウンタに直接書き込むアプリケーションに影響します。これらのデバイスのプログラムメモリ容量はファミリ間で異なり、PIC18F でも PIC24F でもさほど大きくはないためです。2 つ目の注意点は、PIC18F がベクタ割り込みをサポートしていない場合、似たような仕様のPIC24F よりも割り込み用の予約済み空間が非常に小さい点です。PIC18F では 00h、08h、18h のみ、PIC24Fでは 00h ~ 1FFh です。 SAMD2xは、NVIC (Nested Vectored Interrupt Controller)が制御するネスト型ベクタ割り込みをサポートしています。NVIC は、割り込み用に予約済みのメモリ空間を備えた 32 個の割り込みライン (E000E100h) をサポートします。

システムリセット時、ベクタテーブルはアドレス0x00000000 に固定されます。このベクタテーブル開始アドレスは、特権ソフトウェアが VTOR (Vector TableOffset Register) に書き込む事で、別のメモリ位置に再配置できます (256 バイト刻みで 0x00000000 ~0xFFFFFF80 の間 )。後の注意点は、ほとんどの PIC18F は専用ブートブ

ロック (セクション専用の書き込み /コード保護制御付き ) をハードウェアでサポートしていますが、PIC24Fはサポートしていない点です。

SAMD2x では NVM フラッシュのメインアレイの先頭に、オフセットゼロから始まるブートローダ セクションを割り当てる事ができます。BOOTPROT ヒューズを使うと、NVM メインアドレス空間内の下の区画をブートローダ セクションとして割り当てる事ができ

ます。ブートローダ セクションは、このアドレス空間に対応するロックビットとBOOTPROT [2:0]ヒューズによって保護されます。

DMAなしPIC18FとDMAありPIC18Fの違い

新旧 PIC18F のプログラムメモリにはいくつか相違があります。これらの相違点により新旧デバイス間または PIC24F への移行方法が変わる事があります。

項目 DMA なし PIC18F DMA あり PIC18F PIC24F SAMD2x

構成 16 ビット、バイトアドレス指定可能

16 ビット、バイトアドレス指定可能

24 ビット、ワードアドレス指定可能

32 ビット、ワードアドレス指定可能

総アドレス指定可能レンジ

4 MB (22 ビット幅 ) 4 MB (22 ビット幅 ) 8 MB (24 ビット幅 ) 232 8 ビット ( バイト )

大利用可能ユーザ プログラム空間( 上限アドレス )

2 MB (1FFFFFh) 2 MB (1FFFFFh) 8 MB (7FFFFFh) 256 KB (40000h) ( デバイスタイプ A)

ブートブロック サポート

ほとんどのデバイス ほとんどのデバイス No No

割り込み / リセット/ トラップベクタ

00h, 08h, 18h 00h, 08h, 18h( レガシーモードの場合 )、

IVTBASE による制御 ( ベクタモードの場合 )

00h ~ 1FFh E000E100h

コンフィグレーション ワードの位置

300000h ~ 30000Fh 300000h ~ 30FFFFh( 領域全体が予約済み、ほとんどのデバイスでは

この一部を利用 )

フラッシュ プログラムメモリが 後に実装さ

れた位置

NVMベースアドレス (1) + 0x00800000

デバイス ID の位置 3FFFFEh と 3FFFFFh 3FFFFEh と 3FFFFFh FF0000h と FF0002h 41002018 h Note 1: 不揮発性メモリ (NVM) は、電源が OFF になってもプログラムとデータを保持できるリプログラマブル フラッシュメモリです。

NVM のベースアドレスを NVM の開始アドレスと呼びます。

2019 Microchip Technology Inc. DS00002991C_JP-p.3

Page 4: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

データメモリ空間

表 3: データメモリ空間の比較

アドレスレンジと分割

古い PIC18F は、12 ビットのアドレスレンジを持つデータメモリ空間を備えています。理論上は、このデータ空間は線形レンジを持っており PIC18F の命令で直接アドレス指定できます。しかし、このデータ空間のほとんどの部分は分割された空間として機能します。PIC18F の命令のほとんどはデータアドレスの下位 8ビットしか格納できないため、データ空間は実質的に256 バイトずつ 16 個のバンクに分割されます。正確なメモリ位置はバンクセレクト レジスタ(BSR)にも依存します。このレジスタはアドレスの上位 4 ビットを格納しています。データ空間全体は 4 KB であり、この一部または全てをデータRAMとして実装できます。

一部の新しい PIC18F は、14 ビット アドレスレンジのメモリ空間を備えています。これらは古い PIC18Fと同じように動作しますが、256 バイトのバンクが大 64 個あり、BSR が 4 ビットではなく 6 ビットである点が異なります。このため、データ空間全体は 4 KBではなく 16 KB です。 これに対して、PIC24F のデータ空間は単一の線形アドレスレンジとして実装されています。ほとんどの命令はバンク選択を使わずに先頭 8 KB 内のアドレスに直接アクセスできます。データ空間全体は 64 KBです。この中で先頭の 32 KB のみがデータ RAM として実装されており、上位 32 KB は PSV に使う仮想メモリ空間です (「PSV (Program Space Visibility)」参照 )。表 3 に、PIC18F、PIC24F、SAMD2x のデータメモリ構成の違いを示します。

SAMD2x は高速 RAM を内蔵しているためり、CPU はアプリケーション データを1命令サイクルで読み書きできます。個別のデバイスのメモリについてはデータシートを参照してください。

SFRの位置

PIC18F のアーキテクチャでは、全ての SFR は概ね連続するブロックとしてデータメモリの 上位に位置しています。実際のアドレスはデバイスによって異なります。既に述べたように、新しいデバイスはより広いデータレンジを備えています。PIC24F のアーキテクチャでは、SFR はメモリ空間の 下位 2 KB(0000h ~07FFh) に格納されています。 SAMD2x のアーキテクチャでは、SFR はメモリ空間の40000000h ~ 43000000h に格納されています。このメモリは AHB-APB 周辺モジュール ブリッジに分割されています。

DMA なし PIC18F DMA あり PIC18F PIC24F SAMD2x

アドレス指定レンジ (サイズ )

12 ビット ( 大 4,096 バイト )

14 ビット ( 大 16,384 バイト )

16 ビット ( 大 65,536 バイト )

32ビット( 大 232 バイト ) (1)

分割 線形レンジ、バンク付きアドレス指定、一部の命令に対する線形アドレス指定

線形レンジ、バンク付きアドレス指定、一部の命令に対する線形アドレス指定

線形レンジ、 分割なし

N/A

特殊アクセス領域

アクセス RAM( 下位バンクの下部、上位バンクの上部 )

アクセス RAM( 下位バンクの下部、上位バンクの上部 )

ニアデータ空間( 下部 8K)

No

SFR の位置 上位 n バンク( 周辺モジュール /SFRの数によって異なる )

上位 n バンク( 周辺モジュール /SFRの数によって異なる )

ニアメモリ全体に割り当てる

周辺モジュール セクション(AHB-APB ブリッジ )

スタック ハードウェア、32 レベル、メモリ空間には割り当てられていない

ハードウェア、32 レベル、メモリ空間には割り当てられていない

ソフトスタックの開始は 0800h、スタックサイズは設定可能

内蔵 SRAM の一部、リンカスクリプトでサイズを設定可能

データアクセス バイト( 直接または間接 )

バイト( 直接または間接 )

ダブルワード、ワード、バイト ( 全て直接または間接 )

ダブルワード、ワード、バイト、ハーフワード( 直接または間接 )

ハードウェアPSV

No No Yes データ空間の上半分へ

No

Note 1: コアの観点からの 大サイズです。個別のデバイスについては、データシートのメモリセクションを参照してください。

DS00002991C_JP-p.4 2019 Microchip Technology Inc.

Page 5: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

特殊アクセス領域

PIC18F ではデータ空間が分割されており、SFR と重要なアプリケーション データにすばやくアクセスするには何らかの方法が必要です。これを実現するため、アクセスRAM(仮想データ空間バンク )を作成します。このバンクは 下位バンクの下位半分と上位バンクの上位半分で構成されます。このスキームにより、BSRの内容に関わらず、SFR 空間が常に利用可能となります。アクセス RAM の使用は PIC18F のアセンブリ言語に引数として含まれており、命令のオペコードにハードコードされています。PIC24F ではデータ RAMの先頭 8 KB(0000h ~ 1FFFh) をニアデータ空間と呼んでいます。この空間内のアドレス ( 全 SFR を含む )へは、全 Direct Memory Access (DMA) 命令から直接アクセスできます。 SAMD2x のデータ SRAM には特殊なアクセス領域は存在しません。SFR には、AHB-APB ブリッジメモリにマッピングされたアドレスを介してアクセスします。周辺モジュール レジスタと I/O ピン制御レジスタがメモリ位置にマッピングされます。CPU は、マッピングされたメモリアドレスを読み書きする事で周辺モジュール レジスタと I/Oピンレジスタにアクセスします。周辺モジュールには、これら 3 つの周辺モジュール ブリッジを介してアクセスします。I/O ピンには、IOBUS にマッピングされたアドレスで直接アクセスできます。SAMD2x のプロセッサは専用のシングルサイクル I/O ポートを実装しています。シングルサイクル I/O ポートはメモリにマッピングされており、全てのロードおよびストア命令をサポートし、周辺モジュールへのシングルサイクル アクセスを提供します。

PSV (PROGRAM SPACE VISIBILITY) PIC18F および PIC24F のアーキテクチャは、プログラムメモリ空間にデータとして格納されている情報に直接アクセスできます。PIC18F の場合、プログラムメモリのデータはTBLRDコマンドでデータ空間に読み出し、アクセスはワード単位です。PIC24F の場合、プログラムメモリもハードウェアによる PSV (ProgramSpace Visibility)でアクセスします。この機能を使うと、プログラム空間の任意の 32 KBセグメントをデータ空間の上位 32 KB 領域に読み取り専用で割り当てます。PSV はハードウェア レジスタ PSVPAG を使って、割り当てるプログラムメモリのページを定義します。PSV のソフトウェア制御は PSV ビット CORCON で行います。

プログラム スタック

セクション「CPU コア」、p. 1 で説明したように、PIC18F はプログラムフロー管理にハードウェア スタックを使います。このスタックはメモリにマッピングされておらず、サイズは固定で 32 レベルですが、Top-of-Stack (TOS)はTOS U/H/LおよびSTKPTR SFRを介して割り当てられます。PIC24Fのアーキテクチャでは、割り当てた全データ空間にスタックをマッピングできます。スタックはニアデータ空間の 0800h(SFR領域のすぐ外側 ) から始まり、W15 レジスタを専用ポインタとして使って高位のメモリアドレスに進みま

す。スタックサイズは SFR レジスタ (SPLIM) でユーザが定義します。このレジスタは、スタック オーバフロー トラップ用のアドレスを設定します。 SAMD2xのスタックは内蔵SRAMの一部です。SAMD2xのプロセッサは降順伸張型のスタックを使います。つまり、スタックポインタはスタックメモリ上で 後にスタックされたアイテムを示します。SAMD2x のプロセッサが新しいアイテムをスタックにプッシュする時には、 初にスタックポインタをデクリメントし、その後そのアイテムを新しいメモリ位置に書き込みます。スタックは開始位置から設定できます。設定すると、設定領域の 上部から降りて行きます。

データアクセス

PIC18F のアーキテクチャはバイト単位のデータのみ処理できます。これに対して、2 バイトワードで構成される PIC24F のデータ空間では、多くの命令がデータをバイト、ワード、ダブルワード (32 バイト ) 単位で処理できます。データ型は命令で使う引数によって決まります。

SAMD2x のアーキテクチャはバイト、ハーフワード、ワード、ダブルワードで処理できます。プロセッサ制御レジスタへはワード転送でのみアクセスできます。ハーフワードまたはバイトによる読み書きは予測できない結果を生じます。

RWW (READ-WHILE WRITING)SAMD2x は RWW (Read-While Writing) 機能を備えています。RWW は、EEPROM をエミュレートできるフラッシュアレイの一部です。EEPROMエミュレーションに使えるフラッシュ量は、不揮発性メモリ コントローラ (NVMCTRL) で設定します。

2019 Microchip Technology Inc. DS00002991C_JP-p.5

Page 6: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

割り込みコントローラ

PIC24F の割り込みコントローラは、レガシー PIC18F機能を拡張しています。さらに、新しい PIC18F は割り込みの機能を拡張した「ベクタ割り込み」機能を実装しています。

SAMD2x は NVIC ( ネスト型ベクタ割り込みコントローラ)をサポートしています。外部割込み信号を全てNVICに接続し、NVIC が割り込みの優先順位を付けます。

表 4 に、デバイス間の違いをまとめます。

表 4: 割り込みコントローラの比較

PIC24F 割り込みの特長

• ユーザ割り当て可能な優先度 : 割り込みごとに 8 レベルある優先順度の 1 つを指定して、自然順序優先度を上書きできます。

• ソフトウェアが割り当てるコア優先度 : CPU が割り込みに応答するしきい値優先度を設定する事もできます。

• 割り込みのネスティング : 自然順序優先度とユーザ割り当て優先度を使う事により、複数の割り込みイベントをネスティングできます。この機能は選択的に無効にする事もできます。

• ハードトラップとソフトトラップ : 高自然順序優先度を持つ 大 8 つのノンマスカブル ハードトラップにより、算術 (0 による除算 )、スタック オーバフロー / アンダーフロー、アドレスまたはデータの

アライメント、オシレータ障害等、深刻な可能性のあるイベントにフラグを立てる事ができます。

• 優先度による省電力モードの終了 : 割り込み優先度によってアプリケーションに 通常コードを再開または ISR へジャンプさせます。

項目 DMA なし PIC18F DMA あり PIC18F PIC24F SAMD2x

割り当て可能な割り込み優先度 High または Low High または Low 8 レベル、ユーザ定義

4 レベル(0 ~ 高優先度 )

割り込みレイテンシ 3 または 4 TCY 2 TCY ( ベクタ割り込み 無効 ) または

3 TCY ( ベクタ割り込み有効 )

5 TCY ( 固定 ) 15 サイクル

優先度によるスリープおよびアイドルモードからの終了

No No Yes Yes

割り込みネスティングとディセーブル オプション

No No Yes Yes

ソフトウェアで選択可能なコア割り込み優先度 (IPL)

No(1) No(1) Yes Yes

トラップベクタ No No Yes (4) ハードフォルト (2)

をサポート

一意の割り込み / トラップ要因 No Yes割り込みベクタテーブル

(IVT)

Yes No

代替割り込みベクタテーブル(AIVT)

No Yesベクタテーブル ベースアドレスは完全に再配置可能

Yes選択肢は 2 つ

ベクタテーブルの再配置

自然順序優先度アンマスカブルまたはノンマスカブル割り込み

No No Yes Yes (1 本の NMI)

特定 TCY 数の間割り込みディセーブル可能

No No Yes No

Note 1: 高優先度の割り込みは、低優先度の割り込み処理に割り込む事ができます。

2: ハードフォルトとは、通常または例外処理中のエラーが原因で発生する例外です。

Note: トラップの詳細はデバイス データシートを参照してください。

DS00002991C_JP-p.6 2019 Microchip Technology Inc.

Page 7: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

サポートされていない PIC18F の機能

PIC24F の割り込みコントローラは、DMA なし PIC18Fの割り込み機能を全てサポートしています。PIC24F の割り込みコントローラは割り込みベクタテーブル アドレス オプションを 2 つしか備えていません。DMA あり PIC18F は、より多くの制御可能な再配置可能割り込みベクタテーブル ベースアドレスを備えています。

ノンマスカブル トラップ

PIC24F のアーキテクチャには、割り込み無効化不可の以下4つのハードウェア トラップイベントがあります。

• アドレスデコード エラー• オシレータ障害• スタックエラー• 算術 ( オーバフロー ) エラー

これらのエラーが発生すると、特定の割り込みベクタに即時ジャンプします。 も重大な 2 つのエラー ( アドレスデコード エラーとオシレータ障害 ) はハードトラップです。これらをクリアしない限り、CPU の実行を継続する事はできません。各トラップフラグビットは別々です。PIC24F のアーキテクチャは、これらのアンマスカブル イベントに加え 大4つのトラップを追加できるように拡張予定です。PIC18F のアーキテクチャはハードウェア トラップと同等の機能を備えていません。PIC18F のスタックエラー イベントはリセットとして扱われます。

SAMD2x の割り込みの特長

1. 各割り込みの優先度はソフトウェアで設定できます。NVIC と Cortex-M0+ プロセッサコアは密結合されており、低レイテンシで割り込みを処理できます。割り込みのレイテンシとジッタを低減するため、Cortex-M0 + プロセッサには、ARMv6-Mアーキテクチャで定義されている後着割り込みおよび割り込みテールチェイン機構が実装されています。ワーストケースの割り込みレイテンシは、ジッタ抑制を使わないゼロウェイト設定時の 優先割り込みの場合で15クロックサイクルです。

2. 大 32 の外部割込み入力は、それぞれ 4 レベルの優先度を備えています。

3. 29 個の割り込みラインは、それぞれ 1 つの周辺モジュール インスタンスへ接続されています。

4. 専用のノンマスカブル割り込み (NMI) 入力

5. レベルおよびパルスに対する割り込みラインのサポート

6. ベクタテーブルの再配置

ビット名の変更と割り当て

PIC24F の割り込みビット命名法は PIC18F と同じですが、2 つ重要な違いがあります。どちらのファミリも、xxxIE、xxxIF、xxxIP(xxx は割り込み要因のニーモニック ) と呼ぶ割り込みイネーブル、フラグ、優先度ビットを使います。1 つ目の違いは、PIC18F では各割

り込み要因に対して割り込み優先度ビットは 1 つですが、PIC24F の場合は 3 つという事です。xxxIP2 ~xxxIP0 と名付けたこれらのビットにより、割り込みを8 つの優先度の 1 つに割り当てる事ができます。2 つ目の違いは割り込み要因数です。多くの割り込みがPIC18Fと同じ (またはよく似た )名前を持っていますが、新規のものもあります。PIC18F の割り込みと似た名前なのに意味が異なるものもあります。割り込み名とその意味については、PIC24F のデバイス データシートを参照する必要があります。

割り込みの設定と有効化

以下は PIC18F で割り込みを設定、有効にするための手順です。

1. 対応する PIRx または INTCONx レジスタで、関連周辺モジュールの割り込みフラグ ステータスビットをクリアします。

2. 対応する PIEx または INTCONx レジスタで、対応する割り込みイネーブル制御ビットをセットして割り込み要因を有効にします。

オプション手順 :1. RCON レジスタの制御ビットを書き込むと、割

り込み要因にユーザ割り当て優先度を選択できます。対応する IPRx レジスタで優先度ビットを設定し、優先度を選択します。割り込み優先度は IPENビット (RCON[7])をセットすると有効になります。

2. ( 新しい PIC18F では )MVECEN コンフィグレーション ビットを使って割り込みベクタテーブルを有効 / 無効にし、割り込みベクタテーブル位置でIVTBASE レジスタを設定します。

以下は PIC24F で割り込みを設定、有効にするための手順です。

1. 割り込みをネストしない場合、NSTDIS ビット(INTCON1[15]) をセットします。

2. 対応する IFSx レジスタで、関連周辺モジュールの割り込みフラグ ステータスビットをクリアします。

3. 対応する IECx レジスタで、有効にする割り込み要因の割り込みイネーブル制御ビットをセットします。

以下は SAMD2x で割り込みを設定、有効にするための手順です。

1. 割り込み要求を生成するには、割り込みをグローバルに有効にしておく必要があります。NVIC 割り込みイネーブル レジスタで有効にします (ISER の SETENA ビット )。

2. NVIC 割り込み優先度レジスタ IPR0 ~ IPR7 を

Note: 割り込みフラグは、ISR を終了する前にもクリアする必要があります。

Note: 割り込み / トラップフラグは、ISR を終了する前にクリアする必要があります。

2019 Microchip Technology Inc. DS00002991C_JP-p.7

Page 8: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

使って、4 レベルの優先度を持つ各割り込みに優先度を設定します。

3. 各周辺モジュールには、割り込みフラグステータス / クリア (INTFLAG) レジスタで割り込みフラグを設定できます。割り込みフラグは、割り込み条件が発生した時にセットされます。周辺モジュールの各割り込みは、周辺モジュール割り込みイネーブルセット (INTENSET) レジスタの対応するビットに 1 を書き込む事で有効にできます。

Note: 割り込み要求は、割り込みフラグがクリアされる、割り込みが無効化される、あるいは周辺モジュールがリセットされるまで有効のままです。割り込みを有効にする前に、割り込みフラグをクリアする事を推奨します。

オプション手順 :対応する IPCxレジスタの制御ビットを書き込む事で、割り込み要因のユーザ割り当て優先度を選択します。優先度は、アプリケーションと割り込み要因のタイプによって決まります。複数の優先度を設定する必要がない場合、全ての有効割り込み要因の IPCx レジスタ制御ビットをゼロ以外の同じ値に設定できます。

ユーザ割り込みの無効化

PIC18F で割り込みを無効にするには、GIE ビットをクリアするだけで十分です ( 優先度を使っている場合は GIEH または GIEL)。SAMD2x の割り込みは、周辺モジュール割り込みイネーブルクリア (INTENCLR)レジスタの対応するビットに 1 を書き込む事で無効にできます。割り込みは、NVIC割り込みイネーブル レジスタ (ICERのCLRENAビット ) でグローバルに無効にできます。

PIC24F でユーザ割り込みを無効にするには、以下の手順が必要です。

1. PUSH命令を使って現在のSTATUSレジスタ(SR)をソフトウェア スタックへプッシュします。

2. STATUS レジスタの下位バイトと値 0Eh で論理OR 演算を行って、CPU の優先度を強制的に 7 に設定します。ユーザ割り込みを有効にするには、POP命令を使って以前のSTATUSレジスタ値を復元します。

移行に関する注意

PIC18F アーキテクチャでは、個別の要因に高優先度または低優先度の割り込みを割り当てる事のみ可能です。PIC24F アーキテクチャでは、割り込みに複数の優先度を割り当てる事ができます(優先度0~7はユーザ定義、優先度 8 ~ 15 はハードウェア定義 )。少なくとも、ネイティブ PIC18F アプリケーションで割り込みを再検討し、PIC24F アーキテクチャに沿った形で再定義する必要があります。

PIC18F と PIC24F のどちらも RETFIE 命令は割り込みサービスルーチン (ISR) を終了しますが、この命令は MCU によって動作が若干異なります。PIC18F では、この命令はグローバル割り込みが再度有効になるように GIE ビットをセットします。PIC24F では GIEビットが存在せず、この命令は以前の優先度を復元します。

SAMD2x のアーキテクチャでは、設定可能な 4 レベルの優先度( 高優先度は0)を割り当てる事ができます。変更不可の既定値優先度を持つシステムおよびコアレベルの割り込みがいくつかあります。これらの割り込みを有効にするには NVIC を使う必要があります。初に ISER レジスタを使って割り込みをグローバルに有効にする必要があります。

Note: 全ての割り込みはリセット時に既定値の優先度 4 に設定されます。

Note: DISI 命令を使うと、優先度 1 ~ 6 の割り込みを一定期間無効にできます。

Note: 割り込み / トラップフラグは、ISR を終了する前にクリアする必要があります。

DS00002991C_JP-p.8 2019 Microchip Technology Inc.

Page 9: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

シリアル ペリフェラル インターフェイス(SPI)PIC24F の SPI モジュールは PIC18F アーキテクチャのスーパーセットであり、多くの機能が似ています。DMA ありの PIC18F は、PIC24F の SPI 機能に近い機能をより多く備えています。 PIC24F の SPI モジュールは「スタンドアロン」の周辺モジュールと見なす事ができます。PIC18F では、より大きな MSPP( マスタ同期シリアルポート ) モジュールに SPI 機能が含まれており、I2C も含まれています。しかし、DMA ありの PIC18F は PIC24F ファミリと似たスタンドアロンの SPI モジュールを備えています。

SAMD2x の SPI はシリアル通信インターフェイス(SERCOM) モジュールの一部です。SERCOM は、以下のモードのいずれかに設定できます。I2C、SPI、USARTSERCOMモジュールのインスタンスが設定済みで有効な場合、その SERCOM インスタンスの全リソースは選択されたモード専用になります。

表 5 に、PIC18F、PIC24F、SAMD2x の SPI モジュールの違いを示します。

表 5: SPIの 比較

移行に関する注意

移行時に一番注意すべき事は、マスタモードのクロック周波数計算です。PIC24F の命令クロックは FOSC/2ベースのため、PIC18F のアーキテクチャと周辺モジュールのクロックレートが異なります。デバイスデータシートの「SPI( シリアル ペリフェラル インターフェイス )」に記載している数式を使って SPI クロックスピードを計算する必要があります。

SAMD2x:

SERCOMバスクロック (CLK_SERCOMx_APB)は、電源マネージャで有効 / 無効にできます。

SPI にクロックを供給するには汎用クロック(GCLK_SERCOMx_CORE) が必要です。SPI を使うには、汎用クロック コントローラでこのクロックを設定、有効にする必要があります。この汎用クロックはバスクロックに対して非同期です。従って、レジスタによっては読み書きの際にクロックドメインへの同

期が必要です。( 書き込みに同期が必要かどうかは、レジスタの説明の「Write-Synchronized」プロパティで示しています。)SPI で DMA と割り込みを使うには、DMAC と NVICを設定する必要があります。

DMAなしPIC18FとDMAありPIC18Fの違い

PIC24F と同様、DMA あり PIC18F は共用の MSSP モジュールではなく、SPI モジュールと I2C モジュールを別々に備えています。このSPIはFIFOや送受信別々のバッファ等の機能も備えているため、DMA ありPIC18F から PIC24F への移行はより簡単です。

項目

PIC18FPIC24F SAMD2x

MSSP ありスタンドアロン

SPI 内蔵

マスタモードとスレーブモード Yes Yes Yes Yesクロックの極性とエッジの選択 Yes Yes Yes YesFIFO No Yes Yes 大 16 バイトの

内蔵 FIFO送受信別々のバッファ No Yes Yes( 拡張モード ) 1 段の送信バッファ、

2 段の受信バッファ

専用 baud レートカウンタ No Yes Yes SERCOM baudレート ジェネレータを使用

DMA 動作 No Yes Yes(2) Yesデータ転送幅 8 1 ~ 8 ビット 8/16 8/9フレームモードのサポート No No Yes YesPPS ( ペリフェラル ピンセレクト ) No Yes Yes(1) YesI2S No No Yes(2) NoNote 1: 一部のデバイスは PPS を備えていません。詳細は各デバイスのデータシートを参照してください。

2: I2S は、PIC24FJ128GA310、PIC24FJ128GB204、PIC24FJ256GB410/412、PIC24FJ1024GA/GB610 等の PIC24F のみが備えています。詳細は各デバイスのデータシートを参照してください。

2019 Microchip Technology Inc. DS00002991C_JP-p.9

Page 10: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

I2C (INTER-INTEGRATED CIRCUIT)PIC18F と PIC24F のどちらのアーキテクチャも、7/10ビットアドレス指定モード、ジェネラルコール アドレス指定、クロック ストレッチ、100/400 kHz データレート、マルチマスタ ネットワークをサポートしています。

SAMD2x の I2C はシリアル通信インターフェイス(SERCOM) モジュールの一部です。7 ビットと 10ビットのアドレス指定、100 kHz/400 kHz/1 MHz/3.4 MHz データレートをサポートしています。

表 6に、PIC24F、PIC18F、SAMD2xの比較を示します。

表 6: I2Cの 比較

移行に関する注意

PIC24F と PIC18F の I2C モジュールの違いにより、移行時に問題が起きる可能性があります。よく起きる問題は、I2CxMSK および I2CxADD レジスタでのアドレスシフトが考慮されていない事が原因です。

PIC18F SSPxADDレジスタの I2Cアドレス 下位ビットに対応するレジスタビット位置は bit 1 なのに対し、PIC24F I2CxADDレジスタの場合はbit 0とズレがあります。アドレス書き込み前または読み出し後にシフトさせれば、この違いを解消できます。

SAMD2x:

SERCOM バスクロック (CLK_SERCOMx_APB) は、電源マネージャ内で有効 / 無効にできます。SERCOM は、GCLK_SERCOMx_COREとGCLK_SERCOM_SLOWの2 つの汎用クロックを使います。 マスタとして動作している場合、コアクロック(GCLK_SERCOMx_CORE) は I2C を駆動できます。低速クロック (GCLK_SERCOM_SLOW) は、SMBus タイミング等の特定機能でのみ必要です。これら 2 つのクロックは、I2C を使う前に、汎用クロック コントローラ (GCLK) で設定、有効にしておく必要があります。クロックはレジスタに読み書きをします。これらは同期される必要があります。

DMAなしPIC18FとDMAありPIC18Fの違い

PIC24F と同様、DMA あり PIC18F は共用の MSSP モジュールではなく、SPI モジュールと I2C モジュールを別々に備えています。この I2C は 10 ビットアドレス指定やジェネラルコール サポートも実装しており、DMA あり PIC18F から PIC24F への移行はより簡単です。PIC18Fのスタンドアロン I2CモジュールはSMBus3.0 の入力レベルもサポートします。

項目

PIC18FPIC24F SAMD2x

MSSP ありスタンドアロン

I2C あり

サポートしているバス速度 100 kHz/400 kHz 100 kHz/400 kHz/1 MHz

100 kHz/400 kHz/1 MHz

100 kHz/400 kHz/1 MHz/3.4 MHz

10 ビットアドレス指定モード No Yes Yes Yesマルチマスタのサポート Yes Yes Yes Yes設定可能なアドレス マスキング 6 ビット 7/10 ビット 7/10 ビット 7/10 ビット

ジェネラルコールのサポート No Yes Yes Yesクロック ストレッチ Yes Yes Yes YesDMA 動作 No Yes No Yesスルーレート制御 Yes Yes Yes YesI2C/SMBus 入力レベル Yes Yes Yes Yes予約済みアドレスサポート Yes(1) Yes Yes Yesバスリピータ モード No No Yes Noファームウェア モード Yes No No(2) NoNote 1: 特定のデバイスで予約されているアドレスについては、各デバイスのデータシートを参照してください。

2: PIC24F の I2C モジュールは、ファームウェア制御のマスタモード コンフィグレーション (SSPM[3:0] = 1011 の PIC18F モードと同様 )を実装していません。従って、PIC24F の I2C ファームウェア実装ではポート入力 (VIH、VIL) レベルを使う必要があります

DS00002991C_JP-p.10 2019 Microchip Technology Inc.

Page 11: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

DMA(ダイレクト メモリアクセス )PIC24F と一部の PIC18Fは DMA 機能をサポートしています。DMA( ダイレクト メモリアクセス ) モジュールは、CPU を介さずにメモリ領域間でデータを直接転送できます。CPU はデータ転送用の割り込みを処理する必要がないため、他のタスクにより多くの時間をかける事ができます。

SAMD2x は DMA と、DMAC と呼ばれる CRC エンジンを備えています。DMAC はメモリと周辺モジュール間でデータを転送できるため、CPU はこれらのタスクを実行しません。これにより、 小限の CPU 介入で高速データ転送が可能になり、CPU 負荷が軽減されます。 表 7 に、PIC18F、PIC24F、SAMD2x の DMA の違いを示します。

表 7: DMAの 比較

移行に関する注意

PIC18F と PIC24Fの間には DMA の機能と動作モードにいくつかの違いがあります。以下に主な違いを説明します。

1. PIC18F と PIC24F の DMA の大きな違いの 1 つは、PIC18F ではフラッシュ プログラムメモリとデータ EEPROM メモリに読み出しアクセスできる事です。PIC24F では、データは SFR とデータ RAM 間でのみ転送できます。PIC18F では、SMT[1:0] (DMAxSSA) ビットを使ってソースデータ読み出し先を指定できます。SMTxビットを使うと、SFR/GPR、EEPROM、プログラム フラッシュからのデータの読み出しを指定できます。

2. SAMD2x は周辺モジュール間、周辺モジュールからメモリへ、メモリから周辺モジュールへ、メモリ間の 4 つの転送をサポートします。基本的な転送単位をビートと呼びます。ビートはバスアクセスの一単位として定義されます。単一ブロック転送に複数のビート、1 つの DMA トランザクションに複数のブロック転送がある場合があります。DMA 転送はソース / デスティネーション アドレス、転送カウンタ、その他転送制御情報等のプロパティを格納したディスクリプタに基づいたもの

です。ディスクリプタは静的またはリンク型です。静的の場合、単一ブロック転送を行います。リンク型の場合、1 つの DMA トランザクション内で複数の転送ディスクリプタを使う事で複数のブロック転送を有効にできます。

3. もう 1 つの違いは、通信するデータのカウントまたはサイズです。PIC24F にはカウントまたはサイズ用のレジスタ一つしかありませんが、PIC18Fにはデスティネーション (DMAxDSZ) とソース(DMAxSSZ)で別々のサイズレジスタがあります。SAMD2xにはカウンタレジスタ1つのみあります。

DMAなしPIC18FとDMAありPIC18Fの違い

DMA は新しい PIC18F に追加された機能です。

項目

PIC18FPIC24F(1) SAMD2xDMA なし

PIC18FDMA あり

PIC18F

DMA No Yes Yes Yesマルチ DMA チャンネルのサポート No Yes Yes Yes転送モード (データメモリからSFRへ /SFRからデータメモリへ )

No Yes Yes Yes

EEPROM/ フラッシュからのデータ読み出し No Yes No Noアドレス指定可能なソースとデスティネーション No Yes Yes Yesソフトウェアトリガによる開始 No Yes Yes Yes割り込みトリガによる開始 No Yes Yes Yesソースアドレス インクリメント / デクリメント モード

No Yes Yes Yes

デスティネーション アドレス インクリメント /デクリメント モード

No Yes Yes Yes

ソースとデスティネーションで別々のカウンタ No Yes No NoDMA 中止割り込みトリガ No Yes No NoNote 1: DMA は、PIC24FJ128GA310、PIC24FJ128GB204、PIC24FJ256GB410/412、PIC24FJ1024GA/GB610 等の PIC24F のみが備えてい

ます。この機能が利用可能かどうかは各デバイスのデータシートを参照してください。

2019 Microchip Technology Inc. DS00002991C_JP-p.11

Page 12: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

液晶ディスプレイ PIC24F と一部の PIC18F は LCD( 液晶ディスプレイ )モジュールをサポートしています。表 8 に、PIC18Fと PIC24F の LCD モジュールの特長、動作、比較を示します。両者の LCD 機能は非常に似ており、PIC18Fから PIC24F への移行は簡単です。

Note: SAMD2x は LCD モジュールをサポートしていません。

表 8: LCDの 比較

移行に関する注意

PIC18F と PIC24F の LCD の機能と動作モードは非常によく似ています。唯一注意すべき点は、システムクロックがLCDクロックとして使われているかどうかです。デバイスクロックによっては、LCD の動作が許容レンジ内に収まるように LCD のプリスケーラ クロックを修正する必要があります。

DMAなしPIC18FとDMAありPIC18Fの違い

現在の DMA あり PIC18F は LCD モジュールをサポートしていません。

項目 PIC18F(1) PIC24F(1)

LCD Yes Yesスリープ中の LCD 動作 Yes Yes静的、1/2、1/3 のバイアス Yes Yes4 COM と 8 COM の多重化 (2) Yes Yesチャージポンプによるバイアス (3) Yes Yes外付け抵抗によるバイアス Yes Yes内部抵抗ラダーによるバイアス (4) Yes Yesタイプ A および B のサポート Yes YesLCD プリスケーラ オプション Yes Yes複数の LCD クロック オプション Yes YesNote 1: 一部のデバイスは LCD をサポートしていません。詳細は各デバイスのデータシートを参照してください。

2: 一部の LCD デバイスは 8 COM の多重化をサポートしていません。詳細は各デバイスのデータシートを参照してください。

3: チャージポンプは、VDD が LCD グラスの仕様値を下回った場合の LCD 駆動用に利用します。一部のデバイスはこの機能をサポートしていません。機能がサポートされているかどうかは各デバイスのデータシートを参照してください。

4: 内部抵抗は LCD モジュールに必要なバイアス電圧を内部で生成します。これにより、基板面積とコストを抑える事ができます。動的な抵抗の切り換えは、電流消費低減というユーザニーズに基づいて実装されています。詳細はデバイス データシートを参照してください。一部のデバイスにはこの機能が実装されていない可能性があります。

DS00002991C_JP-p.12 2019 Microchip Technology Inc.

Page 13: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

UART (UNIVERSAL ASYNCHRONOUS RECEIVER TRANSMITTER) PIC24Fと一部のPIC18FはUART (Universal AsynchronousReceiver Transmitter)モジュールをサポートしています。

SAMD2x の USART はシリアル通信インターフェイス(SERCOM) モジュールの一部です。SERCOM は、サポートされている以下のモードのいずれかに設定できます。

I2C、SPI、USARTSERCOM のインスタンスが設定済みで有効な場合、その SERCOM インスタンスの全リソースは選択されたモード専用になります。表 9 に、PIC18F、PIC24F、SAMD2xのUARTの比較を示します。

表 9: UARTの 比較

項目

PIC18F(1)

PIC24F(1) SAMD2xDMA なしPIC18F

DMA ありPIC18F

以下の機能を備えた非同期 ( 全二重 ) 動作 :• 文字受信による自動復帰

• 自動 baud レート校正

• 12 ビットブレーク文字送信

Yes Yes Yes 全二重動作をサ

ポート

TX/RX ピンを介した全二重 8/9 ビットデータ

転送

Yes Yes Yes 5、6、7、8、9ビットデータ転送

をサポート

9 ビットモード アドレスの検出をサポート

( 第 9 ビット = 1)Yes Yes Yes No

UxCTS ピンと UxRTS ピンによるハードウェア フロー制御

No Yes Yes Yes

ストップビット数 1 1, 1.5, 2 1, 2 1 または 2アイドル時の極性指定 No Yes Yes Nobaud レート ジェネレータ 専用の

8/16 ビット

専用の

8/16 ビット

16 ビット 16 ビット /8 ビット

BRG プリスケーラ Yes Yes Yes NoIrDA® エンコーダ / デコーダロジック No No Yes Yes

IrDA サポート用の 16x baud クロック出力 No No Yes YesFIFO 送信データバッファ No Yes Yes YesFIFO 受信データバッファ No Yes Yes Yes

診断用ループバック モードのサポート No No Yes Yesハードウェア パリティのサポート (8 ビット

データ )No No Yes Yes

パリティエラー検出 No Yes Yes Yesハードウェア同期バイトの生成 Yes Yes Yes No同期 / ブレーク文字をサポート Yes Yes Yes Yes復帰イネーブル Yes Yes Yes Yesフレーミングおよびバッファ オーバーラン エラー検出

Yes Yes Yes Yes

割り込みオプション 送受信 送受信および

UART エラーイ

ベント

送受信および UARTエラーイベント

送受信および

UART エラーイベ

ント

DMX No Yes Yes NoDALI No Yes Yes NoLIN No Yes Yes NoNote 1: 一部のデバイスはこれらの特長を備えていません。特定の特長を備えているかどうかは各デバイスのデータシートを

参照してください。

Note: PIC24F の UART は同期通信をサポートしていません。同期シリアル通信が必要な場合、SPI モジュールを使う必要があります。

2019 Microchip Technology Inc. DS00002991C_JP-p.13

Page 14: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

移行に関する注意

PIC18F から PIC24F へ移行する場合、以下を考慮する必要があります。

1. 基本命令サイクルレートが異なるため (PIC24Fは FOSC/2、PIC18F は FOSC/4)、PIC18F からPIC24F へ移植するプロジェクトは baud レートを再計算する必要があります。

2. SAMD2x は、非同期および同期モードをサポートしています。USART を使う場合、baud レートを計算する必要があります。

3. 9 ビット通信のルーチンを変更する必要があります。PIC18F の USART では、第 9 ビットを別のレジスタから読み書きする必要があります。

DMAなしPIC18FとDMAありPIC18Fの違い

DMA あり PIC18F には、ハードウェア プロトコル サポート (DMX、DALI、LIN/J2602) と、PIC24F への移行がより簡単に行えるいくつかの機能が追加されています。さらに、PIC24F の UART と同じで、古い PIC18Fがサポートしている同期モードはサポートしません。

DS00002991C_JP-p.14 2019 Microchip Technology Inc.

Page 15: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

RTCC(リアルタイム クロック /カレンダ ) RTCC は校正可能なリアルタイム クロック / カレンダです。

SAMD2x では、RTCC を RTC( リアルタイム カウンタ )と呼んでいます。RTC は、常時動作を続ける、10 ビット プログラマブル プリスケーラを備えた 32 ビットカウンタです。RTC はアラーム / コンペア ウェイクアップ、

周期ウェイクアップ、オーバフロー ウェイクアップ メカニズムを使って、スリープモードから SAMD2x を復帰させる事ができます。

表 10 に、PIC18F、PIC24F、SAMD2x の RTCC( リアルタイム クロック / カレンダ ) の主な特長と違いを示します。

表 10: RTCCの 比較

移行に関する注意

PIC18F から PIC24F へ移行する場合、以下を考慮する必要があります。

1. RTCC モジュールの機能はデバイス間で非常に似ていますが、PIC24F はいくつかの追加機能を実装しています。レガシー RTCC の属性には大きな違いはありません。RTCC 入力クロックのオプションについては、各デバイスのデータシートを参照してください。

2. SAMD2x は 12 時間フォーマットをサポートしており、平日オプションはサポートしていません。

DMAなしPIC18FとDMAありPIC18Fの違い

現在のDMAありPIC18FはRTCCモジュールをサポートしていません。

項目 PIC18F(1) PIC24F(1) SAMD2x

RTCC(1) Yes Yes 32 ビット / 16 ビットのカウンタ /カレンダモードを

サポート 時刻の更新 : 時、分、秒 Yes Yes Yes24 時間フォーマット Yes Yes 12/24 時間

カレンダ : 曜日、日、月、年 Yes Yes 日付以降をサポート

設定可能なアラーム Yes Yes Yes年のレンジ : 2000 ~ 2099 Yes Yes 「年」( ソフトウェアで

定義した基準年からのオフセットを数えた値)

うるう年補正 Yes Yes YesコンパクトなファームウェアのためのBCD フォーマット

Yes Yes No

低消費電力動作 Yes Yes Yesユーザ校正 Yes Yes No50/60 Hz の外部入力 No Yes 大 48 MHzユーザ校正の有効化 ( 秒 ) 60 秒ごと 15 秒ごと Noアラームリピート Yes

大 255 回

Yes大 255 回

No

アラームマスク Yes Yes YesRTCC 電源制御 No Yes Yes選択可能なクロック源 Yes Yes YesNote 1: 一部の PIC24F と PIC18F は RTCC モジュールをサポートしていません。RTCC が使えるかどうかは各デバイスのデータシートを参

照してください。RTCC を実装している PIC18F は、PIC18F46J11、PIC18F46J50、PIC18F87J94、PIC18F87J90、PIC18FX7J13、PIC18F87J72 ファミリ等です。RTCC を実装している PIC24F は、PIC24FJ128GA010、PIC24FJ128GA310、PIC24FJ128GB410、PIC24FJ128GB204、PIC24FJ256GA610、PIC24FJ64GA006、PIC24FJ32MC104、PIC24FJ256GA705 ファミリ等です。

2019 Microchip Technology Inc. DS00002991C_JP-p.15

Page 16: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

巡回冗長検査 (CRC)ジェネレータ

PIC24F の CRC モジュールではハードウェアによるCRC チェックサムの計算が可能です。ソフトウェア処理時間を消費しません。PIC18F はハードウェア CRCサポートを備えていませんが、DMA ありの PIC18F はPIC24F とよく似た CRC モジュールを備えています。 SAMD2x では、DSU (Device Service Unit) がメモリ領域 (NVM フラッシュと AHB RAM を含む ) の巡回冗長検査 (CRC32) 値の計算をサポートします。

CRC32 コマンドが以下のレンジから発行される場合の挙動 :

• 内部レンジ - CRC32 は任意の NVM メモリ位置で動作できます。

• 外部レンジ - CRC32 の動作はアドレス レジスタのアクセスモード (AMOD) ビットで設定するモードで制限されます。

「0」の場合、CRC32 はフルフラッシュ アレイ領域(EEPROM エミュレーション領域は含まない ) に制限され、DATA は計算前に強制的に 0xFFFFFFFF に設定されます ( シードなし )。「1」の場合、EEPROM エミュレーション領域 DATA 全体の CRC32 が計算前に強制的に 0xFFFFFFFFに設定されます (シードなし )。表 11 に、CRC モジュール間の違いを示します。

表 11: CRCの 比較

移行に関する注意

PIC18F から移行する際の主な注意点は、PIC18F のCRCモジュールは主にNVMスキャナを使ってプログラムメモリで CRC チェックサムを計算するという事です。PIC24F の CRC モジュールは PIC18F モジュールのようにスキャナを内蔵していないため、同じ機能を実行するにはソフトウェアまたは別のモジュールを使う必要があります。さらに、PIC24F の CRC モジュールは入力にレジスタ 1 セットではなく FIFO を備えているため、モジュールへのデータ入力が若干異なります。

SAMD2x では、開始アドレスをアドレスレジスタ(ADDR) に書き込み、メモリレンジのサイズを長さレジスタ (LENGTH) に書き込んだ後に、CRC32 がメモリレンジの計算を開始します。どちらもワード境界に整列させる必要があり、移行時に考慮する必要があります。CRC32計算用の初期値はデータレジスタ(DATA)に書き込む必要があります。この値は 0xFFFFFFFF です。これが通常 CRC シードです。

計算された CRC32 値はデータレジスタから読み出せます。読み出した値は標準の CRC32 実装と一致する必要があります。

DMAなしPIC18FとDMAありPIC18Fの違い

DMAありPIC18Fのみがこのモジュールを備えています。

項目PIC18F

PIC24F SAMD2xDMA なし PIC18F DMA あり PIC18F

多項式サイズ N/A 大 16 大 16 大 32割り込み N/A CRC 完了および

スキャナ完了時CRC 完了時 No

NVM スキャナ N/A プログラムメモリまたはEEPROMをスキャンし、 CRC エンジンにデータ

を供給

No No

入力 FIFO N/A No 8 段 16 ビットまたは16 段 8 ビット

No

DS00002991C_JP-p.16 2019 Microchip Technology Inc.

Page 17: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

タイマ

PIC24F のタイマは非同期 / 同期カウンタモード、タイマ /ゲート付きタイマモード、32 kHz水晶振動子サポート等の Timer0 および Timer1/3/5 が備えている PIC18Fの基本的なタイマ機能を広くサポートしています。PIC24F のタイマはより多くの汎用機能に対応するように設計されていますが、PIC18F のタイマは特定用途向けに設計されています。DMA あり PIC18F のタイマは特定用途向けの性格が強くなっており、ハードウェア リミット機能および信号計測タイマ付きの新しい 8ビット Timer2/4/6 モジュール、キャプチャ / コンペアの実行と入力デジタル信号計測用の32ビットタイマ等が追加されています。一方、PIC24F の各 16 ビットタイマはそれぞれ周期レジスタ、選択可能なプリスケーラ、周期一致フラグを備え、汎用カウンタモードまた

はタイマモードで動作できます。PIC24F の 16 ビットタイマ2個を連結して32ビットタイマを形成する事もできます。 SAMD2x のタイマ / カウンタ (TC) はカウンタ、プリスケーラ、コンペア / キャプチャ チャンネル、制御ロジックで構成されています。このカウンタは、カウントイベントまたはカウントクロック パルスに設定できます。このカウンタはコンペアまたはキャプチャチャンネルと一緒に入力イベントにタイムスタンプを付ける事で、周波数とパルス幅をキャプチャできます。周波数生成やパルス幅変調 (PWM) 等の波形を生成できます。

表 12 に、PIC18、PIC24F、SAMD2x のタイマモジュールの違いを示します。

表 12: タイマの比較

移行に関する注意

移行時の 大の注意点は、PIC18F と PIC24F ではタイマ機能が同じタイマに設定されていない事がある点です。周期レジスタは、PIC24Fでは全てのタイマ、PIC18Fでは一部のタイマにしかありません。プリスケーラはどちらのアーキテクチャにも存在しますが、PIC18F ではタイマごとに異なり、PIC24F では全タイマで同じです。 後に、PIC24F のタイマはポストスケーラを備えていませんが、PIC18F の多くのタイマがこの機能を備えています。PIC24Fで同じタイマ周期を実現するには、ソフトウェアによる方法または別のプリスケーラ/周期を使う必要があります。 SAMD2x は 5 つのタイマ (TC3 ~ TC7) にタイマ / カウンタ機能を備えています。全機能が全 TC インスタンスでサポートされます。タイマは 8/16/32 ビットとして設

定できます。PIC24F とは異なり、TC モジュールはコンペアまたはキャプチャ モジュールで構成され、周波数とパルス幅のキャプチャが可能です。波形生成をサポートし、DMA 機能はタイマとカウンタで使えます。

SAMP2x は制御用タイマ / カウンタ (TCC) アプリケーション モジュールも備えています。モータ アプリケーションに適したデュアルスロープ PWM、パターン生成、プログラマブルなデッドタイムの挿入が可能なローサイド / ハイサイド出力機能等を備えています。

項目PIC18F

PIC24F SAMD2xDMA なし PIC18F DMA あり PIC18F

タイマ幅 8/16 ビット 8/16/24 ビット 16/32 ビット 8/16/32 ビット

汎用タイマモード 全タイマ 全タイマ 全タイマ TC3 ~ TC7非同期カウンタモード Timer1/3 全タイマ Timer1/2/4 Yes同期カウンタモード Timer0/1/3 全タイマ 全タイマ No周期レジスタ Timer2/4 Timer0/2/4/6、SMT 全タイマ TC3 ~ TC732 kHz 水晶振動子サポート Timer1 全タイマ Timer1 Yesその他のクロック源 No 全タイマ No Yesタイマゲート オプション No Timer1/3/5 全タイマ Noプリスケーラ 全タイマ 全タイマ 全タイマ TC3 ~ TC7ポストスケーラ Timer2/4 Timer0/2/4/6 No No特殊イベントトリガ Yes Yes Yes Yesシステムクロック源レート FOSC/4 FOSC/4 FOSC/2 TC3 大周波数

– 96 MHzTC4 ~ TC7 大周波数 – 48 MHz

ハードウェア リミット機能 No Timer2/4/6 No No信号計測機能 ( パルス幅、エッジ間の時間 )

No SMT No 周波数生成シングルスロープ

PWM

2019 Microchip Technology Inc. DS00002991C_JP-p.17

Page 18: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

DMAなしPIC18FとDMAありPIC18Fの違い

DMA あり PIC18F は旧製品より多くのタイマ機能を備えているため PIC24F に近く、移行が簡単です。現在、全てのタイマで非同期モード、同期モード、32 kHz 水晶振動子サポートが使えます。より多くのタイマが周期レジスタを備え、Timer1/3/5 はゲート付きタイマ機能を備えています。これらの機能により、DMA ありPIC18F と PIC24F はほとんどの機能を共有しており、DMA あり PIC18F から PIC24F への汎用タイマコード移行時の手間はさらに少なくなりました。

新しいPIC18Fは用途がより特定された新規タイマを備えています。DMA あり PIC18F の Timer2/4/6 モジュールは周期レジスタ付き 8 ビットタイマです。このタイマは、( 別の周辺モジュールまたは外部ピンからの ) 外部信号により開始、実行、フリーズ、リセットできます。このモジュールはワンショット モードと単安定モードも備えています。これらのタイマを PWM と一緒に使うと、パルス密度変調等のより高度な波形制御が可能です。PIC24Fには同じようなタイマはありません。

DMA あり PIC18F は各種デジタル信号パラメータ ( パルス幅、周波数、デューティ サイクル等 ) の計測用および同期タイマまたは非同期カウンタとして使える24 ビットタイマである SMT も備えています。ゲート付きタイマ機能と周期一致レジスタも備えています。PIC24F に同様のタイマはありませんが、PIC24F の 32ビットタイマは信号計測機能を除く SMT 機能を持ちます。従って、SMT がタイマとして使われている場合、基本的に PIC24 タイマと同じです。

DS00002991C_JP-p.18 2019 Microchip Technology Inc.

Page 19: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

構成可能なロジックセル (CLC)PIC24F 構成可能なロジックセル (CLC) モジュールを使うと、選択した複数の信号をロジック機能に入力し、その論理出力を使って他の周辺モジュールまたは I/Oピンを制御できます。レガシー PIC18F には等価な機能はありませんが、DMAありPIC18FはCLCモジュー

ルを備えています。DMA あり PIC18F と PIC24F のCLC モジュールはほぼ同じです。表 13 に、CLC モジュールの違いを示します。

Note: SAMD2x は CLC モジュールをサポートしていません。

表 13: CLCの 比較

移行に関する注意

PIC18F から PIC24F へ CLC を移行する際の唯一の注意点は入出力です。PIC24F の CLC への入力にはより多くの制約があります。PIC18F の CLC モジュールでは 大 64 の入力が可能で、その全てが 4 つのデータゲートに接続可能ですが、PIC24Fの入力は32であり、そのうち各ゲートに接続できるのは 8 つのみです。さらに、PIC18F の CLC の入出力ピンは PPS で割り当てを変える事ができますが、PIC24F の CLC ピンは固定されています。 後に、PIC24F の CLC は出力ピンが固定されているため、CLC を外部ピンに出力する際は考慮しなければならない出力イネーブルピンを別途備えています。

DMAなしPIC18FとDMAありPIC18Fの違い

DMAありPIC18Fのみがこのモジュールを備えています。

項目PIC18F

PIC24FDMA なし PIC18F DMA あり PIC18F

入力数 ( 総数 ) 0 大 64 大 32入力数 ( データゲート単位 )

0 大 64 大 8

他の周辺モジュールへの論理出力 N/A Yes YesCLC 出力ピン N/A PPS で再配置可能 固定ピン

割り込み N/A 立ち上がり / 立ち下がりエッジ

立ち上がり / 立ち下がりエッジ

出力イネーブル N/A PPS で制御 独立した制御ビット

2019 Microchip Technology Inc. DS00002991C_JP-p.19

Page 20: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

キャプチャ /コンペア /PWM PIC24Fのキャプチャ/コンペア モジュールは、PIC18Fのキャプチャ / コンペア /PWM (CCP)/ECCP モジュールと同じ機能を備えています。表 14 に、PIC18F とPIC24F の CCP モジュールの違いを示します。

Note: SAMD2xはこれらの機能をタイマ / カウンタ (TC) と制御用タイマ / カウンタ (TCC)アプリケーションに備えています。詳細は「タイマ」を参照してください。

表 14: CCP/ECCPの 比較

PIC24F の入力キャプチャ / 出力コンペア モジュールはTimer2またはTimer3を使えますが、PIC18Fのモジュールは Timer1 または Timer3 を使えます。キャプチャ イベントは ICx ピンの立ち上がり、立ち下がり、第 4 立ち上がり、第 16立ち上がりエッジごとに生成できます。

シングルコンペア一致モードを選択する場合、どちらのアーキテクチャでもOCxピンの初期状態を選択できます。一致時、ピンを遷移またはトグルできます。両アーキテクチャの各モードで、出力コンペア割り込みフラグがセットされます。

SAMD2x では、TC3 ~ TC7( タイマ / カウンタ ) をコンペア / キャプチャモードに設定できます。コンペア動作では、カウンタ値を常時 CCx ( コンペア / キャプチャ レジスタ ) の値と比較します。一致時に DMA トランザクションの要求、割り込み、イベントシステム用のイベント生成等ができます。波形ジェネレータモードでは、これらの比較動作で波形周期またはパルス幅を設定します。

キャプチャ動作を有効にすると、入力信号周期とパルス幅を計測したり、イベントシステムの内部イベントから選択可能エッジをキャプチャできます。

PIC24FはPIC18Fの全PWMモードをサポートしています。大きな違いは、各出力コンペア モジュールは 1つの出力のみ生成できる事です。従って、ハーフブリッジのサポートには 2 個、フルブリッジのサポートには4 個のモジュールが必要です。

PIC24F の PWM モードは出力コンペア モジュールの拡張機能です。このモードはシングル出力コンペアモードと似ており、フォルト保護ピン、OCFA、OCFBを追加すると、パルストレインを停止できます。これは、PIC18F の PWM モードと似ています。

一部の PIC24F は、MCCP/SCCP( マルチまたはシングル キャプチャ/ コンペア モジュールと呼ばれる専用モジュールを備えています。これらのモジュールを備えたデバイスは複数の動作モードを備え、タイマ、キャプチャ、コンペア、PWM オプションとして動作できます。これらのデバイスには複数の入力クロック機能があります。MCCP/SCCP モジュールが内蔵されているかどうかは各デバイスのデータシートを参照してください。

SAMD2x ではシングルスロープ PWM 生成の場合、周期 (T)はTOP値で制御し、生成された波形出力のデューティ サイクルは CCx( コンペア / キャプチャ レジスタ )で制御します。デュアルスロープ PWM の場合、周期設定(TOP)はPERで制御し、生成された波形出力のデューティ サイクルは CCx で制御します。カウンタは ZEROから PER へ、その後 PER から ZERO へと繰り返しカウントします。

項目 PIC18F(1) PIC24F(1) SAMD2x

CCP/ECCP 機能 Yes Yes Yes構成可能なソースタイマ Yes Yes Yesキャプチャピン プリスケーラ 1、4、16 1、4、16 Noキャプチャ バッファ Yes Yes Yesキャプチャタイマ幅 Yes Yes Yes割り込みごとに選択可能なキャプチャ Yes Yes No選択可能な出力コンペアピン ステート Yes Yes Yes特殊イベントトリガ Yes Yes Yes周辺モジュールごとの PWM 出力数 Yes Yes Yesハーフブリッジ / フルブリッジ PWM のサポート

Yes Yes Yes

PWM デッドバンドのサポート No(2) Yes YesNote 1: 機能がサポートされているかどうかは各デバイスのデータシートを参照してください。

2: CWG( 設定可能な波形ジェネレータ ) と COG( 設定可能な出力ジェネレータ ) 付きは、デッドバンドをサポートしています。この機能がサポートされているかどうかは各デバイスのデータシートを参照してください。

DS00002991C_JP-p.20 2019 Microchip Technology Inc.

Page 21: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

移行に関する注意

PIC24F の出力コンペア モジュールのクロック源はFOSC/2 ベースであり、PIC18F の FOSC/4 クロック源とは異なっています。製品データシートに記載されている数式を各種クロック源の計算に使うように注意する必要があります。

SAMD2x では、TC および TCC モジュールを動作させるために、汎用クロックとバスクロックを有効にする必要があります。TCC0 と TCC1 は周辺モジュール クロック ジェネレータを共用しています。TC インスタンスは TC3 からペア ( 偶数と奇数 ) になり、同じ汎用クロックを使います。

DMAなしPIC18FとDMAありPIC18Fの違い

レガシーPIC18FとDMAありPIC18FのCCPモジュールの主な違いは、CCP に直接関係したものではなく、タイマに関係したものです。Timer1 と Timer2 はどちらもレガシーデバイスとは異なっており、CCP の動作に影響を与える可能性があるため考慮する必要があります。DMA あり PIC18F は、デッドバンド付き PWMをサポートする相補波形ジェネレータ (CWG) モジュールも備えています。

2019 Microchip Technology Inc. DS00002991C_JP-p.21

Page 22: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

I/Oポ ート

PIC24F と PIC18F の I/O ポートはよく似ていますが、大きな違いがあります。どちらのデバイスファミリもデータ PORT/LAT/TRIS レジスタを実装しています。どちらのデバイスファミリもアナログ / デジタル周辺モジュールを備えています。 SAMD2x の I/O ピンコントローラは I/O ピンを制御します。I/O ピンはグループ別にまとめ、PORT グループと呼んでいます。各 PORT グループは 大 32 ピンで、個別またはグループで設定、制御が可能です。

表 15 に、PIC18F、PIC24F、SAMD2x の I/O ポートの違いを示します。

表 15: I/Oポ ートの比較

サポートされていない PIC18F 機能

PIC24F のポート アーキテクチャは、ポート出力に周辺モジュール入力を駆動させません。ピンを周辺モジュール入力またはポート出力として設定する必要がありますが、両方同時に設定する事はできません。

移行に関する注意

• 設定可能なオープンドレイン オプション付きのピンでデジタル / アナログ入出力を有効にしても、プルアップは自動的に無効にはなりません。ピンに設定可能なオープンドレイン オプションが付いている場合、プルアップは無効になりません。プルアップが不要な場合、ソフトウェアで無効にする必要があります。

• アナログ機能を備えていないピンの 大入力電圧は5.5 V です。このため、PIC18F から移行する際にハードウェアの変更が 小限で済みます。高い出力電圧を生成するには、ピンに外付けプルアップ抵抗を加え、データラッチにゼロを書き込みます。TRISx ビットをセットすると出力が電源電圧まで上昇し、 TRISx ビットをクリアするとデジタルゼロが出力されます。

• 駆動能力、スルーレート、入力電圧しきい値は、周辺モジュールが有効になると自動的に変更されます。デバイス間の違いについては、各データシートを確認する必要があります。

• PIC24F のほとんどの入力バッファはシュミットト

リガ (ST) です。関連部品の出力レベルが ST 入力 電圧しきい値を満たしている事を確認してください。

• ピンをアナログにするかデジタルにするかはデバイスによって異なります。一部の PIC18F は、この制御を ADC レジスタに備えています。一部の PIC24F は、同じ機能を実装するためにADxPCFG と呼ぶレジスタを備えています。一部の PIC18F と PIC24F は、 ピンをアナログまたはデジタルにするために各パッド専用のレジスタを備えています (ANSELx レジスタ )。

• SAMD2x では各ピンを、アプリケーションで直接制御する汎用 I/O ピンとして使うか、組み込みデバイスの周辺モジュールに割り当てる事ができます。汎用 I/O として使う場合、柔軟に設定可能なドライバとプル設定により各ピンを入力または出力として設定できます。

• I/O ピンは 大 32 ピンのグループにまとめられます。グループ 0 は PA ピン、グループ 1 は PB ピン等です。各ピングループにはそれぞれ PORT レジスタがあり、アドレス空間は 0x80 です。例えば、グループ 0 (PA00 ~ PA31) のデータ方向(DIR) レジスタのレジスタアドレス オフセットは0x00、グループ 1 (PB00 ~ PB31) の DIR レジスタのレジスタアドレス オフセットは 0x80 です。これらのグループで全ピンの機能にアクセスします。

• PMUXx レジスタを使うと、組み込みデバイスの周辺モジュール機能を選択できます。

項目PIC18F(1)

PIC24F(1) SAMD2xDMA なし PIC18F DMA あり PIC18F

制御レジスタ : PORTx、LATx、TRISx

Yes Yes Yes DIR、OUT、IN、PULLEN、INEN

内部プルアップ PORTB のみ 全ポート 全ポート 全ポート

リセット時入力に設定 Yes Yes Yes Yesオープンドレイン制御 No Yes Yes NoPPS/ 多重化 Yes(1) Yes Yes Yes状態変化割り込み 一部のピン Yes Yes EIC(2)

Note 1: 一部のデバイスはこの機能を備えていません。詳細は各デバイスのデータシートを参照してください。

2: EIC( 外部割り込みコントローラ ) を使うと、外部ピンを割り込みラインとして設定できます。各割り込みラインは個別にマスクでき、立ち上がり、立ち下がり、両エッジ、High または Low レベルで割り込みを生成できます。

DS00002991C_JP-p.22 2019 Microchip Technology Inc.

Page 23: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

DMAなしPIC18FとDMAありPIC18Fの違い

DMA あり PIC18F と DMA なし PIC18F には、I/O ポートの制御に関する違いはほとんどありません。

2019 Microchip Technology Inc. DS00002991C_JP-p.23

Page 24: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

オシレータ

PIC24F のオシレータ システムは PIC18F の多くの機能をサポートし、新しい機能もいくつか追加しています。どちらのアーキテクチャも、3 つの主要クロック源 ( プライマリ オシレータ、内部 RC オシレータ、4xPLL 周波数マルチプライヤ ) をサポートしています。さらに、両方ともソフトウェア制御クロック切り換え、フェイルセーフ クロックモニタ (FSCM)、2 段階起動等、アプリケーションの堅牢性を高める機能もサポー

トしています。PIC24F では初期クロック設定、ソフトウェア制御クロック切り換え、PLL の使い方の柔軟性が向上しています。 SAMD2xは外部高周波32 kHzオシレータ、内部8 MHz/32 kHz RC オシレータ、内部 48 MHz デジタル周波数ロックループ オシレータをサポートしています。

表 16 に、PIC18、PIC24F、SAMD2x のオシレータの違いを示します。

表 16: オシレータの比較

プライマリ オシレータ (POSC)PIC18Fでは、オシレータモードはFOSC[3:0]コンフィグレーション ビットで選択します。一部の新しいPIC18F では、FEXTOSC[2:0] で POSC モードを選択し、RSTOSC[2:0] でブートアップ オシレータを選択します。PIC24F では、プライマリ オシレータモードはコンフィグレーション ビット FNOSC[2:0] とPOSCMD[1:0] の組み合わせで選択します。

SAMD2x では、パワーオン リセット (POR) 後に使われる既定値クロック源は OSC8M です。OSC8M は開ループモードで動作する内部オシレータで、8 MHz を生成します。OSC8M は、代表的な電圧および温度条件により工場で校正されています。OSC8M は、汎用クロック ジェネレータ用のクロック源として使えます。OSC8M を有効にするには、OSC8M 制御レジスタ (OSC8M.ENABLE)のオシレータ イネーブルビットに 1 を書き込みます。

8 MHz RC オシレータ制御レジスタ (OSC8M) の周波数レンジ (FRANGE)および校正 (CALIB)ビットグループに値を書き込む事で、発振周波数を制御できます。OSC8M 有効時に FRANGE および CALIB ビットを更新する事は推奨しません。動作が開ループモードであるため、周波数は電圧、温度、プロセスの影響を受けます。

セカンダリ オシレータ (SOSC)全ての PIC18F は、セカンダリ クロック源としてTimer1 オシレータを使えます。 も代表的なパターンでは、ピン T1OSI と T1OSO の間に低電力 32 kHz 水晶振動子を接続します。オシレータは、これとは別にT1OSCEN(T1CON[3])でデバイスクロックで制御されます。

項目PIC18F(1)

PIC24F(1) SAMD2xDMA なし PIC18F DMA あり PIC18F

プライマリ ( 外部 ) オシレータモード

HS、XT、EC、LP、 外部 RC(2)

HS、XT、LP、EC HS、XT、EC ( 全デバイス )

XOSC、XOSC32K

セカンダリ (Timer1) オシレータ

Yes Yes Yes No

8 MHz 内部 RC オシレータ Yes (INTOSC) Yes (HFINTOSC) Yes (FRC) Yes32 kHz 内部 RC オシレータ Yes (INTRC) Yes (MFINTOSC/

LFINTOSC)Yes (LPRC) Yes

OSCULP32K (3) もサポート

4x PLL オプション :• XTPLL (MSPLL)• ECPLL• INTOSCPLL/FRCPLL

No一部のデバイスのみ一部のデバイスのみ

NoYesNo

YesYesYes

DFLL、FDPLL

ソフトウェア クロック切り換え

クロック源間のみ (1) Yes Yes Yes

Doze モード No Yes Yes Noフェイルセーフ クロックモニタ

Yes(1) Yes Yes No

2 段階起動 Yes(1) Yes Yes プログラマブルな起動時間

Note 1: 一部のデバイスはこの機能を備えていません。機能がサポートされているかどうかは各デバイスのデータシートを参照してください。

2: 一部の PIC18F は外部 RC オシレータを備えていません。各デバイスのデータシートを参照してください。

3: OSCULP32K は、32 kHz 超低消費電力内部オシレータと呼ばれます。

DS00002991C_JP-p.24 2019 Microchip Technology Inc.

Page 25: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

PIC24F は、Timer1 オシレータと同じ機能を持つセカンダリ オシレータも備えています。違う点は、OSCCONレジスタの SOSCEN ビットで制御する事のみです。水晶振動子入出力ピンは SOSCI と SOSCO に名前が変更されています。 SAMD2x では、32 kHz 超低消費電力内部オシレータ(OSCULP32K) は、POR リセット後に既定値で動作するセカンダリ オシレータです。OSCULP32K は調整可能で低速、超低消費電力のクロック源です。常時動作している 32.768 kHz 出力と 1.024 kHz 出力を備えています。OSCULP32K オシレータの周波数は、32 kHz超低消費電力内部オシレータ制御レジスタの校正ビット (OSCULP32K.CALIB) の値で制御します。OSCULP32K.CALIB は、起動時に工場校正値が自動的に読み込まれ、校正値のプロセスばらつきを補償します。OSCULP32K.CALIB に書き込むと上書きできます。

内部 RC オシレータ (INTOSC/FRC、INTRC/LPRC)PIC24F と PIC18F はどちらも、2 つの独立した内部オシレータ ( 高効率の 31 kHz オシレータと高精度高速の8 MHz オシレータ ) を備えています。一部の新しいデバイスは 1 ~ 64 MHz で周波数を選択できます。どちらのアーキテクチャも、8 MHz クロック源で駆動する設定可能なポストスケーラを使って、31 kHz ~ 4 MHz のクロック周波数レンジ (または分周しない8 MHz出力 )を出力できます。どちらのアーキテクチャもソフトウェアで 31 kHz または 8 MHz オシレータから選択し、各種システム機能に 31 kHz クロックを提供できます。

PIC18F と PIC24F はどちらも、一部のクロック源で使う 4x PLL 周波数マルチプライヤをサポートしています。全てのケースで、PLL の出力が安定するのは入力周波数が 4 ~ 10 MHz の場合のみです。PLL 動作の詳細はデバイス データシートを参照してください。

SAMD2xは内部8 MHz (OSC8M)、32 kHz RCオシレータ (OSC32K)、48 MHz デジタル周波数ロックループオシレータ (DFLL48M) をサポートしています。OSC8M は高速で起動し、出力周波数の微調整機能、4/2/1 MHz 分周器出力周波数レンジを備えています。OSC32K は 32.768 kHz 高精度内部オシレータです。DFLL48M は、開ループモードではスタンドアロン高周波プログラマブル オシレータとして動作し、閉ループモードでは参照周波数に対する高精度周波数マルチプライヤとして動作して 48 MHz を出力します。

これらのオシレータは、汎用クロック ジェネレータ用のクロック源として使えます。ジェネレータへの入力として選択されたクロック源は直接使うか、ジェネレータでプリスケールできます。ジェネレータからの出力は汎用クロック マルチプレクサのクロック源として使います。このクロック源は周辺モジュールに汎用クロック (GCLK_PERIPHERAL) を提供します。

2 段階起動

2 段階起動は PIC18F と PIC24F で同じように実装されています。どちらも、2 段階起動は IESO コンフィグレーション ビットで制御します。一部の新しいPIC18F は 2 段階起動機能を備えていません。詳細はデバイス データシートを参照してください。

SAMD2xのプログラマブル起動時間オプションを使うと、電源や外部回路の特性を考慮した起動時間を設定できます。起動時間ビットは、対応するクロック設定レジスタ内にあります。

フェイルセーフ クロックモニタ

フェイルセーフ クロックモニタも両デバイスファミリが備えている機能です。この機能は、実行時クロック切り換えと一緒にコンフィグレーション ワードビットで制御します。実装方法は PIC18F と PIC24Fでよく似ており、プライマリ オシレータが停止するとシステムクロックが自動的に FRC に切り換わります。

クロック切り換え

クロック切り換えは、PIC18F と PIC24F で大きく異なります。概念的には、どちらのアーキテクチャも 3種類のオシレータ ( プライマリ (OSC ピンに接続された外付け部品 )、セカンダリ (T1OSC または SOSC ピンに接続された外付け水晶振動子 )、内部RC)をサポートしています。

PIC18F では、定義できるプライマリ オシレータタイプは 1 つのみです。これは、デバイス起動時とリセット時に使うオシレータです。その後は、ソフトウェア制御によりデバイスがプライマリ、セカンダリ、内部オシレータを切り換える事ができます。新しいPIC18Fファミリでは、RSTOSC で起動時のオシレータを設定し、FEXTOSC でオシレータ タイプを選択します。

起動時オシレータを定義したら、デバイスを再プログラムしない限り変更はできません。

PIC24F では、3 つの主要クロック源のいずれかを既定値の起動時オシレータとして設定できます。プライマリ オシレータに限定される事はありません。実行時は、ソフトウェア制御によりデバイスがオシレータを切り換える事ができます。すなわち、プライマリ クロックモードとその PLL 間の切り換えも可能です。2 つの特定のリテラルが OSCCON の上位または下位バイトに書き込まれると、PIC24F は対応する OSCCON の書き込みロックを解除します。OSCCON への書き込みとクロック切り換えの詳細は、コンパイラ マニュアルとデバイス データシートを参照してください。

SAMD2x では、クロック源の切り換え ( 例えばクロック源 A から B) は動作中に実行できます。クロック源 Bの準備が整っていない場合、ジェネレータはクロック源 A で動作を続けます。しかし、クロック源 B の準備が整うと、汎用クロック ジェネレータは直ちにこれに切り換えます。切り換え動作中、ジェネレータはクロック源 A と B へのクロック要求を保持し、切り換えが完

2019 Microchip Technology Inc. DS00002991C_JP-p.25

Page 26: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

了した時にクロック源Aへの要求を解放します。クロック源 A の「ONDEMAND」機能を有効にすると、クロック源 A から B への移行が適切に行われます。

移行に関する注意

PIC24F への移行時は、水晶振動子クロック源を使うアプリケーションのオシレータ動作と安定性を再評価する必要があります。アプリケーションで予測される電圧、温度、プロセスのばらつきのレンジに対して、水晶振動子の性能が信頼できるか確認する事が重要です。

DMAなしPIC18FとDMAありPIC18Fの違い

概念的には、DMA あり PIC18F と DMA なし PIC18Fの間でオシレータの違いはほとんどありません。設定/ コンフィグレーション レジスタで若干の違いがあるのみです。

DS00002991C_JP-p.26 2019 Microchip Technology Inc.

Page 27: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

省電力機能

PIC24F の省電力機能は、PIC18F XLP デバイスの省電力モードによく似ています。どちらのアーキテクチャも、システムクロックの実行時切り換え、アイドル / スリープモード、リセットおよび割り込みによるアイドル /スリープモードの終了を備えています。PIC24Fは、これらの機能を若干異なる方法で構成し、電力消費を低減するための追加機能をサポートしています。 SAMD2x は PIC24F と同様の省電力機能を備えています。これらの機能は電源マネージャ (PM) モジュールの一部です。PM はデバイスのリセット、クロック生成、スリープモードを制御します。

消費電力の要件を満たすため、各種スリープモードを備えています。これにより、PM は未使用のモジュールを停止して電力を節約できます。動作時の、CPU はアプリケーション コードを実行しています。デバイスがスリープモードに入るとプログラムの実行が停止し、一部のモジュールとクロックドメインはスリープモードに従って PM がに OFF にします。どのスリープモードにいつ入るのかを決定するのはアプリケーション コードです。デバイスをスリープモードから動作モードに復帰させられるのは全ての有効な周辺モジュールおよびリセット要因です。

スタンバイ スリープモードに入る前、電圧レギュレータが過負荷とならないように多くのクロックとモジュールを無効にする必要があります。これは、スタンバイ スリープモード中は内部電圧レギュレータが低消費電力モードに入るためです。

実行時クロック切り換え

PIC18F と PIC24F は、同じタイプのシステムクロック源 ( プライマリ、セカンダリ、内部オシレータ ) を全て備えています。さらに、スリープ / アイドルモードも同じ方法で定義されています。クロック切り換えプロセスは PIC18F と PIC24F で異なります。クロック切り換えの手順は各デバイスのデータシートを参照してください。

表 17 に、PIC18F、PIC24F、SAMD2x の省電力機能の違いを示します。

SAMD2xは以下の 2つの主要スリープモードを備えています。

• アイドルモード : CPU は停止します。また、IDLEのオプションにより一部の同期クロックドメインが停止します。レギュレータは通常モードで動作します。

• スタンバイモード : RUNSTDBY ビットがセットされているものを除き、全クロック源が停止します。レギュレータは低消費電力モードで動作します。

SAMD2x の Sleepwalking 機能は、スタンバイ スリープモードからCPU を復帰させる事なく、周辺モジュールがタスクを実行するためのクロックを一時的に復帰させます。Sleepwalking タスクの終了時、デバイスは割り込み (Sleepwalking に関わっている周辺モジュールからの割り込み ) によって復帰する事も、再度スタンバイ スリープに戻る事もできます。

表 17: 省電力の比較

項目PIC18F(1)

PIC24F(1) SAMD2xDMA なし PIC18F DMA あり PIC18F

実行時クロック切り換え Yes Yes Yes Yesアイドルモード Yes Yes Yes Yesモジュールごとにアイドル選択可 No No Yes Yesスリープモード Yes Yes Yes Yes低電圧スリープ (リテンション スリープ ) Yes(1) Yes Yes(1) Noディープスリープ Yes(1) No Yes(1) NoDoze モード No Yes Yes NoPMD オプション No Yes Yes YesNote 1: 一部のデバイスはこの機能を備えていません。機能がサポートされているかどうかは各デバイスのデータシートを参照してください。

2019 Microchip Technology Inc. DS00002991C_JP-p.27

Page 28: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

リセット

PIC24F のリセットシステムは、PIC18F とほとんど同じです。以下に示す同じレガシー リセットが同一または機能的に等しい方法でサポートされています。 • パワーオン リセット (POR)• ブラウンアウト リセット (BOR)• 外部マスタクリア リセット (MCLR)• ソフトウェア リセット (RESET 命令 )• ウォッチドッグ タイマ (WDT) リセット

• スタックエラー リセット ( オーバフローまたはアンダーフロー )

PIC24Fにはいくつかのリセット要因 /状態および拡張レポート機能が追加されています。SFR のリセット状態とリセットからの起動タイミングも若干異なります。さらに、DMA あり PIC18F は、PIC24F とは異なるリセットシステムの機能拡張を備えています。

SAMD2x は同様のリセットをサポートしており、リセット要因は以下の通りです。 • 電源リセット要因 : POR, BOD12, BOD33• ユーザリセット要因 : 外部リセット (RESET)、ウォッチドッグ タイマリセット、ソフトウェア リセット

リセット ステータス レジスタを使うと、アプリケーション コードからリセット要因を読み出す事ができます。

表 18に、PIC18、PIC24F、SAMD2xの違いを示します。

表 18: リセットの比較

移行に関する注意

レガシーPIC18F の全リセットは、PIC24F でもサポートされており、さらにリセット要因が追加されています。移行時の 1 つ目の注意点は、PIC24F によるスタック オーバーフロー / アンダーフローの処理方法です。PIC18F ではリセットをトリガしますが、PIC24F アー

キテクチャではトラップとして実装されています。これにより、理論的にはスタックオーバーフロー / アンダーフロー インスタンスの処理が柔軟となりますが、スタック オーバーフロー時にリセットを必要とするアプリケーションでは注意する必要があります。SAMD2xのスタックはRAMメモリの一部であるため、サイズが設定可能で柔軟です。2 つ目の注意点は、

項目PIC18F

PIC24F SAMD2xDMA なし PIC18F DMA あり PIC18F

レガシー リセットタイプ

POR、BOR、MCLR、RESET 命令 POR、BOD12、BOD33、外部リセット

(RESET)

その他のリセットタイプ

コンフィグレーション ワード不一致(PIC18FXXJ

フラッシュ デバイス )

メモリ違反、ウォッチドッグ タイマ

ウィンドウ違反

不正オペコード /未初期化W、コンフィグレーション ワード不一致、

トラップ多重発生

ウォッチドッグ タイマリセット、ソフトウェア

リセット

BOR の設定 設定可能、 多くのデバイスで

ソフトウェア制御可能

設定可能、 多くのデバイスで

ソフトウェア制御可能

内蔵レギュレータに接続 (1)

システムコントローラ インターフェイス (SYSCTRL)

に接続

スタック アンダーフロー /オーバーフロー リセット

リセット 別々のリセット アンマスカブル トラップ

No

SFR リセット状態

リセットタイプに依存 リセットタイプに依存 全リセットタイプで同じ

全リセットタイプで同じ

起動タイマ 設定可能 設定可能 レギュレータ設定に依存

No

フラグビット位置

RCON/STKPTR PCON0/1 RCON/INTCON1 RCAUSE

Note 1: 一部のデバイスには、BOR を有効 / 無効にする機能があります。詳細は各デバイスのデータシートを参照してください。

DS00002991C_JP-p.28 2019 Microchip Technology Inc.

Page 29: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

PIC24Fは設定可能な起動タイマを備えていないため、必要に応じて起動タイマをコードで実装する必要がある事です。SAMD2x は設定可能な起動時間オプションを備えており、起動時間を設定できます。詳細は電気的特性を参照してください。3つ目の注意点は、PIC18FとPIC24Fではリセットのポーリングが異なる点です。PIC24F のリセットフラグはアクティブ High、PIC18FはアクティブLowビットです。PIC24Fのリセットビットより少ない要因で定義されています。PIC18F ではしばしば全リセットフラグを読み出してリセットの原因を決定する必要がありますが、PIC24F では 1 つのフラグを読み出すだけで済みます。SAMD2x のリセット ステータス レジスタ (RCAUSE) を使うと、アプリケーション コードからリセット要因を読み出して直近のリセット原因を知る事ができます。

DMAなしPIC18FとDMAありPIC18Fの違い

DMA あり PIC18F は、DMA なし PIC18F にはない 2つのリセット要因を備えています。1 つ目はウォッチドッグ タイマウィンドウ違反リセットです。これについては本書の「「WDT( ウォッチドッグ タイマ )」」で説明しています。2 つ目はメモリ実行違反リセットです。これは、コアが実装済みのプログラムメモリ外のアドレスから、または特別に指定された記憶領域フラッシュからコードを実行しようとすると発生します。PIC24F はこれらのリセットを備えていません。これら 2 つのリセット要因以外は、DMA ありと DMA なし PIC18F のリセットは同じように動作します。

2019 Microchip Technology Inc. DS00002991C_JP-p.29

Page 30: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

ADC (A/Dコンバータ )PIC24F の ADC は、PIC18F よりも性能と機能が大幅に改善されています。この改善には、高変換レート(sps)、自動チャンネル スキャンモード、16 ビット変換データ格納バッファが含まれます。

SAMD2x は PIC24F よりも多い以下の機能を備えています。

• 大 350,000 サンプル / 秒 (350 ksps)• 差動およびシングルエンド入力

• 5 つの内部入力

• 1/2x ~ 16x ゲイン

• シングル、連続、ピンスキャン変換オプション

• チャンネルを選択できるウィンドウ式モニタ

• 内部または外部の参照電圧を選択可能

• イベントトリガ変換による正確なタイミング(1 イベント入力 )

• 変換結果の DMA 転送オプション

• ハードウェア ゲインとオフセット補償

• 平均化とデシメーションによるオーバー サンプリングにより、 大 16 ビットの結果をサポート

• 選択可能なサンプリング時間

表 19 に、主な機能を示します。

表 19: ADCの 比較

PIC24F と PIC18F の ADC モジュールは同じ機能を備えています。どちらも 10 ビット逐次比較型レジスタ(SAR) 型 ADC を実装しており、参照電圧として参照ピン (VREF+、VREF-) とアナログ電源ピン (AVDD、AVSS)の組み合わせを使えます。どちらも A/D 変換ステータスビット、選択可能な A/D クロック分周比、専用 A/DRC、サンプル時間が選択可能な自動サンプリング、アナログ / デジタル入力選択、実行時に選択可能な A/D入力を備えています。変換はソフトウェア、外部割込み、出力コンペアイベントでトリガできます。

移行に関する注意

• PIC24F モジュールのソース インピーダンスは 2.5 kΩです。PIC18F の多は 10 kΩですが、2.5 kΩを推奨します。

• PIC24F モジュールの内部サンプリング コンデンサは 4.4 pF (typ.) です。PIC18F モジュールでは 25 pF (typ.) です。静電容量が小さいほど、アナログ入力に対する外部静電容量の影響が大きくなります。

• A/D が変換クロックを使うように設定する場合、い

くつかの要因が PIC24F の分周比選択に影響します。例えば TAD と命令レートの低下です。PIC24Fの変換クロックは命令クロック TCY/2、PIC18F はFOSC/2 がベースです。Due to システムクロック周波数に対する命令レートが異なるため、PIC24F の A/D クロック分周比の 小周期は 1 FOSC 周期、PIC18F は 2 FOSC 周期です。

項目

PIC18FPIC24F SAMD2xDMA なし

PIC18FDMA あり

PIC18F

分解能 10/12 ビット 12 ビット 10/12 ビット 8/10/12-bit変換スループット (ksps) 100 ksps — 500 ksps 350 ksps利用可能な参照電圧源 内部 / 外部 内部 / 外部 内部 / 外部 内部 / 外部

選択可能な A/D クロック分周比 Yes Yes Yes YesA/D RC オシレータ Yes Yes Yes Yes自動サンプリング Yes Yes Yes Yesプログラマブル サンプリング時間 Yes Yes Yes Yes個別に選択可能なアナログ入力 No Yes Yes Yes特殊イベントトリガ No Yes Yes Yesマルチチャンネル スキャン No Yes Yes 単一

FIFO バッファ No Yes (2 段 ) Yes No複数の結果フォーマット No Yes Yes No差動チャンネル ( 比較 ) 変換

No No Yes Yes

DS00002991C_JP-p.30 2019 Microchip Technology Inc.

Page 31: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

• SAMD2x の ADC には GCLK_ADC がクロックを供給します。ADC はプリスケーラも備えており、より低いクロックレートでも変換が可能です。ADCの伝搬遅延は分解能、モード ( シングルショットまたはフリーランニング )、クロック周波数、遅延ゲインによって異なります。これらの要素の関係については製品データシートを参照してください。

DMAなしPIC18FとDMAありPIC18Fの違い

DMA あり PIC18F では、ADC モジュールに機能が追加されています。1 つ目はハードウェア CVD 制御です。これにより、静電容量式タッチ アプリケーションで ADC モジュールを活用できます。2 つ目はハードウェア計算エンジン (ADC 機能 ) です。これにより、コアから独立したハードウェアによる平均化と ADC結果のローパス フィルタ処理が可能です。

2019 Microchip Technology Inc. DS00002991C_JP-p.31

Page 32: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

WDT(ウォッチドッグ タイマ )PIC24F の WDT( ウォッチドッグ タイマ ) モジュールは、DMA なし /DMA あり PIC18F の WDT とほぼ同じです。全デバイスに同様の制御 ( コンフィグレーション ビットとソフトウェア ) と影響があります。WDTは電力管理モードを終了するリセットとしても使えます。PIC24F の WDT は、DMA あり PIC18F が備える機能に加えていくつかの独自機能を備えています。 SAMD2x の WDT は、あらかじめタイムアウトを定義する事ができ、有効時は常時実行されます。タイムアウト周期中に WDT がクリアされないと、システムリ

セットが生成されます。早期警告割り込みウォッチドッグ タイムアウト条件が近づいている事を知らせます。

ウィンドウモードを使うと、タイムアウト周期中にタイムスロット ( ウィンドウ ) を定義できます。このウィンドウ内で WDT をクリアする必要があります。WDTがウィンドウの外 ( 早過ぎるまたは遅過ぎる ) でクリアされると、システムリセットが生成されます。通常モードとは異なり、ウィンドウ モードはコードエラーが WDT を頻繁にクリアする場合も異常として捕捉できます。

表 20に、PIC18、PIC24F、SAMD2xの比較を示します。

表 20: ウォッチドッグ タイマの比較

移行に関する注意

1 つ目の注意点は、PIC24F の WDT カウンタはメインクロック源の切り換え時にリセットされる事です。PIC18FのWDTカウンタは様々な条件でリセットされます。詳細は PIC18F のデバイス データシートの「ウォッチドッグ タイマ (WDT)」セクションに記載されています。2 つ目の注意点は、PIC18F の WDT リセットフラグはアクティブ Lowですが、PIC24Fはアクティブ High という事です。従って、WDT リセットを正しく検出するには、POR または BOR でこれらのビットを Low に初期化する必要があります。レガシーPIC18Fから移行する場合、PIC24F で 1:128 プリスケーラ設定を使って、同じポストスケーラ設定を使うようにします。DMA あり PIC18F から移行する場合、周期を手計算してPIC24Fのプリスケーラ /ポストスケーラによりPIC18F の周期と一致させる必要があります。さらに、DMA あり PIC18F から PIC24F へウィンドウ式ウォッチドッグ タイマを使ったアプリケーションを移行する場合、PIC24F のウィンドウは非プログラマブルで 75% ウィンドウ遅延に固定されている事に注意する必要があります (PIC18Fのウィンドウ式ウォッチドッグ タイマのウィンドウ設定は「0b001」に対応します )。 SAMD2x の WDT は非同期で、CPU から独立したクロック源を使って動作します。メインクロックに障害が発生した場合もWDTは動作を続け、システムリセットまたは割り込みを生成します。パワーオン リセット

後、一部のレジスタには NVM ユーザ行から初期値が書き込まれます。これは、WDT を設定する際に考慮する必要があります。

このレジスタに 0xA5 を書き込むと、ウォッチドッグタイマがクリアされ、ウォッチドッグのタイムアウト周期が再開します。他の値を書き込むと、直ちにシステムリセットが生成されます。

DMAなしPIC18FとDMAありPIC18Fの違い

DMA あり PIC18F には WDT に追加機能があり、設定に少し違いがあります。主な違いはポストスケーラではなくプリスケーラで周期を設定する事、プリスケーラでは 1 ms ~ 256 s で対数的 (1 ms、2 ms、4 ms、大 256 s)に設定する事です。つまり、DMAありPIC18Fでは 131 s 周期は設定できません。さらに、DMA ありPIC18F は PIC24F とよく似たウィンドウ式ウォッチドッグ タイマ機能を備えています。このため、DMAあり PIC18F と PIC24F のウォッチドッグ タイマはよく似ていると言えます。

項目PIC18F

PIC24F SAMD2xDMA なし PIC18F DMA あり PIC18F

設定可能なタイムアウト周期 Yes ( ポストスケーラ使用 )

Yes ( プリスケーラ使用 )

Yes ( プリスケーラ /ポストスケーラ使用

)

Config レジスタ内のタイムアウト周期

ソフトウェア イネーブル Yes Yes Yes Yes電力管理モードの終了 Yes Yes Yes Yesタイムアウト レンジ 4 ms ~ 131 s 1 ms ~ 256 s 1 ms ~ 131 s 8 ~ 16k クロック

サイクル

ウィンドウ式 WDT No Yes Yes Yes選択可能な入力クロック No Yes No Yes

DS00002991C_JP-p.32 2019 Microchip Technology Inc.

Page 33: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

コンパレータおよびコンパレータ参照電圧モジュール

PIC18F と PIC24F のコンパレータ モジュールは多くの点で似ています。それぞれ設定の選択が可能なコンパレータを 2 つ備えています。PIC18F は 8 つの選択のみ可能で、その 1 つはコンパレータを無効にする事です。PIC24F はより柔軟な設定が可能で、PIC18F では固定されている多くのオプションを個別に制御できます。コンパレータ モジュールに加え、PIC18F とPIC24F は抵抗ラダー回路ベースのコンパレータ参照電圧生成器を備えています。

SAMD2x のアナログ コンパレータ モジュールは 4 個のコンパレータを実装しています。各コンパレータは2 つの入力電圧レベルを比較し、比較結果に応じたデジタル出力を生成します。各コンパレータを適切に設

定する事で各種入力を組み合わせ、それらの入力の変化に応じて割り込み要求およびモジュール イベントを生成する事ができます。

コンパレータは各ポートで常にペアでグループ化されます。AC モジュールは 2 つのペアを実装できます。1つ目のペアはComparator 0 (COMP0)とComparator1 (COMP1)で、2つ目のペアはComparator 2 (COMP2)と Comparator 3 (COMP3) です。2 つのペアの挙動は同じですが、制御レジスタが異なります。各コンパレータは非反転入力と反転入力を 1 つずつ備えています。各ペアはウィンドウモードを備えており、信号を電圧レベルではなくレンジと比較するように設定できます。

表 21 に、PIC18F、PIC24F、SAMD2x の機能の比較を示します。

表 21: コンパレータの比較

移行に関する注意

DMA あり PIC18F は、DMA なし PIC18F よりも多機能です。DMA あり PIC18F はより多くの入力を選択でき、正 / 負コンパレータ出力遷移で割り込みを生成できます。コンパレータの反転 / 非反転入力に専用のレジスタを選択する事もできます。レジスタは出力ピンの状態も反映します ( 読み出し専用ステータスビット )。CVREF ピンは使わないため、内部 CVREF とは異なります。これに代わる方法として、専用の DAC出力を入力ピンに接続する事もできます。

一部の PIC18FJ デバイスは、PIC24F と同じくコンパレータ制御ビットを実装しています。1 つのコンパレータ制御レジスタで両方のコンパレータを制御するのではなく、各コンパレータは専用のコンパレータ制御レジスタを持っています。これらの制御ビットの詳細は各デバイスのデータシートを参照してください。

SAMD2x は、PIC24F より多くの機能をサポートしています。バンドギャップ参照電圧、VDD スカラ、DAC等の入力を柔軟に選択して機能を個別に有効にでき、ピンに出力できる4個のコンパレータを備えています。

ウィンドウ機能モードでは、信号を電圧レベルではなくレンジと比較する事ができます。

ヒステリシスを調整する事で 適な動作を実現し、コンパレータ出力でデジタルフィルタ オプションを使えます。

項目PIC18F(1)

PIC24F(1) SAMD2xDMA なし PIC18F DMA あり PIC18F

コンパレータ 2 2 3 年 2 月 4出力反転制御 Yes Yes Yes Noコンパレータ別のイネーブル Yes(2) Yes Yes YesI/O ピンにコンパレータ出力 Yes Yes Yes Yes複数の入力選択 Yes Yes Yes Yes個別のコンパレータ出力状態の変化検出

一部に要ファームウェア対応あり

ハードウェア ハードウェア No

Note 1: 機能がサポートされているかどうかは各デバイスのデータシートを参照してください。

2: 一部の PIC18FJ ファミリデバイスは PIC24F と似たコンパレータを備えています。詳細は各デバイスのデータシートを参照してください。

2019 Microchip Technology Inc. DS00002991C_JP-p.33

Page 34: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

コンパレータ参照電圧モジュール

コンパレータ参照電圧モジュールはコンパレータと一緒に使います。内部で制御された参照電圧をコンパレータ入力に供給します。これにより、ソフトウェアによる参照電圧の制御が可能です。このモジュールはPIC24F と PIC18F 間で互換です。表 22 に、PIC18F とPIC24F の機能の比較を示します。

表 22: コンパレータ参照電圧の比較

Note: SAMD2x はコンパレータ参照電圧モジュールを備えていません。しかし、コンパレータあたり 64 レベルのプログラマブル VDD スケ―ラを備えています。これは SCALER nレジスタで設定します。

SAMD2x に関する一般的注意事項 :メインクロックは、周辺モジュール インターフェイスクロックとは非同期です。このため、特定のレジスタにアクセスするにはクロックドメイン間の同期が必要です。移行する際は、データシートの同期に関するセクションを参照してください。同期は、ステータス レジスタの同期ビジービット (STATUS.SYNCBUSY) で監視できます。同期が必要な動作を実行する際、STATUS.SYNCBUSY がセットされ、同期完了時にクリアされます。

書き込みアクセス可能なレジスタは、PAC (PeripheralAccess Controller) で書き込み保護する事もできます。PAC による書き込み保護を備えているかどうかは、レジスタの説明のプロパティ「PAC Write-Protection」で示しています。

一部のレジスタはイネーブル時の書き込み保護があり、ディセーブル時のみ書き込み可能となっています。イネーブル時書き込み保護を備えているかどうかは、レジスタの説明のプロパティ「Enable-Protected」で示しています。

項目PIC18F

PIC24FDMA なし PIC18F DMA あり PIC18F

抵抗ラダー 16 タップ N/A(1) 16 タップ

2 つのレンジから選択 Yes N/A(1) Yesアナログ電源または MCU 電源から参照電圧を選択

Yes N/A(1) Yes

参照電圧出力イネーブル Yes N/A(1) YesNote 1: DMA あり PIC18F では CVREF モジュールは使わず、専用 5 ビット DAC からコンパレータ入力に参照電圧を供給します。

DS00002991C_JP-p.34 2019 Microchip Technology Inc.

Page 35: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

補遺 A: 改訂履歴

リビジョン A (2019 年 3 月 )本書の初版です。

リビジョン B (2019 年 8 月 )SAMD2x デバイスファミリを追加しました。

リビジョン C (2019 年 10 月 )セクション「CPU コア」を更新し、テキスト「PIC24Fは Microchip 社独自の 16 ビット MCU アーキテクチャがベースです。」を追加しました。

2019 Microchip Technology Inc. DS00002991C_JP-p.35

Page 36: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

NOTE:

DS00002991C_JP-p.36 2019 Microchip Technology Inc.

Page 37: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

Microchip社製デバイスのコード保護機能に関して以下の点にご注意ください。

• Microchip社製品は、該当するMicrochip社データシートに記載の仕様を満たしています。

• Microchip社では、通常の条件ならびに仕様に従って使用した場合、Microchip社製品のセキュリティ レベルは、現在市場に

流通している同種製品の中でも も高度であると考えています。

• しかし、コード保護機能を解除するための不正かつ違法な方法が存在する事もまた事実です。弊社の理解では、こうした手法

はMicrochip社データシートにある動作仕様書以外の方法でMicrochip社製品を使用する事です。このような行為は知的所有

権の侵害に該当する可能性が非常に高いと言えます。

• Microchip社はコードの保全性に懸念を抱いているお客様と連携して対応策に取り組んでいきます。

• Microchip社を含む全ての半導体メーカーで、自社のコードのセキュリティを完全に保証できる企業はありません。コード保

護機能とは、Microchip社が製品を「解読不能」として保証するものではありません。

コード保護機能は常に進歩しています。Microchip社では、常に製品のコード保護機能の改善に取り組んでいます。Microchip社の

コード保護機能の侵害は、デジタル ミレニアム著作権法に違反します。そのような行為によってソフトウェアまたはその他の著作

物に不正なアクセスを受けた場合、デジタル ミレニアム著作権法の定める所により損害賠償訴訟を起こす権利があります。

本書に記載されているデバイス アプリケーション等に関する

情報は、ユーザの便宜のためにのみ提供されているものであ

り、更新によって無効とされる事があります。お客様のアプ

リケーションが仕様を満たす事を保証する責任は、お客様に

あります。Microchip 社は、明示的、暗黙的、書面、口頭、法

定のいずれであるかを問わず、本書に記載されている情報に

関して、状態、品質、性能、商品性、特定目的への適合性を

はじめとする、いかなる類の表明も保証も行いません。

Microchip 社は、本書の情報およびその使用に起因する一切の

責任を否認します。Microchip 社の明示的な書面による承認な

しに、生命維持装置あるいは生命安全用途に Microchip 社の製

品を使用する事は全て購入者のリスクとし、また購入者はこ

れによって発生したあらゆる損害、クレーム、訴訟、費用に

関して、Microchip 社は擁護され、免責され、損害をうけない

事に同意するものとします。暗黙的あるいは明示的を問わず、

Microchip社が知的財産権を保有しているライセンスは一切譲

渡されません。

2019 Microchip Technology Inc.

Microchip社の品質管理システムについては、www.microchip.com/qualityをご覧ください。

商標

Microchip 社の名称とロゴ、Microchip ロゴ、Adaptec、AnyRate、AVR、AVR ロゴ、AVR Freaks、BesTime、BitCloud、chipKIT、chipKIT ロゴ、CryptoMemory、CryptoRF、dsPIC、FlashFlex、flexPWR、HELDO、IGLOO、JukeBlox、KeeLoq、Kleer、LANCheck、LinkMD、maXStylus、maXTouch、MediaLB、megaAVR、Microsemi、Microsemi ロゴ、MOST、MOST ロゴ、MPLAB、OptoLyzer、PackeTime、PIC、picoPower、PICSTART、PIC32 ロゴ、PolarFire、Prochip Designer、QTouch、SAM-BA、SenGenuity、SpyNIC、SST、SST ロゴ、SuperFlash、Symmetricom、SyncServer、Tachyon、TempTrackr、TimeSource、tinyAVR、UNI/O、Vectron、XMEGA は米国およびその他の国における MicrochipTechnology Incorporated の登録商標です。

APT、ClockWorks、The Embedded Control Solutions Company、EtherSynch、FlashTec、Hyper Speed Control、HyperLight Load、IntelliMOS、Libero、motorBench、mTouch、Powermite 3、PrecisionEdge、ProASIC、ProASIC Plus、ProASIC Plus ロゴ、Quiet-Wire、SmartFusion、SyncWorld、Temux、TimeCesium、TimeHub、TimePictra、TimeProvider、Vite、WinPath、ZL は米国におけるMicrochip Technology Incorporated の登録商標です。

Adjacent Key Suppression、AKS、Analog-for-the-Digital Age、AnyCapacitor、AnyIn、AnyOut、BlueSky、BodyCom、CodeGuard、CryptoAuthentication、CryptoAutomotive、CryptoCompanion、CryptoController、dsPICDEM、dsPICDEM.net、Dynamic AverageMatching、DAM、ECAN、EtherGREEN、In-Circuit Serial Programming、ICSP、INICnet、Inter-Chip Connectivity、JitterBlocker、KleerNet、KleerNetロゴ、memBrain、Mindi、MiWi、MPASM、MPF、MPLAB Certified ロゴ、MPLIB、MPLINK、MultiTRAK、NetDetach、Omniscient CodeGeneration、PICDEM、PICDEM.net、PICkit、PICtail、PowerSmart、PureSilicon、QMatrix、REAL ICE、Ripple Blocker、SAM-ICE、Serial QuadI/O、SMART-I.S.、SQI、SuperSwitcher、SuperSwitcher II、TotalEndurance、TSHARC、USBCheck、VariSense、ViewSpan、WiperLock、Wireless DNA、ZENA は米国とその他の国における MicrochipTechnology Incorporated の商標です。

SQTPは米国におけるMicrochip Technology Incorporatedのサービスマークです。

Adaptecロゴ、Frequency on Demand、Silicon Storage Technology、Symmcomは米国以外の国におけるMicrochip Technology Inc.の登録商標です。

GestICは米国以外の国におけるMicrochip Technology Inc.の子会社であるMicrochip Technology Germany II GmbH & Co. KGの登録商標です。 その他の商標は各社に帰属します。

© 2019, Microchip Technology Incorporated, All Rights Reserved.

ISBN: 978-1-5224-5243-0

DS00002991C_JP-p.37

Page 38: PIC18F から PIC24F から SAMD2x への移行とww1.microchip.com/downloads/jp/DeviceDoc/00002991C_JP.pdf2019 Microchip Technology Inc. DS00002991C_JP-p.1 はじめに 本書ではPIC18F、PIC24F、SAMD2x

DS00002991C_JP-p.38 2019 Microchip Technology Inc.

北米

本社2355 West Chandler Blvd.Chandler, AZ 85224-6199Tel: 480-792-7200 Fax: 480-792-7277技術サポート: http://www.microchip.com/supportURL: www.microchip.com

アトランタDuluth, GA Tel: 678-957-9614 Fax: 678-957-1455

オースティン、TXTel: 512-257-3370

ボストンWestborough, MA Tel: 774-760-0087 Fax: 774-760-0088

シカゴItasca, IL Tel: 630-285-0071 Fax: 630-285-0075

ダラスAddison, TX Tel: 972-818-7423 Fax: 972-818-2924

デトロイトNovi, MI Tel: 248-848-4000

ヒューストン、TX Tel: 281-894-5983

インディアナポリスNoblesville, IN Tel: 317-773-8323Fax: 317-773-5453Tel: 317-536-2380

ロサンゼルスMission Viejo, CA Tel: 949-462-9523Fax: 949-462-9608Tel: 951-273-7800

ローリー、NC Tel: 919-844-7510

ニューヨーク、NY Tel: 631-435-6000

サンノゼ、CA Tel: 408-735-9110Tel: 408-436-4270

カナダ - トロントTel: 905-695-1980 Fax: 905-695-2078

アジア太平洋

オーストラリア - シドニーTel: 61-2-9868-6733

中国 - 北京Tel: 86-10-8569-7000

中国 - 成都Tel: 86-28-8665-5511

中国 - 重慶Tel: 86-23-8980-9588

中国 - 東莞Tel: 86-769-8702-9880

中国 - 広州Tel: 86-20-8755-8029

中国 - 杭州Tel: 86-571-8792-8115

中国 - 香港SARTel: 852-2943-5100

中国 - 南京Tel: 86-25-8473-2460

中国 - 青島Tel: 86-532-8502-7355

中国 - 上海Tel: 86-21-3326-8000

中国 - 瀋陽Tel: 86-24-2334-2829

中国 - 深圳Tel: 86-755-8864-2200

中国 - 蘇州Tel: 86-186-6233-1526

中国 - 武漢Tel: 86-27-5980-5300

中国 - 西安Tel: 86-29-8833-7252

中国 - 厦門Tel: 86-592-2388138

中国 - 珠海Tel: 86-756-3210040

アジア太平洋

インド - バンガロールTel: 91-80-3090-4444

インド - ニューデリーTel: 91-11-4160-8631

インド - プネTel: 91-20-4121-0141

日本 - 大阪Tel: 81-6-6152-7160

日本 - 東京Tel: 81-3-6880-3770

韓国 - 大邱Tel: 82-53-744-4301

韓国 - ソウルTel: 82-2-554-7200

マレーシア - クアラルンプールTel: 60-3-7651-7906

マレーシア - ペナンTel: 60-4-227-8870

フィリピン - マニラTel: 63-2-634-9065

シンガポールTel: 65-6334-8870

台湾 - 新竹Tel: 886-3-577-8366

台湾 - 高雄Tel: 886-7-213-7830

台湾 - 台北Tel: 886-2-2508-8600

タイ - バンコクTel: 66-2-694-1351

ベトナム - ホーチミンTel: 84-28-5448-2100

欧州

オーストリア - ヴェルスTel: 43-7242-2244-39Fax: 43-7242 -2244-393

デンマーク - コペンハーゲンTel: 45-4450-2828 Fax: 45-4485-2829

フィンランド - エスポーTel: 358-9-4520-820

フランス - パリTel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79

ドイツ - ガーヒンクTel: 49-8931-9700

ドイツ - ハーンTel: 49-2129-3766400

ドイツ - ハイルブロンTel: 49-7131-72400

ドイツ - カールスルーエTel: 49-721-625370

ドイツ - ミュンヘンTel: 49-89-627-144-0 Fax: 49-89-627-144-44

ドイツ - ローゼンハイムTel: 49-8031-354-560

イスラエル - ラーナナ Tel: 972-9-744-7705

イタリア - ミラノ Tel: 39-0331-742611 Fax: 39-0331-466781

イタリア - パドヴァTel: 39-049-7625286

オランダ - ドリューネンTel: 31-416-690399 Fax: 31-416-690340

ノルウェー - トロンハイムTel: 47-7288-4388

ポーランド - ワルシャワTel: 48-22-3325737

ルーマニア - ブカレストTel: 40-21-407-87-50

スペイン - マドリッドTel: 34-91-708-08-90Fax: 34-91-708-08-91

スウェーデン - ヨーテボリTel: 46-31-704-60-40

スウェーデン - ストックホルムTel: 46-8-5090-4654

イギリス - ウォーキンガムTel: 44-118-921-5800Fax: 44-118 -921-5820

各国の営業所とサービス

2019/05/14