自作回路でUSB EndPoint5 [無断転載禁止]©2ch.net
)()(()()((())()(((()(())())))((()))()((((()())((()))))(((())()(()))()()())))
)())((())(((()()))((()())()()))(())(()()()))())())(())(()((())))()()()(()(((
))()(()())())(())()))((((((()))((()))()()(())()(())()))()(())(())()())(()(((
)))))(()())(()))))()((()())())))()))(()()))))(()(((())(((((((())())()(((((((
)())((()))(())())(((()()()((())))())))()(()))(((()((()()()))((()((()))))(()(
))()))(((())()((()(()()(()((((())))))((()(()(((((()(())())))())())(())))()))
)()))(((((()))())((())())))))()()(())))())())))(((())((()((()(()()))(((()(((
)()(()(()()()()))((())(()((())))()())(()))((()()()((((())())(()()))))(()()()
)))()()())())(()()()(()(((())))((())()(()()(()))))(((()))))(())()()(((((())(
(()))()()(()())()))))))))(())(()()))(((((((())()((((()())())(())((())()())((
(()))()())(()(())((()())((()))())))))(()()))())((((()()())(())((()))(())((((
()())(())))))((())))()(((())))(())()((((()(()()()()(((()))))(()())(((()()))(
()()()(())((())())()()()())))()(())())(((()))))(())))))((())()(()((((()(()((
)()()(()((())()))()()))()()())((()())((()(()(())())(())()())())))(((((()()()
)(()))()()())))()))))(()((((())(()))()(((()())))()()))(()))((())(()(((()((((
)()())(()(((()()()(()()((()))()()()(()()))))))()()()()())())((()(()()))(((()
()()))(())))))()())(()))())(((()()())()((())()()((()())((()((((())()())()(()
)()))))(()((())(())(()(((((())((()(()))()()((()(())))((()())))(())))(()()())
)()())(()()()))(()()((()(((((()))()))))()))()()())()()))(())(()(()((()))((((
())(()())(((()(()()(())))(()(()(())))))((())((())(()()())(((()()))((())())))
)(((())())(((((()(((()))(()()()))(((())())()()()()())()()()((()))))()()())))
)(((()))())(()))()(()(())()())())(()(()()))(())((()(((((()()))())))((()(()))
()()()))()))((()(((())()(()(())()))())()((()()))()))()))(()()(())(()()(()(((
)()()(((())())))))(()((((()))())((()(()(()(()((((()(()))))())))((((())))))()
)()()((()()))))(((()()((())())((())()()))))((((((()))(()()()()()())()()())()
()))((())))()()(((()((())))()))(()(()))((((())()))))(()))((())((()()(())()((
(()(())))())()(()((()()))((((())()))))(()))(((())))(()((()())(()(((((())))))
()()))((()))(()(()((()(((())(())()()())((()())))()(()(()(())))()))()(()))(()
()))()()))))((()))()((((())())))()()(())))((()((())(()()))())(((()(()()((()(
(()(()())))))((()())))))(()))))(((((((()))((()))())(((()))((((()())((())))((
)())()))))))))(())))))))((()(((()((()())((((()(((()))())(())(()()()()((()(((
(())(()))()))()((((((())())(())()((())))())()())()()(()()))()((()(((((()))))
()((((((((())())((((()(())())()()()))()()(((()(()())))))()()))()))())))()(()
)))))))()())(()(()()))((((())))(())())))((((()(()((((()()(())))))(((()(())((
)())))))(((())(()()((()))())))))))(())())))()((()((()((((()())(()()((((((())
()))))(())((())()((()()(()()))))(()))(())(()()((())()((())()())))()()(((()((
)()()))(()(()))))))(())(()))))))()))(()((((()(()()(())(((((())()((((())(())(
())))()((()(())(((())((())(())(((()((())))()()))(())((()))(()))())))((()())(
()((((()((()(((()()))))))))))()(((((())(())()(((()()())))((())(())()(())))))
)()(()(())))(()())()(()((()))(())(()))(((((())())())))(()()((())))()()((())(
)))()(())((()(((()(((((()(()()((())))()()(((())))((()))))((()(())))))))()())
)())(()()()(())()())))())()()((()()()())()))(((()((()()))))(())())(((()((()(
()()))()()()((()(()()))()(())()))((()((()(())()(((()())()(()))))())()(()()()
)(())(((((())))())()()((()()(((()))))()))(()((())(())(()(((((((()))())))))))
)()())())(((()()((()()(())()(()())())()())))()(())(())()()())())())()(()((((
()))()()()(((())()(()((((()))()()(()(()(((())()(())(()()())((())()))))))))()
()((()()))))(()(())())(())(())))(((()()))()(()(((()))(())((()()((())(()())))
)()(())()))))())((()())(((((())()(()())))(())))((()()(()(()((()(()(())())())
))))()((()())()(()())()()())))((()())))((((()(()))))))()()()(()((((())(()(((
()())()))(()())()))()(())(((((())()()()()())(()))((()(()())((((())((()))())) Composite複合デバイスなUSB機器のreport descriptorを表示できるような
ツールはありませんか?
device descriptorならMS謹製のUSBViewで確認出来るんですが。
いくつかフリーのツールを試してみましたらComposite複合デバイスだと表示
されないものばかりでした >>4
回答になっていないけどPC-UNIX系ならその辺の情報を見られるコマンドがあるかも
Linuxならlsusbでディスクリプタにかんする情報を得られる USB Device Tree Viewerで表示されない?
http://www.uwe-sieber.de/usbtreeview_e.html
いくつかフリーのツールって何試したの? あっ、ごめん。よく読んでなかった
report descriptorね 使ったことはないけど、Windriverあたりがいろいろできた・・・かも。
昔USB弄ってたときはEZ-USBにSL811つけて任意のパケット生成できるようにしたり、
汎用USBドライバ使ってGET_DESCRIPTORして読みだしたりしたけど。 この質問なら真っ先に挙がってもいいあのツールの名前が出てこないとか
ホント不思議だわ
ちょっとでも知識ある人はもうこのスレなんか全然見てない、いまここに
いるのはド素人ばっかってことなんだろうなぁ・・・ ここに限らず本来の意味のハッカークラスの人は日本のネット界隈からほとんど姿を消しているよ
2ch以外でもそのクラスの人と情報交換できる場所はまずないし、アマエンジニアはほぼ絶滅
メーカーのコミュニティにひょっとしたら本職がいるかもってくらい >>10
知ってるなら書けばいいのに、何のためにここに来てるのか。
人格が劣化しているとしか。 2k/XP時代はSnoopyによくお世話になった物だが最近のWindows環境で動くUSBスニッファーって見たこと無いな デバイス側にUSBポートを2つ持たせて
・ホストとの接続はどちらを使ってもOK
・開いたほうのポートはハブ的に使える(別のUSBデバイスを繋げる事が出来る)
ようなことは可能でしょうか?
実現するに当たって必要であれば別途ハブコントローラ等を使うこともOKです
昔のマッキントッシュのキーボードにあったADBポートのようなイメージです ホスト側コネクタがtype-Aで、デバイス側コネクタがtype-Bだからなぁ
type-Cなら行けるのかな・・・ >>17
Type-Cって、メンドイよ。
コネクタのところに制御ICが必要だから Report DescriptorのLogical MinimumとLogical Maximumについて質問させてください
両方の値が0か0以上であるなら、設定値はunsignedだという認識
なのですが間違っていますでしょうか?
仮に 0〜150(0x96)の範囲を取るとして、report descriptorの
Logical Min/Maxは
0x15, 0x00,
0x25, 0x96
で良いという認識だったのですが、そうではなくて常にsignedで
0x15, 0x00
0x26, 0x96, 0x00
としないとダメなんでしょうか?
>If both the Logical Minimum and Logical Maximum extents are
>defined as positive values (0 or greater) then the report field
>can be assumed to be an unsigned value. 自作のUSBキーボードがBIOSで認識しない・・・
一体なにが気に食わないんだか Descriptorの中にboot deviceを示すビットが無かったっけ。 >>21
ごめん、独り言だったのでかなり端折ってた
PICにMicrochipのサンプルコード載せてUSBキーボード作ろうとしてるんだけど
うちにあるマシン5台では全く問題ないのに会社のintel macのEFIだけキーボードを
認識しないんだ。これもOSが起動すれば問題なく動く
なのでBOOTプロトコルにはそれなりに対応してる気がするんだけど何が駄目なのか
全く分からない・・・
microchipのサンプルはなぜかGET_REPORTが実装されてないと言う謎仕様なんだけど
GET_REPORTを実装して今日確認しても駄目だった(というかLED仕込んで確認したけど
GET_REPORTは全然呼ばれなかった・・・) USBキーボードなんて既製品があるんだからそれと比べればいいのでは・・・ >>22
Mac謹製のキーボード使え
って言う神のお告げじゃねーの? まあ、
>Mac謹製のキーボード
をつなげてUSBバスアナライザ通せば参考にはなる罠
キーボードじゃないけど別のデバイス作った時
DFU interface descriptor が無いとOSXには蹴られたな。
理由は知らん。DFUの機能を実装する必要はなかった。 キーボードに限らないけど既製品がある場合はそれをパクるのが最も安全 22とは別人なんだけどちょっとやぶ用でUSBキーボのデスクリ調べてたり
するんだけど、世の中の一般的なキーボってLED点灯制御のためにOUTの
エンポイ用意してないケースの方が圧倒的に多いのかな
見た感じわざわざINとOUTのエンポイ用意してるキーボードの方が少ない そりゃまぁ、HIDはInterruptOUTのエンドポイントはoptionalだし
HIDだとコントロール転送で送れば良いわけだから
わざわざエンドポイント入れてるほうが少なくても不思議じゃないよね そもそも標準的にはLED制御はSet_Report(Output)リクエストでやることになってるから特殊なキーボードでないとOutのエンドポイントなんて要らんでしょ
http://d.hatena.ne.jp/hanya_orz/touch/20140425/p1 USBホスト側ってライセンス料かかりますか? デバイス側はIDやテスト認証でかかりそうですけど。 USBロゴ使わないならデバイス側も適当なVIDPIDでいいでしょ USBロゴ(に関わる認証も)取らずに他人に使わせるとかありえんだろ w >>40
ありえるかどうか、の話ですが。
デバイス側も、民生機器ならともかく、少量生産しかしない機器ならUSBロゴなし製品は割と当たり前にあります。
そんな用途にFTDIのVIDをそのまま使ったものがたくさんあるわけで。
草を生やすのは無駄な煽りか、認識が狭いせいですね。 >>41
> そんな用途にFTDIのVIDをそのまま使ったものがたくさんあるわけで。
そりゃそういう風に使っていいって言ってるからだよ...
まさか勝手に使ってるとでも思ってたのか?
http://www.ftdichip.com/Support/Knowledgebase/index.html?caniuseftdisvidformypr.htm
> 認識が狭いせいですね。
ブーメラン乙 w >>42
>そりゃそういう風に使っていいって言ってるからだよ...
>まさか勝手に使ってるとでも思ってたのか?
いまいち仰っていることがわかりません。
というか「勝手」という言葉が情緒的な要素を含んでいるような気がします。
オレオレ解釈ではいけないので デジタル大辞林 から「勝手」です。
「1. 他人のことはかまわないで、自分だけに都合がよいように振る舞うこと。また、そのさま」
だそうです。
俺的解釈では「勝手に」は「当事者の許可を得ずに」だったのですが、上の意味に含まれてしまいますね。
もともとFTDIが製品のデフォルトとして設定したPIDについてはそのまま使って良いとしているわけですが、
「まさか、他人のことはかまわないで、自分だけに都合がよいようにして使ってるとでも思ってたのか?」
ですかね?
ちなみに、FTDIのチップが出回りだして何年かした頃に、
「VID、PIDをいちいち許可を得ずに無料で使えるなんて都合が良すぎるのではないのか」
と思って、FTDI社にメールで質問したことがありまして、そのときには、
・もちろんロイヤリティフリーで使える
・USB Implementers Forum のルールとも矛盾しない
という返事をもらっています。
>>42の中のリンク先の
Q. FTDIのVIDは私の製品で使えるの?
の内容ですが、
>FTDIのベンダーIDは、FTDIのデバイスを使った製品を使った製造者によって使われることができる
>(※)ただし、それはFTDIが発行したPIDとともに使われなければならない。
>FTDIは、FTDIのVIDとともに使われる、8個のPIDを無料で配分することができる。
>FTDIのVIDとともに使うPIDをリクエストする方法は以下の通り。
(※)は俺が追加しました。この行の「FTDIが発行(原文ではissued by FTDI)」を、その下の
「リクエストして発行されたもの」として解釈されたのでしょうか。俺がFTDIからもらった返事と矛盾しないように解釈するなら、
デフォルトで設定されたPIDも、issued by FTDI なのではないかと思います。
VIDをユーザーが使えるようにしているのはFTDIの戦略上とても重要なことです。
もし、「リクエストして発行されたものに限る」ということだと、ワーストケースでは顧客が約8000企業に限定されてしまいます。
そんな戦略にするかな、って気はしますよ。
俺がFTDIに質問したのはもうずいぶん前です。もしかしたらルールが変わっているかもしれません。
機会があれば、また質問するようにします。 ×>FTDIのベンダーIDは、FTDIのデバイスを使った製品を使った製造者によって使われることができる
○>FTDIのベンダーIDは、FTDIのデバイスを使った製品の製造者によって使われることができる >>43-44
ディフォルトのPIDも(勝手に使決めたものじゃなくて)FTDIから許可もらってる
って言うだけのことだろ w
そもそも>>38はFTDIに限った話じゃないし >>45
俺、>>38には言及してませんよ。
>>40の認識についてコメントしたのです。 >>40もFTDIに限った話じゃないだろ
それぐらいの応用力もないとか他人との会話辛くないか? で、FTDIやシリコンラボのブリッジICを使って、そのままのVID、PIDを使って製品を作って販売しても、USB-IFのルールに抵触はしません。
でも>>38の言うような、適当なVID,PIDのものを頒布販売はまずいでしょうね。実際に訴訟になったケースがあるかどうかは知りませんが。
USB-IFからアクションがあったといえば、
VIDを取った企業が、PIDを分割販売していたケースがいくつかあって、それらはUSB-IFから実際に警告を受けて、
・PIDの分割販売を停止したケース
・VIDの使用許可と取り消されたケース
があったはずです。
頒布販売をせずに、クローズな実験室だけで使うぶんになら、適切なVID、PIDを選んで使うのは大丈夫だと思います。 >>47
FTDIは例ですよ。限った話ではありません。
それぐらいの応…、とあなたのスタイルを真似て遊んでみようかと思いましたが
あなたがこれ以上エキサイトしても幸せではありませんのでやめます。
いずれにしても>>40の
「ロコなし製品を他人に使わせているケースはありえない」
は違いますよ、ってことです。 >>49
> 「ロコなし製品を他人に使わせているケースはありえない」
> は違いますよ、ってことです。
普段、トンチンカンな事を言うアンタだが、この件は正しい。
ロゴ認証取るのと、正しい VID,PID使うのとは別問題。 長文書いて必死な奴にエキサイトとか言われてもなぁ...
> いずれにしても>>40の
> 「ロコなし製品を他人に使わせているケースはありえない」
> は違いますよ、ってことです。
はいはい、お前のところではそうなんだろうな w 大抵のUSBマイコンベンダーはVID/PIDを割り振ってくれるよね
そういうベンダーのVIDが無効化されたって話は聞いたことがない気がする >>52
>大抵のUSBマイコンベンダーはVID/PIDを割り振ってくれるよね
俺が知ってる範囲だとサブライセンスをしているのは
Microchip (とりあえずPIC限定?)
シリコンラボラトリ
NXPの一部。
TIの一部。
STはWEBでは受け付けていない様子だけど、サブライセンスをする計画があると聞いたことはあります。
ぐらいかな。Microchip傘下に入る前のAtmelは「しない」と表明していました。
最近はどうなのか調べていませんが、かつてはルネサス、Cypressもしない、と。
さて、>>52さんの「大抵」の中にST、ルネサス、Cypress、Microchip下のAtmel製品は含まれているでしょうか。
>そういうベンダーのVIDが無効化されたって話は聞いたことがない気がする
USBのデバイスコントローラ部品(CPUに内蔵れるものを含む)のベンダーがサブライセンスすることは認められているようです。
取り消されたり、警告を受けてサブライセンスを中止したのは、デバイスコントローラ部品を買ってきてUSBデバイスを作っているような企業です。
取り消されたあとも、継続してサブライセンスをしているところもあったように思います。もうケンカ状態なんでしょうね。 16ビットのうち一個でも自家用デバイス用VIDを取っといてくれればよかったんや 強欲やUSB IF… 昔はVID取得だけなら200ドルだったんですよ。
それが2000ドルになって、いつの間にか5000ドル。
オープンソースのグループがそれ用に取得しようとしても、サブライセンス禁止って言ったそうで。
それでも、少量向けなら製品にでもデバイスメーカーのサブライセンスが(無料で)使えるからマシ。
HDMIやBluetoothにはそういうのはなくて、たぶん「これは評価キットです。製品ではありません」みたいな言い方をしないといけないですし。 この辺の話があるから全く使い易くないんだよUSB
ホスト側は特に制限ないんだよな
意味不明商売 >>56
とは言っても、代わりに使える、しかもライセンス的に緩いインターフェースなんてそんなにあるわけじゃないし。
WiFi、イーサネットぐらい? >>56
そりゃ、おまえがアフォなだけ。
こんなに使いやすいインターフェースは他に無い。
VIDの問題にしたって、アマならゆるゆるでなんとでもなるし、
真面目に商売するなら、買っても安くて理想的な状態といっていい。 >>56
>>ホスト側は特に制限ないんだよな
まだ、明確なレスはないわけなんだが? つか、全然用途の違う規格比較してバカじゃ無いの?とは思うよ 「明確なレス」
2chで保証を求めても、意味なかろ。
だいたいの話は出てきているんだし、あとは必要な人が調べれば。 >>62
・同じ規格は滅多にない。
・どこを見ているか、どう使うかで、まあ同じように使える、そこそこ同じように使える、全然違う、の評価は変わる。
・馬鹿じゃないの? と思うことは自由。
って思った。 もう、どんどんワイヤレス化されてきてるからなぁ・・・ USBの最大のメリットは大量にある既製デバイスを使えるとこだからね
今は通信なら安いWifiもあるし、ネットベースならPCとほぼ同じノウハウが使える
MACアドレスで困るなんてこともない
わざわざ自分でUSBのデバイス側を開発する意味はほとんどないな 世の中にあるものなら↑の姿勢で良かろう。
既製品が使いにくいから自分で作ってる。 FT600とか601使っている人いる?
FX3に比べたら実装は簡単そうだけど・・・ 秋月でType-Cのブレイクアウトボード売り出さないかなあ... このスレってハードよりな話が中心で、WinでUSB機器を制御するようなソフトの
話はスレチですか? 1 読むとスレチでもないみたいよ。
ム板にもなさそうだしね。いいんじゃない? んじゃあ質問さしてください
もしご存知の方がいましたら助言(アドヴァイス)頂けると辛いです
Windowsマシンに繋がってるUSB-HID機器にEP0を使ってコマンドを送りたいんですが
そもそもこれは可能なことですか?当然ながらUSB-HID機器はWindowsの標準ドライバの
制御下にあります
CreateFileして得たHandle使ってHidD_SetOutputReportしてるんですが、Report送信が
成功しません。CreateFileする際の第一引数はSetupDiGetDeviceInterfaceDetailで
デバイスインタフェース名を取得しています
やりたいことはUSB KeyboardにReportを送ってLEDを任意に制御したいです WriteFileかHidD_SetFeatureで送ってみるとか 家で不労所得的に稼げる方法など
参考までに、
⇒ 『武藤のムロイエウレ』 というHPで見ることができるらしいです。
グーグル検索⇒『武藤のムロイエウレ』"
5CDVW4G8P2 もう最近は FTDI の石で FA なのかな?
ドライバも OS に標準で入ってるしね。 どこのチップでも良いんですが、USB-Ethernetアダプタ のフレームワークってどこか作ってますか?
考え方だけパクってPIC32MX で実装しようかと思いまして。 どちらにしろEthernetは標準クラスじゃないからドライバ要るけど
PICよりそっちがネック USB3.0のケーブルを「基板間を接続する為の汎用ケーブルとし」て使おうと
思ったんだけど、USB3.0って「電源2本+信号7本」じゃなくて「電源3本+信号6本」
だったのか・・・信号は7本必要なんだが・・・
USB3.0信号用GNDに信号流しても大丈夫なんかな
ケーブル内で余計な処理がなされてなくて完全に独立した1本であることが保証
されてるなら問題ないんだけど、ケーブルによっては2.0のGNDとまとめられてそうで
怖い モバイルバッテリーとか、充電器とかのUSB出力を強制的に急速充電モードにするための方法ってありますか?
モバイルバッテリーのデータラインをショートしても、だめでした。
5VラインとGNDラインにメタルクラッド抵抗つないで、強制的に2A程度を引き出そうとしても、せいぜい250mAくらいしか出力されない。
やりたいことは、「モバイルバッテリーの出力が、入力の入り切りて瞬断するのを、スーパーキャパシタでバックアップしたい」という感じです。
急速充電モードにならないと、スーパーキャパシタの充電が遅くて、バックアップしきれないです。
もし、この強制急速充電モードのやり方知ってる方見てましたら教えてください。 USB トリガーデバイス ってのがあるのでそれを使うとか トリガーデバイスでは電圧は変えれても電流値が変わらなかったのです… そのモバイルバッテリーが2A出せるのかわからんので、バッテリーテスト用の
電子負荷があるからそれで引き出せるか試してみたらいいんでないの 新しくトリガーデバイスを買ってみたら、電流値上げることができました。アドバイスありがとうございました。 >>22
Bios画面でダメなのは経験ある
通信スピード(タイミング)が
早すぎてpic側で取りこぼしてるのではないか
というのが10年前くらいの勝手な推測。
当時は
フリーズしてるステートでWDTで初期化するようにして逃げた。
そのままBiosでダメになっても
Windows起動すれば動くと言ったスタンス。 こんなUSBモニタがある
ttps://www.banggood.com/ja/RUIDENG-UM24UM24C-USB-2_0-Color-LCD-Display-Tester-Voltage-Current-Meter-p-1240574.html?rmmds=detail-bottom-alsobought__1&cur_warehouse=CN ユニークで個性的な確実稼げるガイダンス
暇な人は見てみるといいかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
XKSXU 衝撃事実拡散
【創価学会の魔の正体は、米国が仕掛けてるAI(人工知能)】
創価を日本統治に利用してる組織がCIA(米国の極悪クソ諜報、スパイ)
創価の活動家は、頻繁に病気や事故に遭うけど、信者は皆、魔(仏罰、現証、非科学的な原始的発想)にヤられてると思ってる
災難が続くと、信者は仏にすがって、学会活動や選挙活動に精を出すから、定期的に米国のAlが科学技術で災いを与える。モチベーションを上げさせる為の、起爆剤みたいなもん
パトカーの付きまとい、芝刈機音、ドアバン、ヘリの飛行音等も、米国が仕掛けてるAIが、人を操ってやってる。救急車のノイズキャンペーンに至っては、サイレンで嫌がらせにする為だけに、重篤な病人を作り出す冷徹さ
集スト(ギャングストーカー、ガスライティング、コインテルプロ、自殺強要ストーキング)以外にも、病気、痛み、かゆみ、湿疹かぶれ、臭い、自殺、殺人、事故、火災、台風、地震等、この世の災い全て、クソダニ米国の腐れAIが、波動(周波数)を悪用して作り出したもの
真実は下
http://ss.fan-search.com/bbs/honobono/read.cgi?no=12029 マイクロUSBって、そのうちtypeCに置き換わって消えるのかな ここまで普及した以上
USB2microが10年以内に消えるとかは無いだろうけどね!
USB3type-BとかUSB3micro(あの長い奴)は
急速に消えて行く気はする
というか消えてくれw
特にUSB3microは接触不良も多い糞だし! typeCの普及でUSBドングルという文化は消えるのかな ソフトのプロテクトに使うやつならTypeC版が出て来て終わりだと思う。
ないしはHubをお使いください。 過去レスを拝見するとFT245RLについて活発だったたことが判りましたが
今更、自作回路とFT245RLとでパラレルのデータ転送に取り組んでいます。
それで秋月のFT245RLモジュールを使う上で質問なのですけど
供給電源がUSBのままだと誤動作する時があり自作回路から与えると安定します。
誤動作は蛍光灯の点灯時、消灯時等と決まってます。LEDの点灯などではUSBの
での実験が多いですけど外部電源も可能であり、外部電源にした時の安定性を
知りたいと考えています。因みに自作のIC5個の回路では外部電源にすると安定します。 どんな誤動作?
USBからの供給は500mAに収まってる? >>99
質問してから2週間は毎日来てましたが、それ以降はレスがつくことを諦めてました。
>どんな誤動作?
二系統の電源でGNDを共通にしてなかったから片方がローでも、もう片方ではハイと認識してる感じ。
>USBからの供給は500mAに収まってる?
収まってるハズです。他のIC5個は外部電源からの供給していてFT245RLのみUSBから電源供給です。
結局、誤動作する原因は二系統の電源でGNDを共通にしてないと言う、低レベルな落ちだった感じです。 >>101
>怖いことするんだなぁ・・・^^;
そうなんですか。
取り敢えず動いてたので怖くはなかったですが誤動作の原因を特定するのに二週間かかりました。
この板の、あるスレで「二系統の電源が誤動作の原因の可能性は?」と質問して否定されました。
「初心者はこれだから(笑う)、GNDを共通にしない二系統の電源はダメに決まってる」とレスが欲しかったなと。 FT245を挟んで、USBからの電源と、自作回路からの電源供給でGNDを共通にしていない、
ということが成立するのかな?
>>103
もっと怖いという「共通」は何を指してるのだろう。
アイソレータでも使わない限り、USBの信号グランド、FT245のグランド、
パラレルデータを司る自作回路のグランドは、がっちりとした共通のグランドになってないとダメだろうね。
>>101
この2系統から電源が供給できるようにするのは、排他的な構成になっていれば怖いことでもないし、
Arduino UNOでも実装されている。 >>104
具体的な回路図があった方が判りやすいですね。ネットで公開してるのでリンクを貼ります。
https://imgur.com/a/ulNjzuD
因みにロジアナ波形以下の画像は、このハードの製作で協力・指導を賜ってる方からの提供です。
現在、この水準の綺麗なハンダ付けを目指し、ツールをアマゾンから購入して待っています。
1)秋月のFT245RLへの電源供給を32ピンコネクタからの外部電源にする
FT245RLのJ2をオープンにしてSV2、SV2はともにショートさせ安定動作してます。
2)秋月のFT245RLの電源供給をUSBにする
J2はショートにし、SV2、SV2はともにオープンにします。このケースで誤動作が生じます。
誤動作の状況は>>98で説明した通り
ところで自分で製作した回路ですが32ピンや2ピンのコネクタの「SV」は何の略称でしょうか。
34ピンコネクタからの流用しましたが、今でも略称の由来は判らない状況です。 >>105
パスコンはiCの根元につけてる?
信号による負荷の変動がすごく多そうに見える。 >>105
>J2はショートにし、SV2、SV2はともにオープンにします。
これ、「SV2、SV3はともにオープンにします」の誤記?
だとしたら、ですが。
SV3はUSBモジュールのグランドと、この基板のグランドを結合する唯一の配線ですよね?
モジュールのもうひとつのグランドの9ピンは配線されてないし。
そこを切り離したらダメですよ。グランドは繋がないと。
それはともかく、基板のグランドがめっちゃ弱そう。SV3さえ接続されていたら、これぐらいでも動くのですね…。
FT245のリードライトピンって受け付けるスピードが速いので、遅いTTLの感覚で
配線するとうまく動作しないものだと思っていました。 >>106
パスコンについては大丈夫です。
現在は画像の2段目にあるガーバービューの通り実装し外部電源にしてから安定動作してます。
最初に質問した>>98の時点では経験者による外部電源の安定性を知りたかったのですが
現時点で経験則からUSBだと誤動作し外部電源だと安定すると判ってますのでこの件は終わりにしたいです。
ただ外部電源で安定すると言う経験則は他の回路では保証はしませんので自己責任で情報を使ってください。 ちょっとひどいな、このアートワークは。
もうちょっとPCBの勉強してください >>107
>「SV2、SV3はともにオープンにします」の誤記?
失礼しました、その通りです。
>そこを切り離したらダメですよ。グランドは繋がないと。
ダメと言われても、お蔭様で期待通りに動いています。
>これぐらいでも動くのですね…。
GNDについては配線が複雑になるので、ご指摘の通り手を抜いてます。
>FT245のリードライトピンって受け付けるスピードが速いので、遅いTTLの感覚で
遅いTTLですので仮想COMモードでTTL側のタイミングで動かしてます。ビットバングモードでは判りません。
>>109
貴君の素晴らしい基板の例を公開して下さい、参考にしますので。 >>109
とりあえず繋げましたーってだけのパターンだね
>>110
・電源線や電流が流れるラインは太く
・GNDはできるだけ広く
・同一面で引けるならできるだけ同一面
をやるだけでもだいぶマシになると思います >>110
ググれば山ほど出てくるから少しは考えてやってみ
本も2,3冊買って読め >>111
>・電源線や電流が流れるラインは太く
判りました、この基板の改訂版で太くしてます(既に太くしてます)。
現在は初期値の4倍の太さにしてますが初期値の太さでも外部電源だと安定してます。
>・GNDはできるだけ広く
結局、最初の内容と同じですよね?
電流の流れは電子の流れを便宜的に逆にしたものと定義してますので。
KiCADではGNDは広くするオプションがあるようですけどeagleで見つけられなくて。
>・同一面で引けるならできるだけ同一面
eagleにある自動配線で最初の配線図は作っていますけどピッチ間に3本あると
流石に気持ち悪くて「via」にして最大でも2本にしてますけど骨折損でしたか。
昔、回路図が判らなくて業者に製作代行を頼んだ基板は同規模の回路で
「via」が40個あっても動いたので「via」が、この程度あっても支障ないと考えてました。
因みに貴方は自分が誰なのか検討付いてますよね?
そのうちブログに時期を見てお邪魔します(荒らしに行くと言う意味ではないです) >>111
>・電源線や電流が流れるラインは太く
判りました、この基板の改訂版で太くしてます(既に太くしてます)。
現在は初期値の4倍の太さにしてますが初期値の太さでも外部電源だと安定してます。
>・GNDはできるだけ広く
結局、最初の内容と同じですよね?
電流の流れは電子の流れを便宜的に逆にしたものと定義してますので。
KiCADではGNDは広くするオプションがあるようですけどeagleで見つけられなくて。
>・同一面で引けるならできるだけ同一面
eagleにある自動配線で最初の配線図は作っていますけどピッチ間に3本あると
流石に気持ち悪くて「via」にして最大でも2本にしてますけど骨折損でしたか。
昔、回路図が判らなくて業者に製作代行を頼んだ基板は同規模の回路で
「via」が40個あっても動いたので「via」が、この程度あっても支障ないと考えてました。 済みません、ちょうど訪問客が来て同じことを2度書きました。 >>110
> >そこを切り離したらダメですよ。グランドは繋がないと。
> ダメと言われても、お蔭様で期待通りに動いています。
え?切り離したときに動いているんですか?
>>105を見る限りは、切り離したときにちゃんと動作していないように見えます。
>FT245RLのJ2をオープンにしてSV2、SV2はともにショートさせ安定動作してます。
>J2はショートにし、SV2、SV2はともにオープンにします。このケースで誤動作が生じます。
上の二つの行の中の「SV2、SV2」が両方とも「SV2、SV3」という解釈をしたら、
SV3がオープンの状態、つまりグランドを切り離したときに誤動作しているように見えますよ。
切り離していたら「必ず動作しない」とは限らず、なんとなく動作することもあるのです。
要するにグランドが切り離されたふたつの回路のグランドがある電圧に収まっていれば
いいわけで、一方の出力のどれかがLであれば、そのピンを通じてグランド電位がある
程度の範囲に収まってしまうこともあります。
>遅いTTLですので仮想COMモードでTTL側のタイミングで動かしてます。ビットバングモードでは判りません。
あー。そうではなくて、
FT245のRD、WRにグリッチなどの短いノイズ状パルスが入るとFIFOが誤動作しますよ。
グランドがしっかりしていないとありうるよ、ということです。
これは仮想COMかダイレクトドライバかは関係がありません。
(ビットバンモードの方が鈍感に使えるとは思いますが) >>113
>KiCADではGNDは広くするオプションがあるようですけどeagleで見つけられなくて。
最近のEagleのユーザーインタフェースがどうなってるのか分からないけれど、
https://www.youtube.com/watch?v=NOKgwPF91Ow
参考になるだろか。 当たり前だけど、FT245もその秋月のモジュールも、USBからの電源供給でちゃんと動作しますよ。
供給可能な電流を超えない範囲、というのはもちろんですが。 >>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に接続すること(安定動作を確認済み) >GNDを共通にしない別電源で惨々誤動作
それは当たり前のことなのです。
アイソレータを使わない限り、信号グランドを接続せずに動作させるものではありません。
>具体的な回路次第で違う
いろいろな回路はあると思いますが、グランドを接続しない回路は除外して良いのです。
でも、あなたは「グランドを接続しないと何がそんなにいけないのだろう」と今でも思っているのかな? >>121
>それは当たり前のことなのです。
4ヶ月前に、その御言葉が欲しかった。
今は巡り合わせで仕方ないと気持ちは整理できてますけど。
自分の誤動作の原因は既に>>100と>>102で言ってます。 > 自分の誤動作の原因は既に>>100と>>102で言ってます。
これは失礼。くどくなってしまいました。 電源のグランドを共通にするとは
・グランド同士を電気的につなぐ → 回路によってはつながないと動かない
・グランド同士をつないでから1本の線で接続する → 外れたら怖い 色々批判はあるけどネットで公開されてる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を共通にした場合のトラブル発生で対応の煩雑性を懸念し、あえてこの使い方は触れなかった可能性もあり。
そう言う状況を勘案すれば今回のやりとりは、ある意味で取扱説明書を超えた内容だとも、とらえることができます。 >別電源にした時にGNDを共通化する説明はないです。
いや。だからそれは前提だし。
別電源にした時にGNDを共通化しないってことは原則的にないので、言及する必要がないのです。
グランドの接続については初心者スレで続きをやりませんか。USBの話題でもないので。 各社のUSB内蔵マイコンでUSBイーサネットアダプタとして
動作するようなフレームワークを提供しているベンダーは
ありますか? github のstm32ecm ですね。ありがとうございます。 だれかOSXなりWindowdで実際に動いてるCDC-ECMデバイスの
接続後のUSBパケットダンプを晒してくれたら神 既製品のクローン(ホストから見た基本的な動作は同じ)を作って同人ハードとして売ったらヤバイよなぁ オリジナルのソフトウェアと組み合わせ使うなら完全にアウトだろうけど
そうじゃないならワンチャン もちろんオリジナルのソフトウェアで使う。ぶっちゃけゲーム機のコントローラのクローン
同じ事を考えている人は他にもいると思うが それが問題になるなら任天堂非公認コントローラーとか全部アウトだろ
情報の入手方法と特許に気を付ければ大丈夫だと思うが なるほど、コントローラーで同人ならまあ逃げ切れるだろ
てっきりSaleaeのロジアナみたいな物をイメージしてた 国内のサードパーティで非ライセンスのコントローラを売っているところってあったっけ?
Amazonとかで聞いたことのないメーカー製は見かけるけど
今のところ考えつく問題点は
1.互換性のためには純正コントローラのクローンが好ましいが、PID/VIDはもちろんディスクリプタに
含まれる文字列も使い回す必要がある(対象となる機器の会社名等を含む)
2.公式は見逃してくれるかもしれんが、他の脅威として自称正義の味方ちゃんがいる
3.ライセンスされているコントローラを乗っ取ればこの辺は解消するが信頼性が低下する上に単価は上がる
ググると出てくる自作コントローラはこの方式か。しかし売り物になるレベルで信頼性を確保するのは難しそう・・・
あたりか。既成のコントローラにない物理的なUIを追加する都合上MCUは必須。既成のコントローラを使う場合は
基板が2枚以上の構成になる。根本的なところで同人ハードの頒布はいろいろ負担が大きいというのもあるし
>>136,137
情報ソースはネットで出てくる解析記事とパケットのキャプチャになるかな。それで十分かは未確認だけど
特許は・・・どう調べれば良いんだろうか。個人や零細レベルで精査する方法とか思いつかない >>138
有名なところだとサイバーガジェットじゃないかな
あそこはチートソフトも扱うようなゴロだし というか他人様のディスクリプタを使い回してもめたとかの前例はあるんだろうか
>>139
確かに少ないながらコントローラなども扱っているようですね
製品のディスクリプタってどうなっているんだろうな >>140
SCSIだけどNECプロテクトって言うのがあった
すぐ回避策が出たけど
https://www.wdic.org/w/TECH/NECプロテクト USB-TTLのPL2303コピー品は有名だなhttps://www.amazon.co.jp/-/dp/B075M766MW/とか
最新ドライバでははじかれるコード10エラー
回避策はあるあが どうして単純バルク転送を標準クラスに含めなかったんだろう シリアルは標準クラスじゃね?
Windowsの標準ドライバは10まで無かったけど 同人でUSBデバイスを売っている人ってベンダーIDどうしてんだろうな なんかその話前にもしたな
使ってるチップメーカーからPIDだけもらうか
失効してて再割り当てがないであろうVIDをこっそり使うしかってところ チップメーカーのペリフェラルIDをもらうのは使うマイコンが限定されちゃうよな
失効しているベンダーIDってどうやって調べれば良いんだ
PC周辺機器メーカーでUSBデバイスを作っていてかつ倒産したところか
すぐ上の人が話しているような現役メーカーのIDを使う勇者はおらんのか?w 家の中でだけ使って、公開もせず、完成HWの頒布もせず。
なので好きにしている。 勝手に使う用の PID なんかもあるみたいね。
勝手に使うことを公言してるから、無理やり避けさせてる、みたいな。
もちろん、全くもってまともな方法ではないけど。 >>144
> どうして単純バルク転送を標準クラスに含めなかったんだろう
ちょっと実装規模が大きいけど SCSI Bulk only かな
Windows 8, 10 以降だけと winusb microsoft os descriptors と言うのが使えて
inf ファイルなして winusb.sys が当たる。libusb で扱えるようになるので、
プロトコルは bulk, interrupt なら好きに作れるはず。isoc は少し難しいかもしれない。 ドライバ書くのは良いけど署名めんどかったし良さそうだねぇ VIDはコンソーシアムの認定を取るには必須だけど、他人のVIDを勝手に使ったからといって
法的な問題になるかは微妙だと思う。恐らく問題ないんじゃないか
>>144
そもそもデバイスクラスが定義するのはOSI階層モデル的な意味でもっと上位の階層だと思うんだけど
まあ、FTDIのD2XXみたいな生のエンドポイントのread/writeに近いようなAPIが
あってもよかったはずとは思うけど そういうのは避けたかったんじゃないかな…
従来のシリアルやパラレルとの差別化的にも
PnP的にも
アプリケーションが判断しなきゃならないデバイスになっちゃうし ハード自作の話じゃないんだがWindowsでHIDのゲームパッドをCreateFileで開いて
ReadFile、WriteFileで読み書きできないのだろうか
これが出来ればPS3のコントローラなどを野良ドライバ無しで使えそうなんだが
普通?のHIDデバイスと同じようにやってみたらCreateFileで開けるものの
WriteFileが成功せずGetLastError()=87になってしまった コントローラの類は触ったことないけど
HIDデバイス扱うなら、HidD_SetFeatureとかHidD_GetFeatureとかじゃないっけ ありがとう。そんな物もあるのか。ググっていたらHidD_SetOutputReportというのもあるらしいですね
試してみます。入力ならRaw Inputとかも使えそうなんですけどね USB同人ハードを細々と売ってるけど、VID/PIDはEEPROMの設定を読むようにして
売るときは0x0000にしてるわ。
「設定ツール使って好き勝手に設定してね。なおXXX社のXXXのVID/PIXは
XXXらしいよ。でも勝手に設定する分には自分で責任持ってね」 Xboxの社外品コントローラーには純正品を接続する端子付きのものがあって、
どうやら本体との接続時にその純正品のVID/PIDで接続させたあと、
それ以降の通信を乗っ取っていたようだ。 USB4.0はThunderbolt3ベースぽいね >>161
PS4みたいに強固な認証機構を持ったプラットフォームでもその方法を使えばライセンス上の問題も回避しつつ作れそうだな
純正のコントローラーをディージーチェーンする故に何でもというわけにはいかないだろうけど
最近のマイコンはホスト機能付きUSBコントローラーが2個載っていたりするし結構簡単に作れそう >>163
意欲さえあるんなら壁なんか少しづつ壊して行けばいい。
今週は電子回路、来週は半田付け、再来週はマイコンってな感じに。 というか>>163じゃ何が判らないのか判らないからアドバイスのしようがない アドバイスくれと言ってるわけじゃなく愚痴を言ってるだけだと思うけどw
USBそのものが結構複雑だし、加えてマイコンとUSBコントローラの
使い方も覚えるとか、まあ年単位の時間が掛かるよねたぶん 電子工作初心者で市販できるレベルを目指すなら年単位でかかるかもしれないけど
ある程度マイコンを含む電子工作が出来て自分が使うだけだったらそんなにかからないだろう
ゲームコントローラーだったら既製品を解析して参考にするのがおすすめ
※既製品といえども適切に実装されているとは限らないので盲目的にパクるのはおすすめしない cypress買収されたみたいだけど、EZ-USB FXシリーズは大丈夫かなw 富士通スパンションサイプレスインフィニオン
FROM使ってる・・・・ \(^o^)/ヲワタ 既存のスイッチをUSB化??ビット・トレード・ワン、「USB DELEGATER B」を発売へ | fabcross
https://fabcross.jp/news/2019/20190614_bit_trade_one.html FTDIのFT245RLをLinuxから使っていてwindowsに移植したけど
windowsのドライバよりカーネルに組み込まれてるLinuxのドライバが使い易い。
同じICでもドライバで微妙に違う。それともコンソール用のサンプルコードが雑なのか。 ブログは直リンクしないけどFTDIのwindows用ドライバを使った時の様子
https://imgur.com/a/gEcv6VJ
以前、貼ったリンク先からブログを突き止められたことがあるけど
自分もブログを突き止めた人も悪事を働いてる訳ではないので気にしてない。
今日は用事を済ませば画像サイトに貼った内容の説明をブログでする予定。 >>175
画面が意味するところが分からない。
C#のSerialPortで使ってるのだけど、115200bps以下の通信で、
あからさまなトラブルに遭遇していない。
Windows用のコンソールプログラムの問題?
TeraTermみたいなターミナルソフトでも問題は発生しますか? >>176
操作は中段の画像からが始まり、中段 → 下段 → 上段の順
1)windowsのフォルダー(ディレクトリー)にあるファイルを
読み込み通信相手に送信を始める。送信バッファが満杯になり停止。
(諸般の事情で1バイトを上位7ビット、下位7ビットに分割して
2バイトにして送信してる)
2)windowsと通信してる側で受信を始めたのでwindows側では
全データを送信した状態になる。またwindowsと通信してる側では
全データを受信したことを確認してる(下段の画像)
3)上段の画像は今度は逆にwindowsと通信してる側でデータを
windows側に送信し、windows側は受信したデータを表示してる。
このシーケンスはC++のサンプルコードと同じ。
因みにトラブルがあったとは言ってない、それぞれ固有のクセがあるけど。 Visual C++ のサンプルコードでも下のようになってるから
dcb.BaudRate = 115200;
dcb.ByteSize = 8;
dcb.Parity = NOPARITY;
dcb.StopBits = ONESTOPBIT;
fSuccess = SetCommState(hCommPort, &dcb);
115200bps以下の通信が推奨なのかな。できればもう少し速くしたい。 すみません。176です。
誤解を与えるようなことを書いてしまいましたが、こちらの経験の範囲で
115200bpsを超えるビットレートでトラブルがあるというわけじゃありません。
.NETのSerialPortクラスと一緒に使ったとき、特定の文字コードを受けると
取りこぼしが発生する、みたいな話を昔の同僚から聞いたことがあるぐらいです。
その同僚がやっていたアプリは500kbps以上だったはず。 >>180
レス有難う。速度的な限界値は dcb.BaudRate を調整すれば
簡単にできるので確かめてみる。
理論値は VCP モードでも300Kバイト/sだけど100Kバイト/sでも御の字だし。 >>181
あ。すみません。デバイスはFT245でしたね。
>>180の同僚のアプリは、FT2232H のUARTモードのハンドシェークなし。
そのため、パソコンとFT2232H間が渋滞すると、UARTからの受信で取りこぼしが発生します。
FT245なら、パラレルI/Fの読み書きはハンドシェークが前提になるはずなので
全然事情がことなるかと思います。 >>182
丁寧な補足ありがとうございます。
自分は通信関係も詳しくないのですがハンドシェークとかフロー制御とか言う仕組みですか。
他の目的でも貼ってますけど回路図があると分かり易いと思うので貼っておきます。
https://imgur.com/a/ulNjzuD
下にあるロジアナの波形はハードに詳しい方から提供して頂いた画像です。
最初の基板が電源周り等も含めて稚拙だったので半田で補強してる状態です。
自分からすれば半田は上手いと思うのですけど言う人は「下手クソ」と酷評してます。
それで話しを戻しますがwindows側から送信したデータで取りこぼしはないです。
と言うのはwindowsと通信してる側で受信のタイミングを決定できますので
windows側はバッファに貯めている状況のまま相手が受信しなければ先に進みません。
また受信のタイミングはFT245RLのRXF#のフラグを見て決めますので受信データの
1ビット分を、このフラグの監視に転用してます。>>178の諸般の事情とはこの事です。
逆に通信相手からwindowsに送信する時は専用フラグTXE#を見ないで随時送信してます。
最初の基板では、そのフラグを見てたのですけどロジアナ波形から省略できると判断しました。
ただwindows用ドライバだと32バイトなりで連続受信してると32バイトの倍数では余る最後の
16バイト分弱の取り零しが発生してます。Linux用ドライバでは取り零しは発生してません。
今の所自分が使う環境での結論ですが、その他で大きな不都合はありません。
スレの目的が自作回路でUSBを使うための情報交換の場と認識してますので書きました。 △)自分からすれば半田は上手いと思うのですけど
○)自分からすれば半田が上手い人だと思うのですけど >>183
取りこぼすのが、Windowsのドライバの問題と結論付けるのは同意しかねる。
FT245は、もう古くて相当実績の多いデバイスだし、Windowsでも散々使われてるから、
今さらそんなに大きな不具合を初心者が簡単に見つけるとは思えない。 >>186
だよな。あと、ユーザーの方もLinuxよりWinで使っている奴が多いだろうし
Win用ドライバーはちょっと使うレベルでさえすら不具合発生する品質のものじゃないだろうな >>186
FT245Rには中国製のfakeがあるから、まず、純正のチップかどうかを確認するのが先。 正確には「取りこぼし」と言うよりカーネルにあるLinuxドライバとの違いかな。
クセを知った使い方をすれば「取りこぼし」はない。実際にハードとソフトを
製作すれば、どのようなことかは判るけど製作しない人には判らないと思う。 >逆に通信相手からwindowsに送信する時は専用フラグTXE#を見ないで随時送信してます。
>最初の基板では、そのフラグを見てたのですけどロジアナ波形から省略できると判断しました。
>ただwindows用ドライバだと32バイトなりで連続受信してると32バイトの倍数では余る最後の
OSの負荷が高いときは、USBのバルク転送は優先度が下がることがあるはずです。
FT245を使った周辺からPCへの転送であれば、FT245の内部のFIFOがいっぱいになることが
あるんじゃないですかね。
取りこぼしのないときのロジアナ波形を見て、TXE#を監視しなくても良いと判断されたのでしょうか。
この実験のように、大量のデータを連続して転送するような場合に、このフラグを監視せずに、
FT245への書き込みをするのは、ありえない気がします。 >>190
ご指摘は理解します。ただ運用方法・環境も関係すると考えます。
自分の環境では通信相手が低速なので今時のPCであれば取り零しは発生してません。
ですので通信相手が高速であれば当然TXE#の監視は欠かせません。
リンク先の「ロジアナ波形2」から理解できると思いますけど? >>190
普通のバルクINは、アプリから取りに行かないと転送されないから、
アプリのつくりが悪いとパソコンの性能がいくら高くても、確かにFIFOフルになる可能性はある。
でもこれアプリからは、COMポートに見えるインターフェースのようだから、
おそらく、そういう問題じゃないでしょう。 簡単設定でオリジナルUSBデバイスを製作??ビット・トレード・ワン、USB入力デバイス製作用モジュール「REVIVE USB Micro」発売 | fabcross
https://fabcross.jp/news/2019/20190620_bittradeone_riviveusbmicro.html >>185
俺も?なんだが、いまの5chはコミュ障な奴が多いから
読み手はエスパー能力が高くないと駄目だからな。
スタートが>>174のような独り言・愚痴(本人はこれで質問しているつもりなのかもしれないが)
ではコミュ取るの大変な感じがする >>191
>自分の環境では通信相手が低速なので今時のPCであれば取り零しは発生してません。
自分の環境では取りこぼしが発生していなくて、ある環境で、
↓のような取りこぼしが発生している、ということでしょうか。
>ただwindows用ドライバだと32バイトなりで連続受信してると32バイトの倍数では余る最後の
>16バイト分弱の取り零しが発生してます。
>リンク先の「ロジアナ波形2」から理解できると思いますけど?
いや。ぜんぜんそれでは分かりません。
それは取りこぼしが発生していないときですよね?
うまくいっているときの波形を見て、うまくいかないときの状況を想像してはいけないと思います。
とりあえず、この問題が発生しているときの状態を観察するべきかと思います。
転送バイト数が32の倍数よりも余るぶんで発生しているということですが、全体ではどれぐらいの
サイズなんでしょうか。たとえばゼロの状態からスタートして全体が45バイトの転送でも取りこぼしが
発生しますか? 既視感があるなあと思ったら >>99-128 あたりの人ですかね?
FT245RのモジュールのGND(SV3)は接続されているでしょうか。
読むとわかりますが、このときの方は、実験でうまくいったらうまくいくものだ、って感じ
の方でした。 >>195
あなたは>>117氏ですか? そうなら先ずはお礼を言います。
動作確認はしてませんけど、お陰様で基板の完成度が一皮むけた感じになりました。
(実際は一皮被せた感じですけど)
それで
・回路は公開してますから基本的には基板を製作すれば判ると考えてます。
・ある環境で、
汎用性品を目指してる訳ではないので自分の環境で動けば十分でしょう。
既に2名の方がパターン基板を製作していますけど問題報告はないです。
因みに一人はハード・ソフトのバランスが取れてる方、もう一人はハードも
それなりでソフト開発能力については抜きん出てる方です。
・ぜんぜんそれでは分かりません。
あなたが判らなくて納得させる義務はありませんが一応説明しますか?
捨てアドを先ずは貼ってくれれば更に説明はしますよ。もちろん建設的に。
この点は既に>>191で運用方法・環境も関係すると言ってますし、あらゆる
環境で使用に耐えることは考えてはいません。また多少の修正でTXE#の
監視もできるようにはなりますけど必要性が生じた時に対応します。
・取りこぼしについて
正確には「取りこぼし」と言うよりカーネルにあるLinux用ドライバとの違いで
コードの作り方で回避できます。同じICでもドライバの違いでクセがあります。
この点も既に>>189で言及してます。windows用ドライバには作法的な制約があります。
>うまくいっているときの波形を見て、
>うまくいかないときの状況を想像してはいけないと思います。
文章なのか中身なのか判別できませんが、伝わり難い表現です。
「うまくいっているときの波形を見て、どのような条件下でも
うまくいっているときの波形と同様の波形になると予測しては行けない」
って趣旨でしょうか? 確かに、それは「独善」と言います。
>この問題が発生しているときの状態を観察するべきかと思います。
現在は問題が発生してませんので現状で考察すべきことはないです。
それで>>174の趣旨は、ドライバでLinux用とwindows用の両方の経験した方から
使い方の違いで情報を共有したかったのですけど、その前に質問が始まりました。
それで繰り返しに成りますけど製作すれば判ると考えます。
製作をしないで情報を集めたいと言うのが人情かも知れないけど説明の義務はないので。 FTDIのドライバは初期の頃(2006年ごろかな?)はちょっと怪しい挙動も
あったけど、2010年頃には安定して使えるようになってたね
過去レス読んでないけど、本当に取りこぼしとやらがあるなら
真っ先に疑った方がいいのはデバイスのファームの方だろうな >それで>>174の趣旨は、ドライバでLinux用とwindows用の両方の経験した方から
>使い方の違いで情報を共有したかったのですけど、その前に質問が始まりました。
それなら、回路図ではなく両者のコード(回避策)も含めて開示しないと議論にならないんじゃないですかね? ありゃ。おかしくなってた。
×両者のコード(回避策)も含めて開示
○両者のコードを回避策も含めて開示 前と同じ人だったんだ。
結局のところ、FT245モジュールのGNDと他のロジックICのGNDは接続されました? >>199
>それなら、回路図ではなく両者のコード(回避策)も含めて開示しないと議論にならないんじゃないですかね?
お前はコードもと思うんだろうが、
本人は回路図、波形、そして、今までの書き込みで十分,使い方の違いで情報を共有できたと思っているよ
ほんとコミュニケーションは難しいよな >>199
>両者のコード(回避策)も含めて開示しないと議論にならないんじゃないですかね?
両者のコードって一瞬、貴方のコードを提示してくれるのかと考えたけど
そうではなく windows用 とLinuxの両方を提示すれってことですか?
別にあなたのレビューは求めてませんし、更には貴方は一方的に実体験に
基ずいてない質問をしてるだけと言う印象しかないので、このままの状況なら
質問に応えても自分にとっては収穫ゼロの状況です。
>OSの負荷が高いときは、USBのバルク転送は優先度が下がることがあるはずです。
それと貴方が情無い人だとコレで認識しました。優先順位を上位に設定できますよね。
USBのバルク転送でも優先度が下がる設定で使わなければ良いだけの話しでしょう。
バルク転送で優先度が下がる環境でも取りこぼしなく、って言うのは別の話しになります。
>GND
1年前から接続してます。と言うかFT245RLに関しては外部電源5Vで使ってます。 >>202
とは言え既に、この基板を使ってソフト面で凄い機能を作った人が現れてます。
悔しいのは昔のPC用ですが、そこはともかくFT245RLの使い方は習得できます。
FT245RLに関してはLEDを輝らして終りのサイトが大半ですから全然身になりません。
と言うことで、キーワードでググれば、有名なサイトでコードは発見できます。
運悪く自分のブログを最初に発見した時でも、そこからはリンクを貼ってあります。
ただし、まだプロトタイプかも知れないのでキツいツッコミされても困惑すると思います。
不具合がある時は、ここを直して欲しいと優しく指摘して下さい。
>本人は回路図、波形、そして、今までの書き込みで十分,使い方の違いで情報を共有できたと思っているよ
有用情報を出したくないけど口出してして有用情報を収穫しようとする人達の巣窟と認識しました。
windows用とLinuxの両方のドライバを使った人がいないなら自分が長いする理由はないです。 >有用情報を出したくないけど口出してして有用情報を収穫しようとする人達の巣窟と認識しました。
有用情報を収穫以前に、
あんまりコミュ出来ないめんどくさいそうな人がなんか必死にあーだこーだ言っているななだろ。 >有用情報を出したくないけど口出してして有用情報を収穫しようとする人達の巣窟と認識しました。
・・・GNDを繋がなければうんぬんの人から得られる有用情報ってw
この人生きてくのに苦労していそう USBマイコンとかを売っているメーカーからHIDデバイスを作るサンプルコードが提供されていたりするけど
あれって基本的にUSB規格に準拠している(コンプライアンステストをパスする)と考えて大丈夫なの?
特にサスペンド等まじめに実装されてなくても実用上支障ない部分も含めて。調べていくと結構大変そうらしい
そもそもこれらをこう実装すればコンプライアンステストに合格するって資料がないみたいな話すら出てくるし コンプライアンステストは、ほとんどハード側の話しで
ファームウェアでどうこうって部分はあんまりなかった気がするけど
個人的な経験としては、
CypressFX2使ったセルフパワーデバイスで
VBUS来てないとき、D+/D-に電圧かけないように処理したくらい >>208
今は知らんけど以前は本番のテストで使用するのと同じテスト用のプログラムが公開されてて、
自分で予備試験が出来た
たぶん今もそうじゃないの? >>209
参考までにサスペンドはどう実装しました?
特にバスパワーの場合結構面倒だと思いますが
>>210
ググったら出てきた
ttps://www.usb.org/usb2tools
もう少し調べてみます >>211
サスペンド周りはメーカー提供のサンプルコードそのまんまで問題なかった
うろ覚えだけど
ちゃんとサスペンド入るかどうかとそのタイミングだけで
消費電力のチェックとかなかったように思うので
バスパワーもセルフパワーもそんなに変わらんと思う 今のご時世猫も杓子もフレームワークな感じだけどハードウェアマニュアルを見ながらコードを書いたりしないのかな
チップ屋が出しているドライバとか見ると無駄にでかかったりするけど誰も気にしないんだろうか 早く作れる方が正義。巨人の肩万歳。車輪の再発明いくない。 NXPのLPCシリーズならROMにデバドラ入ってるヤツもあるで >>215
それはクラスドライバじゃ?
USBの各種クラスに対応したデバイスドライバはOSに含まれている場合が多いので
デバイスドライバをインストールせずに動作しているように見えるだろうけど 500円未満でUSBホストとUSBデバイスのコントローラを各1ずつ持っているマイコンって何がある?
USBコントローラを2つ搭載だと32bitの中でも大型で良いお値段するやつばっか出てくる
ルネのRL78/G1Cくらいしか見つけられなかったけど他にあれば・・・ かなりの大手にまでならないとデバイスドライバ自作は厳しくないか?
EVコードサイニングが必要になるしインボックスドライバかWinUSBで押し切りたい >>213の話ってマイコンのプログラムを書く話だよね?ホストPCの話と勘違いしている人がいるように見えるけど
確かにHIDを実装する例の資料にフラッシュ数十KBとか書いてあって面食らったことはある。んなわけねーだろjk
>>215
ペリフェラルのドライバが内蔵されてマイコンがあるって話は聞いたことがあるな >>215 でデバドラって書いたからホスト側と誤解されたのか?
ターゲット(マイコン)側でもペリフェラルというかハードに直接アクセスする部分は
デバドラとかドライバとも呼ばれると思うんだが
NXPのLPC11U6xにはHID、CDC、MSCとかクラスドライバも入ってる
USB以外にもI2C、USART、DMAのドライバも入ってるし整数割り算のルーチンも入ってるみたい デバイスドライバ表記は珍しいけどドライバ表記はマイコンメーカーもよく使っているな
レジスタを抽象化するソフトウェアのことをそう呼んでいる FTDIはDriverはPC用でチップを触るのはFirmwareって言ってるな
https://www.ftdichip.com/FTFirmware.htm ファームウェアって言ったらデバイス側のソフトを全部ひっくるめたものの印象 金物という硬いもの…ハードウェア(古来からあった言葉)
に対して、そうじゃないもの…ソフトウェア
という言葉が作られて、
でもって、硬いと柔らかいの間のものをファーム(しっかりした)ウェアと呼ぶようになったわけだし
なんとなくハードウェアと一体になってしまってるものとかROMに焼かれているものをファームウェアと呼んでるわけで、
ファームは境界線上の存在で、ソフトととハードの閾値は曖昧なものだろね。
鉛筆だってブラックとハードの間のファームは1段階しかない。境界線上の存在なんだろな。 >>226
> 鉛筆だってブラックとハードの間のファームは1段階しかない。境界線上の存在なんだろな。
せやな…
HB 本来はデバイスを抽象化するコード はドライバといっておかしくないと思うけど
特にWindowsが普及した後はOSにインストールするデバイスドライバのことを
ドライバと言うようになってきてるとは思う
>>226
ファームは間とかそういうことじゃなくて汎用コンピュータと違って
ソフトを入れ替えることが想定されてないからだと思うよw
だからROMでもゲーム機のROMはファームとは言わない >>227
HBさん忘れてた。てへ。
>>228
所属集団によってそのあたりの定義は変わるだろうし、自分たちの常識を自分たちの中で大切に
するのは良いし、同じように、他の人の常識も認めても良いと思うんだ。
世の中の趨勢を語るとしても、見解が分かれることは、たいていは自分に合う常識を探しがちだから、
自分の感覚ほどいい加減なものはなかったりする。
違う常識のグループとコラボするときに必要に応じてすり合わせすればいいことだし。 自分が見かけた範囲だとRenesas、IT、Cypress、Microchipあたりはdriverという呼称を使っているようだ
そこそこメジャーな呼び方では ,マイコン側と言っても
それなりなOS載せてるなら
デバイス依存部分はデバドラで違和感ないやろ
その程度の話やで 素人な質問ですみません
自作のUSB2.0 HIDデバイスでコネクタだけType-Cにする場合、CC端子は
5.1kでプルダウンするのが正しいのでしょうか?それともオープンのまま
どこにも繋がなくていいんでしょうか?
ホスト側はMacBookなどのUSB3.1 Type-Cを想定しています
使用時注意で「このデバイスをPDアダプタ等には絶対繋がないでください」と
することは可能です(つまり絶対にMacBookのようなPCとしか繋がない前提)
デバイス側でCCが未処理だった場合にホストがどういう動きになるのか
調べてもわかりませんでした CCを未処理とした場合、e-markedケーブルを使った場合に限り sink側が
つながっていないと判断されてまったく給電されなくなる? デバイス側のコードに大チョンボ見つけてしもた・・・
ホストのRequestを受けてHID Class-Specific descriptor返す処理で、
descriptorが格納されてるアドレスの指定がずれてた
なんでこれで今まで正常に動いてたのか全く理解出来ない 海外には野良でゲームコントローラーを作って売っているところが複数あるけど国内であのレベルの物を製造・販売している人っているんか?
日本のコントローラー自作の記事を見ても既成コントローラーの乗っ取りが主流に見える
USBマイコンにプログラム書いて作っている人がすでにかなりレア。製品化できる能力を持つ人はいないという事なんだろうか コントローラ変換アダプタなら
ATR-USB
UMJ-FX
とか個人で作って売ってるよ
ほかにも探せば自分専用オンリーで作ってる例ならたくさん見かける
特に今ならarduinoをHIDデバイスに見せかけることが簡単だからそっち使って
コントローラ自作してる例とかあるね github探してみなよその類いのプロジェクトたくさんある。
俺のもその内のひとつ。 いやアダプターとコントローラーじゃ必要な工業力や管理能力が全然違うじゃん
アダプターはコネクタが出ていればいいがコントローラーだとスイッチと実用に耐える筐体が要る
相応に値が張るし真っ当な販路とサポート体制も必要だろう
つーかここでUMJの名を見るとは・・・以前にコンバーターを自作した時に調べた時はホストがリクエストを
投げてくるたびにレポートを返すクソ実装だった。UMJ-FXはマトモになっているのかな >>243
リポジトリ教えてよ
>>244=241
君が言うような「コントローラのケース、スイッチ、ケーブルアセンブル等
込み込みで完成体のコントローラを野良で作ってる例」って言うのを知らないんで
是非教えてくれない?まさかretro-bitとか言わないよね
>ホストがリクエストを投げてくるたびにレポートを返すクソ実装
ゲームコントローラなら普通の実装でしょ。ナニ言ってんの?
レポートの内容が変化した時だけ返すなんてキーボードくらいでしか実装見たこと無いわ
ていうかIdelRateの範囲内で毎回レポート返す実装のどの変が糞なのか(爆笑 >>245
GAMO2とかどうだ?
以下に書く情報は当時(ホビーで使えるUSBマイコンと言えばEZ-USBシリーズしかなかった頃)調べた内容。今は知らん
複数個のUSBゲームパッドを調べたが常にレポートを投げ返している商品は一つも見つからなかった
常に投げ返しているのはUMJとPS-USB変換だけだった。そのような実装は普通ではなかった
あとUSBの仕組みを考えればリクエストが飛んでくるたびに投げ返すのはメリットない
無用にバスの帯域とホストのリソースを消費するだけ。それを軽減するためにインターバルを増やせば遅延が増大する
常に投げ返す実装でインターバルを1にしたらWindowsのCPU負荷を常時1割くらい消費していた
よってUSBゲームコントローラで常にレポートを投げ返す実装は合理的ではない どなたかご存知でしたら教えて下さい
Report Descriptorにおいて1byteサイズのデータの取りうる範囲は -127〜+127
なんでしょうか?それとも-128〜+127なんでしょうか?
-128という値を送るのに、1byteデータで良いのか2byteデータにしなければ
ならないのか調べても核心が持てませんでした 0x7F : 127
0x7E : 126
...
0x01: 1
0x00: 0
0xFF: -1
0xFE: -2
...
0x82: -126
0x81: -127
0x80: -128 ジョイスティックとマウスの合体も?デバイス自作基板の新作「REVIVE USB ADVANCE」が発売 - エルミタージュ秋葉原
http://www.gdm.or.jp/crew/2019/0930/322107 >>242
自分は昔の所有するゲームコントローラーのUSB対応は全てarduinoで対応してる
変換アダプタって結構いい値段するなぁという理由で始めたが
海外サイトが結構参考になったなぁ わかりそうなら教えて下さいませ。
外部デバイスからPCに、USB3.0ルートでファイルをガンガン転送する仕組みをテストしたいんですが、
PCと、サイプレスのEZ-USB FX3は既にあって
あと他に何が必要でしょうか? ヒト、モノ、カネがそろわないと駄目だ
まず、お前じゃだめだから、出来る人を金で雇え >>251
サイプレスで出来るか知らんがgithub上にSTM32でUSB-Ethernetを作る例がある。
stm32-ecm
あとはlwip スタック上にSMBでも積めば可能だと思う。
道のりは果てしないが君くらいのスケベ根性ならなんとかなると思う。
幸運を祈る。 1つのデバイスが複合デバイスを名乗るんじゃなくてHUB+複数デバイスを
名乗ることって可能なんでしょうか。
複合デバイスには対応してないんだけど、HUBには対応してるHOSTなんで… 一つのデバイスでハブの下に複数のデバイスが繋がってるように見せたいんでしょ >>255
USB HUBだって所詮デバイスの一つだし技術的には出来るんじゃない?
ひょっとすると仕様上出来ないUSBデバイスコントローラがある可能性はあるが ネット上に落ちてるUSB Complete 4th Editionを斜め読みしてみたらハブはfunctionの一種で
composite deviceは一つのアドレスで複数のfunctionを持つとなってるから
少なくとも規格的には可能なんだろうね
知らんけど ん?
>>255は「ハブを含む複合デバイスは可能か?」と聞いてるのではないのか?
compound deviceのことを言ってるのかな? HUBとして振る舞い複数の機能を提供するデバイスをcompound deviceというのか。一つ勉強になった
compound deviceのサンプルコードとか見たことないな。あるところにはあるのだろうか
composite deviceならあるみたいだが。ない場合気合いと根性で実装する事になりそう >>262
hub部分は普通専用IC使うからコード要らんしそれ以外は単なる単体USBデバイスだから Device descriptorのiManufacture,iProduct,iSerialNumberにそれぞれ0入れて
その項目を使用しないって指定するのはどこかのローカルルールでしょうか?
USB2.0specにはそんな事書いていなかったのですが?(3.0も) >>264
2.0と3.0の仕様書のstring descriptorの説明に明記されてるね
string descriptorがoptionalだから、
string descriptorを使用しないデバイスではゼロにする必要がある こういう電気回路とか工作素人なんですが、
アルミサッシを通せるUSBケーブルを自作しようと思ってます。
秋月かどっかでUSB端子とリボンケーブルを買ってきて、作れるようなものでしょうか?
USBケーブルの使いみちはUSBカメラです。 アルミサッシを通せるLANケーブルが市販されてるから、それを流用するのが
一番よさそう まあ、今ならUSBで100W取り出せるからな
PDなら肉くらい余裕で焼けるだろ USBの伝送路(NRZIとか送受信の切り替え)について解説されている資料ってあまりないよな
ディスクリプタがどうの的な資料はいっぱいあるが usb.orgに行けばリファレンスあるからねえ。二次的な資料はいらないのかも。 公式の見てもタイミングチャートとかほとんどなくね? >>275
その手のレイヤーはコントローラでやるからコントローラ自体を作るような人でないとほぼ必要ないし、そういう人は>>276も書いてるようにusb.org見るだろうしね ・完成組み立て済み
・市販されている
・高くない
・USB HOSTとUSB FUNCTONを各1ずつ搭載。出来ればコネクタ実装済み
みたいなマイコン基板ってあるかな? >>282
ラズパイゼロってUSBコントローラーを2機積んでいるの?
調べてみたけどOTG 1機に見えるんだけど ttps://www.raspberrypi.org/documentation/hardware/raspberrypi/schematics/rpi_SCH_Zero_1p3_reduced.pdf
2つあるUSBコネクタのうち信号線が繋がっているのは1つのようだが? パソコンのポートに挿すとWindows 認識するけどHUB経由だと認識しないってのは一般的にどう切り分けるべきなんでしょうか?
STM32F072でHAL利用です。 >>288
スレッド管理人の米沢です
>288 さんの質問は「STM32F072をWindowsパソコンのポートに接続すると
認識するが、HUB経由でつないだ場合は認識しなくなる」と言うことですね
このスレの >1-280 を探してみましたが同事象と思われるものは見つかりません
でした
引き続きこちらの回答を募集しています まさかと思うがパソコンとUSBハブの間を繋いでるのがUSBケーブルじゃなくて充電ケーブルというオチ? バスパワーのデバイスをバスパワーのハブに繋ぐと認識しないというのはよくあるけど
そういう基本的なことではないよな そもそもHUBはちゃんと仕事しているのか?
USB2.0以降のロゴ取得品なら大きな問題はないと思うが
古い奴とかロゴがない奴だとUSB Compliance test failureの可能性も
あとSTM32の場合
http://rio2016.5ch.net/test/read.cgi/denki/1528514691/216
なんて話を見たことがある。自分は真偽を確認していないので参考までに
つかUSBのエニュメレーションにからむトラブルはUSBアナライザ等の
物理層をキャプチャ出来る装置がないとドツボに填る可能性が高い(経験者) 市販されているUSB HUBの中に電源のみON/OFF出来る物が存在するけど
あれってUSB規格に準拠しているのだろうか
USB3.xデバイスを電気的にON/OFFしたいのだが 作業場が何故焦げ臭いのか原因を突き止められない無能現場監督もどきジジイ(笑) あれー?なんだろー、焦げ臭いなぁーなんだろうなーって作業場をノロノロウロウロするだけの様子は痴呆症の徘徊のようだ(笑)
そんな奴がよく他人様を小バカにできるよな(笑)
無駄に年取ってないで謙虚に生きたら?(笑) USBポートを横に二つ並べる時ってどのくらいの間隔を開けるかって
規格で決まってたりするんですか?USB Type-Cです 首が90度曲がってるようなコネクタも多いから
ほどほどに間隔空けてないと後悔すると思う 端子の金具はμm単位でサイズが決まっているけど、金具を包む外装は言及されて
いないから自分が困らなければ間隔短くても良いんでない USB3.xなHUBとかUSB3.x to SATAが載った物を作りたいけど
チップの入手もファームウェアの用意も基板の設計・製造も難易度高いぜ ASMほげほげみたいなやつか
一番の安定入手ルートは製品買ってきて剥がすことやな チップだけあってもデータシートやSDKや基板デザインガイド等がないと手に負えそうにない
SSを見よう見まねは流石にちょっと ぐぬぬ。2層でSuperSpeed伝送路の設計例がめっちゃすくない
大抵4層や6層推奨とか書いてある。4層や6層は高いねん >>306
一応こんな物はある
USB3.0 HUB Reference Board Design Kit (2-Layer)
ttps://www.renesas.com/jp/ja/software/D3015099.html ←ダウンロードは要登録
しかしどのように設計すればいいのかは書いていない >>307
板厚薄くすれば何とかなると思う。
普通に1.6mm位の板厚だと層間が大きすぎて、インピーダンス下がらない。 ちょっと質問。USB2.0の仕様書より
1.ホストに関する10章のエラーハンドリングの所
> 10.2.6 Transmission Error Handling
> If the error count for a given transaction reaches three, the host retires the transfer.
> 〜
って書いてあるけど具体的にどのようなパターンで再試行するのかとか転送をあきらめた後にどうするかは書いてないように見える。実装依存?
2.1つのフレームに入れられるトランザクションの数って決まっていた気がするけど何処に書いてある?
例えばFSの場合インタラプト転送は1つまでだったような Universal Serial Bus Specification Revision 2.0 Revision 2.0 April 27, 2000 のP.19
4.5.2 Error Handling
A USB Host Controller will try a transmission that encounters errors up to three times before informing the client software of the failure.
The client software can recover in an implementation-specific way.
Table 5-1. Low-speed Control Transfer Limits ...................................................................................................41
Table 5-2. Full-speed Control Transfer Limits ....................................................................................................42
Table 5-3. High-speed Control Transfer Limits...................................................................................................43
Table 5-4. Full-speed Isochronous Transaction Limits........................................................................................45
Table 5-5. High-speed Isochronous Transaction Limits ......................................................................................46
Table 5-6. Low-speed Interrupt Transaction Limits ............................................................................................49
Table 5-7. Full-speed Interrupt Transaction Limits .............................................................................................50
Table 5-8. High-speed Interrupt Transaction Limits............................................................................................51
Table 5-9. Full-speed Bulk Transaction Limits ...................................................................................................54
Table 5-10. High-speed Bulk Transaction Limits................................................................................................55 サイバーガジェット CY-NSP4WCL VID:0x0413 PID:0x503F
ググったらこのVIDはLeadtekらしい。リードテックが非ライセンスコントローラなんて作っているの?
それともひょっとして・・・ >>310
ありがと。その表の前後を確認してみたけどそれっぽい記述は見あたらないような。例えば
ttps://www.renesas.com/jp/ja/solutions/key-technology/connectivity-wired/usb/usb1-1.html
>USB1.xでは一つのエンドポイントに対するInterruptまたはIsochronous転送は1 フレーム(後述)に1回以上は行えませんでしたが
の根拠は何なんだろうか
あと3回とは書いてあるけど試行パターンは書いていなくね?
・同フレーム内で再試行
・次のフレームで再試行
・しばらく経ってから再試行
などが考えられると思うけど仕様的にはどれでもかまわないのかな USBハブが何しているのか書いてある資料って全然ないのな
フルスピードハブについて調べているんだがusb.orgにあるUSB 2.0のpdf見ても
規格値がずらずら並んでいるだけで信号がどのように流れるのかとかよく判らん
しかもハイスピードがちょくちょく混じって面倒 USBハブコントローラチップのデータシートの方がよくないか? >>313
USBの規格書はUSBの信号特性とかプロトコルを記述したものなので、実際にHUBの
中でどんな処理をやっているかが書かれているのは>>314が言うとおりコントローラ
チップのデータシートとかマニュアルだよ 規格書で見なきゃいけないのは
本体の奴もだけど
デバイスクラス定義のHubの奴な USB Type-CのCCって5.1kで終端という事になってますが、抵抗の誤差はどこまで
許されてるのか資料を探しても見つけられません
間違って5.11k ±1% を買ってきてしまったんですが、仕様が5.1k 誤差10%なら
5.11kでも問題なく使えるだろうと思ってるんですが。 10%の場合と20%の場合があったと思う
microchipの資料で見た DOCを見ても確信が得られなかったので質問させて
マウスに対してset_protocolを送りたいんだけど、送るタイミングはinterfaceの
情報が得られた後ならいつでもいいの?
interface情報を取得してbootProtocolに対応したマウスである事を確認した直後に
set_protocolを送ってんだけど、reportがbootProtocolにならない
(ちゃんとbootProtocolになるマウスもある)
マウスがset_protocolを無視してるだけなのか判断つきかねてます USBデバイスの電源について質問です。
最近は電源スイッチ付きUSB-HUBとかUSB電源スイッチアダプタとか売ってると思いますが、
それらはスイッチでVCCをオープンにしてオフにする仕組みになっているようです。
例えば、そのオフ状態で、USBホスト側からD- D+信号が来た場合、オフ状態のデバイスにD- D+ポートに電圧が発生し、
デバイスで何も対策してない場合、電圧が最悪VCCに回りこむ恐れがあると思いました。
実際、スイッチをオフにしても電源が入るデバイスもあるようです。
そういうデバイスの場合、D-とD+信号線にクランプ回路等の保護回路を挟んだ方が良いでしょうか。 >>321
アタッチのトリガーはデバイスによるD+/D-のプルアップかつD+/D-はホストで
プルダウンされているので規格通りの通りならそのようなことは起きえないのでは get_report
get_protocol
get_idle
これって3つとも実装必須なんだっけ?
ひとつも実装してないのに良く不具合無く動いてたなぁ 既存プロジェクトのMicro Bを type Cに変える場合
(USB 2.0 HSのまま、バスパワー100mA以下)
マイコンのD+ <->コネクタD+(表,裏)
D- <-> D-
VBUS <-> VBUS (表裏4本)
GND <-> GND(表裏4本)
を繋いでおけば良いのでしょうか? CC1、CC2を5.1kでプルダウンしておいたほうがいい >>323
結局、Windowsが使っていない要求は処理しなくても使えちゃう。 今SuperSpeedなデバイスを作ろうとした場合どんな構成が定番なの?
FPGA+SuperSpeedトランシーバとか?解説や作例自体少ないし・・・ ニュー速+板で大ニュースになってる
ダイソーの「PD対応」USB付き電源タップ(1100円) PD対応ではなかった [神★]
https://asahi.5ch.net/test/read.cgi/newsplus/1667186253/ 324と同じ感じでtypeCデバイスとして500mA使いたいんですが、
複数あるGNDは無警戒に繋いで良いんでしょうか?
VBUS側も同様。
それとも、安全にする回路を付ける必要がありますか?
安全回路を見た事が無いので皆さん無警戒に繋いでそうな気がしてます。
デバイス側が無警戒だと、ホスト側は安全回路を付けないと焼けそう。 USB HID のインタラプト転送ってレポートデスクリプタにはINの定義しかないんだけど
OUT使っても大丈夫なんだろうか
ホストとデバイスの両方で問題なく合意が出来ていれば(データは4byteで、その内訳は
こうで、みたいな)別にreport descriptorとかなくてもいいんかな ちょっとググググッてみたらUSBプロトコルアナライザって2週間1万強っていうわりと妥協できる
金額でレンタルできるっぽいんだけど案の定法人しか相手にしてくれないんだよなぁ
安いLINE EYEの奴でも購入15万とかはさすがに個人では無理 aliexpressで売ってる2万強のUSBプロトコルアナライザを実際に使ってる方いませんか
どの程度使い物になるのかちょっと気になるので