開発ツールの設計注意書
各種ツールの設計注意書
(DS51764)
この注意書は以下の開発ツールに適用します。
• MPLAB® REAL ICE™ インサーキット エミュレータ
• MPLAB ICD 3 インサーキット デバッガ • MPLAB ICD 2 インサーキット デバッガ • PICkit™ 3 プログラマ /Debug Express • PICkit 2 プログラマ /Debug Express • MPLAB PM3 デバイス プログラマ これらのツールの詳細は、本書の開発ツールの概要を参照してください。 アプリケーションの開発で上記ツールを使う場合、以下のガイドラインと 実装上の注意事項に従って両者を適切にインターフェイスする必要があり ます。 • インサーキット シリアル プログラミング ™(ICSP™) の注意事項 • 通信チャンネル • グランド配線とAC 電源接続 • オシレータ回路の構成 • ターゲットの電源 • dsPIC30FXX のクロストーク対策
開発ツールの概要
この注意書を適用する全ての開発ツール( 前項参照 ) では、インサーキッ
ト シリアル プログラミング (ICSP) を使ってデバイスをプログラミングで
きます。MPLAB PM3以外はインサーキットでデバイスをデバッグできます。
MPLAB REAL ICE インサーキット エミュレータは、デバッグだけでなく トレース等も実行できます。そのためデバッガではなくエミュレータと呼 びます。
インサーキット
シリアル プログラミング ™(ICSP™) の
注意事項
デバッガ、エミュレータ、プログラマでは、シリアル信号方式を使って応 用回路内のターゲット デバイスをプログラミングします。デバッガとエ ミュレータは同じ方式で応用回路内のターゲット デバイスをデバッグし ます。使う信号はクロックおよびデータ信号で、PGC と PGD、ICSPCLK とICSPDAT 等としてデータシートで定義されています。さらに、高電圧 書き込み信号として、またはデバイスに対するアテンション インジケータ としてMCLR/VPPを使います。 これらの信号はプログラミングおよびデバッグ専用ではなく、ポートピン または別の周辺モジュールと兼用です。ほとんどのデバイスでは既定値の プライマリポートとしてRB6 および RB7 ポートを使います。 インサーキットのプログラミングとデバッグでのトラブルをなくすには、 アプリケーション開発または製品の量産段階で問題が生じないように慎重 に計画する必要があります。推奨する実装方法を以下に示します。 • 推奨するICSP 実装の構成 • 他のICSP 実装の構成推奨する
ICSP 実装の構成
PGC および PGD 信号は、通常のプログラミングまたはデバッグ セッション で、ツールとターゲット デバイスが駆動するアクティブな双方向信号です。 これらの信号はプログラミング仕様とデバイス アルゴリズムに従います。 プログラミング時間を短縮するために、これらの信号は高速でクロッキン グされます。外乱または負荷が増え信号歪みが増大する事で、間欠的また は重大な障害を生じプログラミングができなくなる場合があります。 これらの信号は、アプリケーション内で他の受動回路またはアクティブな ロジックには接続しないような構成にします。こうする事で、プログラミ ングおよびデバッグ セッションでの問題の発生を避ける事ができます。 この構成のもう1 つの利点は、ケーブルの不整合による反射が少ないため にケーブルの長さとタイプについて厳密にならずに済む事です。 また、開発ツールはMCLR/VPP信号を使ってデバイスのプログラミングに 使う電圧を供給し、またはアテンション信号を出します。応用回路の静電 容量が大きい場合、信号の立ち上がりおよび立ち下り時間が増大します。 これはツールとデバイスの効率的な通信を妨げます。 信号を10 kΩ の抵抗で VDDにプルアップし、デバイスのパワーアップ タ イマ機能を利用して適切な起動シーケンスを確保する事を推奨します。 ツールからターゲット デバイス アセンブリへの ICSP 電源接続には、シス テムではなくデバイスのVDD動作電圧を使う必要があります。例えばシス テムの電源電圧が5 V でデバイスが 3.3 V の場合、ICSP の電源接続は 3.3V とします。 開発ツールとターゲット デバイス間の論理レベルが一致するように、両者他の
ICSP 実装の構成
場合によって、特に少ピンデバイスでは応用回路がこれらのピンを使う必 要があります。 この場合、デバイスと応用回路のアクティブノード間に最低でも抵抗性絶 縁が必要です。こうする事で、応用回路と開発ツールが確実にグランドお よびVDDレベルにプログラミング ピンを駆動できます。図1-1に、この 構成を示します。 図 1-1: 他のICSP™ の応用回路 絶縁用の抵抗値は、応用回路とその使い方で異なります。1 kΩ ~ 10 kΩ の 値を推奨します。PGD と PGC を適切な論理電圧レベルに確実に駆動でき るようにします。特に電圧監視機能を使った回路等でMCLR/VPPを絶縁する場合、技術概要 TB087 (DS91087) を参照してください。
通信チャンネル
デバイスによっては、通信チャンネルまたはピンをプログラミングとデ バ ッ グ に 使 え ま す。通 常 こ れ ら の チ ャ ン ネ ル は、デ ー タ シ ー ト 上 PGCx/PGDx (x はチャンネル番号 ) として記載されています。前述の通り、 これらのチャンネルはしばしば周辺モジュール( 例 : I2C™、SPI、A/D) と 多重化されています。 アプリケーションがPGC/PGD ピンと多重化された周辺モジュールとピン を使う場合、別のチャンネルを選択し、必要なICSP 接続を行う必要があ ります。同様に、MPLAB IDE でこのチャンネルピン割り当てを使ってター ゲットと通信する場合、MPLAB IDEのコンフィグレーション ビットとター ゲットの接続チャンネルを一致させる事が必要です。 デバイスによっては、PGC3/PGD3 を使った場合プログラミングの拡張機 能( プログラミング エグゼクティブ等 ) が使えないためプログラミング速 度が低下します。詳細は各データシートのエラッタを参照してください。グランド配線と
AC 電源接続
デバッガ、エミュレータ、プログラマは、PC の USB コネクタ インター フェイス経由で接地します。 そのため、接地していない応用回路にAC パワーラインから電源を供給す る場合、システム間の電位差で両システムが損傷する恐れがあります。こ のような場合、開発ツールを絶縁する必要があります。ツールをターゲッ トに接続する前に、グランドと信号の戻り経路の接続を慎重に検討します。 ホットまたはフローティングのアプリケーションではPC とツール間にセ ルフパワーの絶縁型USB ハブを使い、PC の接地から USB ケーブルを絶 縁する必要があります(図1-2参照)。 以下のような絶縁型USB ハブを推奨します。• 高速 / 低速 4 ポート USB ハブ、Model UISOHUB 4、B&B Electronics Mfg.Co.
• 高速 7 ポート USB ハブ、Model HUB7i、SEALEVEL Systems, Inc. • 1 ポート USB、Model P/N KXUSB-150、Keterex Inc.
• 1 ポート USB、Model ISOUSB-HVC、IFTOOLS Gbr
WARNING
グランドを絶縁しないで開発ツールを使うと、AC パワーラ イン印加時にツールまたはターゲットを損傷する原因にな ります。 このような条件では、オペレータが感電する危険があります。 従って、このような事態を避けるため適切な予防措置を講じ てください。図 1-2: 非絶縁AC 電源システム用のデバッガの設定例
WARNING
光絶縁USB ハブを使うとホット領域 (図1-2の点線で囲んだ 部分) ができます。 この場合、オペレータが感電する危険があるため、適切な予 防措置を講じる必要があります。 PC A/C A/C OptoisolatedSelf-Powered Development Target
Application Earth Ground Target Ground USB Hub
HOT
Toolオシレータ回路の構成
オシレータに関して以下を考慮する事でソフトウェアとハードウェアを適 切に構成します。プライマリ
オシレータ
デバッガまたはエミュレータを使って新規プロジェクトを開始する際、使 えるオシレータの種類が豊富なため、MPLAB IDE の既定値設定がターゲッ ト応用回路固有の設定と一致しない事があります。MPLAB IDE の既定値設 定とターゲット側の要件が適合しないと、[Output] ウィンドウに以下のようなメッセージが表示されます。「The target device is not ready for debugging. Please check your configuration bit settings and program the device before proceeding.」(ターゲット デバイスをデバッグできません。コンフィグレー ション ビットの設定を確認し、デバイスをプログラミングしてからデバッ グしてください。) これは、ターゲット ハードウェアの設定と MPLAB IDE の既定値コンフィグレーション ビットでオシレータ設定が一致しない事に よるものです。これを修正するには、MPLAB IDE のコンフィグレーション ビットをターゲットのオシレータ設定と一致させる必要があります。 インサーキットでデバッグするには、ターゲットのオシレータが機能してい る事が必要です。ターゲットのオシレータ設定とMPLAB IDE のコンフィグ レーション ビットを適切に設定する必要があります。例えば、応用回路で 20 MHz の水晶発振器を使う場合、MPLAB IDE では HS( 高速オシレータ ) モードを選択します。利用可能なその他のオシレータモードは、各デバイ スのデータシートを参照してください。
水晶発振器を用いたタイマオシレータ
/ セカンダリ
オシレータ
ヘッダボードまたはプロセッサ拡張パックをターゲットとの接続に使う場 合、32 kHz 水晶振動子の起動に問題が生じる場合があります。この問題を 防ぐには、以下のようにします。 1. 32 kHz 水晶振動子をできるだけデバイスの近くに配置する。 2. ターゲット回路内の全配線はできるだけ短くし、PCB 上のビア、テス トポイント等の不必要な不連続点をなくす。 3. これらのノードの容量性負荷を最小にする。 4. 水晶振動子とコンデンサの取り付けにソケットを使わない。部品は PCB のパッドに直接はんだ付けする。ターゲットの電源
MPLAB REAL ICE インサーキット エミュレータはターゲットボードに給
電できません。この点で他のデバッガと異なります。従って、MPLAB REAL
ICE インサーキット エミュレータを使う場合、ターゲットボード用の電源 を用意する必要があります。
dsPIC30FXX のクロストーク対策
dsPIC30 DSC をプログラミングする際、クロストーク問題が発生する場合 があります。PGC および PGD ピンの位置によって、クロストークで信号 が劣化してデバッガまたはプログラマがターゲット デバイスをプログラ ミングできない事があります。 このような場合、クロストーク対策として以下を試します。 • デバッガ付属のケーブルを使いません。代わりに、6 ピンコネクタ付き フラットサテン モジュラケーブル(Interstate WI WICTSS-2206または相 当品等) を基に RJ12 モジュラケーブルを作ります。ケーブル長はでき るだけ短く、できれば6 インチ未満とします。また、ケーブルの外装を 取り除いて導体( 特に PGC と PGD 信号 ) が互いに離れるようにします。 標準モジュラケーブルは図1-3に示すように配線されています(RJ12 の ピン1 は、もう一端の RJ12 のピン 6 に接続 )。ほとんど全ての場合、こ れで解決します。 図 1-3: ターゲット側コネクタのピン配置 1 2 3 4 5 6Target
Connector
Target
Bottom Side
PC Board
VPP/MCLR Vss PGC VDD PGD LVPdsPIC30FXX とクロック ポストスケーラ
クロック ポストスケーラを使う応用回路では、デバイスへのアクセスとプ ログラミング動作の間、デバッガまたはエミュレータとの通信を常に維持 する必要がある場合があります。 クロック ポストスケーラをクロックモード オプションとして備える dsPIC30F ファミリ ( 例 : dsPIC30F60XX、dsPIC30F40XX、dsPIC30F30XX、 dsPIC30F20XX) では、ICSP シーケンスの同期が外れてプログラミングに 失敗する事があります。これは、複数の命令が一度に同じビット内でクロッ キングされ、シリアルデータの命令ストリームをもポストスケーラが分周 してしまう事が原因です。 この問題がさらに複雑となるのは、応用回路もクロック源として FRC を 使い、かつターゲットの電源を使う場合です。このような場合、OSCCON レジスタでオシレータ ポストスケーラを設定するコードは、起動後すぐに 実行を開始します。その後のMCLRまたはデバイスリセットではOSCCON Note 1: ノイズ源となる機器( 例 : モータ、調光器 ) の電源配線は、 応用回路、デバッガ、エミュレータの電源配線と分ける必 要があります。 Note 2: dsPIC30FXX のクロストーク対策のような特別な理由があ る場合を除いて、デバッガまたはエミュレータの付属ケー ブル以外( 他の材質、長さ等 ) のケーブルを使うと、動作 不良の恐れがあります。開発時の回避策の1 つは、外付け水晶振動子またはオシレータで動作させ る事です。プログラミングを再試行するには、オシレータを無効にして、 ターゲットの電源を一旦落としてOSCCON レジスタをクリアする必要が あります。 さらに、ポストスケーラの設定前に十分な長さの遅延を挿入し、デバッガお よびプログラマがデバイスを認識後、アプリケーションがOSCCON を変更 する前に余裕を持って消去動作を完了できるようにする事も有効です。 または、コード開発中はポストスケーラを使わず、アプリケーションの開 発が完了に近づいた時のみポストスケーラを追加する方法もあります。こ うすると、MPLAB PM 3 は動的に電源を切り換える事ができ、ターゲット を起動するのに十分な電流( 最大 250 mA) を供給し、OSCCON レジスタ もクリアしたままにできます。
PIC32MX と iFlowtrace™
MPLAB REAL ICE インサーキット エミュレータは PIC32MX の iFlowtrace
と一緒に使えます( 利用可能な場合 )。 PIC32MX アーキテクチャは、トレースデータを圧縮し符号化して 4 本の データ線と1 本のクロック線で転送するプログラムフロー トレース機能を 備えます。このデータは、プログラムフローのキーポイントまたは非シー ケンシャル命令( 例 : 分岐、ジャンプ ) の際に送信されます。サイクルごと のトレースをMPLAB IDE が再構成し、トレース ウィンドウに表示します。 この機能を使うには、デバイスの5 本のピン (4 データ + 1 クロック ) をト レース専用とする事が必要です。これらのピンを他のデータに使うと、正 しくトレースできません。
MPLAB ICD 2 に関する注意事項
適切な
USB 接続
常にMPLAB ICD 2 には、バスパワー USB ケーブルを最初に接続するよう
にします。その後で他の電源をICD ポッドに直接またはターゲットボード
への接続を通して間接的に接続します。また電源を切る時は、他の電源を
すべて切り離すまでUSB ケーブルのバスパワーは維持します。つまり ICD
ポッドまたはターゲットボードの電源を先に切ってからPC の電源を切り
ます。
MPLAB ICD 2 の USB ドライバ
MPLAB ICD 2 に USB ケーブルを接続する際、USB サブシステムが使用可
能になるまでにわずかな時間( 通常は数秒 ) を要します。USB ケーブルを
MPLAB ICD 2 に接続すると、MPLAB IDE ソフトウェアを呼び出す前に USB サブシステムはエニュメレーションを実行します。
このプロセスを表示するには、USB ケーブル接続時に [Device Manager]
ウィンドウを開いておきます。このウィンドウには、MCHP のアイコンの
下にMPLAB ICD 2 が表示されます。
MPLAB 実行中 MPLAB ICD 2 がアクティブ状態の時に、ケーブルが外れて USB バスパワーが中断した場合、MPLAB ICD 2 と PC との同期が瞬時に 失われる場合があります。
システムを再度同期させるためには、[Project Properties] でツールとして
シミュレータを選択してから、USB ケーブルを取り外します。10 秒程待っ
MPLAB ICD 2 ユニットのアップグレード
ICD の動作に問題がある場合、お手数ですがユニット裏面でリビジョンを 確認してください。製品番号が10-00319 R15 から R21 で、「ECO 3013」 のステッカーがない場合、Microchip社販売代理店にお問い合わせください。休止モードの無効化
デバッガを( 特にエミュレーション モードで ) 長時間使う場合、PC のオペ レーティング システム電源オプション ダイアログで休止モードを無効に しておく必要があります。Windows XP の場合、[ 電源オプションのプロパ ティ] ダイアログ ボックスの [ 休止状態 ] タブで [ 休止状態を有効にする ] のチェックを外します。これにより、全てのUSB サブシステムで通信を維 持できます。ています。 • Microchip 社では、通常の条件ならびに仕様に従って使用した場合、Microchip 社製品のセキュリティ レベルは、現在市場に流通している同種製品の中でも最 も高度であると考えています。 • しかし、コード保護機能を解除するための不正かつ違法な方法が存在する事も また事実です。弊社の理解では、こうした手法はMicrochip 社データシートに ある動作仕様書以外の方法でMicrochip 社製品を使用する事になります。この ような行為は知的所有権の侵害に該当する可能性が非常に高いと言えます。 • Microchip 社は、コードの保全性に懸念を抱いているお客様と連携し、対応策 に取り組んでいきます。 • Microchip 社を含む全ての半導体メーカーで、自社のコードのセキュリティを 完全に保証できる企業はありません。コード保護機能とは、Microchip 社が製 品を「解読不能」として保証するものではありません。 コード保護機能は常に進歩しています。Microchip 社では、常に製品のコード保護機 能の改善に取り組んでいます。Microchip 社のコード保護機能の侵害は、デジタル ミレニアム著作権法に違反します。そのような行為によってソフトウェアまたはそ の他の著作物に不正なアクセスを受けた場合、デジタル ミレニアム著作権法の定め るところにより損害賠償訴訟を起こす権利があります。
的、書面、口頭、法定のいずれであるかを問わず、本書に記載されている情報に関して、状態、 品質、性能、商品性、特定目的への適合性をはじめとする、いかなる類の表明も保証も行いま せん。Microchip 社は、本書の情報およびその使用に起因する一切の責任を否認します。生命維 持装置あるいは生命安全用途にMicrochip 社の製品を使用する事は全て購入者のリスクとし、ま た購入者はこれによって発生したあらゆる損害、クレーム、訴訟、費用に関して、Microchip 社 は擁護され、免責され、損害を受けない事に同意するものとします。暗黙的あるいは明示的を 問わず、Microchip 社が知的財産権を保有しているライセンスは一切譲渡されません。 商標
Microchip 社の名称とロゴ、Microchip ロゴ、dsPIC、FlashFlex、KeeLoq、KeeLoq ロゴ、MPLAB、 PIC、PICmicro、PICSTART、PIC32ロゴ、rfPIC、SST、SST ロゴ、SuperFlash、UNI/O は、米
国およびその他の国におけるMicrochip Technology Incorporated の登録商標です。
FilterLab、Hampshire、HI-TECH C、Linear Active Thermistor、MTP、SEEVAL、Embedded Control Solutions Company は、米国における Microchip Technology Incorporated の登録商標です。 Silicon Storage Technology は、他の国における Microchip Technology Inc. の登録商標です。 Analog-for-the-Digital Age、Application Maestro、BodyCom、chipKIT、chipKIT ロゴ、CodeGuard、 dsPICDEM、dsPICDEM.net、dsPICworks、dsSPEAK、ECAN、ECONOMONITOR、FanSense、 HI-TIDE、In-Circuit Serial Programming、ICSP、Mindi、MiWi、MPASM、MPF、MPLAB Certified ロゴ、MPLIB、MPLINK、mTouch、Omniscient Code Generation、PICC、PICC-18、PICDEM、 PICDEM.net、PICkit、PICtail、REAL ICE、rfLAB、Select Mode、SQl、Serial Quad I/O、Total Endurance、TSHARC、UniWinDriver、WiperLock、ZENA および Z-Scale は、米国およびその 他のMicrochip Technology Incorporated の商標です。
SQTP は、米国における Microchip Technology Incorporated のサービスマークです。 GestICおよびULPPは、Microchip Technology Inc.の子会社であるMicrochip Technology Germany II GmbH & Co. & KG 社の他の国における登録商標です。
北米 本社 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200 Fax: 480-792-7277 技術サポート: http://www.microchip.com/ support URL: www.microchip.com アトランタ Duluth, GA Tel: 678-957-9614 Fax: 678-957-1455 オースティン、TX Tel: 512-257-3370 ボストン Westborough, MA Tel: 774-760-0087 Fax: 774-760-0088 シカゴ Itasca, IL Tel: 630-285-0071 Fax: 630-285-0075 クリーブランド Independence, OH Tel: 216-447-0464 Fax: 216-447-0643 ダラス 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-8323 Fax: 317-773-5453 ロサンゼルス Mission Viejo, CA Tel: 949-462-9523 Fax: 949-462-9608 ニューヨーク、NY アジア/ 太平洋 アジア太平洋支社 Suites 3707-14, 37th Floor Tower 6, The Gateway Harbour City, Kowloon Hong Kong Tel: 852-2943-5100 Fax: 852-2401-3431 オーストラリア - シドニー Tel: 61-2-9868-6733 Fax: 61-2-9868-6755 中国 - 北京 Tel: 86-10-8569-7000 Fax: 86-10-8528-2104 中国 - 成都 Tel: 86-28-8665-5511 Fax: 86-28-8665-7889 中国 - 重慶 Tel: 86-23-8980-9588 Fax: 86-23-8980-9500 中国 - 杭州 Tel: 86-571-8792-8115 Fax: 86-571-8792-8116 中国 - 香港 SAR Tel: 852-2943-5100 Fax: 852-2401-3431 中国 - 南京 Tel: 86-25-8473-2460 Fax: 86-25-8473-2470 中国 - 青島 Tel: 86-532-8502-7355 Fax: 86-532-8502-7205 中国 - 上海 Tel: 86-21-5407-5533 Fax: 86-21-5407-5066 中国 - 瀋陽 Tel: 86-24-2334-2829 Fax: 86-24-2334-2393 中国 - 深圳 Tel: 86-755-8864-2200 Fax: 86-755-8203-1760 中国 - 武漢 Tel: 86-27-5980-5300 Fax: 86-27-5980-5118 中国 - 西安 アジア/ 太平洋 インド - バンガロール Tel: 91-80-3090-4444 Fax: 91-80-3090-4123 インド - ニューデリー Tel: 91-11-4160-8631 Fax: 91-11-4160-8632 インド - プネ Tel: 91-20-3019-1500 日本 - 大阪 Tel: 81-6-6152-7160 Fax: 81-6-6152-9310 日本 - 東京 Tel: 81-3-6880-3770 Fax: 81-3-6880-3771 韓国 - 大邱 Tel: 82-53-744-4301 Fax: 82-53-744-4302 韓国 - ソウル Tel: 82-2-554-7200 Fax: 82-2-558-5932 または 82-2-558-5934 マレーシア - クアラルンプール Tel: 60-3-6201-9857 Fax: 60-3-6201-9859 マレーシア - ペナン Tel: 60-4-227-8870 Fax: 60-4-227-4068 フィリピン - マニラ Tel: 63-2-634-9065 Fax: 63-2-634-9069 シンガポール Tel: 65-6334-8870 Fax: 65-6334-8850 台湾 - 新竹 Tel: 886-3-5778-366 Fax: 886-3-5770-955 台湾 - 高雄 Tel: 886-7-213-7830 台湾 - 台北 Tel: 886-2-2508-8600 Fax: 886-2-2508-0102 タイ - バンコク Tel: 66-2-694-1351 Fax: 66-2-694-1350 ヨーロッパ オーストリア - ヴェルス Tel: 43-7242-2244-39 Fax: 43-7242-2244-393 デンマーク - コペンハーゲン Tel: 45-4450-2828 Fax: 45-4485-2829 フランス - パリ Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 ドイツ - デュッセルドルフ Tel: 49-2129-3766400 ドイツ - ミュンヘン Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 ドイツ - プフォルツハイム Tel: 49-7231-424750 イタリア - ミラノ Tel: 39-0331-742611 Fax: 39-0331-466781 イタリア - ヴェニス Tel: 39-049-7625286 オランダ - ドリューネン Tel: 31-416-690399 Fax: 31-416-690340 ポーランド - ワルシャワ Tel: 48-22-3325737 スペイン - マドリッド Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 スウェーデン - ストックホルム Tel: 46-8-5090-4654 イギリス - ウォーキンガム Tel: 44-118-921-5800 Fax: 44-118-921-5820