SSブログ

PIC16F887にOnboard書き込みが出来なくなった [PICkit3]

これまで何度も行なってきた手順に従って、操作・表示モジュールのプログラムをOnboardで書き換えようとしたのですが、突然出来なくなってしまいました。

Outputウィンドウには”verify complete”と表示され、正しく書き込めたように思えます。ところがresetを掛けると、以下のエラー・メッセージが出て、先に進めません。

PK3Err0040: The target device is not ready for debugging.
Please check your Configuration bit settings and program(以下省略)

このエラー・メッセージは、これまでにも何回か出会っています。例えば”クロックが動いていない”とか、”コンフィグの設定がDEBUG_OFF”だったとか・・・
ところが今回はいくら調べても(それまで動いていたプログラムなのです)原因が判りません。

実は、I2Cライブラリの開発中に操作・表示モジュールへのOnboard書き込みが不安定な様子を示す事は度々ありました。一回目の書き込みで正しく起動しないときに、同じプログラムをもう一回書き込むと動くようになるのです。結果オーライで作業を進めてきましたが、とうとう行き詰まってしまいました。

『問題は書き込む際のVdd電圧なのではないか』と考えています。PICkit3のUser's Manualに以下の記述があります。

”For programming, no clock is needed on the target device, but power must be supplied.”

ところが、書き込み時に必要なVddの電圧に関する記述が(探した限りでは)見つからないのです。 PICのUSER'S FORUMかどこかで4.5V以上という数値を見た気もするのですが、定かではありません。

確かにVddを5Vにして書き込むと一発で正しく書き込めます。今回も、Onboardで書き込めなかったデバイスをブレッド・ボードに移して、Vddを5Vにすると正しく書き込める(デバッガで動作する)ことが分かりました。ターゲット・ボードでも電源電圧を5Vにして書き込めれば良いのですが、同じVddにつながっているLCD(3.3V仕様)の最大定格(=4.5V)が問題です。

書き込みの度にLCDを取り外したりすると、コネクタのピンを曲げてしまったり、接触不良を起こしたりしそうで、心配です。問題を起こす前にさっさと5V系のLCDに変更した方が良いかなぁ〜。

にほんブログ村 IT技術ブログへ
に

ほんブログ村 ネットブログ コミュニティサイトへ
にほんブログ村 IT技術ブログ オープンソースへ


nice!(0)  コメント(2)  トラックバック(0) 
共通テーマ:日記・雑感

nice! 0

コメント 2

通りすがり

問題はバルクイレースする時の電圧が5V無いと、バルクイレース出来ないのが原因だと思います。
データシートをよーく見ると書いてあります。
VDD for Bulk Erase Operations : 4.5(min) ~ 5.5V(max)
イレースせずに上書きしていると思われます。
プロテクトを掛けると、VDD=5V無いとプロテクトはずせません。
私はVDD=3.3Vで設計して痛い目に遭いました。。。周辺の3.3V系の石にはガマンしてもらって、無理矢理4.5V注入しましたが。。。(汗


by 通りすがり (2011-11-28 16:04) 

broadbeans

こんにちは! コメントの存在に気付かず申し訳ありませんでした。
マニュアルの14.10項に以下の記述を見つけました。
When using low-voltage ICSP, the part must be
supplied at 4.5V to 5.5V if a bulk erase will be executed.

CONFIGでLVP_OFFに設定していても、この条件が適用されるということでしょうか?

マニュアルの17.5項 (D132 VPEW)にも関連する記述がありました。
VDD for Row Erase/Write VMIN — 5.5 V
VDD for Bulk Erase Operations 4.5 — 5.5 V

PICkit3の方で”Vddに合わせてRow EraseとBulk Eraseを切り替える”なんてことはしてくれないんですネ。

by broadbeans (2012-04-17 13:14) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。