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

   2008/11/16 (Sun) 18:03:37
[名前] :   
[URL] :   
[コメント] :   初めて書き込みします。
よろしくお願いします。
コメントの仕方がよく分からないので、申し訳ありません。
Kentsさん
最初に書かれたプログラムで間違いありません。

Config Portb = Output
Ocr1a = 100
Ocr1c = 200
Tccr1 = &B01111000

ATtiny45のTIMER1はPWM動作をしました。
ATtiny45は買ってきた物そのままでヒューズビットは何もいじっていません。
PB1にLEDを繋ぎ、オシロで波形を確認しました。
周期は約26ms、デューティは50%、つまり0NOFFそれぞれ13msです。
LEDの点滅は目視できません。
つまりただ点灯しているだけです。
1/512に分周比を下げるとはっきりと目視で点滅を確認出来ました。
BASCOM-AVRのバージョンは1.11.9.2です。
BASCOM-AVRの設定とバージョンを再度確認してみてください。
   2008/11/15 (Sat) 03:21:26
[名前] :   uidit
[URL] :   
[コメント] :   <compat/deprecated.h>

の情報は、だれが書くの?

kumanさん
tntnさん
だれかさん
   2008/11/15 (Sat) 02:22:10
[名前] :   tntn
[URL] :   
[コメント] :   <compat/deprecated.h>

kuman さんのページには上の説明の記述がありますか?
あればいいのですが、(kumanさんのページのすみっこは、まだ見ていません)
なければim さんのページにupできれば、うれしくなる人もいるかもしれません。
sbi などが定義されていて、古いコードをコンパイルするのに便利です。
なお BV は定義されていません。
   2008/11/15 (Sat) 12:44:24
[名前] :   kuman
[URL] :   
[コメント] :   書いていません。

変更は理由があろうと考えて、新しい方式に書き直すことにしています。(あまりすることはないのですが)

確かに古いソースはコンパイルできないのですが、とくに不便は感じませんので、今後とも言及することはないと思います。
   2008/11/15 (Sat) 15:42:42
[名前] :   すん
[URL] :   
[コメント] :   新しいバージョンのコンパイラで古いソースをコンパイルしてもうまく製作者の意図したものにならないことがあるようです。エラーがなくてもです。

そういうときは、製作者と同じバージョンでコンパイルするのがよさそうです。
   2008/11/16 (Sun) 07:13:53
[名前] :   kawana
[URL] :   
[コメント] :   tntnさんへ(表現方法?)
今、すんさんサイトで表現をめぐって、議論して
問題を作ってしまったと考えているところですが
tntnさんの文書をよんで、私は、少し表現を変えたら
と思いました。
この件に関して記述して下さいとか、
この件が見当たらないのですが
自分の意思で文書を書けばよく(皆が読んで役立つでしょうは、不必要と考えます。)
BVの件は、プログラムの所に、綺麗にまとめられています。目に留まらなかったですか?
   2008/11/16 (Sun) 07:25:40
[名前] :   kawana
[URL] :   
[コメント] :   <compat/deprecated.h>
タイトル不適切と思います。
私でしたら、こう書きます。
compatについて調べてみました。
先日、Compatについて、研究してみました。
これこれの点で、良い印象を受けました。
kumanさんも研究してみてください。とか
書きます。kumanさんが、書く、書かないは、
kumanさんの考えによるでしょう。
   2008/11/16 (Sun) 13:19:02
[名前] :   kuman
[URL] :   
[コメント] :   訂正

少しだけ書いていました。(自分では使いません)
→C言語メモ
   2008/11/14 (Fri) 20:04:32
[名前] :   kawana
[URL] :   
[コメント] :   Kentsさんへ
すんさん紹介の
O-FamilyさんのBASCOM-AVRのページ
http://www.ne.jp/asahi/shared/o-family/ElecRoom/AVRMCOM/BASCRefM/HardCont.html が
大変解り易く纏められています。ご一読を。
   2008/11/14 (Fri) 22:27:05
[名前] :   Kents
[URL] :   
[コメント] :   いろいろ調べていただきありがとうござます。
前での「プログラムが動作しない時?」に従い、いろいろやってみます。今のところLEDしか確認手段がないですから、LCDをつなぎ(Tiny45ではだめですが)step by stepしかないですね。
解決しましたら、レスいたします。
   2008/11/15 (Sat) 07:46:40
[名前] :   kawana
[URL] :   
[コメント] :   立下りを検出する74LS123回路
オシロスコ−プが有れば、PB1をプロ−ブすれば状態が
分かります。そこで
こんな検出器は、どうでしょう?(PB1がRESETしていない
事は、想像出来るのだが)
--------------------------------------
∨Triger_IN__74LS123__LED(-Trigerが有ればLED点灯する回路を組む)
ヒゲresetかは、確認できるはず)
   2008/11/15 (Sat) 09:06:53
[名前] :   Kents
[URL] :   
[コメント] :   kawanaさん解決です。
できました。
ATtiny45のTimer1は特殊なので、BASCOMの文法が使えないようです。
と言う記述が すん さん の投稿で、
http://www.style-21.jp/board/form9.cgi?action=quote&resno=558&id=ofamily&quo=597
に載っていました。アセンブラを埋め込めばできると思いためしたらOKでした。
アセンブラはよくわからないので、下記サイトを参考にかきました。
http://code.google.com/p/microdream/wiki/UsingPWM
OCR1A,OCR1C,TCCR1を使ってうごきます。

下記がそのプログラムです。
= ATtiny45.DAT
= 1000000
Config Portb = Output

LDi R16, 50
Out Ocr1a , R16
LDi R16, 100
Out Ocr1c , R16
ldi R16, 0b11111101
Out Tccr1 , R16
Asm
End
   2008/11/15 (Sat) 09:09:28
[名前] :   Kents
[URL] :   
[コメント] :   上記 =”attiny45.dat”
= 10000000
は下記に修正して下さい。
$regfile = ”attiny45.dat”
$crystal = 10000000
   2008/11/15 (Sat) 09:13:03
[名前] :   Kents
[URL] :   
[コメント] :   すみません。$が落ちてしまいました。
下記が正式なプログラムです。

$regfile = ATtiny45.DAT
$crystal = 1000000
Config Portb = Output
$asm
LDi R16, 50
Out Ocr1a , R16
LDi R16, 100
Out Ocr1c , R16
ldi R16, 0b11111101
Out Tccr1 , R16
$end Asm
End
   2008/11/15 (Sat) 09:21:35
[名前] :   kawana
[URL] :   
[コメント] :   問題解やりましたね!
私は、プログラムレベルもたいしたことはないので、直接
ここが悪いとか指示しない事にしています。
それは、プログラムを研究している方の
楽しみ、思考力UPをそぐ結果になるからです。
問題解決、おめでとうございます。これからも、経験を積み重ね、互いにレベルアップして行きましょう。
   2008/11/15 (Sat) 14:13:05
[名前] :   Kents
[URL] :   
[コメント] :   kawanaさんごめんなさい解決ではありませんでした。
LEDが点滅したので、やったとおもったのですが、
プログラムが以前の点滅が入ったものを試していました。
やはりBASCOMではTimer1モードは使えない様です。
そこでアセンブラでやって見た所
一応点滅しました。
下記がその例です。
.include tn45def.inc

LDI R16,0x3F
Out Portb, R16 ;PortBをOUTに設定
LDI R16, 0x07  
Out Ddrb , R16  ;PortBの1番ピンOUTに設定

LDi R16, 0X32
Out Ocr1a , R16 ;比較レジスタAに50をセット
LDi R16, 0X64
Out Ocr1c , R16 ;比較レジスタAに100をセット
ldi R16, 0b01111101
Out Tccr1 , R16 ;分周を256にセット
   2008/11/14 (Fri) 18:23:12
[名前] :   kawana
[URL] :   
[コメント] :   Kentsさんへ
プログラムが動作しない時?
1.処理の論理が違う(処理の順番、処理方法ミス)
2.命令語の使用ミス(自分で理解している内容の相違)
命令をstep by stepで実行し、レジスタ、PORTの内容を確認する。(Debug方法の習得)
   2008/11/14 (Fri) 13:47:25
[名前] :   
[URL] :   
[コメント] :   Kentsさん
BASCOM-AVRでPWMを行う場合「Config Timer0 = Pwm・・・・」の記述をすると思います。日本語でBASCOM-AVRリファレンスを書いているページを参考にされるといいと思います。

O-FamilyさんのBASCOM-AVRのページ
http://www.ne.jp/asahi/shared/o-family/ElecRoom/AVRMCOM/BASCRefM/HardCont.html
   2008/11/14 (Fri) 14:05:04
[名前] :   すん
[URL] :   
[コメント] :   それからBASCOM-AVRはバグも少しだけあるので注意して使ってください。
   2008/11/14 (Fri) 17:42:42
[名前] :   Kents
[URL] :   
[コメント] :   ありがとうございます。Attiny45の例はあるのですが、OCR1A,OCR1A,TCCR1を使った具体的な例がありません。これらレジスターを使ってPWMを出力できないものかと思っています。石の種類によって設定が違う様ですね。
   2008/11/14 (Fri) 20:51:17
[名前] :   すん
[URL] :   
[コメント] :   Kentsさん
Tiny45のTimer1はほかのAVRと違って特殊みたいです。
さらにBASCOM-AVRでは古いTimer記述しかないので、Tiny45ではTimer1のPWMが記述できないようです。

それからTimer1のPWMは比較A,B両方使うモードは無いのでは?Timer0ならA,B両方使うモードあります。
以下で試してみてください。

$regfile = ”attiny45.dat”
$crystal = 10000000
Config Portb = Output
PWM TIMER0 mode7 (高速PWM) output=OC0B pin
Config Timer0 = Pwm, Compare B Pwm = Clear Down, Clear Timer = 1, Prescale = 256
Set Tccr0b.wgm02
Ocr0a = 50-1 周期
OCR0B = 100 比率
End

$は半角、”は半角にしてください
   2008/11/14 (Fri) 21:09:55
[名前] :   すん
[URL] :   
[コメント] :   違った、比較Bでカウンタークリアなので、こうかな。

OCR0A = 50 ’L to H
OCR0B = 100-1 ’H to L

’は半角
   2008/11/14 (Fri) 21:23:42
[名前] :   すん
[URL] :   
[コメント] :   訂正:
Kentsさんの書き込み読みました。Timer1のPWMはOCR1Aで周期設定するみたいですね。Tiny45は面白いです。
   2008/11/14 (Fri) 21:25:00
[名前] :   すん
[URL] :   
[コメント] :   うそです。OCR1Cです。
訂正の訂正なんてかっこ悪い。
   2008/11/14 (Fri) 22:05:47
[名前] :   すん
[URL] :   
[コメント] :   O-FamilyさんがTiny45のTimer1を使ってPWMを実現されていました。もちろんBASCOM-AVRです。

http://www.style-21.jp/board/form9.cgi?action=quote&resno=558&id=ofamily&quo=597

リンクがうまくいかなかったら、先のURLから掲示板を探してください。
   2008/11/15 (Sat) 08:57:42
[名前] :   Kents
[URL] :   
[コメント] :   すん さん
ありがとうございました。
解決です。
現時点でもATtiny45のTimer1は特殊なので、BASCOMの文法が使えないようです。
そこでアセンブラを埋め込み解決しました。

BASCOMと埋め込んだアセンブラの例は上の
2008/11/14 (Fri) 20:04:32
[名前] : kawana
の所にのせます。
   2008/11/15 (Sat) 14:16:06
[名前] :   Kents
[URL] :   
[コメント] :   すみません。やはりTimer1はBASCOでは使えない様です。
そこで、アセンブラでやったら点滅しました。
.include tn45def.inc

LDI R16,0x3F
Out Portb, R16 ;PortBをOUTに設定
LDI R16, 0x07  
Out Ddrb , R16  ;PortBの1番ピンOUTに設定

LDi R16, 0X32
Out Ocr1a , R16 ;比較レジスタAに50をセット
LDi R16, 0X64
Out Ocr1c , R16 ;比較レジスタAに100をセット
ldi R16, 0b01111101
Out Tccr1 , R16 ;分周を256にセット
   2008/11/15 (Sat) 15:36:32
[名前] :   すん
[URL] :   
[コメント] :   kentsさん
アセンブラではできましたか。
O-FamilyさんはTCCR1レジスタとTimer1をBASCOM文法で記述しているので、アセンブラにしなくてもできるのかと思っていました。BASCOMがTimer1のPWMをサポートしてないので、無いものは作るという方針でアセンブラで設定関数を作って呼び出した方がスマートかもしれません。要するにTimer1は直接レジスタ設定するという結論ですね。
   2008/11/15 (Sat) 17:16:13
[名前] :   Kents
[URL] :   
[コメント] :   このアセンブラをBascoに埋め込んでやってもうごきませんでした。
$regfile = ATtiny45.DAT
$crystal = 1000000
$asm
LDI R16,0x3F
Out Portb, R16
LDI R16, 0x07  
LDI R16,0x02
Out DDRB, R16
LDi R16, 0X32
Out Ocr1a , R16
LDi R16, 0X64
Out Ocr1c , R16
ldi R16, 0b01111101
Out Tccr1 , R16
$end Asm
End

BascoではTimer1は動かないという結論にたしました。

Timer0はすんさんの前出のbascoの例で動きました。
= ATtiny45.DAT
= 10000000
Config Portb = Output
Config Timer0 = Pwm , Compare B Pwm = Clear Down , Clear Timer = 1 , Prescale = 1024
Set Tccr0b.wgm02
Ocr0a = 50
Ocr0b = 100
End
   2008/11/15 (Sat) 17:18:35
[名前] :   Kents
[URL] :   
[コメント] :   上記、LDI R16, 0x07は不要です。
   2008/11/14 (Fri) 13:20:08
[名前] :   kawana
[URL] :   
[コメント] :   Kentsさんへ
ノンノさんが、目についての補い説明をしてくれました。 ノンノさんは、目の特性を感応として表現しています。私は、追従と表現しました。
追従と感応は、似ていると思いますが、私は、違う
物としています。日本語にっいても考えて見ると想像力の向上につながると思います。
   2008/11/14 (Fri) 18:04:08
[名前] :   Kents
[URL] :   
[コメント] :   kawanaさん、ノンノさんありがとうございます。
なるほど、目の特性を感応、追従ですか。
感応は、脳が足りない部分を補っているという感じで、追従は運動能力であると理解しています。
さて、ノンノさんのtest5c.asmを見ようとしましたが、NOT FUNDです。
ATtiny45のPWMの例がのているサイトを見つけました。
それらしき例ですが、アセンブラーでかかれているので、よくわかりません。
#http://code.google.com/p/microdream/wiki/UsingPWM#
   2008/11/14 (Fri) 21:52:30
[名前] :   ノンノ
[URL] :   
[コメント] :   網膜には光感知細胞があって、
それぞれのスペクトルを受けると、
内部の何かを消費してイオン?電気信号にて脳に伝えるようです。
この時の電位変化は緩やかなので光が無くなっても、
電位が下がらず暗い方を感知できないようです。

以前LED表面のボールレンズで平行光線になおして、回転体を検出するのをやりましたが、
顕微鏡で赤い丸が一番良い所に来るようにして、接着をしました。

5分くらい見続けていると、突然赤だけ見えなくなり
他の色は見えるので、光視物質が有限であるのを知りまして、その後20分位すると赤も見え始めました。
   2008/11/14 (Fri) 12:49:34
[名前] :   kawana
[URL] :   
[コメント] :   半角文字のTEST
http://www.geocities.jp/kuman2600/n6programmer.html#13
# # //<>’”
   2008/11/14 (Fri) 12:39:27
[名前] :   kawana
[URL] :   
[コメント] :   ノンノさんへ
BASCOMで組んでいるので、ASMの例題提示は、私は、
しないほうが、良いと思います。
   2008/11/14 (Fri) 12:34:57
[名前] :   kawana
[URL] :   
[コメント] :   アクセス制限があるかは確かめられません。
上記意味解りません。
読めないかもしれないなら、読めない時は、連絡下さいとしたほうが良いと思います。
-----------------------------------
ノンノさんのURLでjump出来ない(読めない)事多いのですが、何か設定が不適当(厳しすぎる?)では
ないのでしょうか?
-------------------------------
参照URLもっと短くならないのですか?
   2008/11/14 (Fri) 23:22:41
[名前] :   ノンノ
[URL] :   http://groups.yahoo.co.jp/group/avrfan/
[コメント] :   不正書き込みをされたくないので、書き込みは承認にしてますが、閲覧は自由にしました。

ブリーフケースにASMファイルが一つUPしてあります。
   2008/11/16 (Sun) 06:55:06
[名前] :   kawana
[URL] :   
[コメント] :   閲覧は自由にしました。
今まで閲覧が自由になっていなかったが、今回変更して、自由にした。と言う事ですか?
   2008/11/16 (Sun) 16:24:49
[名前] :   ノンノ
[URL] :   
[コメント] :   ページを作っている側は全部見れちゃうので、
他の方が見れるのかの確認が取れません。
ただ、グループ登録というボタンがあったので、
これで登録をしないと、見れないのかなと判断して探してみると「誰でも公開」が見つかったのでそれに変更しました。
(書き込みは出来ません、登録すれば出来るはずですが)
誰でも見られて、誰でも書き込めるようにすると、パンク炎上などになるのがいやでしていません。
   2008/11/14 (Fri) 05:31:55
[名前] :   kawana
[URL] :   
[コメント] :   ノンノさんへ
下記内容では、のんのさんの意味が伝わらないと思います
ノンノさんのペ−ジ見てくださいとか
ここをこの様に修正してみては?
投稿の前に、一度、読みての立場で読み返す
この様な事をしなければ、のんのさんの技術も読み手に
伝わらないでしょう。再考を望みます。
-----------------------------------
ノンノ
大分前にTiny2313のタイマーPWMのテストをしました。
45とは違うのですが、何かの参考になりますか?
   2008/11/14 (Fri) 11:18:40
[名前] :   ノンノ
[URL] :   http://den-nekonoko.blog.so-net.ne.jp/
[コメント] :   掲載URLを書き込んだつもりなんですが、反映されてませんでした。
何でだろう本文に書いたら駄目なんですね。
   2008/11/14 (Fri) 11:29:41
[名前] :   kawana
[URL] :   
[コメント] :   投稿した文書は、後で読み返してください。
自分で書き込んだスタイルが、反映されていない
事が有ります。
不都合箇所が有ったら、打開策を聞くなりして、理解するよう勤めて下さい。
   2008/11/14 (Fri) 11:35:30
[名前] :   kawana
[URL] :   
[コメント] :   本文に、半角記号文字を使用しているからです。
-------------------------------------------
#http://www.geocities.jp/kuman2600#
上は、OKかな?
   2008/11/14 (Fri) 11:38:04
[名前] :   kawana
[URL] :   
[コメント] :   #http://den-nekonoko.blog.so-net.ne.jp/#
上は、OKかな?
   2008/11/14 (Fri) 11:40:53
[名前] :   kawana
[URL] :   
[コメント] :   下記のように#で半角文字を囲むとOK?
#http://den-nekonoko.blog.so-net.ne.jp/#
   2008/11/14 (Fri) 11:58:31
[名前] :   kuman
[URL] :   
[コメント] :   URLは書けたはずですが。
http://www.geocities.jp/kuman2600/n6programmer.html#13
   2008/11/14 (Fri) 12:10:27
[名前] :   ノンノ
[URL] :   
[コメント] :   済みませんでした。
おそらくURLを書き込むのを忘れたと思われます。
http://file1.grp.yahoofs.jp/v1/sOkcSeh7xCTuipkZGO
_QymXRmxa2_fZgjmSruI7vv7eaAc0jD_8DMQj1piJPzDZPe9PgtZsCxON518q6/test5c.asm
ここにソースを載せました。
アクセス制限があるかは確かめられません。
   2008/11/13 (Thu) 09:54:12
[名前] :   Kents
[URL] :   
[コメント] :   下記PWM出力件
$regfile = ATtiny45.DAT
$crystal = 1000000
です。
   2008/11/13 (Thu) 21:42:14
[名前] :   ノンノ
[URL] :   
[コメント] :   大分前にTiny2313のタイマーPWMのテストをしました。
45とは違うのですが、何かの参考になりますか?
   2008/11/13 (Thu) 22:16:21
[名前] :   Kents
[URL] :   
[コメント] :   早速の書き込みありがとうごさいます。
2313はこの様な感じでしょうか?

Config Timer1=Pwm, Prescale=1024, Compare A Pwm=Clear Down, Pwm=10
Pwm1a = 512

45は、
Ocr1aとOcr1cのカウンターの比較でLow、Hightを出力している様です。あとTccr1 で周期の設定をしてOKだとおもいましたが、だめでした。
他に何かレジスターに設定すべき物があるのでしょうか?たとえばヒューズビットとか
   2008/11/14 (Fri) 06:27:07
[名前] :   kawana
[URL] :   
[コメント] :   内部RC OSCの周波数を下げてみては?
プログラムは、そのままで、1MHz-->100KHzに変更すれば
点滅周期 26x10=260msになるのでは?
   2008/11/13 (Thu) 09:51:12
[名前] :   Kents
[URL] :   
[コメント] :   ATtiny45でPWM出力を出そうと、下記の様にプログラム
しましたが、うまくいきません。どなたかご教授下さい。
= ATtiny45.DAT
= 1000000
Config Portb = Output
Ocr1a = 100
Ocr1c = 200
Tccr1 = &B01111000

内部発振を1Mhzに設定
portbをアウトに設定
Ocr1a = 100 カウント100でhightに設定
Ocr1c = 200 カウント200でlowに設定
分周は128です。
25.6msの周期でLEDが点滅するはずですが、
LEDをportB.1につないでもLEDは点滅しません。
   2008/11/13 (Thu) 17:26:50
[名前] :   kawana
[URL] :   
[コメント] :   内部発振を1MHzに設定が正しいか確認してみては?
内部発振の1MHzを外部ピン出力してみるとか?
   2008/11/13 (Thu) 19:20:32
[名前] :   kawana
[URL] :   
[コメント] :   PORTB1のLED ON_OFF プログラムを作成し動作確認して
から、PWMのTESTに進んだらどうでしょう。
   2008/11/13 (Thu) 19:25:26
[名前] :   kawana
[URL] :   
[コメント] :   使用のプログラムは、BASCOM or AVR_GCC ?
   2008/11/13 (Thu) 22:24:08
[名前] :   Kents
[URL] :   
[コメント] :   >内部発振を1MHzに設定が正しいか確認してみては?
すみません。初心者なもので確認の方法がわかりません。
最初に簡単なプログラムでLEDの点滅を確認しました。
それと使用のプログラムは、BASCOM です。プログラムはこれであっているのでしょうか?
   2008/11/14 (Fri) 03:45:43
[名前] :   kuga
[URL] :   
[コメント] :   >25.6msの周期でLEDが点滅するはずですが、
約40Hzと高速ですが、これだと点滅ではなくちらつき
のように感じると思います。
もっと周波数をおとしてみませんか
   2008/11/14 (Fri) 05:41:19
[名前] :   kawana
[URL] :   
[コメント] :   kugaさん指摘の可能性、大です。
人間の目の追従速度は、早く有りません。
100ms以上と思います。?(100ms以上のON/OFFでないと
点滅を確認できない)
AC 50Hz(20ms)の点灯電球の明滅は、確認出来ない?
   2008/11/14 (Fri) 05:54:15
[名前] :   kawana
[URL] :   
[コメント] :   AC 50Hzの例は、パルス点灯ではないので、この場合と
条件が、違う事思い出しました。
ACの場合、SinWaveのため、OFFしているのは、一瞬かも
知れない、また、波形の負部分(180度-360度)も
点灯可能になっています。
----------------------------------
ON/OFF時間が、どのくらいで明滅確認が出来なくなるか
実験は、有意義と思います。
ON/OFF時間の割合を変えて見るのも、発見が有ると思います。
   2008/11/14 (Fri) 08:44:52
[名前] :   Kents
[URL] :   
[コメント] :   ご指摘ありがとうございます。
下記はbascomの単純なON/OFFの10msの設定です。
これでLEDの点滅を目で確認できます。
10msでの目での確認は無理の様なきがしましたが、
何かの設定が必要なんでしょうか?

$regfile = ATtiny45.DAT
$crystal = 8000000
Config Portb.1 = Output
Do
Set Portb.1
Waitms 10
Reset Portb.1
Waitms 10
Loop
End

あとご指摘の所、の発振を100khzにしましたが、
LEDが点灯するだけです。点滅しません。
   2008/11/14 (Fri) 09:28:25
[名前] :   kuga
[URL] :   
[コメント] :   BASCOM を使用していないので
プロイラム記述面では、正しいのかわからないのですが
>Tccr1 = &B01111000
Tccr1 = &B01111101
で4096分周にして周期を十分遅くして確認したらどうか
と思います。

>$crystal = 1000000
ここは、「この周波数で動け」という指令ではなく
現在このfuse,外部回路は「この周波数にしています」と
BASCOMに教えてる記述ですよね。
   2008/11/14 (Fri) 11:42:25
[名前] :   ノンノ
[URL] :   
[コメント] :   人の目は1MHzくらいでも感応できます。
比率50%のパルスでは70%位の明るさに感じます。
高周波照明装置は100KHzくらいの効率の良いところを使っています。

上げすぎるとLEDの発光量が減ってきます
目の方は波長感応物質を消費して神経刺激に変えますが
一旦出た刺激は収まるのに時間が掛かるので明から暗の反応は遅く、
反対に暗から明の反応は早いので映画が30コマ/秒
でも切れ目が見えずに連続して見えます。
   2008/11/14 (Fri) 18:13:27
[名前] :   Kents
[URL] :   
[コメント] :   kugaさんへ
やはりだめでした。
>現在このfuse,外部回路は「この周波数にしています」と
>BASCOMに教えてる記述ですよね
#http://www.ne.jp/asahi/shared/o-family/ElecRoom/AVRMCOM/BASCRefM/HardCont.html#
上記にATtiny45のタイマーを使った例がでていますが、$crystal = 1000000はやはり「この周波数で動け」という指令の様です。
   2008/11/12 (Wed) 16:50:23
[名前] :   kuman
[URL] :   
[コメント] :   「D+,D-の電圧」

整理して書き直す予定です。
ご迷惑をおかけしました。

 
   2008/11/12 (Wed) 17:34:34
[名前] :   すん
[URL] :   
[コメント] :   消されなくともよかったと思います。宣伝して広めるのは早いと思いますが、AVR-USBの経緯など書いてあってよかったです。クロス電圧の話は重要だと思いました。またNECホストのようにバスが5V信号でも認識するホストが存在するのは事実なので、よそのホストが動かないからと言って間違いだとは思いません。ケースバイケースです。
   2008/11/12 (Wed) 18:08:53
[名前] :   すん
[URL] :   
[コメント] :   リカージョンさんのところで以下の記事を発見。
http://www.recursion.jp/avrcdc/indexj.html

抜粋
=====
USB ラインを5V駆動するとクロスオーバー電圧(1.3〜2.0V)や終端プルアップ電圧(3.0〜3.6V)が規格を超えるので少し下げています。AVR-USB の製作事例で AVR を5Vのまま駆動しているものがありますが、供給クロックが僅かにぶれると同期エラーが多発し認識され難くなります。AVR は 3.6V 以下で駆動し、クロックには水晶発振子を使ってください。
=====

AVR5V駆動では同期マージンが少なくなるという意味ですかね。AVR-USBというソフトウエアUSB固有の話かそうでないのかはわからないですけど。
   2008/11/11 (Tue) 11:03:25
[名前] :   kuman
[URL] :   
[コメント] :   D+,D-の電圧

に関係して、うだうだと書いてみました。
工事中ですが、ご意見があればよろしくお願いします。
http://www.geocities.jp/kuman2600/n6programmer.html#13f
   2008/11/11 (Tue) 17:55:43
[名前] :   すん
[URL] :   
[コメント] :   こんにちは
文章の右端が見えてないので、想像で補いましたが読みました。まとめの意味でいいと思います。

kumanさんのPCはZDを入れなくても認識されたと思いますが、私のPCもNECのPCI-USBボードでも同じくZDをいれなくても、またプルアップ電圧が5Vでも認識します。ところが、intelのマザーの方はZD3.6をいれないと認識しません。ZD3.3がNGなのは以下のサイトにも書いてあります。
wikiサイト
http://avrusb.wikidot.com/hardware

結局intelマザー用にZD3.6を入れるのですが、kumanさんが書かれたようにクロス電圧が2.0V以下か、もしくはデバイスのVOH電圧が3.6V以下というのがインテルのホストコントローラーでは守られているのだと思います。USB2.0規格書だけでは不明部分がでてきてしまったので、ホスト側のOHCI,UHCIの仕様書も見てみたいと思っている次第です。そもそもOHCI,UHCIはUSB1.1の仕様なので細かいところで電圧規格が違うのでしょうか。USB2.0はより規格が厳しくなったそうですが、USB1.1も含まれるはずなので、その辺がどう関係するのかも知りたいです。
   2008/11/11 (Tue) 18:01:51
[名前] :   すん
[URL] :   
[コメント] :   訂正:
「もしくはデバイスのVOH電圧が3.6V以下」を削除。
インテルの方でVOHが4.0VでもOKでした。
   2008/11/11 (Tue) 18:19:27
[名前] :   kuman
[URL] :   
[コメント] :   すんさんへ

すみません。D+/D-の電圧をクリップしても、たとえば3.3V以上の部分が3.3Vになるだけで、それ以下は影響がないためにクロスオーバー電圧は変わらないように思うのですが、どうでしょうか。

ZDを付けたものはレベルコンバータ付きとなっています。最大電圧だけに注目すると確かにそうなのですが、すっきりしません。
   2008/11/11 (Tue) 18:44:17
[名前] :   すん
[URL] :   
[コメント] :   ZDはクリップするだけですね。クロス電圧はかわらないですね。もし変わるとすれば、LOWのときとHIのときは電流の変化があるとか?HIは電流が少ないけども、LOWはデバイスに向かって流れるのでしたっけ。
   2008/11/11 (Tue) 20:19:09
[名前] :   kuga
[URL] :   
[コメント] :   クロス電圧は変化します。
一番大きな負荷のコンデンサ成分がケーブルとして
ここにチャージされる電荷をAVRから75Ωの抵抗を介して
充放電するわけですから、チャージ最大電圧をZDで押さえ込んだ
状態ではクロス電圧は低下します。
   2008/11/11 (Tue) 20:22:15
[名前] :   ぱど
[URL] :   
[コメント] :   >ノンノさん提案のLEDとショットキD逆並列によるリミタが必要

すんさんの掲示板で「LEDとショットキD逆並列によるリミッタ」を提案したのは私のハズですが、
と一応言っておきましょう。提案しただけですけど〜w
   2008/11/11 (Tue) 20:27:48
[名前] :   
[URL] :   
[コメント] :   ZD3.6Vのクリッピングだと2.7V付近まではmA以下のオーダーの電流しか流れないのでクロス電圧はほとんど変化しないような気がします。
   2008/11/11 (Tue) 20:49:46
[名前] :   すん
[URL] :   http://www.style-21.jp/bbs/ekousaku/index.html
[コメント] :   私の掲示板でクロス電圧の変化を写真にしました。
理屈は諸先生がたにおまかせしますが、実験したのでみてやってください。

「ZDありなしのときのクロス電圧の変化」です。
   2008/11/11 (Tue) 22:14:38
[名前] :   ぱど
[URL] :   
[コメント] :   わたしが、すんさんの掲示板に書いた
「VOHが問題になるとき」は
読んでいただいていますでしょうか?
   2008/11/11 (Tue) 23:09:13
[名前] :   kuga
[URL] :   
[コメント] :   読んでいます。
>(3)ではホストやHUBがHを送信するときに、ホストやHUBの電源電圧が3.3Vだと電源に逆流します。最悪ラッチアップの可能性も生じます。
絶対大丈夫とは言い切れないのですが
2.2Kの抵抗を介して5Vから3.3Vですから、電流は1mA以下です。
問題にはならないような気がします。
   2008/11/11 (Tue) 23:49:47
[名前] :   ぱど
[URL] :   
[コメント] :   >2.2Kの抵抗を介して5Vから3.3Vですから、電流は1mA以下です。

http://www.geocities.jp/kuman2600/n6programmer.html#13f
ではそうは書かれていませんし

千秋ゼミのHP
http://www-ice.yamagata-cit.ac.jp/ken/senshu/sitedev/index.php?AVR%2FHIDaspx09
「D−の電圧について」で
>kumanさんが、「D-,D+」信号に関する議論をまとめてくださいました。
http://www.geocities.jp/kuman2600/n6programmer.html#13f
>この件に関して、興味をもたれた方は、ぜひご覧ください。

と総まとめであるように紹介されているのですから、あまりいい加減では困ります。
   2008/11/12 (Wed) 00:29:15
[名前] :   kuga
[URL] :   
[コメント] :   言葉が足りなかったかも知れません。
USBの規格を満たすかという観点からではなく、
HOSTに対し致命的な障害を与えるだろうか?
という点を、私の観点から書きました。
   2008/11/12 (Wed) 01:49:41
[名前] :   kuman
[URL] :   
[コメント] :   >総まとめであるように紹介されているのですから、あまりいい加減では困ります。

「いい加減」にしか理解できなかったことを恥じます。
言葉は修正しましたが、はじめから「私の考えを」と前置きしていました。
十分な力量を持たないとページに書くべきではない、とも考えましたがそうすると全ページを削除しなければならないことになって、悩むところです。

みなさんご存じのとおり電気と無縁の素人のたわごとと受け取っていただけると嬉しいのですが。
   2008/11/12 (Wed) 01:57:44
[名前] :   kuman
[URL] :   
[コメント] :   >ではそうは書かれていませんし

どこが間違っているのか教えてください。
私自身はプルアップの電流よりも、2313の出力が68Ω(82Ω)とホストのドライバの約40Ωを通して逆流することが心配だと感じていました。しかし、24時間5Vとショートしても壊れない、ということだったらラッチアップが起これば通信できないだけに終わると思いました。
   2008/11/12 (Wed) 16:29:47
[名前] :   すん
[URL] :   
[コメント] :   規格書を見ていると負荷容量とかいろいろ細かく規定されているようで、本来バス上に余計な抵抗やらダイオードなんかは入れてはいけないのだと思います。マウスのUSB信号を見ると、ものの見事にきれいな波形です。これをAVR-USBではなんとかAVRにつなげて使うおうという試みなので、規格外だけどもなんとか使えるようにしようということだと思います。規格に合ってないから、ああしてはいけない、こうしてはいけないという制限はアマチュア仕様では無いと思っています。

誰かが発表したことに、納得するかしないかは読み手次第なので(技術屋どうしでは、大抵が納得できない?)、自分とはここが違うというような意見がいいと思います。あと完結してない話題を広める行為は時期尚早だとは思います。
   2008/11/11 (Tue) 04:32:35
[名前] :   kawana
[URL] :   
[コメント] :   羹に懲りて膾を吹く、
捲土重来、
始めて目にする言葉なので、IMEで調べ、勉強させて
頂きました。
ありがとうございます。
   2008/11/11 (Tue) 11:01:27
[名前] :   kuman
[URL] :   
[コメント] :   コンピュータだから、

こんな漢字が書ける…
   2008/11/12 (Wed) 12:35:14
[名前] :   senshu
[URL] :   
[コメント] :   「けんどじゅうらい」、「けんどちょうらい」のどちらもOK?

先ほど、ネットで確認するとどちらでもOK、という感じですね。
私は「けんどじゅうらい」は間違いと指摘され、かなり
努力して直したのですが、これはどう考えれば良いのか、、。

時代で言葉は変わるということでしょうか。
   2008/11/12 (Wed) 13:05:19
[名前] :   ぼのぐらし
[URL] :   
[コメント] :   senshuさんのメッセージにコメントしようと気になりつつ、そのままでした。
「重」を含む熟語で「ちょう」「じゅう」両方の読みをする場合は多いですね。
捲土重来の場合は、「じゅう」が慣用読みになるのでしょうか。
「ら」抜きと違って、これはもう前からの慣用読みだと思います。(辞書には、大抵、参照マークが付いているはず)
言葉の奥深さはきりがないと思います。
だから、ほどほどに寛容さが必要だと思います。
   2008/11/9 (Sun) 22:11:14
[名前] :   TAD
[URL] :   
[コメント] :   kugaさんへ
返信が遅くなってすみません、アクティブクランプ回路の件は私の測定のバラツキでした。
エミッタ--ベース間の電圧は常に0.75V一定で、0.75Vなのはオシロの精度なのか分かりません。
青LEDなど型式や素子でベース電圧に違いが出てきますがVbe+0.7Vがクランプ電圧でいいと思います。
   2008/11/9 (Sun) 23:01:07
[名前] :   kuga
[URL] :   
[コメント] :   安心しました。
原因なんだろう、といろいろ考えていました。
その中で1つ、TL431の場合ですが 1.5Mレートでの
電流変動に、TL431のampが追従しないのでは
ないかというのが、あります。
コンデンサ付加が必要かも知れません。
お時間のあるときに、通信時のTL431アノード(TR-Base)
をオシロで確認いただければと思います。
   2008/11/10 (Mon) 00:03:29
[名前] :   TAD
[URL] :   
[コメント] :   ご迷惑を掛けてすみませんでした。
TL431の時のベース波形を追加しました。
   2008/11/11 (Tue) 01:04:57
[名前] :   TAD
[URL] :   
[コメント] :   追試
ビットマップを出力できるオシロのときはVbeが0.7Vだったり0.8Vだったり読み取りにくかったのですが、会社の別のオシロで測ったら安定してVbeは0.65Vになりました。
   2008/11/11 (Tue) 02:58:47
[名前] :   kuga
[URL] :   
[コメント] :   詳細な評価ありがとうございます。
0.65Vは私のスタティックなマルチメータでのテストと
一致しますね。 1mAで 0.64V(3.24V-0.6V) 20mAで0.67V
40mAのテストでは TRの発熱してきて 0.67Vより低下
したので、10mVの桁はあまり当てになりません。
入手したZDの特性まかせではなく、オシロなしでクランプ電圧を
想定できるのは安心できると思います。
   2008/11/8 (Sat) 22:44:05
[名前] :   kuga
[URL] :   
[コメント] :   あまり心配する必要はないかも知れません。
USBの規格では、ドライバーのVOH最大は3.6Vと規定されていますが、アマチュア規格で心配なのは唯一「パソコンを壊さないか」という点だけだろうと思います。

USBの規格で別に、トランシーバは D+,D-同士や VBUS,GND
とのショートに、劣化なく最低24時間耐えなければならないという項があります。

3.6Vを多少オーバーしても壊れそうにありません。

注:そのまま鵜呑みにしないでくださいね。規格を読み違えているかも知れません。英語は大の苦手です。
   2008/11/9 (Sun) 00:16:02
[名前] :   kuman
[URL] :   
[コメント] :   今、確認が終わったところなのですが

2006年に弘前大学の小山先生から初期のUSBasp(ZDなし)について、一部のノートパソコンでは使えないという報告があり、kkkさんに相談したところ何度にも亘るメールのやりとりで研究を重ね、5V電源の時D-のプルアップを2.2k+3.3k(または3.9k)で分圧して行うと正常に使えるという結果になりました。
そのときのメールのすべてをkkkさんが送ってくれましたので今読み返していました。

私のマザーボード、及びUSBカードはHIDaspxのZDなしでもエラーは起こりません。
しかし、ハブは認識したりしなかったりでライタとして使えません。
小山先生の件の追試で手持ちの2k+3.3kで分圧プルアップしたところ正常に機能しました。

ライタのアイドリング時の消費電流は約10mAの減少となりました。これはZDに流れていたものではないかと思います。

電圧のクリップについては「羹に懲りて膾を吹く」になってはいないかとの感じもあります。
いかがでしょうか。
   2008/11/9 (Sun) 00:28:01
[名前] :   kuman
[URL] :   
[コメント] :   3.3V電源

私のHIDaspxはセルフパワーですが、分圧抵抗使用の状態で3.3V電源にしても正常に動いています。
   2008/11/9 (Sun) 01:01:11
[名前] :   kuga
[URL] :   
[コメント] :   アクティブクランプのように3.6V以下にクランプする回路が絶対に必要かといえば、必要ないと思っています。
3.6V以上の電圧がかかってもダメージを与えないのだとすれば、あとは自分の利用する環境で動作するような処置をとればそれでOKと思っています。
但し、規格でVOHの最大を3.6Vと規定しているからには
それを超える電圧の信号では、動作しないパソコンが存在してもおかしくないわけです。(今後も含め)
もしも簡単な回路で規格を満足させられるなら、これに越したことはありません。

後は利用者の判断ですね。
   2008/11/9 (Sun) 09:42:51
[名前] :   kuman
[URL] :   
[コメント] :   kugaさん、おはようございます。

いろいろありがとうございました。
ややグレーゾーンは残りますが、ZDや青LEDなどで3V付近にクリップしておくのが3.3V駆動時のマージンを含めて一番良いようですね。アマチュアの自作品として。

もっと信頼性が欲しければFTDI232RLなどを追加すればいいかと思います。

規格のドライバーのVOH最大は3.6Vというのはホストの出力を制限しているだけでなく、ライタなどのUSB機器のドライバー出力も制限されていると解釈して良いわけですね。

詳しいところまでありがとうございました。
   2008/11/8 (Sat) 20:54:50
[名前] :   ノンノ
[URL] :   
[コメント] :   ヒロさんへ 次の文書は見られましたでしょうか?
http://www.usb.org/developers/docs/resistor_ecn.pdf
またLEDの方は次が参考になると思われます。(hをhに変えて下さい)
http://www.rohm.co.jp/products/opto_device/led/chipled/
http://www.stanley-components.com/jp/products/products_list.cfm

しかしこの素子と指定しても入手できるか判らないので、
1mAで何ボルトとか書いています。
   2008/11/10 (Mon) 10:50:32
[名前] :   ヒロ
[URL] :   
[コメント] :    ノンノさんへ

 該当サイトを拝見しました。
 紹介される意図が不明なので、何をご回答すればよろしいのか分かりかねますが、次のようにお返事します。

 前者のUSBの規格については、USBドライバとレシーバの規格の紹介だと思います。これによると、このサイトで、またはこのサイトを作られた方が使われているドライバ、レシーバでは、共に、プルアップ/ダウン抵抗がありますので、外部に抵抗やダイオードをつけると信号ラインの特性(インピーダンスなど)が変化するので無理な仕様の素子を使うのはUSBで推奨される規格から外れると考えます。
 後者は、どこのメーカーでも公開されているデータシートですね。各メーカの指定回路で測定したデータです。特性は様々です。
   2008/11/11 (Tue) 06:44:55
[名前] :   kawana
[URL] :   
[コメント] :   *** 日本語表現のニアンス ***
日本語の話し言葉、表現の難しさを毎日の生活で感じている私が、言える事では無いかも知れませんが、
この場は、議論は、しても良いが、相手の考え方を
尊重すると言う基本原則を何時で思いうかべて
文字表現をする事が必要だと思います。
議論が白熱してくると、適切な表現がおろそかになります。それにより、自分の意図と異なる意味に取られがちになります。
表現の強中弱、表現方法の良し悪し(語句選び)が
重要になつてくると思います。
投稿の前に一度は、読み手の立場で読んで修正すべき
ところが有れば修正する態度が、必要でしょう。
現代社会の問題の一点として、正常なコミニュケ−ションが出来ていない点が有ると私は、考えています。
気持ち良い、投稿会話が出来るよう努力して行こう
じゃありませんか。それが、参加者全員の、教養や
考え方の質的向上に繋がって行くと私は思います。
   2008/11/12 (Wed) 09:36:13
[名前] :   kawana
[URL] :   
[コメント] :   不適切ワ−ド使用?
今回の兵庫県知事のチャンス発言が問題視されています。自分の意図と異り誤解されるような言葉を、使用すべきでは無いと私は、思います。もっと良い言葉が
有ったはずです。こうなっては、知事の発言も効果無し、聞いていた人にも、ムダな時間を過ごさせただけでしょう。もっと、前向き、建設的な、会話が欲しい
と思います。言葉ちりを捕らえて、問題にしていると
も考えらますが。言わなくても良い事は、言わない
事と考えます。
  
▲このページのトップ 戻る  

Yahoo!ジオシティーズ


inserted by FC2 system 1