2007/8/24 (Fri) 23:51:13
|
[名前] : kawana
|
[URL] :
|
[コメント] : RESET IC 出てきた プリンタ−の基板を覘いていたらシステムリセットIC PST592E(reset100ms、検出電圧3.9V MITSUMI)が付いていた。明日、resetかかるかtestしてみよう。
|
|
2007/8/24 (Fri) 19:02:23
|
[名前] : kawana
|
[URL] :
|
[コメント] : dsPIC30F2012 CLOCK.C トラ技9月号のサンプルプログラムのCLOCK.Cのコンパイルが出来たので、時計プログラムを動かして見ようと思います。 動いたら、ポイかも知れないけれど。 プログラム書き込みtoolは、何を使用するのかな?
|
|
2007/8/24 (Fri) 16:03:18
|
[名前] : ぼのぐらし
|
[URL] :
|
[コメント] : デバグ機能として8桁LEDアレイを作り、マスタに返されるコンディションコードを表示させる
アマチュアデバッグのお手本ですね。 今後、見習いたい。
|
|
2007/8/24 (Fri) 17:44:29
|
[名前] : kuman
|
[URL] :
|
[コメント] : LED
想像していた以上の効果がありました。 プログラムが簡単で時間を取らないのだ良いと思います。 他に、UARTでPC表示、液晶表示などありますが、タイムラグが気になります。
|
|
2007/8/24 (Fri) 15:08:08
|
[名前] : kawana
|
[URL] :
|
[コメント] : #168 ATmega168 USBにLCD SC1602Bを取り付け #168が遊んでいたので、LCDを取り付けて見た。 LCDプログラムはkumanさんのところからコピ−したもの。 void lcd_delay(void){ /* x-tal 20MHz */ uint16_t i; for(i=20000; i--;){ } } で、i=20000 2.28 ms i=10000 920μs i= 1000 52μs でした。 LCD SC1602Bの場合の規格との関係は? cmd delay: xx 以上 (??) init delay: xx 以上(5ms以上?)
|
|
2007/8/24 (Fri) 17:49:28
|
[名前] : kuman
|
[URL] :
|
[コメント] : 他の方からいただいたプログラムで。
詳細はわかりませんし、私のLCDは品番不明です。 書き込み終了を応答を待たずに、時間で見込み運転しています。動けばよし、だめなら延ばすだけ。とそんな使い方です。回答になりませんが。
|
|
2007/8/24 (Fri) 11:07:13
|
[名前] : kawana
|
[URL] :
|
[コメント] : MCP4822P トラ技9月号トレ−ニングボ−ド部品 MCP4822-E/P の購入した方、購入先、金額など教えて下さい。 秋葉原 マルツパ−ツ館で探したのですが見あたらなかった。
|
|
2007/8/24 (Fri) 10:15:41
|
[名前] : senshu
|
[URL] :
|
[コメント] : wsnakさんにて、Tiny2313用のI2Cのサンプル追加
USIを使った、I2Cのサンプルプログラムが新規公開されています。
(6) I2Cマスタ送受信 I2C-EEPROMのデータの読み出し(更新) (7) I2Cスレーブ送受信 (8) I2Cマスタ送受信
(7), (8)を組み合わせて使うようです。USIを利用していますが、イベントドリブン方式を採用しており、シリアル通信などとの並行動作も可能になるそうです。
wsnakさんは、AVR暦が1週間?位だということですが、AVRは癖が少ないので特に問題なくプログラムがかけるようです(私にはちょっと無理ですね、、、)。
|
|
2007/8/24 (Fri) 12:26:51
|
[名前] : すん
|
[URL] :
|
[コメント] : 私もTWIのスレーブ受信で割り込み専用にしてしまいました。そのほうが処理が簡単になります。 wsnakさんはI2Cの専門家なので、TWIで作られたらきっとAVRでのI2Cの基準になると思います。とっても期待しています。
|
|
2007/8/25 (Sat) 01:07:23
|
[名前] : kawana
|
[URL] :
|
[コメント] : wsnakさんにて、Tiny2313用のI2Cのサンプル追加 (7)(8)のプログラムはどこに有るのですか?
|
|
2007/8/23 (Thu) 09:27:24
|
[名前] : kawana
|
[URL] :
|
[コメント] : AUTO RESET回路 RESETにSWを入れてRESETしていますが、アダプタ接続で、AUTO RESETを実現したい。出来ますか? (BOD レベル設定など or RESETに0.1μ、Di、10K等でRESET回路作るのはまずいのですか?)
|
|
2007/8/23 (Thu) 09:46:15
|
[名前] : kuman
|
[URL] :
|
[コメント] : 的はずれかもしれませんが、
resetスイッチを付けるのは、任意の時にリセットをかけたいから付けることが多いのです。
オートにするとほとんど電源によるものですから、電源を入れ直さねばなりません。
電源を入れたままリセットしたいと思うことはありませんか?
|
|
2007/8/23 (Thu) 11:28:12
|
[名前] : kawana
|
[URL] :
|
[コメント] : AUTO RESET回路 kumanさんありがとうございます。そのとうりですね。 今まで、アダプタ−を接続すれば動作していたが、 動作しないものが出てきたので考えました。 VCCの立ち上がり特性を考慮し、RESET ICを使用しなければ出来ないような気がしました。
|
|
2007/8/23 (Thu) 13:25:52
|
[名前] : すん
|
[URL] :
|
[コメント] : kawanaさん 私のTWIの実験はリセットスイッチが必要です。 それは、エラーがあったとき永久ループにしているからです。復帰はリセットになります。
本当はエラーがあったら、エラー処理をして次の通信に備えるのが正しいのですが、通信できるか、できないかの実験なのであえてエラーからは抜け出せないようにしています。
|
|
2007/8/24 (Fri) 12:26:15
|
[名前] : senshu
|
[URL] :
|
[コメント] : アダプタとはAC/DCアダプタのことですね?
AC/DCアダプタの電源投入時の立ち上がりは、ものによっては非常に緩やかなものがあり、AVRマイコンのリセットが機能しないことがあるようです。
私は、このことから電源プラグの抜き差しでON/OFFするのは良くないと考えていますが、スイッチ代が惜しいと思うことはありますね。
とりあえず、DCプラグの抜き差しでは誤動作しますか?
24時間稼動で、停電対策も必要ならこの方法では上手くいきませんね。その時には、電源電圧の監視が出来るICの採用も考える必要があります。
AVRマイコンは、極度に緩やかな電源投入では動作が保証されていなかったと思います。したがって、ブラウンリセット自体も機能しないと思います。
|
|
2007/8/24 (Fri) 14:19:47
|
[名前] : kuman
|
[URL] :
|
[コメント] : リセットスイッチ
実験基板には是非欲しいと思います。ほとんど付けています。
>スイッチ代が惜しい... リン青銅線や0.1mmリン青銅板を使って小学校工作のスイッチを作ります。結構実用になります。
|
|
2007/8/22 (Wed) 18:55:25
|
[名前] : kawana
|
[URL] :
|
[コメント] : テスタ−棒の改良 私が持っているテスタ−棒の先は丸まって強く押し当てないと接触しない。 ヤスリで尖らせたりして使用していたが、プロ−ブの先のように丸ピンでも良いのではと思い、 金メッキしてある、テストピンを伸ばしてはんだ付け してみた。 先が尖がっているので危ないが、コネクタの穴など 直接接触できる、細かいポイントに当たることが出来るなど、調子良いよう思えた。
|
|
2007/8/22 (Wed) 16:44:04
|
[名前] : senshu
|
[URL] :
|
[コメント] : wS☆Nakさんの#172ボードによるゲームの製作手順
#172ボードでは、USBasp以外の応用としてTVゲームが動作します。
以下のURLにて製作時に利用した資料を公開していますので、ご意見をいただければ幸いです。
http://www-ice.yamagata-cit.ac.jp/ken/senshu/sitedev/index.php?AVR%2Fgame
|
|
2007/8/22 (Wed) 19:55:27
|
[名前] : すん
|
[URL] :
|
[コメント] : タクトスイッチは押すところが長いのを使えば丸穴1個ずつでいいですね。という私は一番短いタクトスイッチを買ってしまいました。長すぎると安定感にかけるかもですね。
|
|
2007/8/22 (Wed) 22:00:52
|
[名前] : senshu
|
[URL] :
|
[コメント] : タッパをケースにできるように基板を設計
試作が完了した時点で、手ごろで安価なケースを選出し、4個100円のタッパを選定しました。なお、このケースに適する大きさにすると値段が上がることをから、定型の大きさの隅を手作業でカットすることで収納を可能にするように提案し、それを考慮したシルク印刷を入れてもらいました。
今考えても、非常に手間をかけた製作課題です。せっかくですから、ゲーム以外にもと考えUSBaspの回路を兼用できるように手を加えました。意外だと思いますが、ゲームが先でライタはおまけでした。
でも、販売するなら一過性のゲームでは需要が限定されると考え、いくつかの機能を追加しました。
最近の掲示板をみると、予想した使い方が行われており、手間をかけた甲斐があったと思っています。
|
|
2007/8/22 (Wed) 07:01:55
|
[名前] : kawana
|
[URL] :
|
[コメント] : RS ケ−ブル メス−オス 300¥購入 昨日、秋葉へ行ったのでケ−ブルを購入した。 値上げする情報有るが、どうしてこんなに安いのかな? 1.中国製? 2.人件費? 3.製造設備費? 4.大量生産(作り過ぎたら、直ぐ飽和?)? 会社の廃棄部品戴いてくるので今まで0¥
|
|
2007/8/22 (Wed) 10:24:43
|
[名前] : senshu
|
[URL] :
|
[コメント] : 秋月電子扱いのケーブルのことですね?
それなら私も同感です。
このケーブルは、比較的用途も広く、とても便利に利用しています。
極めて安価なことから、私の周りでは、このケーブル利用を前提と して各種の機器を製作しています。パソコン側がオスですから、 このケーブルを使えば、製作する機器はメスになります。
しかもストレートケーブルですから、製作する機器は「信号線をクロス」 して設計することになります。オスメスのコネクタの採用には(DCE, DTE)の 別があるのですが、無用な変換コネクタを自作の機器に強いるのは無粋という ものです。
|
|
2007/8/22 (Wed) 10:58:24
|
[名前] : kuman
|
[URL] :
|
[コメント] : 延長ケーブル?
大阪ですが以前に同じような価格のものを購入して使っています。 私の場合は、コンピュータの裏側が机上に延びた感じで重宝しています。
オス−メスは周辺機器接続用でストレートが多く、オス−オスはコンピュータ間用でクロスが多いとどこかに書いてあったような。
|
|
2007/8/22 (Wed) 11:24:42
|
[名前] : すん
|
[URL] :
|
[コメント] : 私は千石電商のRS232Cケーブルを買ってます。長さ、クロス、ストレートいろいろあります。短いのが300円台だったと思います。このケーブルがいいのは、ミリネジとインチネジ両方の留めネジが付いてくることです。留めネジは閉めていないときコネクタから取れやすいのが難点ですが。
|
|
2007/8/23 (Thu) 09:39:27
|
[名前] : kawana
|
[URL] :
|
[コメント] : 無粋という 漢字の勉強をしました。ありがとうございます。
|
|
2007/8/21 (Tue) 20:14:01
|
[名前] : senshu
|
[URL] :
|
[コメント] : wsnak #173をお使いの方へ(お知らせ)
以前、kawanaさんやkumanさんも#173ボードで「Device connection failed.」が 表示されたとの報告がありました。
その時、「ISP端子に重い負荷があるため」と回答していましたが、許容範囲と思わ れる場合でも認識が出来ない場合があることがわかりました。
原因を追求したところ、抵抗を一本交換することにより改善できることが確認でき ました。
以下のURLにその方法(R12 を100Ωに変更)を書きましたので、参考にしてください。 なお、この抵抗はボードの裏側に実装しているため、容易に交換が可能です。
http://www-ice.yamagata-cit.ac.jp/ken/senshu/sitedev/index.php?AVR%2Fwriter_FAQ
お手数をお掛けしますが、不具合を確認した方は、ぜひお試しください。
|
|
2007/8/22 (Wed) 11:04:31
|
[名前] : kuman
|
[URL] :
|
[コメント] : ご連絡ありがとうございます。
早速、交換しました。 I2Cの実験でMOSIがバスと兼用になっていて、バスの状態によっては使えなかったものが、安定して使えるようになりました。
|
|
2007/8/22 (Wed) 16:12:01
|
[名前] : senshu
|
[URL] :
|
[コメント] : 改善が見られたとの報告をありがとうございます。
しかし、この抵抗値はkumanさんの回路図にもある値なのですが、kumanさんの 製作したものではこの手の不具合は生じなかったのでしょうか。
ちょっと気になるところです。(実は、先ほど確認したのですが、私の試作回路 では、4本とも220Ωにしていました。)
この辺は、手持ちの関係でそうしたのですが、1kΩでは大きすぎる印象です。 この抵抗だけが1kΩなのには、何か深い理由があるのでしょうか。
|
|
2007/8/22 (Wed) 18:03:01
|
[名前] : kuman
|
[URL] :
|
[コメント] : senshuさんへ
私の回路、勿論ChaNさんの回路そのままですが、いずれもISPコネクタのMISOに1kが付いています。そして、このMISOはライタの入力回路です。IOの入力インピーダンスが高いので1kは障害にならないと思います。
一方、MOSI端子は出力ですからインピーダンスが低い必要があります。ChaNさんの回路はどれも150Ωになっています。
#173はファームの書き換えの便宜上IOを変更したと聞いていますので、IOは変更したのに、抵抗値は交換していないので支障が出たのではないでしょうか。
元祖AN910もUSBaspも入出力に抵抗がなくダイレクトですから、なくても問題ないのではないでしょうか。
1kは間違ってVccを超える電圧がかかった時の保護用と思っています。
|
|
2007/8/22 (Wed) 18:09:14
|
[名前] : senshu
|
[URL] :
|
[コメント] : kumanさん、了解しました。
ピンの入れ替え時に抵抗を入れ替えなかったことがこの現象を起こしているわけですね。
なお、ChaNさんの回路では全てが150Ωではなかったと思います。
この辺を整理して見たいと思います。
|
|
2007/8/22 (Wed) 21:10:33
|
[名前] : senshu
|
[URL] :
|
[コメント] : 抵抗値の変更について、説明を加えました。
これは、私の回路変更の検討が不十分だったことが原因でした。悪いことに、試作したときに採用した抵抗値では全く問題が起きなかったことから、問題解決が遅れました。
ということで、現在問題を確認していない方も、安定度の向上の為に、抵抗値の変更をお願いいたします。
kumanさん、アドバイスをありがとうござました。
|
|
2007/8/21 (Tue) 19:56:20
|
[名前] : すん
|
[URL] : http://ekousaku.web.fc2.com/
|
[コメント] : AVRのTWI
ATMega168日本語のマニュアルには、マスターの簡単な参考プログラムは載っていますが、スレーブは単なる図と表だけです。スレーブもプログラム例が欲しいところです。
とりあえず、マニュアル、本、その他を参考にスレーブの割り込みによるデータ受信を作りました。コメントも不適切なものを修正しておきました。
|
|
2007/8/20 (Mon) 19:09:54
|
[名前] : kawana
|
[URL] :
|
[コメント] : Kumanさんの温度計(ATmega88)版 温度表示は出来るようになりました。大変参考になりました。良い例題のプログラムと思いました。 USARTの動作不良(受信割り込みが継続する?)が 有りますが、RXCル−チンをmainの 永久ル−プ内に入れれば良いと考えています。
|
|
2007/8/20 (Mon) 18:42:31
|
[名前] : kawana
|
[URL] :
|
[コメント] : I2C 実験基板 I2Cの実験をしようと思い基板を探していたら ATmega168(DIP)の付いた基板が2枚出てきたので これを使用することにした。 4Pヘッダ(GND,Vcc、SCL、DATA)を取り付けた。 マスタ−、スレ−ブとも同じICが良いと考えた。 すんさんのところに、プログラムが有ったので コンパイルして、RUNしてみようと思います。 無事動作したら、プログラム内容を考えます。 こんな横着者だから、プログラムの力は付かないが、
|
|
2007/8/19 (Sun) 21:04:29
|
[名前] : kawana
|
[URL] :
|
[コメント] : 私も、TWIの実験をして見よう I2C未完成基板、LEDTEST基板だけでは、もったいない ので、 kumanさんの成功事例が有れば、私にも出来ると思います。kumanさんの記事は、良い参考書です。
|
|
2007/8/19 (Sun) 23:00:33
|
[名前] : kuman
|
[URL] :
|
[コメント] : USIは難解ですが、TWIは素直な感じで、説明も丁寧ですからわかりやすかったと思います。
是非挑戦してください。
|
|
2007/8/19 (Sun) 23:43:09
|
[名前] : すん
|
[URL] :
|
[コメント] : TINYのAVRはTWIがないのですね。 先ほどようやくATMega168のマニュアル(TWIだけ)を印刷してみました。TINY2313と比べて見ることにします。 それから、WSN172基板が2枚あるのでTWIの実験をしてみようと思って2枚のSCLとSDA同士をつないでみました。プルアップは3.3KでVCCにつないでみました。
|
|
2007/8/20 (Mon) 01:11:43
|
[名前] : senshu
|
[URL] :
|
[コメント] : USIの解説は難解、というよりも何回読んでも理解できません。
どうも、すんさんと話が噛み合わないと思っていたら、TWIに対するTiny2313の位置付けで誤解があったようですね。
USIでTWIと同等の動作をさせるのは結構しんどいです。
USIでUARTの代替をさせるもの面倒で、全部ソフトで書いても余り違いがありませんでした。USIは何のためになるの?と思っていたほどです。
きっと便利な使い方があるのだとは思いますが、今まで効果的な応用を知りません。
どなたかご存知ありませんか?(笑)
|
|
2007/8/20 (Mon) 02:27:06
|
[名前] : kuman
|
[URL] :
|
[コメント] : すんさんへ
>WSN172基板が2枚あるのでTWIの実験をしてみようと思って2枚のSCLとSDA同士をつないでみました
2枚の内どちらかをマスタに、他方をスレーブとしてプログラムすれば通信できると思います。
TWIの説明から、双方のプログラムをしてみてください。 途中経過を調べるために適当にLEDを配置して、デバグに使うと便利かと思います。
|
|
2007/8/20 (Mon) 12:31:11
|
[名前] : senshu
|
[URL] :
|
[コメント] : #172には、SCL, SDAは配線用のパッドが用意されています。
VIDEO/SOUND 用のコネクタには +5V, GND が配線されていますので、R14, R13, R15 を実装せずにジャンパー線で配線すれば、パターンカットなしでI2Cの実験が可能になると思います。
PC3, 4, 5 のビアは、こうした実験用に準備しておいたものです。ご活用ください。
|
|
2007/8/20 (Mon) 13:51:55
|
[名前] : すん
|
[URL] :
|
[コメント] : WSN#172のPC4,PC5はsenshuさんの言われるとおり線が簡単に引き出せたので楽でした。マスター、スレーブともにC言語で作ってみました。スレーブはほとんどAVRリファレンスブックと同じですが、マスターは汎用的に作ってみました。スレーブは他の処理をする必要があるので、割り込み駆動がベストでしょうね。kumanさんの言われるようにLEDを付けて動作確認をしています。インクリメントデータを比較チェックしているので、用意ドンで開始できるように、基板上のスイッチをリセット端子につなぎました。
|
|
2007/8/19 (Sun) 20:54:55
|
[名前] : kawana
|
[URL] :
|
[コメント] : MPLAB 7.52 インスト−ル出来たけど起動画面出ない? トラ技9月号を買い、出来るところまで組み立て MPLAB 7.52 インスト−ルしたが、起動画面出るが 途中で消えてしまう。何が悪いのかな? Win2kでは、OK、WinXPではダメなのですが?
|
|
2007/8/19 (Sun) 21:50:49
|
[名前] : ぼのぐらし
|
[URL] :
|
[コメント] : ↓ここの3番では。
http://www.cqpub.co.jp/toragi/contents/dsPICFAQ/faqdsPIC.htm
|
|
2007/8/20 (Mon) 09:01:00
|
[名前] : kawana
|
[URL] :
|
[コメント] : ぼのぐらしさんありがとう。 問題解決しました。
|
|
2007/8/19 (Sun) 20:28:57
|
[名前] : kawana
|
[URL] :
|
[コメント] : No.172 ATmega88/AVRライタ接続TEST 新潟へ遊びに行っていたため中止していた 上記基板を完成させた。 ZD無しで、接続TESTした。下記PCで全て、一発で ドライバ−インスト−ル出来、avrspx -pu:0000 -r で、チップ情報読めました。 DeskTop WinXP AMD 3200+ 2GHz OK Win2k AMD 3200+ 2GHz OK Win2k Intel P4 1.8GHz OK Note WinXP AMD 1700+ 1.46GHz OK ------------------------------------ TVgame回路が基板に含むため、基板が空いている感じ 問題無く組み立てられた。 No.173で製作の6Pケ−ブルが使用出来た。
|
|
2007/8/20 (Mon) 07:53:13
|
[名前] : senshu
|
[URL] :
|
[コメント] : kawanaさん、レポートをありがとうございます。
大変申し訳ありませんが、
・PCのチップセット名 ・確認したターゲットの詳細(VCC電圧、AVRチップ名)
を教えていただけませんか?
すんさんの報告にあるような内容で結構です。
よろしくお願いいたします。
|
|
2007/8/20 (Mon) 08:57:53
|
[名前] : kawana
|
[URL] :
|
[コメント] : PC Chipset AND Target Vcc, ATmega? DeskTop WinXP AMD VIA KT800pro/VIA8237 5V ATmega8 Win2k AMD DeskTop Win2k Intel 82865G/82848P(ICH5) 5V ATmeg8 Note WinXP AMD VIA ProSavage 5V ATmega8
|
|
2007/8/20 (Mon) 09:47:02
|
[名前] : kawana
|
[URL] :
|
[コメント] : Target Vcc がLow(3.3V)の時がシビア? 以前に製作したAVRAsp(D-のみ1.5Kでプルアップ) で、notePCで読んで見ましたが正常に読めました。 (Target Vcc 5V) TargetからWriterのVcc貰う、超最近のPCのUSBと 関連しているのでしょうか?
|
|
2007/8/20 (Mon) 10:28:34
|
[名前] : senshu
|
[URL] :
|
[コメント] : kawanaさん、チップセットの報告をありがとうございます。
結果からすると、ZD1, ZD2 の実装無しでも問題なく使えてているようですね。
今までの結果からすると、AMD向けのチップセットを採用したPCでは問題が少なく、440BXのような枯れたものも大丈夫なようです。
最近のINTEL製のチップセットでは認識しない問題が起きています。この辺の設計が変更された為だと思います。
なお、USBから電源を取る方式では、ターゲット電圧は+5V固定になります。誤ってターゲットに電源を供給しないように注意してください。
|
|
2007/8/20 (Mon) 17:59:24
|
[名前] : senshu
|
[URL] :
|
[コメント] : kawanaさんへ
レポートを転載しました。
http://www-ice.yamagata-cit.ac.jp/ken/senshu/sitedev/index.php?AVR%2Freports
をご覧になり、誤りがあればコメントに書き込んでください。
コメントに書き込んでいただければ、本文を私が修正します。
|
|
2007/8/16 (Thu) 22:41:01
|
[名前] : kuman
|
[URL] :
|
[コメント] : TWI通信
mega48を2個つないで、TWI専用機能を使って通信してみました。tiny2313にはフルセットのTWIがないのでmega48です。
マスタから、スレーブのポートDに接続したLEDを点滅するものです。理屈通りに行かなくてかなり悩みましたが、(ごまかしもありますが)通信できました。
まとめるのに時間がかかりますがいずれ報告しましょう。(データシート(日本語)は難解です)
|
|
2007/8/19 (Sun) 15:57:30
|
[名前] : すん
|
[URL] :
|
[コメント] : I2CですがAVRはすべてファームで処理する必要があるみたいです。一部のPICはI2Cのハード処理ができるので、マスター/スレーブともに比較的楽なようです。 AVRでI2Cスレーブをファーム処理して動かすことができれば、すごいことだと思います。是非がんばってください。
|
|
2007/8/19 (Sun) 17:31:00
|
[名前] : senshu
|
[URL] :
|
[コメント] : TWIとI2C
すんさんの書き込みでは、AVRがI2Cに対する処理がサポートされていないように読めますが、TWIはI2Cそのものです。特許問題を避けるため、I2Cとは呼ばずにTWIと称していたはずです。
エントリーAVRにはTWIのサポートが不十分で、ソフトウェアの支援が必要なため、このような感想を持ったのだと思います。
megaシリーズであれば、最近のPICと変わらないレベルのハードウェアを有しているはずですが、I2Cを活用した例の提示が見あたらないために、使い方が良く理解されていないのだと思います。
複数の装置間の通信のデバッグは非常に手間です。どちらが正常な動作をしているかがハッキリしないため、単一の装置の数倍の手間が必要になると思います。
私は、この部分を軽減できるのではと考えて wsnak #176 のボードをお送りしたのですが、悩みを増すだけで、あまり役立てなかった点が残念なところです。
時間を見て、教材に利用できるI2C動作確認環境を整えて見たいと思います。
|
|
2007/8/19 (Sun) 18:50:14
|
[名前] : kuman
|
[URL] :
|
[コメント] : TWI通信
TWIとI2Cは同じものだと思います。同じ規格の信号を2本のバスに乗せるわけですから、どちらで送信されてもどちらで受信されても同じ結果になるはずです。
AVRのTWIハード機能を使った実験をしてみました。 http://www.geocities.jp/kuman2600/n15i2c.html#05 レジスタにデータをセットしレジスタに動作コードを書くとデータが送られます。進行状態はレジスタを読めばわかります。レジスタに受信コードを書いて、データレジスタを読めば受信できます。
PICと違うのは、関数やマクロになっていないという点かもしれません。間もなくgccにも取り入れられるのではないでしょうか。
|
|
2007/8/19 (Sun) 19:01:09
|
[名前] : すん
|
[URL] :
|
[コメント] : I2CとTWIが同じなのは皆さん知っていると思います。 後述の本によるとPICのファームはそれほど複雑にならないという感想です。PICのI2CのほうがAVRのTWIよりインテリジェントなのかもという感じがします。
PICも使っているwsnakさんがAVRのTWIに取り組まれているようなので、その結果を見守りたいと思います。wsnakさん著書の「マイコンの1線2線3線インターフェース活用入門」の続編でAVRも登場するといいなと思っている次第です。
|
|
2007/8/19 (Sun) 19:21:17
|
[名前] : すん
|
[URL] :
|
[コメント] : wsnakさんのサイトにPICとAVRのI2Cの機能について感想がかかれていました↓ https://www3.t-agency.net/%7ewsnak/kit/179/sample/index.html
|
|
2007/8/19 (Sun) 20:43:46
|
[名前] : kuman
|
[URL] :
|
[コメント] : USIとTWI
USIと比較しないで、TWIと比べて欲しい旨をメールしました。
確かにtiny2313にはTWIはありませんが。
|
|
2007/8/19 (Sun) 21:58:19
|
[名前] : ぼのぐらし
|
[URL] :
|
[コメント] : USI
これもハードウェア構成なのだけれど、より汎用的なんですね。 いろいろなメーカーの個性がこういう所に出てくるわけですね。
|
|
2007/8/14 (Tue) 20:11:42
|
[名前] : すん
|
[URL] :
|
[コメント] : AVRでグラフと文字表示やってみました。 製作記事の更新は後日ですが、とりあえず使えそうなの見てやってください。基板は以前書いた製作記事のものです。
http://www.style-21.jp/bbs/ekousaku/index.html
|
|
2007/8/15 (Wed) 21:31:34
|
[名前] : senshu
|
[URL] :
|
[コメント] : なかなか面白い表示です。
シリアル通信からの任意のメッセージが表示できれば、それだけでかなり実用的な用途が考えられます。
TV画面を使った時計や温度計は即実現できますね。
wsnak #172ボードへの移植例の紹介も楽しみにしています。
|
|
2007/8/14 (Tue) 10:00:35
|
[名前] : kuman
|
[URL] :
|
[コメント] : I2Cサンプルソースtest5のテスト…残念! NG
ブレッドボードにtiny2313をセットして、 私のデバイスアドレス下三桁は0b111ですから、ソースの0x40を0x4eに変更してアセンブルしました。(変更前のものもアセンブルしてアセンブラを確認済み)
クロックが不明なのでとりあえず1MHzで書き込みました。
LEDは点灯しません(アクティブH?L? どちらも試して)。
オシロ(低機能)で SDA,SCLのクロックは確認できました。 変化が遅いので8MHzにしましたがI2Cのクロックは速くなりましたが#176は動きません。 立ち上がりのディレイを考えて、2313リセットのまま電源ON、時間をおいて2313リセット解除でも同じ。
どうしてだろう?
|
|
2007/8/14 (Tue) 12:04:15
|
[名前] : senshu
|
[URL] :
|
[コメント] : (6)のプログラムはどうですか?
#176では、kumanさんのところでは不具合があるようですが、(6)の例はどうでしょうか。
基本的な動作を確認しておく必要があると思います。176ボード以外ではUSIを使ったプログラムが機能するのかを確認してみてください。
|
|
2007/8/15 (Wed) 08:41:24
|
[名前] : senshu
|
[URL] :
|
[コメント] : BASCOM-AVRでは、I2Cをサポートしています。
AVRでI2Cの記述が難しいのは、ハードウェアを直に操作する必要があるからだと思います。真の理解にはこれは避けられませんが、I2Cを評価する段階では厳しいものがあります。
kumanさんが以前紹介していた、BASCOM-AVRの最近の版では4kB(2kW)までのコードが生成できるようです。I2Cの簡単な応用なら、これで評価できそうです。
I2C関数も揃っているようですから、これで試して見ませんか?
|
|
2007/8/16 (Thu) 16:02:06
|
[名前] : すん
|
[URL] :
|
[コメント] : 横レスですみません。 wsnakさんが実験した水晶周波数や電源電圧と同じなんでしょうか。きれいな電源でないとだめだとか・・・ソフトが同じなら、もうアナログの違いだけですか。うまくいった波形をオシロでみたいものですね。
|
|
2007/8/16 (Thu) 17:56:23
|
[名前] : senshu
|
[URL] :
|
[コメント] : wsnakさんの回路はキットの構成から判断すると、ATtiny2313 10MHz となっています。
動作を確認にしたロジアナの観測波形が示されています。
可能なら、この条件で試してみてください。
|
|
2007/8/17 (Fri) 19:28:33
|
[名前] : kuman
|
[URL] :
|
[コメント] : I2C
基準になるデバイスを持っていませんのでその他の条件を実験できません。 TWIが少し動きそうなのでぼつぼつ進め得て参ります。
|
|
2007/8/13 (Mon) 20:27:15
|
[名前] : senshu
|
[URL] :
|
[コメント] : wsnakさんのサイトでAVR用I2Cサンプルソースが公開
AVR用のアセンブリ言語で記述されたサンプルソースが公開されています。
本日、数種のI2C関連のソースが公開されました。近日中に?C言語版も公開を予定しているそうです。
最近AVRを始めたとの事ですが、さすがです。
|
|
2007/8/12 (Sun) 18:01:55
|
[名前] : すん
|
[URL] :
|
[コメント] : WSN#172 まとめ
初期の回路図(ZD1,ZD2は実装しない)によって組み立てたWSN#172において私のデスクトップPCとノートPCではUSBデバイスとして認識しない現象が起きました。
この問題をkumanさんの掲示板に書き込んだところ、senshuさんからZD1,ZD2に3.6Vのツェナーダイオードを実装することで解決できるとアドバイスがありました。 後日、ZD1,ZD2は標準で実装するようにsenshuさんのサイト、WSNAKさんのサイトで修正されました。
基板にZD1,ZD2を実装してからVCC可変したときのUSB認識電圧の実験結果を以下に示します。
1.Desktop PC 機種 : 自作 マザーボード intel DP35DPM CPU : Core2Duo 2.4GHz USBホストコントローラ:ICH9 OS : WindowsXP SP2
★USB認識VCC範囲 2.8V〜5.5V
2.ノートPC 機種 : Panasonic LetsNote W4 CPU : intel Pentium M 1.2GHz USBホストコントローラ:82801FB/FBM OS : WindowsXP SP2
★USB認識VCC範囲 2.8V〜5.5V
|
|
2007/8/12 (Sun) 18:02:27
|
[名前] : すん
|
[URL] :
|
[コメント] : (続き)
以上、ZD1,ZD2を実装することによりVCCのフル範囲でUSB認識するようになりました。アドバイスありがとうございました。
シリアル通信の難しさ
今回の件で、プルアップ(プルダウン)抵抗や波形の形(クロスオーバー電圧?)が重要であるらしい ことがわかりました。FPGAのダウンロードケーブルを作ったときも、コンデンサを外して波形を調整したことがあります。I2Cや他の高速シリアル通信もきっとそうなのだと思います。 なかなか難しいですね。
|
|
2007/8/12 (Sun) 17:29:24
|
[名前] : kuman
|
[URL] :
|
[コメント] : ソフトウエアI2C
#176エキスパンダはまだ動きませんが、自作のすべてソフト実験は初期の目的が果たせました。
五里霧中で試行錯誤の連続の中、一つ光が見えた感じです。お暇なときに見てください。
http://www.geocities.jp/kuman2600/n15i2c.html
|
|
2007/8/12 (Sun) 18:20:23
|
[名前] : ぼのぐらし
|
[URL] :
|
[コメント] : 双方向と複数スレーブ
記事、読みました。 私も同様の実験をしたくなりました。
|
|
2007/8/12 (Sun) 18:21:09
|
[名前] : すん
|
[URL] :
|
[コメント] : 新しい記事を拝見しました。いろいろ細かく実験されていてすばらしいものだと思いました。I2Cはソフトとハード両面でうまくいかないと動かないらしいので、なかなか私も手が出せません。これからもI2Cの挑戦をお願いします。
|
|
2007/8/11 (Sat) 16:50:52
|
[名前] : senshu
|
[URL] :
|
[コメント] : wsnak #173基板をお持ちの方へ(お願い)
TADさんのでんし研のWebページでSPIブリッジ&AVRISPの二つをサポートする デュアルライタのプログラムが公開されています。(8/8より)
http://homepage2.nifty.com/denshiken/AVW018.html
8/8に公開されたプログラムを使ってみましたが、AVRISPとして上手く使え ませんでした。SPIブリッジはOKということで、TADさんに問い合わせたとこ ろ、一部のコードの見直しを行った8/11版を公開していただきました。
早速試してみたいのですが、機材が手元に無いために、TADさんに回答できず にいます(ありがたいことに、問い合わせ以降、数回にわたって回答をいた だきました)。
そこで、同様の環境を持っている方に、DUALライタの動作の確認をお願いした いと思います。具合がよければ、今後はこれを使っていきたいと考えています。
・動作を確認したターゲットAVR(動作クロックやAVR名) ・AVRISPの設定
などを書き込んでいただければ幸いです。
よろしくお願いいたします。
|
|
2007/8/15 (Wed) 20:51:31
|
[名前] : senshu
|
[URL] :
|
[コメント] : #173ボードでAVR Studioからの書き込みOK
TADさんの作成されたDUAL(mode)Writerのファームを書き込むことで、SPI ブリッジライタ/AVRISP の両方に使えるAVRライタに出来ます。
8/11公開のものを試しましたが、問題なく使えることが確認できました。AVR studioで使っているときにはAVRISP、コマンドプロンプトからはavrsp(x)で利用するという「理想的」な使い方が可能になります。
ぜひ、このハードウエアをお持ちの方はお試しください。(ソースコードを修正すれば、類似のハードウェアでも利用可能です)
|
|
2007/8/10 (Fri) 07:12:29
|
[名前] : senshu
|
[URL] :
|
[コメント] : wsnak #176ボード用の利用例
wsnakさんのwebサイトで#176ボードの簡単な使用例が紹介されています(というよりもサンプルを紹介して欲しいとお願いしたのですが)。
これを見る限り、非常に簡単に使えるようなのですが、私も時間を見て、動作確認をしたいと思います。
|
|
2007/8/10 (Fri) 07:47:59
|
[名前] : kuman
|
[URL] :
|
[コメント] : #176ボード
サイトを見ましたが、新しい知識は何も得られませんでした。 TWI設定が理解できず、すべてをソフトで同じ関数を作ってみました。 結果として、電源断リセットからwaitを含まずに立ち上げた初回のみ期待どおりの結果が得られました。
完全なAVRの関数(ソフトまたはTWIモジュールによる)を望みます。 マイクロチップ用のCにはこれらの関数があるようにも思うのですが。
なお、「#146のアドレスはジャンパJP1〜JP3をすべてショートして0x20に設定しているものとします。この場合、コントロール・バイト(R/W = W)の値は0x40となります。」とありますが、なぜ20が40になるのか不明です。もともと0x40のはずですが。
|
|
2007/8/10 (Fri) 11:13:31
|
[名前] : senshu
|
[URL] :
|
[コメント] : 中尾さんが書かれた本には、以下の記述があります。
P109 column 7-2
スレーブアドレスを設定する場合、7ビットのアドレスを「左詰」で設定しなければなりません。
つまり、0x20 のアドレスなら、0x40を設定する必要がある、ということです。
|
|
2007/8/10 (Fri) 12:34:02
|
[名前] : kuman
|
[URL] :
|
[コメント] : 7ビットアドレス
了解しました。7ビットの0x20だったのですね。 自分勝手に、8ビットでLSBがW=0、R=1と読み替えていたのが誤解の元でした。(でもこの方が覚えやすい)
↑のプログラムが成功しなかったのは、関数の中の小さなタイミングが合っていないためかもしれません。 五里霧中のつらさです。
|
|
2007/8/10 (Fri) 13:12:54
|
[名前] : すん
|
[URL] :
|
[コメント] : IOエクスパンダの基板は買ってませんが、NAKさんのサイト(senshuさんのサイト?)にコンパイルすれば動くレベルのものがあるといいですね。PICとAVRとH8?3種類くらい。
NAKさんの本ではPICとH8なので、NAKさんはAVRはあまりやっていないのかもしれませんが。。。
|
|
2007/8/10 (Fri) 13:28:58
|
[名前] : senshu
|
[URL] :
|
[コメント] : #176用のサンプルソース(AVR用)
確かに、すぐ評価できるものがあれば良いのですが、現在のところ時間が取れません。
H8とPIC用のソースは公開されています。内容を見ると、ほぼ同じアルゴリズムです。I2Cの関数も独自に中尾さんが書いていますから、AVRへの移植も可能だとは思います。
どなたかに取り組んでいただければと思いますが、、、。
少ピンマイコン(AVRを含む)の制約はI/Oピンの数とメモリだと思います。その内の一つが解決できるのは大きな魅力に見えるのですが、産みの苦しみもあるようです。
|
|
2007/8/10 (Fri) 13:31:42
|
[名前] : すん
|
[URL] :
|
[コメント] : ↑訂正 Nakさんの基板を使ったとしても趣味の世界なので、ユーザー同士がサンプルソースを公開できる場所があるといいですね。
|
|
2007/8/10 (Fri) 14:12:00
|
[名前] : ぼのぐらし
|
[URL] :
|
[コメント] : 手っ取り早くは、以下の本にTWIのマスタ、スレーブ サンプルプログラムがあります。
AVRマイコン・リファレンス・ブック 山根 彰 著(CQ)
|
|
2007/8/10 (Fri) 15:28:45
|
[名前] : senshu
|
[URL] :
|
[コメント] : この本は私も持っています。
「AVRISPは低価格なので書込み器を作るのは無駄であると思う」といったやや過激な表現が話題になりましたね。
http://www.cqpub.co.jp/shoseki/mycomputer/avr010/
↑からサンプルソースが入手できます。ソースコードの日付をみると2006-03-07ですから、本の出版と同時に公開されてもののようです。
ただし、ICC-AVRようですから、avr-gcc で動作させるには修正が必要になると思います。
誰でもダウンロード可能ですから参考にすることは可能ですね。
|
|
2007/8/10 (Fri) 20:10:35
|
[名前] : ぼのぐらし
|
[URL] :
|
[コメント] : 私も注文してみました
Z80と8255の実験を思い出した。
|
|
2007/8/10 (Fri) 20:49:50
|
[名前] : すん
|
[URL] :
|
[コメント] : 本のソースファイルは、ほんの少しの修正でWinAVRでコンパイルできました。Master-Slaveで通信できると面白いですね。
|
|
2007/8/9 (Thu) 16:22:33
|
[名前] : すん
|
[URL] :
|
[コメント] : どうしようか
明日はトラ技9月号の発売日(もう売ってる?)ですが、いまいち8月号付録のdsPIC30が完全なDSPでないという点で納得できません。dsPIC33だったらよかったのにと思います。9月号は8月号付録基板の拡張基板が付いてくるので、dsPIC33でも使えるのなら欲しいですね。dsPIC33はDIPじゃないので自作基板じゃ無理かな。
|
|
2007/8/9 (Thu) 16:35:21
|
[名前] : すん
|
[URL] :
|
[コメント] : ↑補足 dsPIC30が完全なDSPでないと言ったのはメモリが少なくDMAがない点だけです。(念のため)
DMAはすばらしい機能で、MPUの介在無しにメモリ間転送や、メモリー/ポート間転送ができるはずです。今研究しているTV表示にもってこいなのですが。。。
|
|
2007/8/9 (Thu) 17:52:30
|
[名前] : ぼのぐらし
|
[URL] :
|
[コメント] : ピン数が全然違うから、お値段も、、 ちょっと流用は無理でしょう。 私は、まだ、16F,18Fで満足していますので、 dsPICは覗く程度で十分です。
>dsPIC33でも使えるのなら欲しいですね。dsPIC33はDIPじゃないので自作基板じゃ無理かな。
|
|
2007/8/8 (Wed) 21:39:31
|
[名前] : kawana
|
[URL] :
|
[コメント] : クロネコヤマト メール便 8/6発送だけど8/8未到着だつた。混んでるからか? 8/9には、着いて欲しいな。
|
|
2007/8/10 (Fri) 20:29:16
|
[名前] : senshu
|
[URL] :
|
[コメント] : 基板は到着しましたか?
8/6発送ですから、さすがに8/10には到着したと思うのですが、いかがですか?
私の周りにある基板(約40枚)は、全て動作(ライタ、あるいはゲーム)しますので、丁寧に作ればOKだと思います。
そうそう、ZD1,ZD2 の関係の確認もよろしくお願いいたします。
|
|
2007/8/8 (Wed) 20:05:08
|
[名前] : senshu
|
[URL] :
|
[コメント] : avrsp、avrpp のワイルドカード文字の扱い
私がmakeした avrsp.exe では、avrsp *.hexのようにワイルドカード文字で ファイル指定できます。これは、EEPROM など(長いファイル名が多い)の ファイルを指定するときに極めて便利に利用できます。
はじめはChaN氏のオリジナルもそうなっていると思っていましたが、違ったようです。
コマンド行を利用しない方には無縁かもしれませんが、皆さんは、どう思われますか?
|
|
2007/8/8 (Wed) 17:00:56
|
[名前] : すん
|
[URL] :
|
[コメント] : ZD3.6Vが届いたのでWSN#172でPCが認識した電圧を測定しました。VCCを可変しています。
PC:Desktop PC intel DP35DPM , Core2Duo 2.4GHz , WindowsXP SP2
@D- USB 5VからZD3.6Vで降圧したものに1.5Kでpullup 2.8V-4.95V
AD- 2回路図どおり2.2KでVCCへpullup、3.9KでGNDへpulldown 2.8V-5.5V
ノートPCは測定してません。週末にでも測定したいとおもいます。
|
|
2007/8/8 (Wed) 17:33:01
|
[名前] : senshu
|
[URL] :
|
[コメント] : お手数をお掛けしました
当初から回路図にあった部品ですが、説明が不十分だったために ご迷惑をおかけしました。
wsnakさんに、「USBaspとして使う場合には、ZD1, ZD2の実装する」 の一文を追加してもらうようにお願いしてみます。
kkkさんと小山先生のやり取りから、このダイオードの必要性は理解 していたつもりですが、私の使っているパソコンでは問題が起きな かったことから、「省略も可」的な扱いになっていました。
現在の報告の結果なら、実際に使える(動作可能範囲も含めて)ライタ になっていると思います。
感想なども書いていただけると幸いです。
|
|
2007/8/8 (Wed) 20:59:57
|
[名前] : すん
|
[URL] :
|
[コメント] : WSN#172感想 ひさしぶりに、avrspx.exeのコマンドラインによる書き込みをおこなってみました。 デフォルトのパラメータで書き込めたので簡単でした。 本当はターゲットに水晶が実装してなく、ヒューズビットが外部水晶になっていたので、#172のバスパワーと水晶を利用のため、AVRを一旦#172に載せて、別のライターでヒューズビットを変更しました。最初バスパワーはない方がいいのではと考えていましたが、あるとスタンドアローン動作のとき便利ですね。
senshuさんのサポート範囲ではないですが、#172でCDC-IOの動作も確認しています。 USBaspとして、またUSBスタンドアローン基板としても使っていきたいと考えています。
|
|
2007/8/8 (Wed) 21:06:50
|
[名前] : すん
|
[URL] :
|
[コメント] : senshuさんへ
追伸 良い基板をありがとうございます。 サポートもしていただき感謝しています。 それと、#172のTVゲームにする基板がもう1枚残っているので次回もよろしくお願いします。
|
|
2007/8/8 (Wed) 22:12:18
|
[名前] : kuman
|
[URL] :
|
[コメント] : お礼を。
レポートをありがとうございました。 これで、ツェナーDiを実装すればコンピュータに関係なく稼働することが実証されたと思います。
多くの方の協力で新知見を得ることができました。
|
|
2007/8/9 (Thu) 00:36:03
|
[名前] : すん
|
[URL] :
|
[コメント] : kumanさんにもいろいろ教えてもらったりありがとうございました。USBaspが普及するといいですね。
|
|
2007/8/9 (Thu) 11:02:17
|
[名前] : senshu
|
[URL] :
|
[コメント] : 感想(導入経過?)の転載しても良いですか?
すんさんの#172ボードに関する経過と感想をまとめたものを私のWebサイトに掲載しても良いでしょうか。
中々の力作?ですから、後に続く人に参考になると思います。kawanaさんも沢山のPCをお持ちのようですから、USBに関する動作の違いも含め、整理できれば、と考えています。
|
|
2007/8/9 (Thu) 11:15:01
|
[名前] : senshu
|
[URL] :
|
[コメント] : wsnakさんのページも修正が行われました
#172ボードのツェナーDiの記述が省略可能から、実装することに変更されました。多くのPCでは省略しても動作すると考えていますが、この方が間違いがありません。
なお、利用者の感想を書き込むページも用意しておりますので、すんさんに書き込んでもらえるとありがたいです。
|
|
2007/8/9 (Thu) 14:11:48
|
[名前] : すん
|
[URL] :
|
[コメント] : senshuさんへ 私は転載OKです。たぶんkawanaさんがリポートされると思われる結果と合わせて転載されてもいいですね。私もZD実装でのノートPCの実験を週末にやる予定です。
それと、感想をsenshuさんのサイトに投稿しました。
|
|
|