したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

ULA にアクセス LED を

1管理人@Mootan:2002/12/15(日) 18:38
面白いアイデアですので対応したULAファームの作成を考えています。
それに先立って要望があれば、ご自由にお書きください。

私の案では以下のとおりです。
PC6を読み込み用LEDポート, PC7を書き込み用LEDポートとして、
それぞれ Low アクティブで使用します。つまり、
VCC->100オーム->LED->PC6
VCC->100オーム->LED->PC7
のような配線になります。
また、オープンコレクタに同等の駆動方法として、ワイヤードORで
2LEDでも1LEDでも対応できるようにと考えています。
つまり、PC6とPC7を接続して1LEDで読み書きアクセス両用になります。

2Benzo:2002/12/15(日) 20:29
こんばんは、Benzoです。

その表記ですとわかります。
VccってのはGBAでの1番ですよね。
そこに100オームの抵抗を介して…LEDの仕様とかはあとでお尋ねするとして(笑)
PC6ないしPC7に接続するわけですね。

Lowアクティブというのはよくわかりませんが、デジタル信号なのでLowのときに
LEDが点灯するようになっていると推測します。

電気街に行くときがあればLEDを買うことにします。
普通はリードが緑でライトが赤…かな?

3管理人@Mootan:2002/12/15(日) 22:52
> Benzoさん、
こんばんは。
VCCはGBAでの1番でもよいのですが、GBAの電池を消費してしまいます。
そのため、ULA側のVCC +3.3Vがよいと思います。

LEDは何でもよいとは思いますが、種類によって抵抗値を変えないとなりません。
基本的には100オーム程度で大丈夫であると思いますが、明るすぎるようであれば
抵抗値を大きく、暗すぎれば小さくします。

Lowアクティブとはその解釈で結構です。言い換えれば負論理と言って、オンの状態を
0として扱います。逆はご察しのとおりHighアクティブで正論理です。こちらが一般的な表現です。

色はそのようなところが一般的ですかね。
抵抗値が問題ですが青とかもかっこいいかも知れません。
購入は急がなくても大丈夫ですよ。年内に開発できるかわかりませんので。

4管理人@Mootan:2002/12/16(月) 14:55
〜重要な変更です〜
AN21xxのマニュアルをよく読んでみましたら、I/Oポートの最大電流は1.5mAと
なっていました。多少無理しても2mAといったところではないでしょうか。
通常LEDは10mAから20mAぐらいで動作させます。そのLEDを1.5mAで動作させても
光るのですが薄暗いです。バッファを設ければ明るくすることもできますが
自作ハードウエアでは工程が増えるのであまり得策ではないでしょう。

そこで以下のように変更します。
LEDに直列に挟む抵抗値は1Kオームとします。
LEDは低電流(1〜2mA)で高輝度の物を選びましょう。わからなければ、お店の人に
聞くか、いくつか買ってきて低電流で明るく光るものを選べばよいと思います。
私の場合は手持ちの普通のLEDで薄暗くても我慢して使おうかと思います。

5Benzo:2002/12/16(月) 18:32
なるほどなるほど、よくわかります。

LEDは低電流で高輝度型ですね。
行く機会があれば調べることにします。

6管理人@Mootan:2002/12/16(月) 19:16
とりあえず、手持ちので光らせて見ました。
あまりにも古いLEDで結構電流を流すタイプ(〜20mA位か?)みたいで相当暗かったです。
とりあえず抵抗値を560オームまで下げて見ましたが、それでも暗かったですね。
560オームで2.5mA程度いく計算になるのでこの辺が限界かもしれません。
チャレンジャーの方は1K〜560までの抵抗を買ってきて納得のいく値を選んだ方がよいです。
1Kを下回るとAN21xxをオーバースペックで動作させていることを頭に入れておいてください。
う〜む、やっぱりバッファは必要かなとも思ってしまうのですが、実際に公開してから
皆さんの声をお聞きしてから考えようと思います。

7管理人@Mootan:2002/12/16(月) 19:49
比較的新しい(数年前に購入)LEDを探してきて560オームで駆動したら、そこそこの
明るさで光りました。低電流タイプであれば結構まともに光ると思いますので
新規に購入される方はそのタイプを購入するとよいです。

織田さんの基板にLEDをつけてしまったので、盆栽ハードウエアになってしまってます。
そのうちページを更新するときにでも写真を載せようかと思いますが、ごめんなさい。

8茂木孝一:2002/12/16(月) 23:33
私はPA4,PA5にアクセスLEDをつけてますが,I/Oポートの最大電流は
たった1.5mAだったんですね…。私の場合6mA程度も流してしまっており,
いつ壊れてもおかしくない状態なのかもしれません…。

ところで,LEDを点灯させるポートで,PA4,PA5というのはだめでしょうか?
この案は私が作成したULAがすでにそのような回路になっているという
私個人の都合によるものなので,ソフトウェア的に面倒そうであれば
却下していただいて構いませんが…。

9管理人@Mootan:2002/12/17(火) 00:34
>>8
すみません、ファームはほぼ完成してしまいました。
私は逆にPC6,PC7で回路を組んでしまいました(変更は可能です)。
ULAで使用するポートをCに限定したほうがスマートかなと思ってそうしましたが
いかがいたしましょうか。PA4,PA5に変更することも可能ですので皆さんの
ご意見をお待ちしております。

普通はI/Oポートに10mA程度流しても平気なんですけどね。1.5mAというのは少なすぎますよね。

10茂木孝一:2002/12/17(火) 00:58
私がPA4,5にLEDを接続したのは,ULAが使用しているポートCを操作することが
怖かったからです。すみません,素人なもので…。
確かに,ポートCにすべてまとまっているほうがスマートですよね。
すでにファームウェアも完成されているとのことなので,
私自身はPC6,7でも構いません。

ところで,アクセスLED対応のファームウェアは,ULA-Hostのほうでも
使用できるようにProject xLAのほうでも公開されるのでしょうか?

11管理人@Mootan:2002/12/17(火) 01:25
悩んではいるのですが、PA4,PA5をLED駆動専用にして、今後のEZ-USBアプリ作成に
共通してデバッグ用途に使えるのはいいかもしれません。いくつかEZ-USBで作成して
みたいものがあるのですがPA4,PA5にすれば開発スタイルが固定できてよいかも
しれないと思っています。しかもBenzoさんのところで話題になっているポートの
変更にも対応できますしね。PA4,5案に傾いています。
TeamKNOxの織田さんより私のファームを基準にULA-HOSTで対応していただけるそうですので
LED対応ファームに変更すれば使用できるはずです。
ファームのソースはいずれ公開します。

12管理人@Mootan:2002/12/18(水) 00:25
PA4を読み込みLED、PA5を書き込みLEDにしようと思います。
理由はPB,PCポートはアプリ用に使用し、PA4,5はデバッグに共通して使用する
方針の方がすっきりすると考えたからです。また、ULAの代替ポートとして
PCは残しておいた方が良いでしょう。
周辺ハードウエアの制限(PA4,5が他のロジックに接続されているなど)で
難しい方はお知らせください。

13管理人@Mootan:2002/12/20(金) 00:50
思ったよりも早くコーディングできました。
ホームで公開しましたので使ってみてください。

14茂木孝一:2002/12/21(土) 20:35
高輝度LEDをすぐに入手できそうになかったので、とりあえず手持ちの2SA1015と
3.6k[ohm]の抵抗でアクセスLEDを実装してみました。
ビジュアルに読み書きがわかって良いですね。

15管理人@Mootan:2002/12/21(土) 22:51
トランジスタはエミッタ接地(この場合はVCCですが)にしましたか?
エミッタホロワにしましたか?
私の場合はエミッタ接地(VCC)にしようと思います。

16茂木孝一:2002/12/22(日) 01:22
どちらなんでしょう? 低レベルですみません,素人なもので…。
実際には次のようにしました。この場合はエミッタ接地でしょうか?

E --- VCC
B --- 3.6k[ohm] --- PA4(or PA5)
C --- 220[ohm] --- [A] LED [K] --- GND

本当はトランジスタを使わない回路で済ませたかったのですが,高輝度LEDを
入手するには,通販を利用するか,車で片道2時間のパーツ屋まで出なければ
ならないので,ちょうど手元にあった2SA1015と抵抗で誤魔化しました。
田舎は大変です…。

17管理人@Mootan:2002/12/22(日) 02:51
エミッタ接地です。
PNP接合トランジスタの場合、接地は+側を指します。
昔、ゲルマニウムトランジスタのころはPNPの方が製造しやすかったので+側接地の
機器もあったようです。シリコンではNPNの方が製造しやすいので-接地が一般的です。
と言い切っていますが、であったと思います。うそ言っていたらごめんなさい。
私も同じく部品の入手は大変です。でもよく使う部品はストックがあるので大丈夫です。
それにしても、自力でトランジスタでバッファを構成できるのですから低レベルでは
無いですね。私も電子工学や情報処理は独学です。大学の専攻も違うものでした…

18茂木孝一:2002/12/23(月) 02:48
すごいですね!
「独学で」というところに,大変な努力の跡がうかがえます。
私も精進しなくては…。

ところで,私の環境(Win98,Celeron 400MHz)では,10回に9回くらいの確率で
FlashManager起動時にULA Reset Errorが発生しており,困っています。
別のPC(Win2000,Celeron 1GHz)ではこのようなエラーは起きないので
私の環境特有のものと思われます。
現在,ULA-HostのソースからULA-Hostもどきをビルドして上記エラーの
再現・追試を行なっており,エラーを再現することはできました。

これについては,また別のスレッドに記したいと思います。

19管理人@Mootan:2002/12/23(月) 03:45
そのエラー周辺のプロセスは
・ULAファームをダウンロードする
・ULA側はUSBを切り離し、ULAファームで再起動しUSBを接続する
・FM側はドライバがリロードされるのを待つため約1秒のSleepに入る
・ULAに初期化コマンドを送る
この最後でエラーが発生するとReset Errorになります。
低速マシンでエラーが発生することを考慮して、1秒のSleepではドライバの
リロードの時間に足りないのでしょう。Sleepを2秒にするか、もう少し確実な
リロードの完了を知るような論理を考えるべきでしょうね。
ULA-HOSTでは人間の手によるwaitが入るのでエラーが発生しないのです。
もう少し考えて見ます。

20茂木孝一:2002/12/23(月) 17:42
おっしゃるとおりで、私の環境ではULA初期化時にエラーが起きているようで、
Sleepの時間を長めにとる or 自らのタイミングでULAを初期化する と
エラーは発生しないようです。

オプション(起動時のコマンドライン引数など)でSleepの時間を設定できれば
解決しそうなのですが…。

21管理人@Mootan:2002/12/23(月) 18:21
Sleepを2秒にするのが手っ取り早いですかね。
複雑な機構を考えても良いですが、その苦労に対する改善があまり無いような気がします。
しかも、そのスリープはFMの起動時に必要で、FMを再起動さえしなければカセットの
入れ替えなどでは発生しません。起動時間が1秒増えたところで不都合はありませんよね。

22Benzo:2002/12/23(月) 23:45
LED単体ではちょっと難しそうなのでバッファ用の
トランジスタの解説が出てからLEDをつけることにしました。

代わりに電源LEDを取り替えてみたりしました。
青く光ってかっこいいです。

23茂木孝一:2002/12/24(火) 23:20
Sleep時間の件、次回アップデート時に対応していただけるとありがたいです。

ところで、GBAの電源LEDは電池の残量警告灯も兼ねているはずですが、
電源LEDを青色のものに交換した場合、その機能はどうなるのでしょう?

24管理人@Mootan:2002/12/25(水) 00:08
>Benzo さん、
WEBにある写真見て見ました。やっぱ青っすよね。ULAでも青を使うには絶対に
バッファは必要ですね。回路は年内を目標に公開しますね。基本的には >>16
大丈夫です。ただし、10mAを超える電流を流すのでしたらVCCはUSBからの5Vを
使用したほうが安全です。なぜなら3.3V系には小さなレギュレータを使用しているので
電流制限があります。私は5V系で作成します。

25管理人@Mootan:2002/12/25(水) 00:19
>茂木孝一 さん
Sleepの件、了解です。
今、ulaファームの8051アセンブラをマシンサイクル単位で最適化し、読み込み速度が
2割弱ほど速くなりました。これ以上の高速化は通信プロトコルを替えるか、
ハードウエアでのシリアルパラレル変換をしないと無理だと思います。
書き込みのほうが簡単な処理なので、書き込みが実質最高速度でしょう。
予約書き込み機能も連休でだいぶ進みました。

26茂木孝一:2002/12/25(水) 00:41
Sleepの件,ありがとうございます。
どんどん高速化が進みますね。素晴らしいです。

ところで,エミッタに接続するVCCを5[V]とした場合,PA4,5の出力がHである
ときにトランジスタのベース・エミッタ間電圧が1.7[V]ほど出てしまって,
出力がHの状態でもLEDが点灯してしまうような気がするのですが,そのような
ことはないのでしょうか?

# すみません,とんちんかんなことを書いてしまっているかもしれません…
# 自分で実験してみます。

27管理人@Mootan:2002/12/25(水) 01:05
そのためにもオープンコレクタに同等の動作をさせているので大丈夫です。
ただ、リークなどもあるでしょうから、プルアップはしたほうが良いと思います。
さらに、私はipi基板を使用しているのですが、pa4,pa5は3.3Vにプルアップ
されているのです。これは問題なので良いプルアップ抵抗値を計算して5Vに
接続すれば大丈夫と思います。実際に作成してみないと隠れた問題点が
わかりませんので作成したら回路図を公開します。

28管理人@Mootan:2003/01/06(月) 18:46
とりあえずバラック(製作部屋にある仮配線の状態)でうまく動作しました。
これからきちんと基板に配線しますので、そしたら回路図もきちんとしたものを
明日あたりに公開します。トランジスタでのバッファの話です。

29HeyYahh!!:2003/01/16(木) 09:47
携快電話の充電ケーブルがLEDが付いていると言う事で、アクセスランプに利用
出来ないか調べるため入手してみました。
まず4個ついているうちの2個はアクセスランプでPC4,PC5が使われています。
LEDのK側がGNDに落ちておりHIの時に点灯します。バッファ等はありません。
そして、PB0で充電のON/OFFを制御しているようで、HIの時赤LEDが点灯し充電
が始まるようです。緑LEDはPB4に接続されていますが、入力か出力か不明です。
PC4,PC5,PB0は全てチップの下を通っていて表面から見えません。
したがって、携快電話の充電ケーブルでULAを作成するのは、結構面倒だし
LEDも利用しにくいことがわかりました。逆にファームを書き換えれば改造無しで
アクセスランプ付きULAを作成出来そうですが。
もし、携快電話の充電ケーブルで作成するときは、PC4,PC5,PB0の処理をきちんと
してやらないと(パターンカットやLEDははずす等)動作しません。ご注意を。

30管理人@Mootan:2003/01/16(木) 21:03
> HeyYahh!! さん、
貴重な情報ありがとうございます。
携快電話の充電ケーブルでULAの作成を考えられている方は注意しましょう。

31Tac_san:2003/01/16(木) 21:48
こんばんは。
携快電話の充電ケーブルのLEDの件は、私のHPでも説明してありますが
取り外さないとULAとして使えません。
私もファームウェアの書き換えで挑戦するために現在3個入手しています。
近くHPで報告できると思いますが、USB側の配線周りとの兼ね合いで
難しいかもしれません。とりあえず、別基盤で小型のモノを内蔵させて
光らせるようには、現在作成中です。
また、うまくいけば報告させて頂きますね。
(でも、Mootanさんが公開しているバッファ付きのパーツの方が簡単ですね。パーツ代も100円ぐらいだし・・・)

32HeyYahh!!:2003/01/16(木) 23:13
こんばんわ。
充電ケーブルの回路の解析がほぼ終わりました。ファームでの対応で無改造で
携帯電話側の端子を利用して作製できると思います。
しかし、充電ケーブルではLEDを220オームを通して直接ドライブしてましたが
大丈夫なんでしょうかね。意外と明るかったです。
私も今度はファーム作製に挑戦でもしてみようかな。

33管理人@Mootan:2003/01/16(木) 23:33
そうですね。お話を聞いた感じではファームでうまくいきそうですね。
HeyYahh!!さんがファームを変更しますか?それとも私が変更しましょうか?
FMでは外部のファームを読み込む機能があります。FlashManager.exeと同じ
ディレクトリにgba_boot.bixというファイルを置くとそのファームをULAに
転送します。

34HeyYahh!!:2003/01/17(金) 10:03
FlashManagerも外部ファームを読み込む機能があったのでね。まずはULA_hostを
使って試そうと思ってました。もし変更がお手数でなければお願いできますでしょ
うか。すぐにでも試して見たいと思います。
ちなみに、端子に出てるのはPC0,1,2,6,7でPC0,6が10Kでプルアップ。PC7が10Kで
プルダウンされて、PC1,2が直結です。PC4,5が220オームを通して黄LEDのAへ。Kが
GNDへ落ちてます。GNDは約1オーム(充電電流の関係)を通して端子に出てますが
多分そのままGNDとして使っても問題ないかと思います。
PortBはPB0,4,5,6が充電の制御で使われているため使用が困難と思われます。ただ
し、充電回路を無視して無理やり赤・緑LEDを使うことも出来るかも知れません。
MootanさんのファームはPB0を使用していないようなので、PC4,5の代わりにPC2,6
PA4,5をPC4,5に変更でいけると思うのですが、できそうでしょうか。
よろしくお願いいたします。

35管理人@Mootan:2003/01/17(金) 23:04
ULA作成部屋にファームを置いておきました。
もしかするとポートアサインが間違っているかもしれませんので、
動作がおかしいときはすぐに使用を中止してください。
注意書きがしてありますが、LEDをアクティブHIGHで駆動しているので
結構危険です。

36HeyYahh!!:2003/01/18(土) 09:54
大変早い対応でありがとうございます。
確かにアクティブHIGHで点灯は危険なような気がしますが充電ケーブルを長く
使っている人はどうなんでしょう。携帯電話と通信するたびに光っています。
単純に計算しても15mAくらい流れている気がするのですが。
壊れてないのでしょうかね。
今、会社ですので帰ったら早速試してみます。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板