自作回路でUSB EndPoint5 [無断転載禁止]©2ch.net

1774ワット発電中さん2017/07/10(月) 08:41:23.23ID:Un+KxHa6
回路とPCのインタフェースでお悩みの貴方。
自作USBで遊びたい貴方。

お勧めのコントローラチップ、回路、プログラミングテクニック、
そしてFPGAの実装などを語りましょう。

前スレ
自作回路でUSB EndPoint4
http://rio2016.2ch.net/test/read.cgi/denki/1295961300/

過去スレ
自作回路でUSB EndPoint3
http://kamome.2ch.net/test/read.cgi/denki/1223890399/
自作回路でUSB EndPoint2
http://science6.2ch.net/test/read.cgi/denki/1177435280/
自作回路でUSB
http://science6.2ch.net/test/read.cgi/denki/1080051916/

その他情報>>2-10
sageると落ちやすいのでage推奨で。

980踏んだ人、次スレお願いします。

106774ワット発電中さん2018/10/27(土) 12:24:53.49ID:DwUUktnh
>>105
パスコンはiCの根元につけてる?
信号による負荷の変動がすごく多そうに見える。

107774ワット発電中さん2018/10/27(土) 13:05:37.68ID:O00p2BQY
>>105
>J2はショートにし、SV2、SV2はともにオープンにします。
これ、「SV2、SV3はともにオープンにします」の誤記?

だとしたら、ですが。
SV3はUSBモジュールのグランドと、この基板のグランドを結合する唯一の配線ですよね?
モジュールのもうひとつのグランドの9ピンは配線されてないし。
そこを切り離したらダメですよ。グランドは繋がないと。

それはともかく、基板のグランドがめっちゃ弱そう。SV3さえ接続されていたら、これぐらいでも動くのですね…。
FT245のリードライトピンって受け付けるスピードが速いので、遅いTTLの感覚で
配線するとうまく動作しないものだと思っていました。

108774ワット発電中さん2018/10/27(土) 13:21:41.09ID:Nv346zQX
>>106
パスコンについては大丈夫です。
現在は画像の2段目にあるガーバービューの通り実装し外部電源にしてから安定動作してます。

最初に質問した>>98の時点では経験者による外部電源の安定性を知りたかったのですが
現時点で経験則からUSBだと誤動作し外部電源だと安定すると判ってますのでこの件は終わりにしたいです。
ただ外部電源で安定すると言う経験則は他の回路では保証はしませんので自己責任で情報を使ってください。

109774ワット発電中さん2018/10/27(土) 13:43:32.49ID:62JR8b8L
ちょっとひどいな、このアートワークは。
もうちょっとPCBの勉強してください

110774ワット発電中さん2018/10/27(土) 14:03:57.38ID:Nv346zQX
>>107
>「SV2、SV3はともにオープンにします」の誤記?
失礼しました、その通りです。

>そこを切り離したらダメですよ。グランドは繋がないと。
ダメと言われても、お蔭様で期待通りに動いています。

>これぐらいでも動くのですね…。
GNDについては配線が複雑になるので、ご指摘の通り手を抜いてます。

>FT245のリードライトピンって受け付けるスピードが速いので、遅いTTLの感覚で
遅いTTLですので仮想COMモードでTTL側のタイミングで動かしてます。ビットバングモードでは判りません。

>>109
貴君の素晴らしい基板の例を公開して下さい、参考にしますので。

111774ワット発電中さん2018/10/27(土) 14:07:35.80ID:WopbTF8a
>>109
とりあえず繋げましたーってだけのパターンだね

>>110
・電源線や電流が流れるラインは太く
・GNDはできるだけ広く
・同一面で引けるならできるだけ同一面

をやるだけでもだいぶマシになると思います

112774ワット発電中さん2018/10/27(土) 14:28:43.46ID:62JR8b8L
>>110
ググれば山ほど出てくるから少しは考えてやってみ
本も2,3冊買って読め

113774ワット発電中さん2018/10/27(土) 15:30:12.05ID:Nv346zQX
>>111
>・電源線や電流が流れるラインは太く
判りました、この基板の改訂版で太くしてます(既に太くしてます)。
現在は初期値の4倍の太さにしてますが初期値の太さでも外部電源だと安定してます。

>・GNDはできるだけ広く
結局、最初の内容と同じですよね?
電流の流れは電子の流れを便宜的に逆にしたものと定義してますので。
KiCADではGNDは広くするオプションがあるようですけどeagleで見つけられなくて。

>・同一面で引けるならできるだけ同一面
eagleにある自動配線で最初の配線図は作っていますけどピッチ間に3本あると
流石に気持ち悪くて「via」にして最大でも2本にしてますけど骨折損でしたか。

昔、回路図が判らなくて業者に製作代行を頼んだ基板は同規模の回路で
「via」が40個あっても動いたので「via」が、この程度あっても支障ないと考えてました。

因みに貴方は自分が誰なのか検討付いてますよね?
そのうちブログに時期を見てお邪魔します(荒らしに行くと言う意味ではないです)

114774ワット発電中さん2018/10/27(土) 15:36:22.94ID:Nv346zQX
>>111
>・電源線や電流が流れるラインは太く
判りました、この基板の改訂版で太くしてます(既に太くしてます)。
現在は初期値の4倍の太さにしてますが初期値の太さでも外部電源だと安定してます。

>・GNDはできるだけ広く
結局、最初の内容と同じですよね?
電流の流れは電子の流れを便宜的に逆にしたものと定義してますので。
KiCADではGNDは広くするオプションがあるようですけどeagleで見つけられなくて。

>・同一面で引けるならできるだけ同一面
eagleにある自動配線で最初の配線図は作っていますけどピッチ間に3本あると
流石に気持ち悪くて「via」にして最大でも2本にしてますけど骨折損でしたか。

昔、回路図が判らなくて業者に製作代行を頼んだ基板は同規模の回路で
「via」が40個あっても動いたので「via」が、この程度あっても支障ないと考えてました。

115774ワット発電中さん2018/10/27(土) 15:38:05.53ID:Nv346zQX
済みません、ちょうど訪問客が来て同じことを2度書きました。

116774ワット発電中さん2018/10/27(土) 18:33:12.70ID:O00p2BQY
>>110
> >そこを切り離したらダメですよ。グランドは繋がないと。
> ダメと言われても、お蔭様で期待通りに動いています。

え?切り離したときに動いているんですか?

>>105を見る限りは、切り離したときにちゃんと動作していないように見えます。

>FT245RLのJ2をオープンにしてSV2、SV2はともにショートさせ安定動作してます。

>J2はショートにし、SV2、SV2はともにオープンにします。このケースで誤動作が生じます。

上の二つの行の中の「SV2、SV2」が両方とも「SV2、SV3」という解釈をしたら、
SV3がオープンの状態、つまりグランドを切り離したときに誤動作しているように見えますよ。


切り離していたら「必ず動作しない」とは限らず、なんとなく動作することもあるのです。
要するにグランドが切り離されたふたつの回路のグランドがある電圧に収まっていれば
いいわけで、一方の出力のどれかがLであれば、そのピンを通じてグランド電位がある
程度の範囲に収まってしまうこともあります。


>遅いTTLですので仮想COMモードでTTL側のタイミングで動かしてます。ビットバングモードでは判りません。
あー。そうではなくて、
FT245のRD、WRにグリッチなどの短いノイズ状パルスが入るとFIFOが誤動作しますよ。
グランドがしっかりしていないとありうるよ、ということです。
これは仮想COMかダイレクトドライバかは関係がありません。
(ビットバンモードの方が鈍感に使えるとは思いますが)

117774ワット発電中さん2018/10/27(土) 18:51:38.86ID:O00p2BQY
>>113
>KiCADではGNDは広くするオプションがあるようですけどeagleで見つけられなくて。

最近のEagleのユーザーインタフェースがどうなってるのか分からないけれど、
https://www.youtube.com/watch?v=NOKgwPF91Ow

参考になるだろか。

118774ワット発電中さん2018/10/27(土) 18:59:16.83ID:O00p2BQY
当たり前だけど、FT245もその秋月のモジュールも、USBからの電源供給でちゃんと動作しますよ。
供給可能な電流を超えない範囲、というのはもちろんですが。

119774ワット発電中さん2018/10/27(土) 20:28:38.80ID:A/ljPP8/
>>115 おや、誰か来たようだ



 死亡フラグ乙

120774ワット発電中さん2018/10/27(土) 21:36:54.57ID:Nv346zQX
>>167
貴方の「そこ」と言う部部を9ピンのグランドと勘違いしました。

>「SV2、SV2」が両方とも「SV2、SV3」という解釈をしたら、
「SV2、SV2はともに」は(1)も(2)も間違いで「SV2、SV3はともに」が正解です。
(1)の前提が外部電源で安定すると言ってますので「SV2、SV3はともにショート」です。

>>117
ありがとうございます。のちほど参考にします。

>>118
>USBからの電源供給でちゃんと動作しますよ。
具体的な回路次第で違うと考えます。GNDを共通にしない別電源で惨々誤動作してましたので。
別電源ならGNDを共通にする必要があると認識してます。
自分の基板では次の実験ができますが、とりあえず(3)で安定してるので良いかなと言う心境です。
(1)TTL回路とFT245RL(USB)を別電源にしてGNDは共通にすること(実験してません)
(2)TTL回路とFT245RL(USB)を別電源にし双方のGND、VCCは遮断すること(誤動作することを確認済み)
(3)外部電源にして同一のGND、VCCをTTL回路とFT245RLに接続すること(安定動作を確認済み)

121774ワット発電中さん2018/10/27(土) 21:52:47.23ID:O00p2BQY
>GNDを共通にしない別電源で惨々誤動作

それは当たり前のことなのです。
アイソレータを使わない限り、信号グランドを接続せずに動作させるものではありません。
>具体的な回路次第で違う
いろいろな回路はあると思いますが、グランドを接続しない回路は除外して良いのです。

でも、あなたは「グランドを接続しないと何がそんなにいけないのだろう」と今でも思っているのかな?

122774ワット発電中さん2018/10/27(土) 22:00:20.92ID:OTX5IDHZ
他人を甘く見ると痛いしっぺ返しを食らう

123774ワット発電中さん2018/10/27(土) 22:36:54.37ID:Nv346zQX
>>121
>それは当たり前のことなのです。
4ヶ月前に、その御言葉が欲しかった。
今は巡り合わせで仕方ないと気持ちは整理できてますけど。

自分の誤動作の原因は既に>>100>>102で言ってます。

124774ワット発電中さん2018/10/28(日) 00:18:07.55ID:PztL1LGn
> 自分の誤動作の原因は既に>>100>>102で言ってます。
これは失礼。くどくなってしまいました。

125774ワット発電中さん2018/10/28(日) 00:31:08.48ID:OYL+qXEC
電源のグランドを共通にするとは
・グランド同士を電気的につなぐ → 回路によってはつながないと動かない
・グランド同士をつないでから1本の線で接続する → 外れたら怖い

126774ワット発電中さん2018/10/28(日) 00:33:41.04ID:PztL1LGn
電子回路の初心者スレに行った方がいいと思います。

127774ワット発電中さん2018/10/28(日) 09:59:30.11ID:oO8ymDav
色々批判はあるけどネットで公開されてるFT245RLの使用例は大半がLチカ等で有難味が薄いと感じてました。
なので今回のような基本を抑えるためにも建設的なレスの応酬はかなり役に立ったと思います。
自分にとっては既に決着が付いていたので、めんどーと感じながらも役に立つ情報が提供されて有り難かった。

因みにFT245RLの取扱説明書には恐らく間違いだろうと言う箇所はあるけど未だ訂正されていません。
http://akizukidenshi.com/catalog/g/gK-01799/
PDF取扱説明書
http://akizukidenshi.com/download/kairo/データ/RS232・USB関係/L025_FT245RL USBパラレル.pdf

「ライト」時の「WR to RD Pre-charge Time」では意味が判らない。「WR to WR Pre-charge Time」の誤植でしょう。
(本家の英文マニュアルでは「WR to WR Pre-charge Time」となっています)
更にはUSB電源と外部電源の使い方の説明はあるけど取扱説明書には別電源にした時にGNDを共通化する説明はないです。
別電源でGNDを共通にした場合のトラブル発生で対応の煩雑性を懸念し、あえてこの使い方は触れなかった可能性もあり。
そう言う状況を勘案すれば今回のやりとりは、ある意味で取扱説明書を超えた内容だとも、とらえることができます。

128774ワット発電中さん2018/10/28(日) 10:38:08.06ID:PztL1LGn
>別電源にした時にGNDを共通化する説明はないです。

いや。だからそれは前提だし。
別電源にした時にGNDを共通化しないってことは原則的にないので、言及する必要がないのです。

グランドの接続については初心者スレで続きをやりませんか。USBの話題でもないので。

129774ワット発電中さん2018/11/28(水) 18:17:25.04ID:LPvQh5c0
各社のUSB内蔵マイコンでUSBイーサネットアダプタとして
動作するようなフレームワークを提供しているベンダーは
ありますか?

130774ワット発電中さん2018/11/28(水) 20:56:20.80ID:k3jNY/IU
>>129
stm32系であった気がする

131774ワット発電中さん2018/12/12(水) 12:34:10.33ID:DR1xbkVW
github のstm32ecm ですね。ありがとうございます。

132774ワット発電中さん2018/12/28(金) 12:31:46.54ID:5kTFpwug
だれかOSXなりWindowdで実際に動いてるCDC-ECMデバイスの
接続後のUSBパケットダンプを晒してくれたら神

133774ワット発電中さん2019/01/12(土) 23:31:09.15ID:qVnGkNIx
既製品のクローン(ホストから見た基本的な動作は同じ)を作って同人ハードとして売ったらヤバイよなぁ

134774ワット発電中さん2019/01/13(日) 10:30:53.37ID:ahPz1Clt
オリジナルのソフトウェアと組み合わせ使うなら完全にアウトだろうけど
そうじゃないならワンチャン

135774ワット発電中さん2019/01/13(日) 14:41:59.67ID:dAfMGPld
もちろんオリジナルのソフトウェアで使う。ぶっちゃけゲーム機のコントローラのクローン
同じ事を考えている人は他にもいると思うが

136774ワット発電中さん2019/01/13(日) 22:13:38.99ID:AqfpArXg
それが問題になるなら任天堂非公認コントローラーとか全部アウトだろ
情報の入手方法と特許に気を付ければ大丈夫だと思うが

137774ワット発電中さん2019/01/14(月) 12:12:04.93ID:nNAegeoB
なるほど、コントローラーで同人ならまあ逃げ切れるだろ
てっきりSaleaeのロジアナみたいな物をイメージしてた

138133=1352019/01/14(月) 17:11:52.77ID:unBkfX8U
国内のサードパーティで非ライセンスのコントローラを売っているところってあったっけ?
Amazonとかで聞いたことのないメーカー製は見かけるけど

今のところ考えつく問題点は
1.互換性のためには純正コントローラのクローンが好ましいが、PID/VIDはもちろんディスクリプタに
  含まれる文字列も使い回す必要がある(対象となる機器の会社名等を含む)
2.公式は見逃してくれるかもしれんが、他の脅威として自称正義の味方ちゃんがいる
3.ライセンスされているコントローラを乗っ取ればこの辺は解消するが信頼性が低下する上に単価は上がる
  ググると出てくる自作コントローラはこの方式か。しかし売り物になるレベルで信頼性を確保するのは難しそう・・・
あたりか。既成のコントローラにない物理的なUIを追加する都合上MCUは必須。既成のコントローラを使う場合は
基板が2枚以上の構成になる。根本的なところで同人ハードの頒布はいろいろ負担が大きいというのもあるし

>>136,137
情報ソースはネットで出てくる解析記事とパケットのキャプチャになるかな。それで十分かは未確認だけど
特許は・・・どう調べれば良いんだろうか。個人や零細レベルで精査する方法とか思いつかない

139774ワット発電中さん2019/01/14(月) 17:57:35.28ID:6P+quFr9
>>138
有名なところだとサイバーガジェットじゃないかな
あそこはチートソフトも扱うようなゴロだし

140133=1352019/01/14(月) 20:03:56.76ID:unBkfX8U
というか他人様のディスクリプタを使い回してもめたとかの前例はあるんだろうか

>>139
確かに少ないながらコントローラなども扱っているようですね
製品のディスクリプタってどうなっているんだろうな

141774ワット発電中さん2019/01/14(月) 21:02:17.33ID:BA9TwW77
>>140
SCSIだけどNECプロテクトって言うのがあった
すぐ回避策が出たけど
https://www.wdic.org/w/TECH/NECプロテクト

142774ワット発電中さん2019/01/14(月) 22:04:57.27ID:b8VcqZDV
USB-TTLのPL2303コピー品は有名だなhttps://www.amazon.co.jp/-/dp/B075M766MW/とか
最新ドライバでははじかれるコード10エラー
回避策はあるあが

143774ワット発電中さん2019/01/14(月) 23:53:35.63ID:6P+quFr9
どのような認証かって問題だね

144774ワット発電中さん2019/01/15(火) 13:06:28.75ID:0m1uSeyp
どうして単純バルク転送を標準クラスに含めなかったんだろう

145774ワット発電中さん2019/01/15(火) 17:16:54.90ID:uoXiRXig
シリアルもなー

146774ワット発電中さん2019/01/15(火) 19:27:36.41ID:2FJT/2Iw
シリアルは標準クラスじゃね?
Windowsの標準ドライバは10まで無かったけど

147774ワット発電中さん2019/01/16(水) 21:09:21.46ID:SDSi4Wg1
同人でUSBデバイスを売っている人ってベンダーIDどうしてんだろうな

148774ワット発電中さん2019/01/16(水) 21:52:06.50ID:3f2y9G5a
なんかその話前にもしたな
使ってるチップメーカーからPIDだけもらうか
失効してて再割り当てがないであろうVIDをこっそり使うしかってところ

149774ワット発電中さん2019/01/16(水) 22:24:37.67ID:SDSi4Wg1
チップメーカーのペリフェラルIDをもらうのは使うマイコンが限定されちゃうよな
失効しているベンダーIDってどうやって調べれば良いんだ
PC周辺機器メーカーでUSBデバイスを作っていてかつ倒産したところか

すぐ上の人が話しているような現役メーカーのIDを使う勇者はおらんのか?w

150774ワット発電中さん2019/01/17(木) 06:52:02.96ID:M4LAEezC
家の中でだけ使って、公開もせず、完成HWの頒布もせず。
なので好きにしている。

151774ワット発電中さん2019/01/17(木) 20:04:04.34ID:Y6fMf/ql
勝手に使う用の PID なんかもあるみたいね。
勝手に使うことを公言してるから、無理やり避けさせてる、みたいな。
もちろん、全くもってまともな方法ではないけど。

152774ワット発電中さん2019/01/18(金) 04:17:09.14ID:3zGsaXnF
MACアドレスも適当に変えられる

153774ワット発電中さん2019/01/18(金) 08:17:53.06ID:Osxvfkw7
>>144
> どうして単純バルク転送を標準クラスに含めなかったんだろう
ちょっと実装規模が大きいけど SCSI Bulk only かな

Windows 8, 10 以降だけと winusb microsoft os descriptors と言うのが使えて
inf ファイルなして winusb.sys が当たる。libusb で扱えるようになるので、
プロトコルは bulk, interrupt なら好きに作れるはず。isoc は少し難しいかもしれない。

154774ワット発電中さん2019/01/18(金) 15:48:13.09ID:QQCL5pGr
ドライバ書くのは良いけど署名めんどかったし良さそうだねぇ

155774ワット発電中さん2019/01/19(土) 04:00:04.07ID:KpOJsgEc
VIDはコンソーシアムの認定を取るには必須だけど、他人のVIDを勝手に使ったからといって
法的な問題になるかは微妙だと思う。恐らく問題ないんじゃないか

>>144
そもそもデバイスクラスが定義するのはOSI階層モデル的な意味でもっと上位の階層だと思うんだけど
まあ、FTDIのD2XXみたいな生のエンドポイントのread/writeに近いようなAPIが
あってもよかったはずとは思うけど

156774ワット発電中さん2019/01/19(土) 04:32:36.19ID:BHk8cE7G
そういうのは避けたかったんじゃないかな…
従来のシリアルやパラレルとの差別化的にも
PnP的にも

アプリケーションが判断しなきゃならないデバイスになっちゃうし

新着レスの表示
レスを投稿する