投稿

6月, 2025の投稿を表示しています

スーパーファミコン コントローラーの無線化プロジェクト:2ch化(SFC側)動作します!

イメージ
前回 のコントローラーの無線化プロジェクト:2ch化の続き。 前回 SFCのコントローラー内のシリアル/パラレル変換のICが3.3Vでも動くという事がわかったので、ひょうとして、SFC本体側も3.3VでHIGH、LOW(ボタンが押されているか?おされていないか?)を判定できるのでは?そもそも5Vの半分は2.5Vで、3.3Vはそれを超えるのでアイパターンは目を開いてくれていて判定できるはず・・・ 2CH側へ、ジャンバーケーブルを突っ込んで、コネクタ中の端子に接触させる。黄色いテープで無理やり固定。 赤いケーブルがDATの出力。レベルコンバーターの5V側から出してやって動く事を確認。 その後、赤いケールを写真のようにLOW側、つまり3.3Vロジックの方に接続。それでもちゃんと動いてくれる事を確認! つまりDATはコントローラー側からSFC本体にどのボタンが押されているかの信号を送り込むラインだが3.3VでOK!  次に、P/SのトリガーがSFC本体から送られてきて、これをマイコンCH32V003でトリガーを検出する。この検出には11ピンをアサインしている。この11ピンはPC1で、このピンは5Vトレラント!つまり5Vを入力しても壊れないピン。つまり、3.3Vロジック系と5Vロジック系の信号のやり取りのために、レベルコンバーターを用意していたが、結論は不要!! 非常に回路が簡素化される。 最終的には、上のようになった。2つのマイコンの間のデータのやり取りのためのSPIの接続4つだけというシンプル化。 【SFC側のESPのスケッチ】 前回 https://funasover.blogspot.com/2025/05/blog-post.html は1ch対応で動作確認していたのを2ch化する。 #include <ESP8266WiFi.h>   // WiFi #include <WiFiUDP.h>       // UDP #include "SPISlave.h" #define DAT_OUTPIN_BIT (1 << 4) uint32_t button_status; uint16_t button_status1; uint16_t button_status2; /...

スーパーファミコン コントローラーの無線化プロジェクト:2ch化(コントローラー側)

イメージ
 これまで、コントローラーは一つまでだったので、2つへの対応。 ここで重要な情報は、” スーパーファミコンのコントローラーに入っているシフトレジスタのICは3Vでも動く! ”ってこと。 以前は、ケーブルを切断したものを利用していたが、今回はメスのコネクターを入手。 QIコネクタのメスのプラスチックの部分をはずして、少しづつ押し込むとジャストフィット。半田してもよいですが、テスト段階でこれで。 【回路図】 電源回りの回路を組んで、ESP-WROOM-O2でLチカするところまで作っていたので、コントローラーを2つ接続。 https://funasover.blogspot.com/2025/05/2.html で1コン、2コンともにクロック、P/Sの信号は同タイミングで入ってくる事がわかっているので、単に分配して供給。DAT1とDAT2をそれぞれ、IO14とIO4に入れて押されたボタンの状態を読み取る。 ここでポイントは、コントローラー内部のICにSFC本体からは5Vが本来供給されているので、当初(これまでも)は、レベルコンバーターを入れて、5V系に変換して供給を計画。 そのため、昇圧回路も用意していた。( https://funasover.blogspot.com/2025/05/34v5vme2108a50pg.html ) ところが、このIC、3Vでも動くのです!!!!昇圧回路のICを中国大陸から入手してテストしてという時間が無駄に(勉強にはなったのでどこかで必要になったら使えるが) 前々から、気にはなっていた・・・初期型は、W545 12pin 2個使用、中期型、V520 20pin、後期型はV520B 20pinが使われている。V520データシートが見つけられないが、互換があると言われているファミコンのICの一つTC4021は今でもデータシートを参照できる。これ眺めているとVDDってVSS-0.5~VSS+20Vと記載されている。ってことは3Vでも動くのでは・・・とは思っていた。 https://qiita.com/fukufukusonreiz/items/b66000aabc227becf1c2 とか見ると5Vに昇圧しているので、昇圧しなければならない・・・と思い込んでしまっていた。昇圧回路まで含めた回路を作って、ひょっとして動くのではと試したら...

【充電回路】外付けカレントパス回路

イメージ
 USBが接続されていたらバッテリーへ充電しつつ、システム負荷へ給電するという回路。 【USBから全体の回路図】 【外付けのカレントパス回路部分】 充電しながら、USBから電力を得て、USB接続されていない時は、バッテリーから給電を得る回路について、 ・ 単機能充電ICを使った外付けカレントパス回路 | トレックス・セミコンダクター株式会社 | 電源ICのトレックス・セミコンダクター ・ DS01149C_JP ・ バッテリー充電コントローラ(TP4056)その2 - 電子工作専科 に説明がある。 このQ2のPチャンネルのMOSFETと逆流防止のダイオード、PULL-DOWN抵抗の3つの部品で構成。 USBから給電されいると、pch-MOSFETのゲート(上の図で1)がHIGHになるためソース(2)とドレイン(3)との間が絶縁される。USBの5Vの電圧が電池側(B+)にはかからない。 USBが接続されていない場合は、pch-MOSFETのゲート(上の図で1)は、100kΩの抵抗でPULL-DOWNされているので、MOSFETのゲート(1)がゼロ電位。その時ドレイン/ソース間の 抵抗はほぼゼロ。数十mΩオーダーでバッテリーからの給電が出力される。 pch-MOSFETはAO3401A( https://akizukidenshi.com/catalog/g/g114654/ )、ダイオードは、RB160M-30TR( https://akizukidenshi.com/catalog/g/g101398/ )が家にあったので利用。 VBUSの所に、3.0VのリニアレギュレーターNJM2884を用意して接続。 https://akizukidenshi.com/catalog/g/g110896/ 変換基板上に、必要な抵抗やらコンデンサーを入れてしまったモジュールを作成。 NJM2884このシリーズ、3.3Vもあるが、今回は電池利用でできるだけLiの電圧が低くなってきても動作させたいため3V品をチョイス。500mAまで流せるのでいつもなんでもかんでもレギュレーターはこれをよく使う。 同時に、5VのICにも給電できるように、ME2108A50PGを用いた昇圧回路も接続 ( https://funasover.blogspot.com/2025/05/34v5vme...