Yahoo!ジオシティーズ ゲストブック 戻る  

   2010/7/20 (Tue) 19:03:26
[名前] :   senshu
[URL] :   
[コメント] :   Webサーバ回復しました

マザーボードの故障という最悪のシナリオでしたが、HDDは
生きていたので、マザーボードを交換し、回復させることが
できました。

avrdude-20100720では、[Save]ボタンの件と、FUSE読み出しの
問題を改善しています。

ぜひお試しください。
   2010/7/20 (Tue) 11:20:36
[名前] :   ラジオ少年
[URL] :   
[コメント] :   書き込み時の工夫

I2Cを接続した状態の書き込みでトラブリましたので少し工夫をしてみました。

1枚の基板にT2313、M328があり、それぞれにISP-PINを持っています。それぞれの5pin(Reset)をつなぎました。こうすることで、書き込み時にはRESETが出ますので相手のICの動きは止まります。いちいちI2Cラインのjumperをはずさなくて良くなります。
   2010/7/19 (Mon) 17:33:14
[名前] :   kuman
[URL] :   
[コメント] :   ラジオ少年さんへ

話題には少々緊張するものと、ほっとするものとがありますね。
ささやかなものでもよろしくお願いします。

先ほど、「はじめてのサーボモータ」がArduino-IDEで動きました。
3本の電線がわからなくて、「サーボモータ 赤 黒」でやっと検索できました。
   2010/7/19 (Mon) 18:14:28
[名前] :   ラジオ少年
[URL] :   
[コメント] :   その通りですね。緊張するのは程ほどにして、ホッとしたいです。
サーボモータが動いたようですね。またこのHPで紹介してください。
私もArduino−IDE使って何かやってみようと考えています。
   2010/7/19 (Mon) 10:08:08
[名前] :   ラジオ少年
[URL] :   
[コメント] :   HIDaspx書きこみエラー

結論:私のうっかりうっかりミスです。
原因:I2Cが切り離してなかった。マスタからの信号が
   書き込みに邪魔をしていた。

朝5時からごそごそやりました。
Mega328への書き込みは全く問題なしでしたので、2313のシステムCLKがRC、これかと思い8MHzXtalに変更、書き込みをすると、なぜか好調(100回OK)。
暫くして書き込んで見ると今度はNG。ライタのUSBコネクタの接触不良もなさそう。
もう一度2313の配線を見直すおかしなところはなさそう、ISPの配線をやり直して見ようかと基板を眺めていると、I2CのJumperがつながったまま。
200回書き込みをしてみましたがOKでした。
もう出てくるな!と言われそうですが、おつき合い頂いた皆様のコメント、アドバイスありがとう御座いました。貴重なお時間を頂戴しながらこの結末、面目ありません。お詫びいたします。m(_ _)m
   2010/7/19 (Mon) 10:17:56
[名前] :   senshu
[URL] :   
[コメント] :   再現性のあるエラーには原因があります

理由がわかって納得しました。

「何もしていないのに突然エラーが起きるようになった」
という報告が届きますが、こうした事柄が多いようです。

変更履歴(日記ともいう)を書くことをお勧めします。
   2010/7/19 (Mon) 10:29:25
[名前] :   senshu
[URL] :   
[コメント] :   興味深い報告です。

ラジオ小年さんのトラブルは、SD-CARDなどを読み書きなど
の応用でも出会う、実はけっこう悩ましい問題です。

こうした事例がQ&Aのページに多数報告され、トラブルを
未然に回避できるようになれば、と考えます。
   2010/7/19 (Mon) 12:12:39
[名前] :   kuman
[URL] :   
[コメント] :   解決できて良かったですね。

マスタからのクロックが出たままだったのでしょうか。
そうすれば私はどうしたのでしょう。確かデータをはずせば電源も切れたと思うのですが。記憶がありません。
次は注意しましょう。
   2010/7/19 (Mon) 15:34:25
[名前] :   shuji009
[URL] :   
[コメント] :   解決して良かったです

ROMしていましたが・・・。
I2Cでしたか。原因判って良かったです。

私の場合はSDカードでよく書込エラーを出します
(SDカードを未挿入なら大丈夫なんですけど)。
   2010/7/19 (Mon) 16:22:33
[名前] :   ラジオ少年
[URL] :   
[コメント] :   皆さんありがとう御座いました。
全くお恥ずかしい限りです。
分かれば何だーなのですが、頭がそこに行っていないと気が付きません。
暫く静かにしてます。
   2010/7/19 (Mon) 18:28:13
[名前] :   senshu
[URL] :   
[コメント] :   「多くの方に意見をもらうことで早期の解決ができた」

私が、「未完成の作品に対する評価(コメント)を待って
いる」のも全く同じ理由です。

最近話題にしているFUSEの読み出しの件も、一人で悩んで
いれば、解決は数ヶ月も先になった(あるいは解決できな
かった)と考えています。
   2010/7/19 (Mon) 09:35:24
[名前] :   kuman
[URL] :   
[コメント] :   原因発見の糸口

avrdude-GUIでfuseが読めない原因を2つのことから推測しました。

1 たまたま全消去すると読み出せたこと
2 通信にcp2102コンバータを使うとfuse読み出し中でもteratermを続行できて、fuse読み出し中に何度も通信が実行されていることが見えたこと

試行錯誤も役に立つものかと。
   2010/7/19 (Mon) 09:54:47
[名前] :   kuga
[URL] :   
[コメント] :   想像
fuse読み出しが複数の工程であるとすると、その工程間で
BitBangモードを解除して通常モードにしているのでは
ないだろうか?
その通常モード時にAVRから送られたシリアルデータは
FT232のFIFOにたまるのではないだろうか?
ソフトではこの溜まったデータを破棄していないので
BitBangのデータと混じってしまうのではないだろうか?
   2010/7/19 (Mon) 10:10:43
[名前] :   senshu
[URL] :   
[コメント] :   kugaさん、アドバイスに感謝します。

>fuse読み出しが複数の工程であるとすると、その工程間で
>BitBangモードを解除して通常モードにしているのでは
>ないだろうか?

現在は、fuse読みだしの都度、BitBangモードを解除して
いますが、途中の工程では解除を停止してみます。

>その通常モード時にAVRから送られたシリアルデータは
>FT232のFIFOにたまるのではないだろうか?

信号の衝突による障害とは考えにくいので、まずは上記
対策を実施してみます。
   2010/7/19 (Mon) 10:15:13
[名前] :   senshu
[URL] :   
[コメント] :   kumanさんにお願い

BitBangモードの停止を止めるのは簡単にテストできます。

「-E reset」をオプション欄で指定するのを止めるだけです。
不具合の起きる組み合わせでFUSEが読めるかどうかを確認して
いただけますか?

良好なテスト結果が得られれば、対策を講じたいと思います。
   2010/7/19 (Mon) 12:06:10
[名前] :   kuman
[URL] :   
[コメント] :   -E reset

原因がわかってからこれをはずしたら、と思っていましたが諸般めんどうでしていませんでした。
表示されるコマンドライン毎にに -E reset があるので気になっていました。

後ほどしてみます。
   2010/7/19 (Mon) 12:25:30
[名前] :   kuman
[URL] :   
[コメント] :   -E reset オプション無しの時

fuseが読みとれない状態で、-E reset を消して実行すると正常に読み出せました。

>ソフトではこの溜まったデータを破棄していないので
>BitBangのデータと混じってしまうのではないだろう
>か?

がわかるような感じです。
   2010/7/19 (Mon) 12:38:39
[名前] :   senshu
[URL] :   
[コメント] :   -E resetを付けないと改善される件は了解です

実験のご協力に感謝いたします。

ただしこのオプションを追加しなければ、ターゲットAVR
マイコンの実行やCOMポートの利用はできませんので、
使い分けに工夫が必要になると思います。

すzさんには、通信データを破棄する方法を問い合わせています。
   2010/7/18 (Sun) 21:58:49
[名前] :   ラジオ少年
[URL] :   
[コメント] :   HIDaspxについて

Xtal(12MHz)を使っています。パスコンは0.1uFのセラミックと数十uFを電源ラインに適宜入れています。
   2010/7/18 (Sun) 22:22:33
[名前] :   senshu
[URL] :   
[コメント] :   HIDaspx の連続テスト方法

hidspx -ph?NNNN と入力(NNNNには希望する10進数)します。
100 万回のテストには約 8時間以上の時間が必要です。

セルフパワーで動作させ、このテスト中に電圧を変化させるなり
してエラーが発生しないかをチェックします。今まで数件ですが
水晶発振子が不安定で、動作不良が起きた経験があります。

正常に動作するHIDaspxなら何日間でもエラーは起きません。
   2010/7/18 (Sun) 22:25:44
[名前] :   senshu
[URL] :   
[コメント] :   付属文書をご覧ください。

上記のテスト方法は、history-j.txtに記載しています。
私が経験したことは、付属の文書に漏れなく書くように
していますので、困った時には一読ください。

HIDaspxに関しては、どのwebページよりも詳しく書かれ
ていると思います。
   2010/7/18 (Sun) 23:24:30
[名前] :   kuga
[URL] :   
[コメント] :   >HIDaspx の連続テスト方法
上記テストは HIDaspxとパソコンとの間の通信テストだと思います。
エラーになっているのは、HIDaspxとターゲットの間の可能性はありませんか?

ターゲット基板の電源ラインにも電解コンデンサは入ってますか?
   2010/7/19 (Mon) 05:52:31
[名前] :   ラジオ少年
[URL] :   
[コメント] :   senshuさん、kugaさんお早うございます。
エラーはターゲットとHIDaspxので起きるエラーだと考えています。
ターゲット基板に適宜キャパシタを入れて有ります。
もう少し調べてみます。
有難うございました。
   2010/7/19 (Mon) 09:00:45
[名前] :   senshu
[URL] :   
[コメント] :   対策が不具合確認の前か後ろかが不明です。

>エラーはターゲットとHIDaspxので起きるエラーだと
>考えています。
>ターゲット基板に適宜キャパシタを入れて有ります。

「適宜キャパシタ」の追加時期を明記していただければ
幸いです。
   2010/7/18 (Sun) 20:12:42
[名前] :   ラジオ少年
[URL] :   
[コメント] :   続きです。

私の環境は
パソコン:自作
OS:XP
USB:パソコン内に搭載したカードライタに付いていUSB
   コネクタを利用(ハブ経由)
   USBケーブルは1.6〜7M
HIDASPX:65mmx40mm蛇の目基板に手作り、ターゲットへ
    のケーブル長は15CM
ターゲット:100mmx70mm蛇の目基板の2313,328を搭載
      GNDは錫メッキ線を使用、

書き込みが不安定になる傾向があるようですので、ハードのGND、パスコン等少しいじくってしばらく様子を見ます。
   2010/7/18 (Sun) 20:11:45
[名前] :   ラジオ少年
[URL] :   
[コメント] :   Arduinoでの書き込みエラーについて。

Arduinoとhidspx-Gで書き込みの比較をしてみました。
Arduino:10回中5回エラー
hidspx-G:10回中3回エラー
その後、エラーは出なくなり、両方とも20回の書き込みでno errorでした。
何100回も書き込みした訳ではありませんので推測の域を出ませんがエラーが出るときは両方の差異はなく同じ傾向ではないかと思います。
hidspxを共通に使っているので差が出ないはずですが、
もう少し時間をかけて様子を見るべきだったと思ってますが、RS232Cのプログラムの方へ注意がいってました。

HIDaspxの作り方(特にGNDライン、電源ラインのパスコン)、そして、ターゲットボードの作り方に問題点があるような気がしてます。ノイズの影響があるのではないかと思ってます。
   2010/7/18 (Sun) 20:59:58
[名前] :   senshu
[URL] :   
[コメント] :   HIDaspxでは、数百回の書き込みでエラーが起きるなら、
別の箇所に原因があります。

私は、数百個のチップに合計数千回を越える書き込みを
行っています。エラーが起きたのは数回だけです。その
エラーにはエラーになる原因がありました。

10μF程度のコンデンサは入れていますか?

このコンデンサを省略して不安定になっている話は、よく
耳にします。
   2010/7/18 (Sun) 21:05:28
[名前] :   senshu
[URL] :   
[コメント] :   水晶発振子をお使いですね?

過去にセラロックを使っていて、類似の現象に悩まされて
いる方がいました。

HIDaspxでは、12MHzの水晶発振子は必須です。通常の
セラロックでは動作しない(まれに動作したとの報告を
いただくこともありますが)とお考えください。
   2010/7/18 (Sun) 15:49:21
[名前] :   ラジオ少年
[URL] :   
[コメント] :   ATtiny2313 serial通信

TTL-RS232C変換IC(ADM3202)を使いPC(TeraTerm)にデータを送ってみました。

int i;
void setup() {
Serial.begin(9600);
}

void loop() {
for(i=0;i<10;i++){
delay(300);
Serial.println(Welcome to Arduino World!);
Serial.println(ATtiny2313 serial test);
}

for(;;);
}

Arduinoでコンパイルして出来た .hex fileどこかのフォルダにあるんでしょうか?
   2010/7/18 (Sun) 15:54:25
[名前] :   kuman
[URL] :   
[コメント] :   .hexファイル

かなり深いところにあり、Arduino-IDEを終了すると無くなります。

コンパイル画面が起動している状態で ctrl-k を押すと.hexファイルが見えます。(senshuさんの業績です)

他のライタでも書き込めます。
   2010/7/18 (Sun) 16:39:18
[名前] :   ラジオ少年
[URL] :   
[コメント] :   kumanさん、今日は、梅雨が明け暑い夏になりました。
.hexについて情報有難うございます。
早速試して見ます。
私の環境のみの問題かも知れませんが、Arduinoでの書き込みでエラーの頻度が多いのです。
先日の書き込みエラーの投稿も、VCC電圧(4.3V)の問題ではないかも知れません。5Vを供給していてもエラーが出ます。
それで、.hexが分れば別の書き込みをしてみようと考えたのです。
   2010/7/18 (Sun) 16:53:53
[名前] :   ラジオ少年
[URL] :   
[コメント] :   kumanさん、やってみました。
hidspx-GUIで書き込みOK、動作も確認しました。
ありがとう御座いました。
   2010/7/18 (Sun) 17:13:06
[名前] :   ラジオ少年
[URL] :   
[コメント] :   自己レスです。
Arduino画面の右側にあるシリアルモニタをクリックしますとCOM1と言う小さな画面がでます。
この状態で、リセットを押すとそこに文字が表示されます。TeraTermを起動する必要はありません。
   2010/7/18 (Sun) 17:30:06
[名前] :   senshu
[URL] :   
[コメント] :   dude-wrapng環境での書き込みエラーについて

現行のdude-wrapngは、avrdude向けのコマンドをhidspx
用に変換し、呼び出しているだけです。

>私の環境のみの問題かも知れませんが、Arduinoでの
>書き込みでエラーの頻度が多いのです。

この件ですが、上記の仕組みですから、hidsx-GUIで
エラーがなくて、dude-wrapngでエラーが多いとは考え
にくいのです。(同じコマンドで実行しています)

理由は別のところにあると思っていますので、エラー
を発生する環境の詳細を教えてください。
   2010/7/18 (Sun) 17:34:38
[名前] :   kuman
[URL] :   
[コメント] :   ラジオ少年さん、どのような環境でお使いでしょうか。

私は極初期にArduinoと同じ構成をテストしましたが、その後はArduino-IDEのコンパイラ機能を使うだけで、hexファイルはArduino-IDE画面を使って書き込んでいますが、オリジナルとは無関係のAVRライタでしています。

通信機能はしたがってArduinoのものを採用していませんので別の通信ソフトteratermを使っています。
   2010/7/18 (Sun) 17:40:32
[名前] :   senshu
[URL] :   
[コメント] :   通信モニタについて
>Arduino画面の右側にあるシリアルモニタをクリック
>しますとCOM1と言う小さな画面がでます。

文字コードや通信データの記録、高速な通信速度の対応などを
望む場合には、このモニタでは不十分です。また、HIDaspxの
ようにCOMポートを占有しないライタでは問題はありませんが、
FTDI BitBangライタはCOMポートの使い分けが必要です。

現行のArduino IDEでは使い分けができないので、何らかの工夫
が必要と考えています。

ツールに慣れた方には説明不要なのですが、単純にアップロード
ボタンクリックで利用したい方の要求に応えるのは簡単な事では
ありません。
   2010/7/18 (Sun) 15:46:00
[名前] :   kuman
[URL] :   
[コメント] :   avrdude-GUIの設定について

メモしました。
http://www.geocities.jp/kuman2600/n6programmer.html#96
   2010/7/18 (Sun) 17:45:22
[名前] :   senshu
[URL] :   
[コメント] :   付属の説明書をご覧ください。

kumanさんが紹介されている内容は、現在公開中の(アクセス
停止中ですが)付属の説明書にも書いている内容です。

説明書を熟読の上、疑問点を書いてください。
   2010/7/18 (Sun) 17:57:04
[名前] :   senshu
[URL] :   
[コメント] :   現在公開中のavrdudeは暫定版です。

暫定版の意味するところは、機能の改善に協力していただける
(コメントを書いてもらえる)方に限定して公開しているもの
です。Downloadページにも置いておりません。

こうしたことにご理解いただける方はご利用いただき、安定に
使いたいと考えの方は正式版が登場するまでお待ちください。

私の公開するどのソフトにも保障はありませんが、暫定版と称す
るものは、私が判断する基準には達していないのです。改良に
協力して(説明の文章も含む)いただける方を求めています。

機能が不十分で公開に値しないと判断すれば公開を中止するかも
しれませんし、不具合や改良点が見つかれば更に良いものになる
かもしれません。それは未知数です。
   2010/7/18 (Sun) 18:08:14
[名前] :   kuman
[URL] :   
[コメント] :   付属の説明書

失礼しました。
webページは消去しました。
   2010/7/18 (Sun) 18:16:45
[名前] :   senshu
[URL] :   
[コメント] :   kumanさん、消していただく必要などはありません。
(私の書き方がよくないのかもしれませんね)

多くの方にその内容を理解していただきたいのですが、
利用する方にも汗を書いていただきたいのです。

楽をして知識が身に付くことはないと思っていますの
で、労を惜しまず、説明書に目を通していただきたい
と思います。読みにくいとか判りにくいと感じたら、
それをコメントしていただければ幸いです。
   2010/7/19 (Mon) 11:26:56
[名前] :   senshu
[URL] :   
[コメント] :   私的なメモは個人の利用に留まります。

ぜひ、得られた成果をお知らせください。

明日には、私のコンテンツを置いているサーバも回復すると
思います。

この連休中に確認した不具合を修正し、公開したいと思います。

多数の利用者によりテストされたツールは信頼性が違いま
す。多くの利用者からの声をお待ちしております。
   2010/7/18 (Sun) 10:39:54
[名前] :   kuman
[URL] :   
[コメント] :   きわめて稀なケース。

fuse読み出しはresetを含む数段階のコマンドで構成されている。
Asciitableはresetですぐに送信をはじめる。

fuse読み出し以外は1段階のコマンドのため問題にならない。
resetですぐに送信をはじめるプログラムを避ければ問題はない。少なくとも、0.5秒のディレイを入れれば不具合は解消される。

汎用性の代償として認めてはどうでしょうか。
0.5秒のディレイが許されない条件ではfuseの読み出しを辛抱すれば開発機能に支障はありません。
   2010/7/18 (Sun) 11:00:09
[名前] :   senshu
[URL] :   
[コメント] :   当面は、その使い方になると思います。

avrdudeのFUSE読み出しの仕様はスマートとはいえません。
あまりGUIとの相性が良くないので、hidspx流に改めようか
と思っています。(ますます、私流になりますが)

この改善ができれば、FUSE読み出しの時間はhidspxと同等
の時間に短縮できます。

しかし、現行の動作速度で不満が無ければ、この改造の工
数もそれなりなので、ご意見を伺います。
   2010/7/18 (Sun) 13:51:29
[名前] :   ノンノ
[URL] :   
[コメント] :   時々見ているんですが、何処が足だか鼻だか判らなくなりました。
どっかに一覧表なんかは有りませんでしょうか?
   2010/7/18 (Sun) 13:59:12
[名前] :   kuman
[URL] :   
[コメント] :   ノンノさん、

はい。そのとおりです。
掲示板の辛さですね。どこかでまとめたいとは思うのですが...
   2010/7/19 (Mon) 08:55:54
[名前] :   senshu
[URL] :   
[コメント] :   すzさんに問い合わせ中です。

> (1) 予想よりも遅い

> (2) TX, RXの信号線を接続してISPを行うと、書き込んで
> いるプログラムによっては、信号同士が競合し、FUSEの
> 読み出しに失敗する、との報告があります。

(1)の「予想よりも遅い」は現状では事実です。pic18spxの2倍ほ
どの処理時間がかかります。pic18spx並みに高速化できる実力が
あるのに、意図的に遅くしているのです。

(2)の件は、kumanさんの問い合わせの内容です。独自に改善しよ
うと思いましたが、RX,TXの接続を行った状態での利用も考慮して
いる記述があります。

これら2点を、すzさんに聞いてみることにしました。
   2010/7/18 (Sun) 10:24:09
[名前] :   kuman
[URL] :   
[コメント] :   saveできない原因がわかりました。

ファイル名を空白にして、saveボタンを押したときのファイル選択窓が
 avrdude-GUI と hidspxG では 機能が違う ことに気が付いていなかったのです。

使い慣れた hidspxG では 新しいファイル名を指定すると 保存ファイル名としてパスが認識されてファイル名に反映されたのですが、
avrdude-GUIの窓では ファイル名を空白にしたときは選択窓で新しいファイル名を入力しても反映されないという違いがあったのです。

ファイル名が空白の時の saveボタンで起動するファイル選択窓は両者でおなじ機能にしていただけると助かります。
   2010/7/18 (Sun) 10:35:09
[名前] :   senshu
[URL] :   
[コメント] :   hidspxGとavrdude-GUIはベースが異なります。

振る舞いの違いは、avrdude-GUIの仕様に起因しています。

一般的な利用者にとって混乱の少ない仕様に統一したい
と思います。
   2010/7/18 (Sun) 10:55:22
[名前] :   kuman
[URL] :   
[コメント] :   「新しい名前をつけて保存」

という項目が多くのソフトにあります。日常多用しています。

hidspxGでは 新しい名前 を選択窓に書くことができますが、
-GUIでは save窓、選択窓(…)とも新しい名前が指定できません。
新しい名前で保存できるhidspxG方式を熱望します。
   2010/7/19 (Mon) 08:33:48
[名前] :   senshu
[URL] :   
[コメント] :   新規保存のダイアログについて
>avrdude-GUIでは save窓、選択窓(…)とも新しい
>名前が指定できません。
>新しい名前で保存できるhidspxG方式を熱望します。

ソースを確認しましたが、以下のようになっています。
---
SaveFileDialog.AddExtension = true;
SaveFileDialog.DefaultExt = hex;
SaveFileDialog.FileName = ; // ここが怪しい
SaveFileDialog.Filter = Hex File (*.hex)|*.hex|All File (*.*)|*.*;
SaveFileDialog.OverwritePrompt = true;
SaveFileDialog.Title = Save Flash data;
SaveFileDialog.ValidateNames = true;
if (SaveFileDialog.ShowDialog() != DialogResult.OK) {
// 書き込みを望まない
return;
} else {
SetFilename(SaveFileDialog.FileName);
}
---
kumanさんが希望する新規保存の機能を使っているですが、
使い方が希望に沿っていない、ということのようです。
修正方法を考えてみます。
   2010/7/19 (Mon) 08:42:37
[名前] :   senshu
[URL] :   
[コメント] :   SetFilename(SaveFileDialog.FileName)が原因

不具合の原因がわかりました。ファイル名を入力するダイアログ
でファイル名を取得後、SetFilenameというメソッドを呼び出し、
妥当性をチェックしています。この時に存在しないファイル名を
除去していました。書き込みファイル処理ではこのチェックは
有用ですが、新規保存ではこのチェックは不適切です。

次期の公開時に、この点を修正します。
   2010/7/17 (Sat) 18:33:02
[名前] :   kuman
[URL] :   
[コメント] :   サーバがアクセス不能のためここに書きます

fuse読み出し不能について。
悪戦苦闘の末、通信設定してあるプログラムを書き込むと(あるいは TXD、RXD端子に出力するプログラムを書いてあると)、これが影響してfuseだけが読めなかったようです。
プログラムをイレースすると読めるのでわかりました。
TXD、RXDの結線をはずすと読めることがわかりました。

お騒がせしました。
   2010/7/17 (Sat) 20:41:36
[名前] :   senshu
[URL] :   
[コメント] :   原因がわかって何よりです。

しかし、常時UART接続していると、プログラムを
書き込みできない場合があることになります。

ISP状態に移行すると、ほとんどのピンは入力になり
信号衝突の可能性は少なくなると思うのですが、
どういう接続状態だったのでしょうか。

再現可能な例を提示していただけると幸いです。
追試してみたいと思います。
   2010/7/17 (Sat) 20:47:48
[名前] :   senshu
[URL] :   
[コメント] :   補足ですが、私は、TX,RXの信号線にはそれぞれ
1kΩの抵抗を直列に入れています。

信号の初期化による衝突時の影響を緩和するためです。
Arduinoボードでもそうした配慮があります。

Japaninoボードでは、これを省略した件で、反省文が
書かれていました。
   2010/7/17 (Sat) 21:20:31
[名前] :   kuman
[URL] :   
[コメント] :   FT232RL回路の現状

とりあえず汎用を考えて通信関係の端子に120Ωの抵抗を入れたものを過去に作っていました。

ライタ機能のために端子の増設をしましたがそこには220Ωを入れています。

RXとTXの抵抗を1kにすると状況が変わるかもしれません。
これから追試します。

回路としてはft232r1の端子に220Ωで接続して、RXとTXは120ΩでAVRと接続している状態です。
   2010/7/17 (Sat) 21:45:55
[名前] :   kuman
[URL] :   
[コメント] :   TXDとRXDに1kを追加してみました。

合計1.1kとなるわけですが、avrのTXD−FT232RLのRXD を接続するとfuseは読み出せなくなりました。
   2010/7/17 (Sat) 21:57:18
[名前] :   senshu
[URL] :   
[コメント] :   確認します。

>TXDとRXDに1kを追加してみました。

>合計1.1kとなるわけですが、avrのTXD−FT232RLの
>RXDを接続するとfuseは読み出せなくなりました。

これは、AVRが出力に固定されている場合ですか?

私も同様の接続を行っていますが、問題なくFUSEは
読み出せます。違いを確認したいと思います。
   2010/7/18 (Sun) 02:36:51
[名前] :   kuman
[URL] :   
[コメント] :   通信プログラムとして、Arduino asciitableを書いています。

リセットと同時にAVRから通信出力が出る仕様になっています。

また、リセットと同時にPD1に信号が出るmega88でもfuseが読めませんでした。
   2010/7/18 (Sun) 07:29:31
[名前] :   senshu
[URL] :   
[コメント] :   ATmega644pで asciitableでは問題なし。

私は、mega644pを使ってテストしました。

この環境では、FUSEの問題は確認できませんでした。

AVRマイコンの違いが影響しているのかもそれません
ので、同一のチップに換えて確認してみます。
   2010/7/18 (Sun) 07:32:43
[名前] :   senshu
[URL] :   
[コメント] :   ロックビットの値を教えてください。

ロックビットの設定で動作が変わる場合があります。
FUSE設定とロックビットの値を教えてください。
   2010/7/18 (Sun) 07:49:38
[名前] :   kuman
[URL] :   
[コメント] :   おはようございます

fuse  L:E7 H:DF EX:07
lockbit 3F

です。

AVRをリセット後、時間をおいて出力される場合や特定の入力を受けてから出力する場合も調べる必要はあると思います。
   2010/7/18 (Sun) 08:10:48
[名前] :   senshu
[URL] :   
[コメント] :   フラッシュの読み書きは可能ですか?

FUSEの読み込みに制限が出ているのはわかりましたが、
FlashメモリのR/Wは可能ですか?

この操作が可能なら、開発時の問題にはならないと思い
ます。
   2010/7/18 (Sun) 08:36:12
[名前] :   senshu
[URL] :   
[コメント] :   Arduino(純正)ボードでもBitBangライタは利用できます。

このボードでは、UARTのTX,RXは1kΩの抵抗を介して
常時接続されており、通信線の切り離しは不可能です。

こうした場合に、kuman産からの報告にあるような
組み合わせはは、ごく普通に考えられるわけです。

BitBangライタには、既にかなりの実績があります。

私の場合には、連休明けまでは具体的な作業はでき
ませんが、再現に必要な条件と原因の推定は行って
おこうと思います。
   2010/7/18 (Sun) 09:40:41
[名前] :   kuman
[URL] :   
[コメント] :   その他の反応

フラッシュの書き込みはできます。
ダンプもokです。
saveができません。saveは別の問題がありそうです。
verifyはokです。

プログラムの最初に 0.5秒のディレイを入れるとfuseが読めました。

saveは通信線を抜いてもできません。hidspxでもsaveは不可でした。# Read Flash (NG).

saveの問題は別にして、fuseの読み出しには何回かresetがかかるようですが、その隙間に出力が始まるとライタ機能に問題が生じるようです。
   2010/7/18 (Sun) 09:55:21
[名前] :   kuman
[URL] :   
[コメント] :   続報

88及び328でblinkを書き込みました。
もちろんfuse読み出し可能です。

しかし、ともにsaveがreadエラーになりました。

通信線が接続されていてもUART出力が少しでも(開始が)遅くなれば問題はないようです。
   2010/7/18 (Sun) 09:58:42
[名前] :   senshu
[URL] :   
[コメント] :   SAVEは、保存するファイル名の入力が必須です。

hidspx-GUIでも同じですが、ファイル名指定の欄は
どうされていますか?(事前の入力が必要です)

FUSEの読み出しは、複数回に分けて実施します。その
理由は、AVRマイコンにはFUSEなし、FUSE 1個だけ、
FUSEが3個のように色々な種類があるためです。
特に、AVRマイコンを自動認識を可能にしているので、
一切のヒントが無い状態であり、ヒューズ数も不明な
状態で読み出す必要があります。

avrdudeが判断すればよいと思いますが、現行では存在
しないFUSEの読み出しはエラーになります。

hidspxでは、一度の読み出しで全ての情報が得られる
ので、FUSE読み出し数分の一の時間で済みます。

UARTとの信号衝突には何らかの対応が必要と考えます。

BitBangライタでは、私も一利用者であり、状況を整
理して、自分のできる改善を行いつつ、すzさんにも
相談してみます。
   2010/7/18 (Sun) 10:10:08
[名前] :   senshu
[URL] :   
[コメント] :   DTR信号の扱いに違い

私はブートローダを利用していないので、FT232RLの
DTRとターゲットマイコンのRESETは接続していません。

kumanさんはどういう扱いになっていますか?
   2010/7/18 (Sun) 10:29:07
[名前] :   kuman
[URL] :   
[コメント] :   re:DTR信号の扱いに違い

同様にブートローダを使いませんので接続していません。
通信関係はTXD、RXDだけです。GNDはライタと共通です。
   2010/7/17 (Sat) 11:55:21
[名前] :   senshu
[URL] :   
[コメント] :   FTDI BitBangライタにて90S2313がOK!

すzさんの尽力で90SシリーズのAVRマイコンを利用できる
ようになりました。これは、利用者からの要求と適切な
情報交換から生まれたものです。

利用者の希望を作者に伝える勇気が必要だと思います。
   2010/7/17 (Sat) 17:37:08
[名前] :   senshu
[URL] :   
[コメント] :   落雷による停電が影響してか、senshuゼミのコンテンツを
置いているサーバがアクセス不能になっています。

回復は連休明けになるかもしれません。
   2010/7/17 (Sat) 17:39:48
[名前] :   senshu
[URL] :   
[コメント] :   UPS、ディスクの二重化と色々と信頼性の向上を
図っていても、トラブルは起きます。

トラブルはどこで起きたのか、悩みは尽きません。
   2010/7/18 (Sun) 07:39:48
[名前] :   senshu
[URL] :   
[コメント] :   すzさんのサイトでもAT90S対応が公開されました。

修正結果が期待する動作をすることをお伝えしたところ、
そのコードを採用した版に更新されました。

利用者の声が改善につながった例だと思います。

http://suz-avr.sblo.jp/article/33907127.html?reload=2010-06-29T11:29:22
   2010/7/17 (Sat) 01:07:43
[名前] :   senshu
[URL] :   
[コメント] :   YCIT版、avrdude, avrdude-GUIについて

avrdude-GUI は、その名の通り、avrdude のラッパです。avrdude
が単体で正常動作する場合にのみ利用できます。
hidspx, hidspx-GUIよりも仕組みは複雑ですから、hidspxのみを利用
する場合には、avrdude-GUIの利用はお勧めいたしません。

FTDI社のFT232RLモジュールなどを使ってAVRライタを利用したい方
向けのツールとご理解ください。

YCIT 版の abtdude が動作するには、以下のソフトの事前導入が必要です。
・FTDI 社の VCP, D2XX ドライバ(ハードの有無に関係なく導入が必要)
・libusb-win321 (DLL が必要なのでハードの有無に関係なく導入が必要)
・avrdude.conf これも、私の配布したものが必要。

avrdude-GUI が、programmer や part の候補を入手するには、以下
のコマンドを実行し、その表示結果から候補をリストします。

avrdude -p?, avrdude -c?

programmer 欄が空欄の場合には、CMD プロンプトから上記のコマンドを
入力し、その結果をお知らせください。
   2010/7/17 (Sat) 01:16:12
[名前] :   senshu
[URL] :   
[コメント] :   avrdude-GUIのprogrammerの候補取得では、hidspxは
全く利用しません。hidspxを利用するのは、
programmerの欄でhidspxを選択したときのみです。

avrdude -c?

で表示が適切に行われるかを確認してください。
   2010/7/17 (Sat) 07:19:59
[名前] :   senshu
[URL] :   
[コメント] :   kumanさんから、20100716版でFUSEが読めない、との報告がありました。

20100712版では問題がないとすれば、avrdude.exe とavrdude-GUI.exe
のどちらかを差し替え、切り分けを行っていただければ幸いです。

FUSEデータの読み込みは基本動作なので、動作試験後に公開しています。
何らかの違いが影響しているのだと思います。

なお、「hidspx -pu?」で利用するdllの表示ができます。以下のように
表示されるかをご確認ください。私は以下のDLLバージョンで動作確認を
行っています。
>hidspx -pu?
libusb-win32 :
DLL(libusb0.dll) version: 1.2.0.0
Driver(libusb0.sys) version: 1.2.0.0
   2010/7/17 (Sat) 07:55:29
[名前] :   ラジオ少年
[URL] :   
[コメント] :   avrdude -p?/-c?の結果

「FTD2XX.DLLが見つからなかったため、このアプリケーションを開始できませんでした。」と表示されます。
FTDI社のFT232RL,FT245については全く知識が無くハードも持っていません。CDM20602.ZIPはDLしたのですが、ハードをつながないと、ドライバをインストールするプロセスは進め無い様な感じを受けました。USBについても知識がないので、やり方が間違っているかも知れません。
どこかの説明に、「FTDI社のハードは無くてもavrdudeは使える」とあった様な記憶があるのですが。

何れにしろ、avrdudeについて知識を詰め込みます。
そうしないと、的外れな質問をしてしまいsenshuさんの貴重な時間を浪費してしまいます。
   2010/7/17 (Sat) 08:06:09
[名前] :   senshu
[URL] :   
[コメント] :   「FTDI社のハードは無くてもavrdudeは使える」

使えますが、ドライバのインストールは必要です。
avrdude.exeの実行時に動的リンクを行うからです。
   2010/7/17 (Sat) 08:14:33
[名前] :   senshu
[URL] :   
[コメント] :   CDM20602.ZIPがあればDLLを追加は可能です。

CDM20602.ZIPを展開し、環境に適合するFTD2XX.DLLを選択し、
avrdude.exeのあるフォルダにコピーしてください。

前述のエラーは解決すると思います。
   2010/7/17 (Sat) 09:18:18
[名前] :   ラジオ少年
[URL] :   
[コメント] :   ftd2xx.dllをコピーしてOKになりました。
有難うございます。
   2010/7/17 (Sat) 14:29:52
[名前] :   senshu
[URL] :   
[コメント] :   ラジオ少年さんへ

動作確認を行ったavrdudeのバージョンを教えてください。
kumanさんから、上手く動作しないとの報告があり、
原因調査を行いたいと思います。
   2010/7/17 (Sat) 18:40:35
[名前] :   ラジオ少年
[URL] :   
[コメント] :   avrdudeno Version

avrdude-GUI.exeのVer.は1.3.0.0です。
このVer.の事だと思いますが。
t2313への書き込みをやってみましたがOKでした。
その他は良く分っていませんのでやっていません。
   2010/7/17 (Sat) 20:43:33
[名前] :   senshu
[URL] :   
[コメント] :   avrdude-GUIは、現在のところ、日付でバージョン
管理を行っています。

どのアーカイブ名を利用しているのかを教えてください。
   2010/7/17 (Sat) 22:12:46
[名前] :   ラジオ少年
[URL] :   
[コメント] :   avrdude-20100712cを使ってます。
   2010/7/16 (Fri) 21:29:51
[名前] :   ラジオ少年
[URL] :   
[コメント] :   最小機能HIDaspxライタ

kumanさん紹介の最小機能HIDaspxライタに回路を追加してターゲットボードのVCCを3.3V、5Vでライタ側の電源ラインとVCCの間に入っているLEDをTRでシャントするようにしてライタを使っていました。
ターゲットの電源は単3x3本で供給していたのですが、使っているうちに電圧(4.3V位)が下がり、いつの間にかライタのLEDがONしていました。
つまり、ライタ側は5V、ターゲット側は3.3V(実際は4.3Vくらい)の状態で書き込みをしていました。
ところが、急にエラー(connectionできない)が起き書き込みが出来なくなってしまいました。
ATtiny2313が2個エラーになり1個は電圧を5Vにすることで復旧しましたが、もう1個はNG。どうもfuseデータが壊れてしまった様です。シリアル書き込みビットが消えたのかも知れません。パラレルで書き直せば生き返るのではと考えています。
電圧(VCC)は注意しないといけませんね。

ところで、avrdudeーGUI[YCIT Ver1.3.0]でprogrammer(-c)の欄に何も表示されないのはCONFが適切でないからでしょうか?
因みに、hidspx.exe と.iniはavrdude.exeと同じフォルダに入れて有ります。
   2010/7/16 (Fri) 23:09:09
[名前] :   senshu
[URL] :   
[コメント] :   avrdude-GUIは hidspxを選択しない限り、hidspxの
設定は動作に影響がありません。

programmerに何を選択したかは極めて重要ですので、
それを教えてください。

なお、hidspxのみを利用する場合には、hidspx-GUIが
効率的に操作しますので、そちらを使ってください。
   2010/7/17 (Sat) 00:15:46
[名前] :   ラジオ少年
[URL] :   
[コメント] :   Avrdude-GUIについて理解不足なのですが、どんなものかと思い解凍してみました。プログラマはhidspxを選んだつもりです。
Programmer(-c)を参照するとhidspxが存在するのでは(はず)と思ったのですが、空欄で何も出てきません。
どうしてなのかな?と思ったのです。

hidspx-GUIは既に使わせて頂いて居ります。
   2010/7/17 (Sat) 00:19:53
[名前] :   kuman
[URL] :   
[コメント] :   ライタのVcc

様子が理解できません。
>LEDをTRでシャントする…
シャントすると電圧は VBUS−VCE (sat) ≒ 5V
LEDが点灯(ON)では  VBAS−1.8V = 3.2V
になると思います。

ターゲット側が 4.3V でLEDがONになるとドライブ電圧がやや小さくなりますが誤動作になるでしょうか。

LEDで電圧を落とした状態で5Vターゲットにも幾度と無く書き込んでいますが不都合は経験していません。

壊れたのはターゲットの2313でしょうか、それともライタの2313でしょうか。
 
   2010/7/17 (Sat) 07:25:59
[名前] :   ラジオ少年
[URL] :   
[コメント] :   壊れたの?はターゲットの2313です。
ライタのLED ON状態ですと、
ライタVCC:3.3V
ターゲットVCC:5V(実際は4.3Vくらい)
で書き込みが行われ、kumanさんが言われるように、多少ドライブ不足気味にはなりますが、壊れる?ことはないと思われます。
私もどうしてそうなるのか分りません。
   2010/7/17 (Sat) 08:46:26
[名前] :   senshu
[URL] :   
[コメント] :   書き込み中にVDDが低下すると何が起きるかは不明です。

VDDから十分な電流が供給できない状態でFUSE設定を
行った場合には、エラーは避けられません。

ぜひ、安定な電源で利用してください。

私がライタ側にレギュレータを入れているのは、こう
した事態を避けるためでもあります。
   2010/7/16 (Fri) 17:01:17
[名前] :   kuga
[URL] :   
[コメント] :   それはPDIUSBD12を使ったアプリケーションの一例です。
PDFファイルの11ページMain board block diagramを
見てわかるように、EPP/ECPの制御はCPUとCPLDが実行
しているのであって,PDIUSBD12がやっているのでは
ありません。
   2010/7/16 (Fri) 19:31:51
[名前] :   ノンノ
[URL] :   
[コメント] :   Synchronuse BitBang を見ました。
http://www.ftdichip.com/Support/Knowledgebase/index.html?synchronousbitbangmode.htm

FT232RL はシリアルもパラレルも使え、
FT245RL はパラレルだけなんですね。

PDIUSBD12 にもこの様なモードが有るのではと、
それを探していました。
   2010/7/16 (Fri) 19:33:48
[名前] :   ノンノ
[URL] :   
[コメント] :   >パソコンに付いている25pin D-SUBコネクタ・・
8255相当ですか?
   2010/7/16 (Fri) 19:36:32
[名前] :   kuga
[URL] :   
[コメント] :   >FT245RL はパラレルだけなんですね。
ちょっと認識が違うような気がします。
FT232 シリアル & シンクロナスbit_bang
FT245 パラレルFIFO & シンクロナスbit_bang
です。
   2010/7/16 (Fri) 19:37:42
[名前] :   kuga
[URL] :   
[コメント] :   >8255相当ですか
違います。
   2010/7/16 (Fri) 19:43:51
[名前] :   kuga
[URL] :   
[コメント] :   USBで何をしたいのか
ノンノさん。
まずUSBで何をしたいのか明確にする必要があります。
USB-パラレルとかの漠然とした表現ではなく。
たとえば、「USBポートの先にbyte-blasterをつなぎたい」
とか、です。
   2010/7/16 (Fri) 21:10:01
[名前] :   ノンノ
[URL] :   
[コメント] :   そうです。
USBポートの先にbyte-blasterをつなぎたい。

今までの接続ではパラレルポートに何かをつないで
(今回はパラレルポートだけについて)
何かをさせると言うのが多いのですが、
次の段階
USBで何かを(パラレルポート)つなぎその先のアダプタで何かをする、と言うので有れば、
ウインドソフト USB アダプタ
あるいは
ウインドソフト +変換 USB 統一アダプタ
でどれでも使える様には成らないかと・・

まずは次の段階には成らないかと思ったのです。
   2010/7/16 (Fri) 21:39:32
[名前] :   kuga
[URL] :   
[コメント] :   >USBポートの先にbyte-blasterをつなぎたい。
アルテラの書き込みソフトから利用できるを前提とするなら
それは不可能です。
(あるいは可能だとしても実用的な速度は出ません)
>ウインドソフト +変換 USB 統一アダプタ
でどれでも使える様には成らないかと・・
同様に不可能です。
   2010/7/17 (Sat) 00:18:10
[名前] :   ノンノ
[URL] :   
[コメント] :   何か先読まれていたようですね。
と言うことは他の答えを予想していたんですが・・

これには、もどきがある・・PSoCならやはりもどきがあり
これはプリンタポートでいけます。
最近はI2Cでいけるようですが、全部同じにならないかなー。
   2010/7/17 (Sat) 00:52:35
[名前] :   senshu
[URL] :   
[コメント] :   >最近はI2Cでいけるようですが、全部同じにならないかなー。

必要に感じた方が作る、これしかないと思います。
ノンノさんが実現して公開すれば多くの方の朗報に
なるでしょう。

なお、メーカー製のツールはオープンではないものが
多く、実現が難しいものが多いです。
  
▲このページのトップ 戻る  

Yahoo!ジオシティーズ


inserted by FC2 system 1