teacup. [ 掲示板 ] [ 掲示板作成 ] [ 有料掲示板 ] [ ブログ ]

 投稿者
  題名
  内容 入力補助 youtubeの<IFRAME>タグが利用可能です。(詳細)
    
 URL
[ ケータイで使う ] [ BBSティッカー ] [ 書込み通知 ] [ 検索 ]

スレッド一覧

他のスレッドを探す  スレッド作成


>PICProg4UのW509プロトコルについて

 投稿者:FENG3  投稿日:2011年 3月18日(金)21時52分54秒
  たしかに2バイト分送信しています。

これは、PIC18Fシリーズには、256バイトを超えるEEPROMサイズの機種が多数あるので、
それに対応するために試験的につけていたコードの名残です。

実際にはファームウェアの改良なしにPICProg4U側の内部処理で1024バイトまで対応でき、
2バイト目はオリジナルのアセンブラのファームウェアでは破棄されるので不要です。

次期バージョン公開時には削除しておきます。
 
 

>PICProg4UのW509プロトコルについて

 投稿者:松田工作  投稿日:2011年 3月18日(金)19時32分27秒
  早速にいろいろご調査頂きありがとうございます。
私のファームのソースまでチェックしていただいたとは、恐縮です。

バージョン情報の取得ですが、私のソースは少しトリッキーな書き方になってしまっていて紛らわしくて申し訳ないのですが、おそらくこれでちゃんとした応答をしているようです。

PICProg4U様は、

[ 18:55:55 ] Writer509は COM5 に接続されています。
[ 18:55:56 ] ファームウェアは Ver.1.24 です。

と言ってくれています。


私が疑っているプロトコルは「(0F)EEPROM Read N-Byte」です。
PICProg4U様に「読み取る」を実行していただくと、
前半は順調に進んで、EEPROMの読み取りのところで、

00 01 0E 00 00 0F 00 01 00 02

と命令を発せられます。
これをプロトコル毎に分解すると下のように解釈しました。

00 01:    Vdd,Vpp-ON
0E 00 00: EEPROM Address Set 0x0000
0F 00 01: EEPROM Read N-Byte ←これに注目です。
00 02:    Vpp,Vdd-OFF

オレンジ電子さんのプロトコル表によりますと、

  (0F)EEPROM Read N-Byte
    0Fh →
        ← 0Fh
    N →     Size Low
             処理
        ← Data

となっています。すなわち、サイズNは1バイトになっています。
ところがPICProg4U様は
0F 00 01
というように、おそらくN=0x0100の2バイトで命令を発せられているのではないかと推測させていただいた次第です。
試しに、私のファームのプロトコル0Fの処理をN=2バイト対応に変更すると、EEPROMの読み取りは無事完了してくれました。

じゃ、それでいいじゃないか、と申されると思いますが、
そうしてしまうと、今度はオリジナルのW509制御ソフトで動かした場合に、0Fのプロトコルで2バイト来るまで待ってしまい、固まってしまうという次第です。
両方に対応するようにすることも、がんばればできそうなのですが・・・
只今思案中です。

http://matsutakousaku.blogspot.com/

 

>PICProg4UのW509プロトコルについて

 投稿者:FENG3  投稿日:2011年 3月18日(金)15時40分34秒
  if(Cmnd2 == 0x00)
{
rom char* VerData = "xW509 Ver.1.24";
unsigned char i;
USB_In_Buffer[0] = 0x00;
for(i=1;i<14;i++)
{
USB_In_Buffer[i] = VerData[i];
}
putUSBUSART(USB_In_Buffer,14);

//putrsUSBUSART("W509 Ver.1.24");
}
else USB_In_Buffer[i] = VerData[i];
}
putUSBUSART(USB_In_Buffer,14);

ファームウェアのバージョンとバージョンの取得方法が上記のようになっているため、
PICProg4U はバージョンを正しく認識できません。

また、PICProg4U はファームウェアがPIC18をサポートしているかどうかの判断は、
オリジナルのWriter509ソフトのように$0Aが返ってくるかどうかで判断せず、
Writer509のAdvancedWriteプロトコルとそれに対応したバージョン文字列から
判断しています。

つまり、バージョンが1.24であれば、PIC18をサポートしており、なおかつ、AdvWrite
コマンドは08h で、それ以外はPIC18をサポートしていませんが、バージョンによって
AdvancedWriteコマンドは15h、00h(未対応)と異なります。

つまり、ファームウェアが返してくる文字列がオリジナルのWriter509とは異なることに
原因があると考えられます。
 

>PICProg4UのW509プロトコルについて

 投稿者:FENG3  投稿日:2011年 3月18日(金)13時14分20秒
  いまブログのほうを拝見しました。

PIC18F14K50ですね。

調べてみます。

 

>PICProg4UのW509プロトコルについて

 投稿者:FENG3  投稿日:2011年 3月18日(金)13時08分48秒
  はじめまして。

PICProg4U は、シリアルポートの制御に Win32API を使用していますが、現在公開している
バージョンでは、64ビット版Windows7においてWriter509が認識されない問題が報告されて
います。

この問題は、コントローラのファームウェアのバージョンストリングを取得するさいの
待ち時間を設定することでなんとか解決しそうで、PICProg4Uの次期バージョンでは
正常に取得できるようになると思います。

以上は、00hコマンドに関した問題です。

ご指摘の0Fhコマンドに関してですが、PICProg4Uのプログラム自体はVB.NETで一から
書いていますが、プロトコルはオリジナルのWriter509のものに準拠しています
(そうしないと動きません)。

オリジナルのWriter509と異なる点は、Writer509のアプリケーションソフトが
サポートしていない機種に対応するために、EEPROM読み取りの手順を少し複雑に
していることです。

エラーが生じるPICの機種名がわかれば、こちらで検討してみます。



 

PICProg4UのW509プロトコルについて

 投稿者:松田工作  投稿日:2011年 3月17日(木)22時37分21秒
  はじめまして。
FENG3さんのサイトでは、いつも勉強させていただいてます。

私はこの度、USB接続のWriter509互換機をPIC18F14K50を使って作製しました。

Writer509CDC

このライターの制御ソフトとして、PICProg4Uを使わせて頂こう思ったのですが、一部のPICでエラーが発生してしまいます。オリジナルのWriter509ではそのエラーは発生しないのですが。
そのエラーの原因を調査したところ、あるプロトコルに関して、PICProg4Uでの使われ方と、私のWriter509CDCの実装内容に相違がありそうなことがわかりました。そこで、私のプログラムを修正しようと試みたのですが、PICProg4Uでの使われ方を採用すると、オリジナルの制御ソフトがうまく動かなくなり、両立させるのはちょっと難しそうです。

そこで、勝手なお願いなのですが、
ちょうどPICProg4Uの更新作業をされているようですので、もし可能でしたら、Writer509のプロトコルを再検討して頂けるとありがたいです。

私の実装内容と相違のあるプロトコルとは、具体的にはプロトコル(0F)です。
もし、ご検討いただけるようでしたら、連絡いただければ、もう少し詳しく説明させていただきます。私へメールを頂く場合は、私のブログの「メール送信」機能をご利用ください。

http://matsutakousaku.blogspot.com/

 

PICProg4Uについて

 投稿者:FENG3  投稿日:2011年 3月11日(金)03時14分51秒
  PICProg4Uの現行バージョンで、Writer509が64ビット版のWindowsで正常に動作しない
(認識しない)問題があるので、現在、改良をすすめています。

改良の内容は、シリアルポートの制御に いままで使っていたWin32APIの代わりに
.NET Framework 2.0 以降で盛り込まれたSerialPortクラスを使うことです。

JDMプログラマやRCDライタの制御はSerialPortクラスではレスポンスの関係?からか
どうしてもうまくいかないので、従来どおりWin32APIで制御します。

つまり、2種類のシリアルポート制御のコードを混在させることになります。

うまくいけば、4月ごろに新しいPICProg4Uを公開できるかもしれません。

Writer509もツェナダイオード1本と抵抗1本追加するだけで、PIC12F1822や
PIC16F1XXXに書き込めるようになります(ファームウェアはそのままです)。
 

LVPモードで消去できない

 投稿者:FENG3  投稿日:2011年 3月 7日(月)22時48分24秒
  拡張PIC12F/16F系列のデバイスのうち、PIC12F1822 や PIC16F1933 などでは、
LVPモードでデバイスをバルク消去することができません…。

PICkit2で試してみましたが、まったく消去できません。対策は、通常のHVPモード
でデバイスを消去するしか方法はない、つまり、再書き込みをする場合は現時点では
LVPモードは使用できない、ということです。

PICkit3の場合は、これらのデバイスについてはHVPモードでプログラミングをおこない
ます(LVPモードは選択できない)ので、この問題とは関係ありません。

 

原因判明

 投稿者:FENG3  投稿日:2011年 3月 6日(日)18時16分7秒
  >3、Den2Progで拡張PIC12F/16F系列のデバイスにFT232Rのビットバンモード・プログラマ
>で書き込むと、最後の256バイト程度が‘3FFF’のまま変化しない。

従来のPIC12F/16F系列と異なり、拡張PIC12F/16F系列のデバイスでは、プログラムサイクル
の終了時に高電圧を放電するために100us以上の時間が必要だと判明しました。

JDMプログラマでは、100usという時間は無視できた(ビット操作だけで100us程度の時間が
かかる)ので、拡張PIC12F/16F系列のデバイスでも従来どおりのプログラムサイクルで
じゅうぶん放電時間が確保できるということです。

なお、ここでいう高電圧とは、デバイスが自分自身の内部で生成する高電圧で、Vppとは
関係ありません。自分自身で高電圧をつくりだすことができるため、5Vや3.3Vの単電源
のみでもプログラム書き込みが可能なわけです。
 

PICProg4U/Den2Prog のバグ

 投稿者:FENG3  投稿日:2011年 3月 5日(土)16時18分43秒
  1、PICProg4U/Den2Progにおいて、いちぶのデバイス系列のファイルの保存で、ユーザー
IDが正しく反映されない

2、Den2Progで保存した拡張PIC12F/16F系列のデバイスのファイルをMPLAB-IDEで読み込
むと、チェックサムエラーがでて正しく読み込めない。

3、Den2Progで拡張PIC12F/16F系列のデバイスにFT232Rのビットバンモード・プログラマ
で書き込むと、最後の256バイト程度が‘3FFF’のまま変化しない。

1、2は、.NET Framework1.1当時作成したコードをそのまま使っていたためと判明。
3は、おなじ処理をしているJDMプログラマでは問題ないので、調査中です。



 

PIC16F1823

 投稿者:FENG3  投稿日:2011年 3月 1日(火)22時42分17秒
  PIC12F1822(8ピン)とおなじ系列のPIC16F1823(14ピン)も、JDMプログラマでの
書き込みがうまくいきませんでした。

他の拡張PIC16Fシリーズではうまくいくのですが、ひょっとするとこれら2つの
機種は、JDMプログラマでは制御不可能なぐらいの低電圧で動作してしまうのかも
しれません。

そういうわけで、Den2Progおよび次期PICProg4Uでは、JDMプログラマとRCDライタ
では拡張PIC16F系列の機種のうち、これら2つの機種はサポートから除外すること
にしました。

なお、Writer509でも9Vのツェナダイオードと抵抗を取り付けることで、拡張PIC16F
系列のデバイスに書き込めるようになります。
 

PIC12F1822

 投稿者:FENG3  投稿日:2011年 2月27日(日)15時54分55秒
  Den2Prog と JDMプログラマの組み合わせで、PIC12F1822へのプログラム書き込みだけが
うまくいきません。まだすべての機種で試せていませんが、おなじプログラミング仕様を
もつ、他のPIC16F1XXXではいまのところうまくいってます。また、FT232Rをつかった
プログラマでは、高電圧書き込み、低電圧書き込みの両方でPIC12F1822でとくに問題は
起きていません。

 

Den2Prog Ver.2.2.2

 投稿者:FENG3  投稿日:2011年 2月22日(火)20時41分47秒
  Den2Prog Ver.2.2.2を公開しました。

http://feng3.cool.ne.jp/soft/den2.html

Hexファイルのドラッグアンドドロップ機能が利用可能になりました。

スリープモード/スタンバイモードからの復帰時に警告をだすようにしました。



 

Den2Prog Ver.2.0.0

 投稿者:FENG3  投稿日:2011年 2月17日(木)22時23分17秒
  Den2Prog Ver.2.0.0(暫定版)を公開しました。

http://feng3.cool.ne.jp/soft/den2.html

サポートプログラマは、下記のとおりです。
・JDMプログラマ(Vpp電圧制限回路が必要です)
・FT232Rのビットバンモードを使ったプログラマ(/MCLRリセットに反転回路が必要です)

サポートデバイスは下記のとおりです。
・PIC16F84A(JDMプログラマのみ)
以下、JDMプログラマとFT232Rビットバンモード・プログラマの両方でサポート
・PIC12F/LF1822
・PIC16F1823
・PIC16F1824
・PIC16F1825
・PIC16F1826
・PIC16F1827
・PIC16F1828
・PIC16F1829
・PIC16F/LF1933
・PIC16F/LF1934
・PIC16F/LF1936
・PIC16F/LF1937
・PIC16F/LF1938
・PIC16F/LF1939
・PIC16F/LF1946
・PIC16F/LF1947

 

(無題)

 投稿者:FENG3  投稿日:2010年12月13日(月)21時07分50秒
  >JDMプログラマで16F785を焼こうとすると失敗する

使用しているJDMプログラマからVdd遅延回路を分離し、オリジナルの回路に戻す。

 

Den2Prog

 投稿者:FENG3  投稿日:2010年 9月30日(木)14時09分26秒
  Den2Prog を公開しました。

http://feng3.cool.ne.jp/soft/den2.html
 

PIC12F1XXX、16F1XXXへの対応

 投稿者:FENG3  投稿日:2010年 9月17日(金)00時05分8秒
  PICProg4U で 機能を拡張したPIC16F系列のPIC12F1XXX、16F1XXXへの対応を
すすめています。

FT232Rのビットバンモードを使ったライタでの高電圧と単電源(旧称低電圧)
プログラミングの両方でうまくいきましたので、つぎはJDMプログラマで試し
てみます。

PICkit2では書き込みソフト単体ではPIC16F19XXに対応していますが、
PICkit3への移行がすすんでいてソフトの更新がとまっているため、PIC16F
15XXやPIC16F18XXのサポートは望めない状況です。

JDMプログラマでは、部品の追加で対応可能になると思われます。
 

>AVR FUSE設定ツールの件

 投稿者:FENG3  投稿日:2010年 8月29日(日)02時23分51秒
  私の場合は、FUSEビット、LOCKビットのデータベースはデータシート記載の情報
から自分で構築しているので、おそらくXMLファイルよりも表示される情報は
少し多いはずです。

XMLファイルにまったく依存しない、独自のもので、SUT、CKOUTなどの
ビット名以外の機能やその説明はすべて日本語で表示されます。
 

AVR FUSE設定ツールの件

 投稿者:senshu  投稿日:2010年 8月28日(土)22時41分8秒
  FENG3さん、こんばんは。

AVRのFUSE設定ツールは、以下のサイトでも実装例が入手できます。
これはATMEL社のXMLファイルを利用するもので、XMLファイルが
そのまま含まれています。

このツールはavrdudeと組み合わせれば現在でも利用可能なので
これを上回るものが欲しいです。このIDEはC#で書かれています。

http://code.google.com/p/avr-project-ide/
 

>YCIT版、avrdudeを更新しました

 投稿者:senshu  投稿日:2010年 8月27日(金)13時14分3秒
  例によって、TeraTermProとの連携部分を修正し、ようやく自分の希望す
るレベルに仕上がりました。ぜひお試しください。ライタ機能以外の各種
機能を付加しました。

C#(VBもおなじ?)はWindows固有の機能呼び出しが容易で、コンパイル
も速いのでBATファイルを作成しているような感覚です。デバッガが使え
るので、BATファイルよりも遥かに便利です。

FENG3が取組まれているAVR用のFUSE関連ツールは興味があります。現在、
avrdude-GUIでは、Webサイトのサービスを利用しているだけです。ネット
に接続できない場合には利用できません。avrdude.confにも類似のデータが
登録されています(参考まで)。

FENG3作成のAVRマイコン用ツールに期待しています。

それでは、また。
 

レンタル掲示板
/54