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

   2006/6/17 (Sat) 14:28:28
[名前] :   chaos
[URL] :   
[コメント] :   FT232BM の回路で気になった点

RSTOUT (5pin) -- リセット出力は sink/souce 共に 2mA あるので未使用なら
NC にした方が良いでしょうね。

TEST (31pin) -- 恐らく現状の CR の時定数が内部リセット期間より長い為
テストモードにはなってないようですが、通常動作なら単に GND に接続した
方が良いと思います。

EECS/EEDATA (32pin/2pin) -- EEPROM 未使用ならIC 内部で 200K のプルアップ
が入っているので NC でも問題ないようです。

   2006/6/17 (Sat) 23:03:22
[名前] :   kuman
[URL] :   
[コメント] :   ご教示、ありがとうございます。

USBで使う方法が無いものかと思っていましたところ、
webでどなたかの回路を拝見しまして、不勉強なまま配線しましたら、たまたま動いたというものでした。

できるだけ早く訂正します。
   2006/6/2 (Fri) 08:10:22
[名前] :   kuman
[URL] :   
[コメント] :   朗報です。

弘前大学の小山先生から連絡をいただきました。
USBaspの懸案の問題が解決しました。

kkkさんから情報交換の詳細をいただいていましたが、
お二人の研究で正常に使えるようになりました。

結果は小山先生のページでご覧ください。
http://siva.cc.hirosaki-u.ac.jp/usr/koyama/avrwriter/

ありがとうございました。
   2006/5/16 (Tue) 11:46:41
[名前] :   MOMOER
[URL] :   
[コメント] :   とうりすがりの者ですが
ここに行くと完全フリーのAVR BASICの開発環境があります。
http://b.urbani.free.fr/
Basic, BasicAVR, pour les microcontrôleurs ATMEL (nouvelle version 4.0) にクリックを・・・


フランス語字ですがシンプルでBAISCからAVRアセンブラに変換するという優れものです。制限付きの開発環境よりましと思われます。皆さん使ってみては・・・諄いようですがフランス語です。

場違いかもしれませんが
プリント基板を簡単を作るならcircuits imprimés TCIが良いようですよ。これでICD2 CLONEを製作したのですがうんともすんともしません。どっか悪いのかな。
   2006/5/17 (Wed) 12:53:25
[名前] :   kuman
[URL] :   
[コメント] :   ありがとうございます。

フランス語がわかればいいのですが。
どこをどうしたらいいのか。
   2006/5/18 (Thu) 17:58:12
[名前] :   とおりすがり
[URL] :   
[コメント] :   http://www.worldlingo.com/ja/products_services/computer_translation.htmlでは仏和もできるけど、
仏英の方が分かるような気がしますね。
   2006/5/15 (Mon) 01:59:41
[名前] :   akibow
[URL] :   USBasp
[コメント] :   情けなくも久々にはまっています・・・
USBaspが動かない(USBとして認識しない)
ドライバは入れた
USBはハブ経由しないで接続
AVR外してソケットと他部間の一通りの導通/短絡チェックOK
ヒューズビット確認した(kkkさんのusbaspx_fuse.txt)
usbaspx_m8.hex、オリジナルUSBasp.2005-04-21.hex双方で試行
パスコンはAVR直近についてる(0.1uFチップ+10uF)
AVRは12MHzで動作している(点滅プログラムで確認)
プログラムはベリファイOK
念のため他のmega8に変えてみた

うーむ、どうせ何か抜けているのだろうと思うのですが、見つけきれません。チェック繰り返すより作り直した方が早いかも・・・
途中で放置したから嫌われたんだろうか?(笑)
   2006/5/15 (Mon) 16:51:09
[名前] :   kuman
[URL] :   
[コメント] :   こんにちは。

−Dのプルアップ ok?

cp2102をさわっていたら、Tiny2313-SOICがいうことを聞かない。
Device donnection failed ばかり。半田を外して単体にすると読み書きできるのですが。 もう何時間...
   2006/5/15 (Mon) 17:34:21
[名前] :   akibow
[URL] :   
[コメント] :   >D-プルアップ
OKです。

・・・・・原因がわかりました。
USB-Bコネクタ経由で基板につけているのですが、
これ、オス側の端子配列を誤ってメス側に適用して
配線していました・・・・orz
やっぱり直にケーブルを半田付けした方がよかったのか

今日は法事、明日は宴会・・・またしばらくさわれない(汗
   2006/5/17 (Wed) 01:56:41
[名前] :   akibow
[URL] :   
[コメント] :   やはりUSB-Bコネクタのピンアサイン勘違いが原因でした。配線し直したところ(裏見せられないくらいぐちゃぐちゃ)無事動作しました。
感想はAVR-Wikiに。
   2006/5/13 (Sat) 11:20:04
[名前] :   kuman
[URL] :   
[コメント] :   kkkさん こんにちは。
無事お仕事に復帰できましたか?

ところで、弘前大学の小山先生から、USBaspについて
@USBマウスを外さないとUSBaspが使えないノートPCがある。
ATiny2313の500kHzではジャンパーをショートしても書けないものがある。他の方法でクロックを変えると以後は書ける。
Bどうしても書けないノートがある。
と聞きました。いずれもavrdudeでのことですが。

今回avrspxを書かれたときに思い当たる節があるでしょうか。
ご存じのことがあればお教えください。
   2006/5/13 (Sat) 20:44:25
[名前] :   kkk
[URL] :   
[コメント] :   小山先生の件の説明にはならないかもしれませんが・・・

ご存知の様にUSBaspはAVR-USBを元に作成されています。
このAVR-USBのきっかけともなっているAssemblerで作成されているIgorさんの作成されたIgorPlus-USBというのがあります。
それがAtmelからAVR309としてApplicationNoteになっています。
その中でUSBのタイミング&AVRでの実現方法について詳しく解説されています。
ありがたいことにHEROさんところで日本語訳された物が入手できます。
そのHEROさんところのAVRusb.zipの中のAVR30s.pdfの5〜6ページ説明に関連した記述があります。

1)IgorUSB(AVR-USB含む)はソフト処理のためパケットの最初のSYNCでのみ同期処理を行いそれ以降は再同期動作を行っていません。そのため動作クロックの誤差が非常に重要になります。(セラロックでは無理)

2)IgorUSB(AVR-USB含む)はUSB1.1のLowSpeed(1.5Mbps)ですが接続ホストしてはUSB2.0規格のものが必要とされます。(上記PDF内で記述があります)。AVR-USBのビット同期の仕組みの絡みで大きい誤差が許容されているUSB1.1以下のホストではうまく同期が取れない可能性があります。

・・・続く
   2006/5/13 (Sat) 20:45:10
[名前] :   kkk
[URL] :   
[コメント] :   もし小山先生のノートPCが多少古い機種でUSB1.1の規格であったなら上記の説明で納得いくこともあります。
そのような場合はUSB2.0規格のハブをUSB1.1のホストに接続してそのハブにUSBaspを接続することで改善される場合もあるのではないでしょうか?

また、USBaspのオリジナルはAVR-USBの古いバージョンが元になっていますが、最新版のAVR-USBでは多少改善されている様です。(usbaspxでは最新版に差し替えています)

参考になれば良いのですが・・・
   2006/5/13 (Sat) 20:51:53
[名前] :   kkk
[URL] :   
[コメント] :   あっ
>AVRusb.zipの中のAVR30s.pdf
AVR309s.pdfの間違いです。
   2006/5/13 (Sat) 21:04:18
[名前] :   kuman
[URL] :   
[コメント] :   早速のご回答、ありがとうございました。
私のPCはもう6年ほど前のもので、USBは1.1です。

IgorさんのUSBは以前に作ったことがあります。たしかに、セラロックでは時々通信できましたが、まったく不安定なものでした。水晶に換えると安定して通信できた経験があります。
そのこともあってUSBaspでは必ず水晶を使っています。

ただ、わたしの1.1では全く支障なく使えていますので、微妙な違いがあるのかもしてません。

avrspxではオリジナルよりクロックのマージンがあると考えていいわけですね。

avrspxは素晴らしいので、もし使えない条件があるとしたら情報がほしいと思います。
   2006/5/13 (Sat) 21:25:19
[名前] :   kkk
[URL] :   
[コメント] :   >わたしの1.1では全く支障なく使えていますので
そうですね使えることも多いのではないでしょうか?
USB1.1では動作しないということではなくてホストのクロックの許容誤差が厳しくないので(ホストとしてはセラロックの誤差でもよいような規格です)。
PCメーカーによって様々だと思います(誤差の少ない物・多い物)
USB2.0対応であれば基準が厳しくなっていますので動作する可能性が高くなる(クロック誤差が少ない)ということですね。
   2006/5/13 (Sat) 21:34:19
[名前] :   kkk
[URL] :   
[コメント] :   誤差の件について補足しておきます
ここでいう誤差とは絶対誤差です。
セラロックといえども同じ温度環境で短期間で見れば変動誤差はかなり少ないです。
ですからセラロックであっても製造したものがたまたま絶対精度が高いことも十分ありえます。
今回の場合は変動誤差が少ないものということではなくて絶対精度の高いものということになります。
   2006/5/13 (Sat) 22:29:31
[名前] :   kkk
[URL] :   
[コメント] :   小山先生の件の
ATiny2313の500kHzではジャンパーをショートしても書けないものがある
が気になりUSBaspのソースを確認してみたところロークロックモードで一部タイミングが合わないところがあるようです。
MCUよっては書込みできない場合もありえるのではないかと思います。(こちらでは再現は出来ませんでしたが)
とりあえず修正済みファームを作成しました。
現在Atmega8/48/88/168用ファームとAttiny2313にて動作確認をしています。
確認が終わりましたらAVR-Wikiの方へアップします。
   2006/5/14 (Sun) 02:55:51
[名前] :   kkk
[URL] :   
[コメント] :   簡単なテストは終了しましたのでソフトをアップしておきました。
またATtiny2313の出荷時512KHzの件ですが以前は内蔵OSC4MHzの1/8(=512KHz)の出荷でしたが、現在のロットは内蔵OSC8MHzの1/8(=1MHz)で出荷されているようです。
(当方手持ちの新品ATtiny2313で2種類で確認しました)
OSC-512KHzでは avrspx -d4 ではエラーとなり -d5で書き込めました。
小山先生のATTiny2313/45がこれで書き込めるようになると良いのですが、そうはうまくいかないかな?
   2006/5/17 (Wed) 21:37:09
[名前] :   小山
[URL] :   
[コメント] :   小山と申します。
AVRに関する貴重な情報をいつもありがとうございます。
USBaspは長いこと放っておいたものですから、改めて動作を確認してみました。
ファームやドライバはusbasp.2005-11-14.tar.gz
製作したUSBaspの回路は下記です。
http://siva.cc.hirosaki-u.ac.jp/usr/koyama/avrwriter/img/usbaspsch.jpg

(1) ノートPCにUSBaspを接続すると次のようなメッセージが現れます。PCはEPSON EDiCube(PenM, Win2000)とIBM ThinkPad(Celeron,WinXP)です。
「! USBデバイスが認識されません。...」
別のノートPC(NEC VersaPro)やデスクトップPC(EPSONのものなど5台)ではこのようなことはなく、うまく動作します。クロック周波数は測ってみたところ12.001MHzでした。
(2) tiny2313やtiny45への書き込みが、購入時の状態(内蔵CK,1/8分周)では、「スロー」にしてもできなかったのですが、今試してみたらどちらのチップもうまくいきました。前回の確認方法にミスがあったのかもしれませんし、USBaspやavrdudeのバージョンが上がってうまくいくようになったのかもしれません。

というような状況です。avrspxはまだ試していません。
   2006/5/18 (Thu) 05:25:32
[名前] :   kkk
[URL] :   
[コメント] :   小山先生はじめまして
tiny2313やtiny45がOKとなると後はノートPCの件だけですね。
ノートPCはUSB2.0でしょうか?
上の方にも書きましたがホストがUSB1.1だとタイミングが合わない場合もありえるようです。
   2006/5/18 (Thu) 18:56:22
[名前] :   小山
[URL] :   
[コメント] :   kkkさん こんにちは。
いろいろアドバイスありがとうございます。

うまく認識しないノートPCはUSB1.1のものも2.0のものもありました。
EPSON EDiCube(WinXP←Win2000は間違い)は新しい機種でUSB2.0
IBM ThinkPad(WinXP)は旧い機種でUSB1.1

逆に、認識できたノートPCはNECの旧い機種でUSB1.1です。
   2006/5/18 (Thu) 22:09:45
[名前] :   kkk
[URL] :   
[コメント] :   小山先生こんにちは
USB1.1の機種で動作するものとしないものがあるのは分かるのですが、USB2.0でも動作しないものは何か他に原因があるかもしれません。
USBaspのドライバをはじめてインストールする時に操作方法によってはWindowsが誤ってドライバを記憶していたりする場合があります。
ここでは詳しくは書けませんが、やり方はUSBaspを接続している状態でデバイスマネージャを表示してエラー表示となっているUSBドライバ(USBaspの)を手動にてドライバの削除を行った後に再度USBaspを抜き差しを行い再インストール処理を行うと良いかも知れません。
   2006/5/18 (Thu) 22:30:27
[名前] :   akibow
[URL] :   
[コメント] :   USBaspで気になる点としては、EnterProgrammingMode失敗時の同期の取り方にあります。最近のデバイスは同期失敗時はSCKパルスを送るのではなくRESET正パルスを送るようにデータシートに書かれています。この辺がなにか関わるのでしょうか?
でもそれなら同じ手法のavrspオリジナルも問題が起こるハズだから、関係ないか?
   2006/5/18 (Thu) 23:06:38
[名前] :   kkk
[URL] :   
[コメント] :   USBaspで気になる点としては、EnterProgrammingMode失敗時の同期の取り方にあります。

そうなんですよね。私もそれが気になりソースが公開されている他のプログラマを調べてのですがavr910がベースになっているのか全て古いやり方しかサポートしていませんでした。
どうしたものでしょう・・・
   2006/5/23 (Tue) 20:15:09
[名前] :   小山
[URL] :   
[コメント] :   いろいろ情報をいただきありがとうございます。
USB2.0でも動作しないものは何か他に原因があるかもしれません。
EPSONノートの場合の状況をもう少し詳しく書きます。
接続時に「USBデバイスが認識されません」のバルーンが現れます。バルーンをクリックすると
USB Root Hub(2ポート)
不明なUSBデバイス
未使用ポート
の表示が現れます。
一方、デバイスマネージャのUSBコントローラの欄には、接続により「不明なデバイス」が現れます。正常に動作するパソコンで現れるLibUSB-Win32 Devicesの表示は現れません。というよりも、ドライバ組み込み画面に進みません。以前、手動でドライバを組み込んでそのままにしていたので、これらをはずしましたが、状況は変わりませんでした。なお、USBaspは5台作っており、内手元にある4台で調べましたが、現象は同じです。
   2006/5/24 (Wed) 00:12:24
[名前] :   kkk
[URL] :   
[コメント] :   >デバイスマネージャのUSBコントローラの欄には、接続により「不明なデバイス」が現れます。

その状態で右クリックの削除で削除した後ケーブルを抜き差しでドライバ組み込み画面が現れるようにならないでしょうか?
Windowsのシステムディレクトリに保存されているドライバやインストール情報が間違って記録されている時にはそちらの方の削除も必要ですが誤って処理するとWindowsが起動しなくなりますのでここでは触れません。
もし可能ならAVR-Wikiのシリアル番号対応ファームに1つだけ変更してみてはいかがでしょうか?
シリアル番号付だと新たにドライバ組み込み画面が出ると思います。(但しドライバ自体は同じものを使用するのですでに間違ってシステムに登録されていると同じかも知れませんが)
   2006/5/24 (Wed) 04:24:14
[名前] :   kkk
[URL] :   
[コメント] :   小山先生のノートのOSの件ですが
EPSONノートのWinXPはSP2ですよね。SP1以前のXPはUSB2.0関連で不具合が出るときがあります。
また初期のXPはUSB2.0自体サポートされていませんでした。
もしSP2でない場合、可能ならSP2にしてみても良いかもしれません。
   2006/5/24 (Wed) 21:18:14
[名前] :   小山
[URL] :   
[コメント] :   うまくいきました!!
昨日「手動でドライバを組み込んでそのままにしていたので、これらをはずしましたが、状況は変わりませんでした」と書きましたが、再起動をせずに確認をしていました。(ドライバの削除については、dllとsysの2つのファイルの削除とレジストリの削除を手動で行いました。)
先ほど、昨日の続きの確認をしようと思ってPCの電源を入れたところ、すぐに認識し、ドライバを組み込んだら書き込みOKでした(OSはXP SP2です)。
旧いドライバがシステムに残っていたのが原因だったということになります。この1年ほど悪戦苦闘し、諦めかけていたのが嘘のような感じです。

kkkさん、本当にありがとうございました。

なお、ThinkPadでも同じ現象が起きたので、そちらでの確認もしたいのですが、肝心のPCが故障中ですぐには調べることができません。
   2006/5/24 (Wed) 21:23:17
[名前] :   小山
[URL] :   
[コメント] :   ...以上のように書いた後、再びやってみると、なんとまた「不明なデバイス」の表示が現れました。
でも、ここで発見したことがあります。
1. 接続した状態でPCを起動すると認識すること。
2. 接続してすぐにUSBマウスをグリグリと動かすと認識すること(再現性あり)。また、この場合USBマウスは隣のUSBポートに挿していないとだめなようです。
3. 一旦認識すれば利用はできること。
というわけで、大きく前進しましたが、まだ問題が潜んでいるようです。
   2006/5/25 (Thu) 05:01:04
[名前] :   kkk
[URL] :   
[コメント] :   なかなか難しいようですね・・・^^;)
状況を見るとハードが関係しているのかな?
他には
1)USBaspのファームをAVR-Wiki版に替えてみる
 オリジナルのファーム側USBドライバが古いのを使用しているため
2)セルフパワータイプのUSB-HUBに接続してみる
 バスパワーでも良いとは思いますがセルフパワーの方が電源関連の問題が出にくいかなと思います。
3)USBaspは5Vで動作するような回路になっていますが実はUSB側は3.3Vが正解なのです。この辺が影響しているのかなあ???
一旦USBバスの5VからLDO等で3.3Vに落としてCPUを駆動して接続を確認するとこの問題の切り分けは出来ますが・・・

それとも特定のホストコントローラとの相性もあるのでしょうか?
   2006/5/25 (Thu) 21:14:01
[名前] :   小山
[URL] :   
[コメント] :   昨日の続きの確認作業をはじめましたが、新たな発見があります。
1. PCにはUSBの端子が4つあり、蓋に覆われていない2つの端子にマウスとUSBaspを接続しています。今までどちらに何をつなぐかを気にしたことがなく、昨日もどちらが何だったか覚えていません。今やってみると、マウスの有無にかかわらず、下の端子にUSBaspを挿すとうまく動作します。上に挿すと「不明なデバイス」となります(再現性あり)。蓋の陰の2つの端子も「不明なデバイス」となります。マウスをグリグリするとうまく認識するという現象は今日は再現しません。昨日からパソコンは使っていませんし、昨日も今日も再起動を含めて何度も確認しています。2. 1台をusbaspx 1.13のファームにしてみましたが、以上の現象は変わりませんでした。下の端子に挿すと新しいデバイスと認識されたので、ドライバ組み込みの操作をしました。
3. 学生にNECのノートPCを持ってきてもらい、接続したところ、すんなりと認識し、書き込みもOKでした。ただし、全部のUSB端子に接続して試したわけではありません。
   2006/5/27 (Sat) 08:15:38
[名前] :   kuman
[URL] :   
[コメント] :   このメッセージをお読みのみなさまへ

kkkさんからご連絡をいただきました。
この件の解決のために多くの情報を交換する必要がありますが、効率よく連絡するために別の方法を使うことにされたそうです。

問題点が明らかにされて、すべてのコンピュータでavrspxが使えることを願って、良い結果をお待ちしたいと思います。
そのときを楽しみにしています。
   2006/6/2 (Fri) 07:17:54
[名前] :   kkk
[URL] :   
[コメント] :   ご無沙汰しております。
小山先生のご尽力でUSBaspの動作不具合の件の対処法が分かりました。
不具合とはUSBaspが正常に認識できないパソコンがあるというものです。(インストールが出来ない)
原因はUSBの通信ラインが3.3VなのにUSBaspが5Vで動作していることによるものでした(規格外です)。
ホストによっては認識できないものが存在するようです。
対策方法は小山先生のサイトで見ることが出来ます。
http://siva.cc.hirosaki-u.ac.jp/usr/koyama/avrwriter/
もし同様の症状の出ている方がいらっしゃいましたら参考にしてみてください。
また、他にもこんな方法があるよという方は情報をお知らせください。
   2006/5/7 (Sun) 06:32:06
[名前] :   kkk
[URL] :   
[コメント] :   kumanさんお久しぶりです。
USBaspの利用者が今ひとつ増えないようです・・・
avrdudeの使い勝手の関係かなということでchanさんのavrsp.exeを改造してみました。
細かなチェックができていませんのでAVR-WikiのSandBoxにテスト的にアップしました。
よかったらお試しください。
   2006/5/7 (Sun) 15:10:45
[名前] :   kuman
[URL] :   
[コメント] :   kkkさん こんにちは。

2ちゃんねるとELM-BBSで拝見して、早速動かしてみました。Wikiに書きましたが、使用中のものがあまりに速いので、時間に厳しくなっています。

昨年のいまごろ、avrdudeを調べてテスト使用していましたが、今日、動かそうとすると自分で書いたマニュアルを見ながらでないと使えません。(みんな忘れている)

Chanさんのavrspの使い勝手は抜群によろしい。ここへ持ってきていただいたことはうれしい限りです。

もう少し速くなるとコストと作り安さで勧めたいと思います。
ご連絡、ありがとうございました。
   2006/5/7 (Sun) 15:32:38
[名前] :   kkk
[URL] :   
[コメント] :   早速試していただいて有難うございます
そんなに遅いですか・・・
現在WikiにはBeta-2を上げていますがこれをご利用になられたのですよね?
Beta-1は読込でページリードを組み込んでいませんでした。
Beta-2でいれましたが確実にいえるのはページリード・ライトをサポートしていない古いタイプのMCUではISPの4バイトコマンドをやりとりしているのでかなり遅いです・・・
例えばtiny2313は速いが90S2313は遅いです
何か対応できるか考えてみます
   2006/5/7 (Sun) 16:42:23
[名前] :   kkk
[URL] :   
[コメント] :   先ほど改良したものをアップしました。
ページライトサポートしていないMCUのルーチンを変更しました。(というか余分な処理は必要なかった様です)
これでいかがでしょうか?
kumanさんのレポート感謝しています。
   2006/5/7 (Sun) 20:52:21
[名前] :   kuman
[URL] :   
[コメント] :   Wikiに書きましたが、avrdudeと同じ速度となりました。

ということは、avrdudeに完全に取って代われるということになりますね。

カット&ペーストが効かないDOS窓で、コマンドラインを覚えなくてもDDだけで使える操作性は今まで経験したGUIより快適です。

速度の問題は、SPIブリッジ+avrspが優れすぎているのでしょう。

avraspの工作の良さプラスavrspの操作性の良さにはバンザイです。
多くの人に使ってもらいたいものですね。ありがとうございました。
   2006/5/7 (Sun) 21:42:10
[名前] :   kuman
[URL] :   
[コメント] :   ごめん、ごめん。

低速用ジャンパーを忘れていました。高速に設定したら、むちゃくちゃ速くなりました。

cp2102のブリッジより速いです。

高速設定(1MHzはだめ)なら絶対です。

常用できます。
   2006/5/7 (Sun) 22:40:24
[名前] :   kkk
[URL] :   
[コメント] :   kumanさんの追試、非常にありがたいです
ついでと言っては何なのですが・・・
USBaspのCPUをATmega8以外のATmega48/88/168に対応させたものをWikiにおいておきました。
スピードが別にアップするわけではないですが最近の入手性を考えて対応してみました。
   2006/5/7 (Sun) 23:38:58
[名前] :   kuman
[URL] :   
[コメント] :   やっぱり、kkkさんでしたか。

mega48が使えるとうんと人に勧めやすくなります。
うれしいです。

あと、ロークロックの設定はどうなっていますか?
1MHzを考えると、もう少し速くしてもいいのではないかと思います。

0.5MHzより遅くすることもあるのでしょうか。
一度、32.768kHzを付けて、書き込みに耐えられず変更したことがあります。
   2006/5/8 (Mon) 02:54:27
[名前] :   kkk
[URL] :   
[コメント] :   kumanさん御希望?のクロック指定を追加してみました
USBasp側のファームも更新する必要がありますが、これからはジャンパによる切換ではなくてソフトで変更できるようになります。(しかも2種類のクロックだけではない)
相変わらずチェックが不完全ですが・・・
ソースも公開していますのでもっと使い勝手のよいものをどなたか作成していただけたらと・・・
これでお休みモードは終りかな(仕事に復帰出来るか心配です)
   2006/5/8 (Mon) 23:58:02
[名前] :   akibow
[URL] :   
[コメント] :   すごいのができたんですね。
私もUSBaspを引っ張り出して使ってみます。
avrxtoolと融合したおかげで?
難しそうで敬遠していたUSBaspのソースが
読めるようになりました。
   2006/5/9 (Tue) 02:41:24
[名前] :   kkk
[URL] :   
[コメント] :   さすがkumanさんわかりやすい解説ですね。
私はそういうのがすごく苦手です・・・
kumanさんのページ見てたら修正の必要が・・・
懲りずに更新しておきました。

akibowさんも確認していただけるなんて更に心強いです。
実はakibowさんのページでUSBaspがかわいそうな扱いだったのもこのソフトを作るきっかけになっていたり・・・
   2006/5/9 (Tue) 08:24:03
[名前] :   kuman
[URL] :   
[コメント] :   自分だけ ; を入れて、 あとは確認していなかった...
   2006/5/9 (Tue) 08:36:26
[名前] :   akibow
[URL] :   
[コメント] :   >実はakibowさんのページでUSBaspがかわいそうな扱いだったのもこのソフトを作るきっかけになっていたり・・・
あはは・・・(^^;)鶏卵問題に熱中していたので、USBシリアルが不要→USBシリアルが無く鶏卵を解決できないUSBaspは後回しになっていました。でもTAD氏のAudio経由書き込みがありますので大丈夫?
   2006/5/7 (Sun) 00:53:20
[名前] :   かとう
[URL] :   
[コメント] :   Kumanさん、こんばんは。

拙掲示板にお書き込み有難うございました。
KumanさんのAVRページに勝手リンクさせていただいて
おりました。どうぞ、これからもよろしく。
   2006/5/7 (Sun) 01:16:16
[名前] :   kuman
[URL] :   
[コメント] :   自然界の創造物ならわからなくても当たり前だと思うのですが、人が作ったものなのになぜに分からないのだろう。と、不勉強を棚に上げてぼやく日もありますが、おもしろいから楽しんでいます。
これからもよろしく。
   2006/5/6 (Sat) 17:32:33
[名前] :   kuman
[URL] :   
[コメント] :   akibowさん 離れましたので改めて書きます。

電源電流の原因が分かりました。tn2313が壊れていたようです。書き込めるからよしとしても、気味が割るので調べなおしました。

@2313をイレースしましたが、PD2が20mAほど吸い込みます。
A念のため、イレースの後DDRD=0x00を書き込みましたが、やはり20mAほど吸い込みます。
他の2313はイレースすると吸い込みません。

お忙しい中、時間を割いていただき、申し訳ありませんでした。

なお、AVRstudioは同じバージョンですが次のようなエラーがでました。(意味も分かりません)

E:\winAVRdata\ChaN_avrsp\ser2spi_t2313\tn2313def.inc(122): error: Attempt to redefine keyword z

E:\winAVRdata\ChaN_avrsp\ser2spi_t2313\tn2313def.inc(382): error: Attempt to redefine keyword or
   2006/5/9 (Tue) 08:41:27
[名前] :   akibow
[URL] :   
[コメント] :   お疲れ様でした。

電話回線/ADSLは昨日やっと復旧しました。
5/1に不通になって以来実に1週間ぶり・・・・
なんともorzですわ。まあ怒らない怒らない・・・
   2006/5/5 (Fri) 00:13:47
[名前] :   akibow
[URL] :   
[コメント] :   ブロードバンドを光化しようとしたら業者の手違いで光化の前に電話(ADSLも)を切られて困っているakibowです
(GWあけの月曜にしか対応できんそうな・・・)
これは親戚の家から。

徒然・・・のSPI-bridgeの消費電力の件ですが、これはUSB直結ではなく、ELMさんのオリジナルSPI-bridge(RS232C-DSUB9 to SPI)で、レベルコンバータがわりに制限抵抗+インバータICを用いているものでしょうか。
ERを外したら消費電流が大幅に減少したと言うことですが、そもそもAVRの「入力ポート」に20mAも流れているというのが異常では?プルアップ抵抗を考えても20mA流れる理由が思いつきません。
*PD2が何らかの手違いで出力になっている
*PD2のつもりが別のポートになっている
などがないでしょうか?
   2006/5/5 (Fri) 00:24:33
[名前] :   akibow
[URL] :   
[コメント] :   なお、ER-DTR配線の意義ですが、これはスルーモードとSPIブリッジ接続(ライター接続含む)を切り替えるためにあるようです。COMポートブリッジからの伝統?
PD2はプルアップはしていないようなので、切り離すと不定になりそうです。もし切り離すならスルーモードを殺すようにファームウェアを変更しないと動作したりしなかったりすることになると思います。
   2006/5/5 (Fri) 01:15:01
[名前] :   kuman
[URL] :   
[コメント] :   ありがとうございます。

D-SUB9ピンでCOMポート(RS232C)から、100kΩとインバータ74HCU04で取り込むものです。別に作った90s2313のものは電流が少ない状態です。

Tiny2313でも動いたのでそのまま載せました。
おそらく、L出力になっているピンにHCU04のHが繋がっていると思うのですが、アセンブリser2spi.asmが読めないのでどうしようもなく...

S2313とtn2313の違いがあるのかもしれません。
ソースをtn2313def.incを使ってアセンブルするとエラーになりました。s2313ではエラーになりませんでした。

3.3Vで使うときがあればTinyの方がいいかと思うのですが。
   2006/5/6 (Sat) 08:42:42
[名前] :   akibow
[URL] :   
[コメント] :   こちらではtn2313def.incを使ってもエラーは出ませんでした。AVRStudio 4.12SP2 Build472です。
avr.incによる再定義に対するwarningは出ます。
DSR/スルーモード削除ですが、以下の点を変更すればいいです。

143行目あたり
sbic PIND, DSR ;Branch by DSR signal
rjmp enter_cooked ; DSR = off
rjmp enter_through ; DSR = on
  ↓
rjmp enter_cooked

269〜304行目あたりのthrough mode部は削除できますが放置してもかまいません。

電流の件はやっぱりわかりません。
   2006/5/6 (Sat) 13:50:49
[名前] :   akibow
[URL] :   
[コメント] :   もうひとつありました。
outi GIMSK, (1
   2006/5/6 (Sat) 13:52:35
[名前] :   akibow
[URL] :   
[コメント] :   なぜかうまくいかないので・・・
GIMSKをクリアして、INT0/INT1がかからないようにしないと不定になったPD2により割り込み・リセットがかかりまくることになるかもしれません。
PD2/PD3をプルアップしてしまってもいいのですが。
   2006/5/4 (Thu) 01:20:53
[名前] :   TAD
[URL] :   http://homepage2.nifty.com/denshiken
[コメント] :   SPIブリッジのクロック変更
お久しぶりです。
徒然なるままに、SPIブリッジのクロック変更点のもう一つはiodlyではないでしょうか。
3.6864MHzで3クロックなので9.216MHzだと(nopを追加して)7クロックか8クロックのループにする必要があると思います。
自分のトリプルライターはまだ問題が残っているので参考になるかどうか分かりませんが一応、公開しました。
   2006/5/4 (Thu) 08:01:55
[名前] :   kuman
[URL] :   
[コメント] :   おはようございます。

アセンブラは読めないのですが、
>8MHz、>6MHz、>4MHz の場合分けは何をしているのでしょか。

ただ、9.216MHzへの変更は SYSCLK を変えただけで支障なく使えています。

よくわかりません。ゴメンナサイ。
   2006/5/4 (Thu) 12:34:06
[名前] :   TAD
[URL] :   
[コメント] :   SPIブリッジのクロック、私が間違っていました。
すみません、私が参考にしていたプログラムは古いものでした。
今のプログラムは周波数の場合分けでnop(1クロック)やrjmp PC+1(2クロック)が
追加されてループ時間が調整されています。
ちなみに、>8MHzのときは rjmp PC+1が2つ加算されて7クロックのループになっています。
kumanのされた、SYSCLKを変えるだけ が正解のようです。
また大ボケな返答をしてしまい、失礼しました。
   2006/5/18 (Thu) 23:00:17
[名前] :   TAD
[URL] :   
[コメント] :   ↑の文、敬称略でごめんなさい。
配線やプログラムと一緒で「間違ってない」と思い込んでいると
あきらかなミスに気が付かないものですね。
kumanさんのされた、SYSCLKを変えるだけ が正解のようです。
と書きたかったのに・・・失礼致しました。
   2006/5/2 (Tue) 10:11:34
[名前] :   ぼの
[URL] :   
[コメント] :   atmega169(butterfly)で、ジョイスティックの動作をPC側で表示するサンプルプログラムがあります。
これがうまくうごかないのです。

データシートで見ると、
ジョイスティックは、
PB 4(center),6(up),7(down)
PE 2(right),3(left)
シリアル通信は、
PE 0(RXD),1(TXD)
となっています。

この際、B,Eポートの入出力指定をする際に注意すべき点は何でしょうか。
特に、Eポートの0,1ピンが気になりますが。
これはUSARTの初期化プログラムにまかせればよいのでしょうか。
   2006/5/2 (Tue) 17:02:57
[名前] :   kuman
[URL] :   
[コメント] :   butterflyは知らないのですが、

mega169のデータシートには送受信の許可ビットを立てると DDRE の設定に関係なくUSARTの設定になるようです。

mega8で試したときも RXD TXD の方向レジスタは出力のままにしていました。

不具合の原因は分かりません。ゴメン
   2006/5/2 (Tue) 17:41:25
[名前] :   akibow
[URL] :   
[コメント] :   動きません、というだけの情報では苦しいですよ。
●開発言語は何を使っているのでしょうか?
●ポートB/Eはどのように設定しています?具体的に。
●サンプルプログラムと言うことですが、これはATMELが提供しているものですか?それとも自作?

PORTEが鍵かも。
   2006/5/2 (Tue) 22:27:44
[名前] :   ぼの
[URL] :   http://www.tcct.zaq.ne.jp/chusei_europe/
[コメント] :   kumanさん、akibowさん

ことばたらずですみません。
状況は私のサイトに書きました。
サンプルプログラムは、
http://www.smileymicros.com/
に紹介されている本のCDに入っているものですが、
公開されているものです。
   2006/5/3 (Wed) 18:30:10
[名前] :   ぼの
[URL] :   
[コメント] :   何とか解決しました。
顛末は私のサイトに書きました。
   2006/4/27 (Thu) 23:47:56
[名前] :   ぼの
[URL] :   
[コメント] :   ChaNさんの USB-SPIブリッジを作ろうとしています。

ところで、kumanさんも、発振子を変更されていますが、
手元にある8Mhzクリスタルも、ファームウェアをアセンブルし直せば、使えますか。
   2006/4/28 (Fri) 01:28:36
[名前] :   akibow
[URL] :   
[コメント] :   usb-spi(というかUARTを使うAVR)のクロックは、ある程度制限が存在します。(クロック/16/ボーレート) が割り切れなければそのボーレートに正しく設定できないのです。許容誤差は2%程度までです。
115200bpsで通信したければきっかり割り切れる周波数は1.8432MHzの倍数であることが条件となります。私が知っている入手先を書いておきます
compass-lab 水晶 3.6864Mhz、7.3728MHz、14.7456MHz
秋月電子通商 セラロック 9.216MHz

裏技?として、USBシリアル側(PC側)のボーレートをAVR側の半端な値に合わせるという手もあるようです。(avrspにボーレート指定オプションあり)。しかしこれはUSBシリアルアダプタの種類やドライバによっては不可能な模様なので、発振子の方を合わせた方がいいでしょう。
   2006/4/28 (Fri) 08:08:19
[名前] :   ぼの
[URL] :   
[コメント] :   AKI-80を作った時を思い出しました。
シリアル通信の速度作成に関係するからですね。

ご教示ありがとうございました。
   2006/4/28 (Fri) 10:35:37
[名前] :   kuman
[URL] :   
[コメント] :   akibowさんのおっしゃるように、3.6864MHz水晶と9.216MHzセラロックでは成功しましたが、4MHzと8MHzはでは動きませんでした。
入手しにくいようならメールください。
   2006/4/27 (Thu) 16:05:19
[名前] :   akibow
[URL] :   
[コメント] :   Turbo PASCAL好きだった私としてはPASCALと聞いては黙っておれないです(笑)。独特の文字列は好きでした(先頭に文字数、その次に文字配列、末尾0なし)
AVRco、私も使ってみましたが、デモプログラムでもなぜかこけまくりますね(コンパイルエラーが出た場合、IDEが無反応になる)、こちらもちょっと厳しいです。日本語Windowsとの相性問題かもしれませんが。
PASCALの罪ではなく、そのコンパイラの問題と言うことで勘弁してください(笑)
   2006/4/28 (Fri) 13:06:23
[名前] :   akibow
[URL] :   
[コメント] :   最も小さそうなLCDsplitをさわってみました。
確かにコード大きすぎますね。LCD初期化だけを行うプログラムを組んでみたら1.5kBytesのコードを吐きます。コード内容を見たら納得。全てのLCD関連関数(バー表示など)が組み込まれています。また、このバー表示関数は(おそらく任意のスケールでバー表示するため?)乗除算ルーチンを呼んでいるためこれも組み込まれています。また、タイミングをとるために多数のNOPが埋められています。HEXを見ると0000が目立ちます。
これじゃあ小さいプログラムは無理・・・・
   2006/5/1 (Mon) 15:48:58
[名前] :   kuman
[URL] :   
[コメント] :   お忙しい中、調べていただいてありがとうございます。

PASCALはキータッチが多いだけ人間に近い言葉のような気がします。

Windowsがでる前、5のフロッピーにシステムがすべて納まり、持ち運びが楽だったのでTurboPascalを楽しんでいました。

コードの小さなPasucalがあればうれしいな、と思います。
   2006/4/22 (Sat) 21:23:40
[名前] :   ぼの
[URL] :   http://www.tcct.zaq.ne.jp/chusei_europe/
[コメント] :   おひさしぶりです。

最近、前に紹介しました、avr butterfly(ATmega169)を
butterfly用の参考書を手に、いじっています。

ここでも、USB接続に困り、古いノートで、プログラム転送をしています。

WinAVR,AVR Studioともに最新のものを使っていますが、
ヘッダファイルに登録されている定義済み名称が変更になっていたりします。

また、ここのサンプルプログラムを参考に、いろいろしたいと思います。
   2006/4/23 (Sun) 23:55:05
[名前] :   kuman
[URL] :   
[コメント] :   こんばんは。

きゅうる村、お訪ねしました。いろいろ頑張っておられますね。
私は、手作りの基礎回路ばかりで、キットや製品をまだ一度も手にしたことがありません。

butterflyもSTK500も、話は聞きますがどんなものかもわかりません。

AVR Studioまで手が届かないのですが、WinAVRもバージョンが変わるたびに書き方が変わって困ることもあります。
   2006/4/24 (Mon) 11:52:49
[名前] :   akibow
[URL] :   
[コメント] :   やっぱりUSB経由は便利です。100mA程度ならターゲットの電源まで確保できるし。古いノートがあるうちにSPIブリッジあたりのUSBライターを作ってしまうことをおすすめします。
   2006/4/24 (Mon) 17:18:48
[名前] :   ぼの
[URL] :   
[コメント] :   kumanさん
 キットと参考書があると、CD−ROMのサンプルプルグラムをコンパイルして、動かして、それで終わりとなりがちです。
そういう意味で、一から理解する姿勢のこのサイトの情報は貴重ですね。

akibowさん
 そうですね。やっぱり、ライター製作ですね。
このサイトにも詳しい紹介がありました。
今度、やってみます。
   2006/4/20 (Thu) 17:12:23
[名前] :   akibow
[URL] :   
[コメント] :   どんどん作っていますね。うらやましい
32bit整数の分解ですが、structを使うと便利です。
struct {
  uint32_t d;
  char c[4];
} X;

X.d=0x12345678;
とやると、X.c[0]=0x78,X.c[1]=0x56,X.c[2]=0x34,X.c[3]=0x12
と分解して取り出せます。

もしくは、
uint32_t d;
char *p;
d=0x12345678;
p=(char *)(&d); //dのアドレスを、charへのポインタとしてpに納める
とすれば、p[0]〜p[3]が上と同様になります。
   2006/4/20 (Thu) 17:13:36
[名前] :   akibow
[URL] :   
[コメント] :   間違いました。unionです・・・
union {
  uint32_t d;
  char c[4];
} X;
   2006/4/20 (Thu) 17:34:04
[名前] :   akibow
[URL] :   
[コメント] :   補足。言うまでもないんですけど、受信側での合成もできます
volatile uint8_t ci=0;
ISR(SPI_STC_vect){
 X.c[ci]=SPDR;
 ci=(ci+1)&3;
}
ただこれだと送信途中に桁表示に入るとおかしな数値が一時的に表示されてしまう可能性があるので、このままではちょっとまずいです。4バイト転送されたというフラグ、転送が終わるまでは前の値を保持するバッファが別途必要になります。kumanさんのやってる方式の方が実はいいのかもしれません・・・・1桁に1バイトあてて送ってもいいですね。
   2006/4/20 (Thu) 22:56:36
[名前] :   kuman
[URL] :   
[コメント] :   いつもありがとうございます。

表示だけなら、LCDに渡すように10進1桁ずつでもいいと思うのですが、スレーブで得たデータをマスタで加工したい、などの時に整数型のまま通信できればいいなと思いました。

送信側と受信側の両方のプログラムを書く必要がありますので気合い入れないと...

union{}X; 頑張ってみます。
  
▲このページのトップ  

Yahoo!ジオシティーズ


inserted by FC2 system 1