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

   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) 07:10:56
[名前] :   senshu
[URL] :   
[コメント] :   FTDI BitBangライタは、ISPと仮想COMポートが利用できます。

しかし、同時利用ができないので、使い分けが面倒との指摘が
あります。

TeraTerm利用時は、ISP時には接続解除し、完了後に再接続する
という使い方になるわけです。そこで、発想を変えてTeraTermから
ISP書き込みを指示できればこの問題を解決できると考えています。

Arduino IDEではそうした実装になっていますがArduinoのターミ
ナルはおまけ程度の機能しかありません。TeraTermのような本格
的な通信ソフトを利用を希望する方も多いと思います。

問題はHEXファイル名の受け渡し方法です。選択窓を出すのは
簡単ですが操作が面倒です。Arduino IDEからTeraTermを起動し、
何の操作を行うことなくボタンクリックするだけでISPを実現し
たいと考えていますが、妙案がある方はアドバイスください。
   2010/7/16 (Fri) 12:33:49
[名前] :   ノンノ
[URL] :   
[コメント] :   >同時利用ができないので、使い分けが・・
BitBangと仮想COMポートはどの様に使い分けするのでしょうか?
   2010/7/16 (Fri) 12:59:27
[名前] :   ノンノ
[URL] :   
[コメント] :   BitBangと仮想COMポートで検索して次を見つけました。
http://ore-kb.net/hard/BitBang/

あるいは
http://ioio.at.infoseek.co.jp/FT245RL/FT245DllHowTo.html
これによりますと
FT245RL・FT232RLは本来同じ物かも知れません。
また5〜10mS位の遅れが出るようで
パラレルポートの代役は無理なようです、
(フィリップスのフルスピードなら出来るかもしれない)
   2010/7/16 (Fri) 13:30:01
[名前] :   senshu
[URL] :   
[コメント] :   BitBangモードを解除すれば、仮想COMポートに
戻ります。

しかし、仮想COMポートが動作している間はBitrBangモード
には移行できません。

しかし、BitBangモードでISPを実行する時に仮想COMポート
のCOMポートの利用を中断すれば、ISPに移行できます。

ISPを行う時にCOMポートの利用を停止し、ISP完了時に自動で
再接続を行うなら、利用者には共存できているように見せる
ことが可能と考えます。
   2010/7/16 (Fri) 13:37:30
[名前] :   senshu
[URL] :   
[コメント] :   すzさんの実装は単なるBitBangモードではありません。

USB通信は1m秒単位で操作することが多く、単純にビット操作で
AVRライタなどを実現すると、遅くて使い物になりません。

そこでFTDIチップが有する Synchronuse BitBangという機能を
活用し、ある程度の操作手順をUSB変換チップに持たせる実装に
なっています。

これによって、AVRISP mkIIと同等の処理速度を実現しています。

ソースコードは20kB程度であり、何とか読める規模です。興味が
あれば一読の価値はあります。
   2010/7/16 (Fri) 13:40:43
[名前] :   senshu
[URL] :   
[コメント] :   kumanさんが使い分けている例を紹介しています。

やや面倒との指摘はありますが、ごく一般的な手順で
利用できます。ぜひ、ご覧ください。

http://www.geocities.jp/kuman2600/n6programmer.html#16
   2010/7/16 (Fri) 13:50:01
[名前] :   kuga
[URL] :   
[コメント] :   >パラレルポートの代役は無理なようです、
>(フィリップスのフルスピードなら出来るかもしれない)

>USB通信は1m秒単位で操作することが多く、単純にビット操作で
>AVRライタなどを実現すると、遅くて使い物になりません。

ということで、USBで「汎用」のパラレルポート代用は
フィリップスのCHIPを使おうが、どのような方法でも不可能です。
   2010/7/16 (Fri) 16:08:30
[名前] :   ノンノ
[URL] :   
[コメント] :   >ということで、USBで「汎用」のパラレルポート代用は
パラレルポートとはどんな代物なんでしょうか?
   2010/7/16 (Fri) 16:17:05
[名前] :   kuga
[URL] :   
[コメント] :   >パラレルポートとはどんな代物なんでしょうか?
そうですね、パラレルポートの定義が曖昧でした。
ここでは、パソコンに付いている25pin D-SUBコネクタの
ポートをパラレルポートと書きました。
このパソコンのパラレルポートにはプリンタ以外にも
色々なものが接続されることがありました。
(私の手持ちでは、ROM-WRITER BYTE-Blaster)
プリンタ以外のこれらをすべて動作させる USB-パラレル
変換は不可能だということです。
   2010/7/16 (Fri) 16:27:11
[名前] :   ノンノ
[URL] :   
[コメント] :   実は
PDIUSBD12 には パラレルバスインタフェース速度(2MByte/S)というのがあって不明なんですが、調べ切れていません。
   2010/7/16 (Fri) 16:39:00
[名前] :   senshu
[URL] :   
[コメント] :   ここで話題にしているのは、一回の操作で1ビットを
扱う場合のスループットです。

通常のUSB規格に準じる限り、レガシー規格のパラレルに
匹敵する性能は原理的に考えて得られないハズです。

ノンノさんの示す性能は、何らかのバッファリング操作
によってと実現していると考えられます(想像ですが)。

しかし、そうした操作があるとタイミングに厳しいライタ
のようなものは実現が困難です。

安価に入手できるFT232RLで十分な性能が得られているので
私は他のチップを選択する予定はありません。

ハイスピードとかは不勉強なのでわかりませんが、詳細に
データシートをご覧ください。
   2010/7/16 (Fri) 16:45:14
[名前] :   kuga
[URL] :   
[コメント] :   >パラレルバスインタフェース速度(2MByte/S)
これは上記パラレルポートとは違います。
マイコンと接続されることを前提としたバスで、
そのアクセス速度が2MByte/Sだといっているのです。

FT245はUSB パラレルFIFOです。
パラレルのFIFOはマイコンやFPGA/CPLDと接続されること
が想定されていますが、この部分のアクセス速度は
7MB/S 以上あります。
   2010/7/16 (Fri) 16:50:38
[名前] :   ノンノ
[URL] :   
[コメント] :   >次には説明書があって「EPP, and ECP.」とかになっていました。
http://www.stericsson.com/technical_documents/CD00250271.pdf
また、JUNGOの説明にも早いとはあったのですが理解できていません。
http://jp.xlsoft.com/documents/windriver/wdman90J.pdf
   2010/7/16 (Fri) 00:41:44
[名前] :   kuga
[URL] :   
[コメント] :   Re:I2Cのアドレス
R/WをMSB側に割り振ってアドレスは右詰めにしてくれれば
トラブルも少ないでしょうにね。
ハードでI2Cスレーブを作るのに左詰の方がアドレス確定が
1クロック早いのでACKを返すのに都合がいいからかな。
   2010/7/16 (Fri) 14:48:31
[名前] :   senshu
[URL] :   
[コメント] :   kugaさん、私も混乱している一人です。

0xa0などというアドレスを貼り付けたりしています。
7ビットなどという半端な値ではなく、8ビットで2個
単位で割り振る、とでも定義してくれた方がよかった
と考えています(本当の理由は不明です)。
   2010/7/15 (Thu) 19:10:47
[名前] :   ラジオ少年
[URL] :   
[コメント] :   14MHzから16MHzへの結果

16MHzが手に入りましたので早速やってみましたがNG。masterのプログラムが何かおかしい、でも、何度見直しても間違っていない様な気がします。
そこでkumanさんのところからもう一度masterをDLしてmeg328に書き込み、ロジアナでチェックすると結果は同じ。この時点でSCL,SDAラインは切り離してありましたので、つないでロジアナを見ると何とデータバイトがちゃんと出ているではないですか。LEDも明るくなったり少し暗くなったりmasterのLEDに同期して変化してます。波形のデューティが変わります。
プログラムは勉強の為、手打ちで入力しました。何が違っているのか?いやー、有りましたね。

#define Slaveaddress 0x40 1
slave adrsは0x20にしましたので、手打ちの時に
#define Slaveaddress 0x20 1 としたのです。
slaveのアドレスが片や20、手打ちは10になってしまいます。 を全く無視してました。お粗末!m(_ _)m
Xtalが原因ではなく、私が原因でした。
皆様、お世話になりました。有難うございます。
   2010/7/15 (Thu) 19:14:23
[名前] :   ラジオ少年
[URL] :   
[コメント] :   自己レス。

#define Slaveaddress 0x40>> 1
半角の>は表示されないみたいです。

#define Slaveaddress 0x20>> 1
上記の様になります。
   2010/7/16 (Fri) 00:32:07
[名前] :   shuji009
[URL] :   
[コメント] :   I2Cのアドレス

ラジオ少年さん、I2S実験、お疲れ様です&ご無沙汰しています
(ハンドル名から「@愛読者」外しています)。

I2Cのアドレスって(拡張していない元のもの)は、
7ビット表現だけど、使用するときは、左詰めなので
間違えることありますね。

更に、困りものは、スレーブ機器でアドレス固定で、
同一のものが意外にあるという・・・。
自分で組む場合は良いのですけど。
   2010/7/16 (Fri) 07:42:08
[名前] :   ラジオ少年
[URL] :   
[コメント] :   shuji009さん、kugaさん、コメント有難うございます。
I2Cは去年、RDA5800(FM Radio IC)とmega8で作ったときにプログラムを作りました。それ以来、やってませんので、ゼロからのスタートです。Arduinoとは何ぞや?少し齧ってみようかと思い、今回、I2Cを使ったデータの転送をやって見ました。master側はArduinoですので、プログラムは理解出来ました。しかし、slave側(Atiny2313)の方は分らず其れなりに苦労しました。
今回初めてロジアナでI2CのSCLとSDAの関係を見まして視覚的に理解出来ました。
動いてしまうと、プログラムを少しずつ変更してどうなるか確認すると勉強になりますね。でも、直ぐ忘れてしまうでしょう。
   2010/7/15 (Thu) 15:03:46
[名前] :   ノンノ
[URL] :   
[コメント] :   次ぎに不思議なものを見た。
http://www.google.com/codesearch/p?hl=ja#QhG3QnJjHWw/trunk/jat/targets/arduino/sample/blink_avr.jal&q=arduino%20package:http://jallib\.googlecode\.com&sa=N&cd=3&ct=rc
   2010/7/15 (Thu) 15:08:04
[名前] :   ノンノ
[URL] :   
[コメント] :   長いけれど、全部まとめて、
次の方がよいかも知れない。
http://www.google.com/codesearch/p?hl=ja#QhG3QnJjHWw/trunk/jat/targets/arduino/jaltarget.h&q=arduino%20package:&d=0
   2010/7/15 (Thu) 15:10:35
[名前] :   ノンノ
[URL] :   
[コメント] :   実体は次でした。
http://jallib.googlecode.com/svn%E2%80%BAtrunk%E2%80%BAjat/trunk/jat/targets/arduino/
   2010/7/15 (Thu) 16:06:34
[名前] :   senshu
[URL] :   
[コメント] :   JAL to Cを使った例のようです。

JALで書かれたソースをWinAVRでコンパイルしています。

でも、JALv2に慣れている方よりもC言語に馴染みの
深い方は、あえてこれを選ぶ理由はありません。

ライブラリの充実度が重要だと思います。
   2010/7/15 (Thu) 18:29:59
[名前] :   senshu
[URL] :   
[コメント] :   Arduinoの利点は、開発環境の完成度ではなくライブラリの充実度
にあると感じます。

内部を調べてみると、荒削りな部分があり、いまだに
α版を称しているだけのことはあります。

ライブラリも玉石混交ですが、大量に存在します。

このことから、他の言語やマイコンを使っても、利点
には映らないというのが私の意見です。
   2010/7/15 (Thu) 22:12:46
[名前] :   ノンノ
[URL] :   
[コメント] :   >ライブラリも玉石混交ですが、大量に存在します。
ほんとだ Charlieplexed も有った。
   2010/7/14 (Wed) 13:27:27
[名前] :   kuman
[URL] :   
[コメント] :   AVRライタ雑感

1 HIDaspx \100+水晶+その他
2 pic18spx \200+水晶
3 FT232RL \350+ハンダ付けの楽しみ(?)

相対価格はともかく金額差はそれほどありません。
多数が必要でない、アマチュア個人のものを作るとなると3が面白いのではないでしょうか。

ファームを書かなくても良い
USB-シリアル変換機能も使える
速い

avrdudeとavrdude-GUIに感謝しつつ。
   2010/7/14 (Wed) 15:13:24
[名前] :   senshu
[URL] :   
[コメント] :   一ヶ月ほど前にFTDIのBitBangライタの可能性を示しました。

その時にはHIDaspxで十分という判断だったと思いますが、私は新規に作る場合には別の判断が必要と考えていました。

FT232を使ったライタは、ドライバのインストールと
いう手間は必要ですが、今では簡単にインストールで
きる仕組みがあります。

HIDaspxの便利さや手軽さは特筆すべきものですが、
FT232RLモジュールはHIDaspxの製作にも利用でき、
HIDaspx完成後も有用に使えます。

HIDaspxやBitBangライタを同一のGUIから操作できる
ようになった今、入門者用の定番は代替わりするかも
しれません。
   2010/7/14 (Wed) 15:27:27
[名前] :   senshu
[URL] :   
[コメント] :   コストの考察

>1 HIDaspx \100+水晶+その他(ZDとコンデンサ)
>2 pic18spx \200+水晶
>3 FT232RL \350+ハンダ付けの楽しみ(?)

1と2は、ゼロから作りたい方の場合には選択が困難です。
書き込み済みのマイコンチップが必要なので、その入
手に必要な費用を加える必要があります。したがって
価格差はほとんどありません。

自前で作り、さらに発展させたいと考える方には
FT232RLによるライタはお勧めの書き込み器です。

「アルディ」ノススメにも、そのまま利用できます。

HIDaspxの作者の一人が他の方の手になるライタを推奨
するのは奇妙に映るかもしれませんが、それを支える
ツールが充実していればこそ推薦できるのです。

そうしたツールの充実に力を注いだ理由と背景をお考
えください。
   2010/7/14 (Wed) 20:45:33
[名前] :   senshu
[URL] :   
[コメント] :   HIDaspxの魅力を再発見

kumanさんからの報告をキッカケに調査を行いました。

以下のURLをご覧ください。

http://www-ice.yamagata-cit.ac.jp/ken/senshu/sitedev/index.php?AVR%2Favrdude05#m876d390
   2010/7/15 (Thu) 07:44:10
[名前] :   kawana
[URL] :   
[コメント] :   下記URLを見ています。
http://www.geocities.jp/arduino_diecimila/bootloader/index.html
--------------------
Bootloaderを書き込めます。と有りますが、
studio4で作成した通常のhexfile(実行可能なhex)
も書き込めるのでしょうか?
   2010/7/15 (Thu) 08:47:46
[名前] :   senshu
[URL] :   
[コメント] :   avrdudeは、hidspxが持つ機能を全て持っています。

通常のHEXファイルも、BootlLoaderファイルの
別はありません。

したがって、AVR studioで作成したHEXファイルも
問題なく書き込めます。

私が作成している avrdude-GUIなら、AVR studioと
連携して書き込むことも可能です。
   2010/7/15 (Thu) 08:54:20
[名前] :   senshu
[URL] :   
[コメント] :   「全て」は言い過ぎでした。

「hidspxのほとんどの機能をもっています」程度にすべ
きでした。旧タイプのAVRマイコンのサポートやチップの
自動認識機能、D&Dによる書込み機能などはありません。
またコマンドオプションが冗長で、一般的な利用者には
負担です。

そこで、私の手がけているavrdude-GUIは、yuki-labさんの
オリジナルを大幅に書き換え、これらの問題点を改善しよう
としています。
   2010/7/14 (Wed) 13:18:25
[名前] :   kuman
[URL] :   
[コメント] :   senshuさんへ。 avrdude-20100712.zipについて

helpボタンで表示される index.html に MyMemo のリンクを書き込んで置いて、そのリンクをクリックすると次のような画面が出るようにします。

http://www.geocities.jp/kuman2600/mymemo.html
まだデータがありませんので一例です。
コマンドラインオプションはコピペできるように書いています。
知恵を出し合えば有用なものにならないでしょうか。

なお、このページは期間限定で消去します。
   2010/7/14 (Wed) 16:26:17
[名前] :   senshu
[URL] :   
[コメント] :   kumanさんの書込みをヒントに、私なりの備忘録を
例のページに書いてみました。

ご感想をお待ちしています。
   2010/7/14 (Wed) 19:41:34
[名前] :   kuman
[URL] :   
[コメント] :   なるほど

モジュールを使う人には便利ですね。

多数の方がそれぞれ作って発表すればカスタマイズされた使いやすいものが生まれそうです。
   2010/7/14 (Wed) 09:59:37
[名前] :   kuman
[URL] :   
[コメント] :   ラジオ少年さんへ  (長くなりましたのであらためて)

>PD0にLEDをLで点灯するように配置して、…
これはまちがいでした。ダイナミック点灯ですから他の桁まで表示されます。LED点灯のルーチンを書き直す必要があります。

>usiTwiDataInReceiveBuffer() はempty状態
失礼ですがプルアップ抵抗はいくらでしょうか。
また、マスターとスレーブは共通の電源で動いていますか。GNDも共通ですか。

usiTwiDataInReceiveBuffer()>0 の時にLEDが点灯する装置を作ってみてはどうでしょうか。

クロックが影響しているとは思いにくいのですが。
   2010/7/14 (Wed) 11:14:47
[名前] :   ラジオ少年
[URL] :   
[コメント] :   アドヴァイス有難うございます。
プルアップ抵抗は有り合せの8.2Kを使っています。
正式には4.7Kのようですが。レベルは5Vでhighになっています。
1枚の基板に作ってありますので電源、Gndは共通にしてあります。
そうですね、クロックは関係ないかも知れませんね。
もう少し探って見ます。
   2010/7/14 (Wed) 11:26:08
[名前] :   senshu
[URL] :   
[コメント] :   抵抗値の値はセンシティブです。

値が大きいと波形が鈍り、高速の転送は出来ません。

4.7kΩでも大きい位ですから、試しに3.3kΩ程度に
してみてはいかがですか?
   2010/7/14 (Wed) 12:53:35
[名前] :   ラジオ少年
[URL] :   
[コメント] :   snshuさん、advice有難うございます。
SCL,SDAにロジックアナライザをつないで見ました。
スレーブアドレス(0x20)とスレーブに対するコマンド(Read)は出ています。スレーブのACKも返って来てるようです。しかし、そこですぐストップコンディションになりデータが全く出ていません。

プログラムは動いていますので、データが出るはずですが何故か、出ないですね。
Xtalの周波数のせいか?16MHzのXtal入り次第再度やって見ます。
   2010/7/13 (Tue) 12:05:50
[名前] :   ラジオ少年
[URL] :   
[コメント] :   I2C通信について

kumanさん、2,3質問があります。
1、d[1]=usiTwiReceiveByte00(1);d[1]にはmasterのdd  [0]=1が入ると考えていいですよね?
2、I2CはslaveのACKを待ってmasterからdataを送ると  理解しているのですが、kumanさんのマスタは2秒経  過すると配列転送から1byte転送に移ります。
  slave(t2313)を切り離しても転送LEDが点滅して  いますのそうなっているのではないかと。

masterからdata、d[1]=1をもらったらLEDを点灯させるつもりなのですが、これが中々うまくいってくれないです。d[1]に1が入っていないような感じですね。つまり、I2Cが動いていないような状態です。

話は前に戻りますが、以前I2Cについて質問をしkumanさんから回答を頂いた部分がどこかへ消えてしまったようです。backして見ても出てこないような、探し方が悪いのかも知れませんが。
   2010/7/13 (Tue) 13:18:02
[名前] :   senshu
[URL] :   
[コメント] :   おそらく、↓のページに書いてあるのだと思います。

http://www.geocities.jp/kuman2600/gbook53.html
   2010/7/13 (Tue) 15:42:13
[名前] :   kuman
[URL] :   
[コメント] :   旧掲示板について:senshuさん、ありがとうございます。メニューに未登録でした(登録しました)。

I2Cの質問の意味がよく理解できません。
配列転送と1バイト転送は両方のテストのために、あえて交互に送っています。

slaveをはずしてもloopは回っているようです。
Arduinoの内部を分析していないのですが、ACKが返らないときはタイムアウトで打ち切っているのではないでしょうか。

なお、d[1]には2秒ごとに交互に 1 と 9 が受け取られます。
現在 d[1]には何が入っていますか?

PD0にLEDをLで点灯するように配置して、プログラムどおり実行してみてください。
1 のとき点灯せず、 9 の時に点灯するはずです。
2秒ごとに点滅を繰り返します。

9のセグメント点灯時は1のセグメントも点灯していますから、1の時に点灯はできません。
   2010/7/13 (Tue) 16:42:35
[名前] :   ラジオ少年
[URL] :   
[コメント] :   kumanさん、
masterの振る舞いは分りました。取りあえず、masterは正常に動いているようです。
問題はslaveです、この部分のプログラムが機能していないようですので、追求してみます。
有難うございました。

senshuさん、URL有難うございます。教えていただいたURLに有りました。
   2010/7/14 (Wed) 09:11:19
[名前] :   ラジオ少年
[URL] :   
[コメント] :   自己レスです。

for(;;) {
if( usiTwiDataInReceiveBuffer() ) {
slaveのプログラムに上記の記述があります。usiTwiDataInReceiveBuffer() は0か1を返してきますが、どうもempty状態のようです。常に0を返してきますのでifの中のルーティンは実行できません。
masterからのデータが正常に送られてないようです。
この原因は、推測ですがmasterのクロック用Xtalに14MHzを使っている為ではないかと。
16MHz(8MHz)に交換してみてどうなるか?ですね。

PORTD=s[d[1]];sの中身を1、9にするとPD0につないだLEDはOFF,ONします。
   2010/7/12 (Mon) 13:47:16
[名前] :   senshu
[URL] :   
[コメント] :   avrdude-20100712.zip を暫定公開

以下のURLでavrdude-GUIの修正版を公開しました。

http://www-ice.yamagata-cit.ac.jp/ken/senshu/sitedev/index.php?AVR%2Favrdude04#i18dca2e

kumanさんの希望に叶えているかは不明ですが、意見交換は
無駄ではないことを実証したいと思います。

試用してみた感想等をお寄せください。
   2010/7/11 (Sun) 14:35:47
[名前] :   kuman
[URL] :   
[コメント] :   ふと思ったジャパニーノの疑問

usb-シリアル変換に cp2104 が使われているということですが、SL社には2102、2103はあっても2104はないらしい。 どこの製品だろう。

cp2103だとすれば、これのIOは3.3V以下のはずで、5Vはないと思います。
しかし、ジャパニーノは5V電源を許可している。
3.3Vで5Vターゲットにつなぐのは、私もしていますが、アマ規格ならともかくつなぐべきでないとすると、ジャパニーノはアマ規格で動けばokというおもちゃなのでしょうか。

水晶を積みながらRC発振だからこれでも良いのかも。
(雨の日のひとりごと)
   2010/7/11 (Sun) 15:00:42
[名前] :   kuga
[URL] :   
[コメント] :   CP2103のデータシートを見ると
VIOの最大値はVDDでVDDは3.0V〜3.3Vなので
ジャパニーノでは共に3.3Vで動作させているでしょう。
VIO 3.3Vの信号を5V動作のAVRに与えるのは問題ありません。
5V動作のAVRは3V以上をHとみなすのでなんとかOK
5VのAVRの信号が3.3V動作のCP2103に加わることですが
CP2103のmax input voltageは5.8Vとなっているので
これも問題なしです。(5Vトレラント)
   2010/7/11 (Sun) 15:23:29
[名前] :   senshu
[URL] :   
[コメント] :   CP2104は確かにデータシートは公開されていませんね。
CP210Xと称しているので、一連のシリーズのICだとは思います。

電気的な接続は(おそらく)許容できるとしても、

× MacOSではDTRの制御ができないのでAuto Resetが無効
× BitBangライタとして利用できない
(これが使えればファームのアップデートもできたのに)
× CP210X用ドライバの完成度が低い
× UART信号線の衝突を考慮していない

ローコスト化を狙い、結果として残念な仕様を採用してしまった
ようです。

次版のdude-wrapngでは、Auto Resetが効かないボード用にRESETス
イッチ操作を促すダイアログ表示機能を追加しました。せめてこう
した工夫が発売元から提供されることを期待します。

これを契機に、自作のAVRマイコンを利用する人が増えると面白い
のですが、無理でしょうか。
   2010/7/13 (Tue) 10:17:25
[名前] :   ノンノ
[URL] :   
[コメント] :   FreeJALduino
http://moriscanet.blogspot.com/2009/10/freejalduino-for-geda-pcb.html
avrはjavv2に馴染まないのか?
   2010/7/13 (Tue) 20:22:40
[名前] :   senshu
[URL] :   
[コメント] :   PIC18Fシリーズでは、AVRマイコンに比べて不足感が
あります。特に、PICマイコン用のフリーで使える
Cコンパイラの充実度は全く不十分です。

AVRマイコンでも性能面の不満は皆無ではありません。

ということで、私はArduino的な応用にはAVRマイコンを
採用したいと思います。
   2010/7/11 (Sun) 09:43:07
[名前] :   kuman
[URL] :   
[コメント] :   shuji009 さんへ、 5V/3.3Vの切り換えについて

FT232RLはIOの電源を本体とは別に与えることができるようになっています。

IOの電源は VCCIO ピンに加える事になっていて、ここにVccBUSの5Vを加えるとIOは5V動作となり、
VCCIOピンに 内部レギュレータ出力である 3V3OUTピン(ここには3.3V出力の電源が出ている)をつなげばIOは3.3V動作となります。

VCCIOピンを 5Vバスにつなぐか、3.3VOUTにつなぐか、をスイッチかジャンパで切り換えれば対応できます。
私はスイッチで切り換えています。
   2010/7/11 (Sun) 09:45:58
[名前] :   kuman
[URL] :   
[コメント] :   ↑

データシートの
7.4 USB Bus Powered with 3.3V / 5V Supply and Logic Drive / IO Supply Voltage
に説明があります。
   2010/7/11 (Sun) 10:03:07
[名前] :   shuji009
[URL] :   
[コメント] :   kumanさん!

どうも、一番知りたかったことです。
良く分りました。ありがとうございます。


人に自分の判らないことを聞くというのは難しいですね。
   2010/7/11 (Sun) 10:28:45
[名前] :   senshu
[URL] :   
[コメント] :   なるほど、質問の主旨がようやく理解できました。

このように、ドライバのインストールをクリアできれば
FT232RLによるライタは、かなり便利に使えます。

なお、仮想COMポートで使えるようになっていれば、
ドライバのインストールは完了しています。
   2010/7/11 (Sun) 10:43:32
[名前] :   shuji009
[URL] :   
[コメント] :   直接は関係のない話なのですが、
今回のAcrobat reader 9のバージョンアップで
今まで読めていたデータシートでエラー続出して、
読めないものがかなりあるようで、困っていたのです(汗;)。
以前は、中華系フォント未インストールが起因していた
ようなのですけど、今回は何か変というかバグって
いるような感じで、当該FT232関係のデータシートも
微妙という状況だったのです(涙;)。
   2010/7/11 (Sun) 12:31:08
[名前] :   senshu
[URL] :   
[コメント] :   異なる電圧での利用は避けるべきです。

kugaさんからに類似の指摘がありますが、FT232RLのVCCIOは
1.8〜5.0Vまでを印加可能なので、このピンをターゲットVDD
に接続すれば、ほぼ任意の動作電圧に対応できます。
   2010/7/11 (Sun) 14:27:18
[名前] :   kuman
[URL] :   
[コメント] :   供給電圧の違いの可否を議論しているとは知りませんでした。
FT232RLから3.3Vのターゲットに書き込むときに、FT232RLの出力は変える方法があるかどうかの議論と考えました。
   2010/7/11 (Sun) 14:51:57
[名前] :   senshu
[URL] :   
[コメント] :   shuji009 さんの最初の書込みからは判断しにくいのですが、
+5V以外でも対応できるのかを知りたかったようです。

しかし、手動ジャンパ切替ではミスが起きる可能性はあります。

VCCIOをターゲットからもらう仕様なら、そうしたミスは避けら
れる、という判断です。
   2010/7/11 (Sun) 15:39:05
[名前] :   shuji009
[URL] :   
[コメント] :   秋月のAE-UM232Rを使用して実験してみます
(いつになるやら・・・)。

(1)FT232Cは、ターゲットのVccを使用します。
前に書いたように、5Vか3.3Vです。
具体的には、J2をオープンにします。

(2)信号線には200Ωの抵抗を直列に入れます。


留意点はこれ位かな? と思うのですけど。
   2010/7/11 (Sun) 15:49:00
[名前] :   senshu
[URL] :   
[コメント] :   AE-UM232のJ2はショートで +5Vで動作させ
J3をオープンにし、VCCIOをターゲットVDDに接続
するのが安全な方法だと思います。

以前、kumanさんから、ターゲットマイコンのON/OFF
で、その都度USBを再認識するのは使いにくいとの
報告がありました。
   2010/7/11 (Sun) 15:50:48
[名前] :   senshu
[URL] :   
[コメント] :   訂正 J3 ⇒ J1 (寝た回路図で読み違えました)
   2010/7/11 (Sun) 16:17:24
[名前] :   shuji009
[URL] :   
[コメント] :   senshuさんありがとうございます。

「AE-UM232のJ2はショートで +5Vで動作させ
J1をオープンにし、VCCIOをターゲットVDDに接続
するのが安全な方法だと思います。」

了解しました。

想像以上に奥が深い世界ですね。
   2010/7/11 (Sun) 16:28:01
[名前] :   senshu
[URL] :   
[コメント] :   >想像以上に奥が深い世界ですね。

これはFT232RLを使う場合の標準的な利用法だと思い
ますが、何か勘違いしているでしょうか(笑)。
   2010/7/11 (Sun) 17:02:17
[名前] :   shuji009
[URL] :   
[コメント] :   なんとかIEを使うと、AE-UM232Rのデータシートが
読めることが判明しました。

なんとかIEを使うと、AE-UM232Rのデータシートが
読めることが判明しました。

J1:
1-2ショート 2-3オープンで、3V3outからの3.3V
1-2オープン 2-3ショートで、Vccから供給される
なので、
今回は、1-2,2-3ともオープンして、VIO(VCCIO)に、ターゲットに使用している
電源Vccを入れるってことになるのですね。

>これはFT232RLを使う場合の標準的な利用法だと思いますが

マニュアル上は、あまり普通の使い方とは思わないのですけど(汗;)。

参考
J2:
ショートで、USBバスからVccに5Vが供給される
オープンで Vccに外部から電源を供給する
   2010/7/11 (Sun) 17:10:46
[名前] :   senshu
[URL] :   
[コメント] :   >今回は、1-2,2-3ともオープンして、VIO(VCCIO)に、ターゲットに使用している
>電源Vccを入れるってことになるのですね。

目的は、ターゲットのマイコンと同じ電圧で動作させることが目的です。
ターゲットが複数の電圧で動作するとのことですから、特定の電圧を
加える設定はできないと考えるべきです。

マニュアルは読んでいますが、回路図とデータシートを判断して使うように
しています。

AVRライタとしての利用は、説明書には考慮されていないと思います。
   2010/7/11 (Sun) 18:30:19
[名前] :   shuji009
[URL] :   
[コメント] :   senshuさん、どうもです。

>マニュアルは読んでいますが、回路図とデータシートを>判断して使うようにしています。

今まで、スクラッチでFT232を使用したのは、簡単な
もので1回だけなので、
この際(ライタを作るときに・・・・いつになるやら・・)、
ちょっと色々と遊んでみます。


>AVRライタとしての利用は、説明書には考慮されていないと思います。

私もそう思います。
   2010/7/11 (Sun) 18:54:20
[名前] :   kuga
[URL] :   
[コメント] :   ターゲット電源OFFでVCCIOが0V
ライターとして利用する場合、ターゲット電源OFFという
状態が度々発生すると思います。
このときのFT232の挙動が少々心配です。
   2010/7/11 (Sun) 19:15:57
[名前] :   senshu
[URL] :   
[コメント] :   kugaさん、コメントをありがとう。ございます。

ライタは別の電源を持つ装置に繋がるので、指摘の
ような状態はあるのですが、簡易な回路では抵抗に
よる保護程度しか思いつきません。

仮にVCCIOを特定の電圧に接続すると、ターゲットが
電源がオフの場合や異なる電圧時に不具合が生じると
思います。

初期値としてはMOSI, MISOは入力に設定していますが。

kugaさんはどういう接続が望ましいと考えますか?
   2010/7/11 (Sun) 19:19:18
[名前] :   senshu
[URL] :   
[コメント] :   すzさんのサイトでは、私の提案と同じ構成になっています。

http://suz-avr.sblo.jp/article/33907127.html?reload=2010-06-29T11:29:22

参考まで。
   2010/7/11 (Sun) 19:37:37
[名前] :   kuga
[URL] :   
[コメント] :   FT232にもターゲットにもダメージはないと思います。
VCCIOにターゲット電圧を入れた場合、抵抗を入れなくても
双方ダメージは発生しないと思います。
心配なのは VCCIO-0VのときFT232はどんな動作を
するのかということです。
(各I/O ピンがHなのかLなのかも判定てきないはず)
   2010/7/11 (Sun) 22:11:27
[名前] :   senshu
[URL] :   
[コメント] :   >心配なのは VCCIO-0VのときFT232はどんな動作を
>するのかということです。
>(各I/O ピンがHなのかLなのかも判定できないはず)

たしかに、0V ではどんな動作をするかは不明です。チェッ
クしてみますが、PCとの通信は機能するので、マイコンとの
通信エラーになると思います。

確認用に、ターゲットVCCにLEDを取り付けます。これは、
Cの放電用や通電確認ができるので便利だと思います。
   2010/7/11 (Sun) 22:31:08
[名前] :   shuji009
[URL] :   
[コメント] :   再度まとめてみると

AVRライターとして、秋月のAE-UM232を使用する場合

1. AE-UM232のJ1(1-2-3)は、オープンにする。
2. VIO(VCCIO)#4には、ターゲットになるAVRのVccを入れる
 (グランドも同様に接続する)
3. AE-UM232のJ2は、5V/3.3Vいずれでも良い(でいいのすか?)。
4. 信号線は、保護抵抗(ダンプ抵抗にもなる?)として220Ω程度を入れる(1kΩだと大きすぎですか?)。
 → 若干配線(20-30cm)が伸びることを考えると、ダンプ抵抗
 は必要になるのでしょうか?

------------------------------------------
3は実は良く分っていませんが、FT232RLが
5VトレラントなのでOKですよね?

あ〜〜まとまらなかったorz。すみません。
   2010/7/12 (Mon) 00:36:22
[名前] :   kuga
[URL] :   
[コメント] :   Re:再度まとめてみると
3) J2ジャンパーはFT232のVCCをUSBから供給するか選択
ですから、ショートでVBUSを使用したほうが便利でしょう。
4) 直列抵抗1Kは大きすぎです。AVRのRESETピンはプルアップ
されることが多いので、1Kだと十分にLOWにできない
場合があります。
配線(20-30cm)は長すぎに感じます。できれば10cm〜15cmに
   2010/7/12 (Mon) 01:12:51
[名前] :   shuji009
[URL] :   
[コメント] :   kugaさん、ありがとうございます。

前提として、ターゲットAVRの電源をVIOにも使用する(J1はオープン)。
・J2ショート(VCCはUSBからの5V使用)
・ターゲットへの配線は10-15cm程度にして、保護抵抗を入れるとすれば、220Ω程度。

具体的なイメージがやっとできました。

ターゲットAVRのreset・・・いつも適当にプルアップ
しています(汗;)。大体10k〜100kΩが多いです。
   2010/7/12 (Mon) 08:59:47
[名前] :   senshu
[URL] :   
[コメント] :   VCCIO=0V での動作試験を行いました。

予想とおり、ISP操作でエラーになります。

エラー発生後、ターゲットマイコンにVCCを加えると、
通常通りISP可能でした。

どちらも期待する動作です。

簡易ライタであり、複雑な回路を追加するのは避けたいので、
電気的なダメージを受けることが無ければ、これを推奨接続
にしたいと思います。
   2010/7/11 (Sun) 09:25:48
[名前] :   kuman
[URL] :   
[コメント] :   senshuさんへ (ft232r0)の再テスト

tiny2313 内蔵RC発振 8MHz でテストしました。
コマンドラインオプション -P ft0 -B 76800 で
認識に成功しました。

-B 76800 を書かなくても認識しました。

条件がどのように変わったのかは不明で申し訳ないのですが現在は実行できています。

学習初期の誤操作などは再現が難しいとは常々思っています。

実際にはプログラム書き込み済みのAVRを考えると出力の衝突(短絡)問題で使う事は考えていません。
   2010/7/11 (Sun) 10:25:21
[名前] :   senshu
[URL] :   
[コメント] :   8MHzでの動作では、-B 76800は省略できます。

工場出荷時設定の1MHz動作では、-B 76800 の指定が
必要なのです。ご確認ください。
   2010/7/11 (Sun) 08:54:54
[名前] :   senshu
[URL] :   
[コメント] :   「デュアルライセンスの仕組み」

HIDaspxの開発でなんとなく感じていた疑問点を明らかにする
ページを見つけました。

http://producingoss.com/ja/dual-licensing.html

フリー(自由)を推進することと、特定の企業がそれを活用する
ことの難しさを解説しています。

皆さんの意見をお聞かせください。
   2010/7/11 (Sun) 10:40:41
[名前] :   kuga
[URL] :   
[コメント] :   V-USB はデュアルライセンスですが
私は問題があるとは感じていません。そこそこ有効に
機能していると思っています。

senshuさんは何か問題があると感じますか?
   2010/7/11 (Sun) 10:57:52
[名前] :   senshu
[URL] :   
[コメント] :   V-USBの利用者がV-USBのコードを独自に改良して
GPLの元で公開したとします。

その改良点をV-USB側が採用することを、それとなく書いて
いる点が気になります。これはGPLに反すると思います。

デュアルライセンスは、スクラッチで書いた方のみが採用で
きると認識しているのですが、この方式では改良は進まないと
考えています。
   2010/7/11 (Sun) 11:08:55
[名前] :   kuga
[URL] :   
[コメント] :   スクラッチなら自由なライセンスを自身できめられる。
>その改良点をV-USB側が採用することを、それとなく書いて
>いる点が気になります。これはGPLに反すると思います。
ライセンスの全文を示すことを省略するためにGPLという
表現を使っているだけで、「改良点をV-USB側が採用」条件が
付加されたGPLライセンスということでしょう。

条件が不満ならV-USBを使わないという、選択肢も
ありますし、ライセンスを購入するという選択もあります。
   2010/7/11 (Sun) 12:27:07
[名前] :   senshu
[URL] :   
[コメント] :   この点が、V-USBを採用しない方法を模索している理由です。

>条件が不満ならV-USBを使わないという、選択肢も
>ありますし、ライセンスを購入するという選択もあります。

そのとおりです。V-USBに魅力を感じたトップマンさんは
ライセンスの取得を選択しました。

私は別の方法の選択を考えています。
   2010/7/10 (Sat) 17:56:40
[名前] :   kuman
[URL] :   
[コメント] :   FT232RLライタをavrdude-GUIの導入経過

を書いてみました。
http://www.geocities.jp/kuman2600/n6programmer.html#16
   2010/7/10 (Sat) 17:58:30
[名前] :   kuman
[URL] :   
[コメント] :   FT232RLライタをavrdude-GUIの導入経過 →

FT232RLライタ と ・・・
のまちがいです。
   2010/7/10 (Sat) 19:15:17
[名前] :   senshu
[URL] :   
[コメント] :   -B 76800 は1MHzでもOKです。

すzさんの最新版では、1MHzのFUSE書き込みの
「新推奨値は -B 76800」になっています。

-B XXXの指定を省略すると、230kbpsになります。

つまり、avrdude-GUIの初期値は、1MHz用の設定に
なっているわけです。
   2010/7/10 (Sat) 21:08:24
[名前] :   kuman
[URL] :   
[コメント] :   -B 76800 のコマンドラインオプションを知らないうちにtiny2313新品を差し込んで、認識しないのであわてて速度関係を調べすzさんの冒頭だけ読んで実行したものを書いてしまいました。
-dに相当するものがあるはずだと探して、無事認識したのでホットしていました。
   2010/7/10 (Sat) 21:15:04
[名前] :   senshu
[URL] :   
[コメント] :   16MHz動作なら、-B 3000000 指定も可能です。

これを指定すると、HUB 経由のHIDaspxを超える
高速性を発揮します。

さすがに USB 2.0は違うと感じます。
ぜひ、使い込んでみてください。

「鶏と卵問題」を解決するための道具ではないこと
が理解できます。
   2010/7/11 (Sun) 00:55:25
[名前] :   shuji009
[URL] :   
[コメント] :   分かり易い、導入経過レポートありがとうございます。

1つだけ、教えて下さい。

ターゲットのAVRへの電源供給なのですが、
FT232RLの5Vを使用する、ということなのでしょうか?
   2010/7/11 (Sun) 01:32:52
[名前] :   senshu
[URL] :   
[コメント] :   >ターゲットのAVRへの電源供給なのですが、
>FT232RLの5Vを使用する、ということなのでしょうか?

このライタに限らず、セルフパワーで使うのが基本だと
思います。しかし、AVRマイコンのチップにファームを
書くだけなら、パートタイムで電源供給する程度は許さ
れると思います。
   2010/7/11 (Sun) 01:36:04
[名前] :   senshu
[URL] :   
[コメント] :   セルフパワーで使うには、電源のON/OFFによる不均衡
からの保護を兼ねて、信号線に直列に200Ω程度の
保護抵抗を挿入することをお勧めします。

高価なICを壊さぬようにする工夫です。
   2010/7/11 (Sun) 02:52:24
[名前] :   kuman
[URL] :   
[コメント] :   ライタ

接続に6ピンコネクタを使っていますが、Vccは接続していません。

ハブ使用時の電源電流不足やターゲットの実験ボード短絡による影響を避けるために通常はセルフパワーにしています。
   2010/7/11 (Sun) 09:20:54
[名前] :   shuji009
[URL] :   
[コメント] :   senshuさん&kumanさん、ありがとうございます。

今まで、AVRに書込むときは、セルフパワーでしか
書いていませんでした。
その時AVRへの電圧は、通常は+3.3V、まれに、+5Vを使用しています。

念の為、お聞きしますが、

今回のFT232Rライタの場合は、上記電圧は+5Vでないと、
駄目だということで、良いのでしょうか?

もしターゲットが3.3Vを使用した場合のISP書込では、ターゲットの
Reset、SCK、MOSIにはオプション(抵抗分圧やレベル
コンバータ用ICの挿入)
が必要だとの認識でいいのでしょうか?
   2010/7/11 (Sun) 10:54:59
[名前] :   kuga
[URL] :   
[コメント] :   USBのセルフパワー・バスパワーと混乱しました。
ターゲットのVCCをライター側とは独立させるのを
セルフパワーと表現していたのですね。

私は、ターゲットとライターを共通の電源で動作させるか
適切なレベルシフトのBUFFERが入ったライター以外は使いません。
  
▲このページのトップ 戻る  

Yahoo!ジオシティーズ


inserted by FC2 system 1