このMKにはUSBがありますか?

すべてのヨーグルトが同じように健康的ではありません。


ワイヤレステクノロジーが最終的に勝つまで、USB(U)はマイクロコントローラー(MK)のデバイスで最も頻繁に使用されるインターフェイスになり(まもなくなります)、標準通信デバイスのニッチを確実に占有し、UARTを押し出します。 MKをベースにした最も有名で広く普及しているマザーボードのシリーズ-Arduino-では、UART自体もUインターフェースからのコンバーターを介して実装されており、一部の高度なオプションではコンバーターがMK自体に実装されていることを忘れないでください。 したがって、MK内のYuモジュールの存在は、さまざまなオプションから特定のデバイスを選択するための基準の1つになります。 残念ながら、ドキュメントの表を見て、対応する行にプラスがあることを確認することは不可能です。 機能の観点からインターフェースのいくつかの機能を考えてみましょう。



まず第一に、Yuには3つのバージョン1、2、および3(バージョン3)と、バージョンバージョンがあります。

オプション1は、低速(LS = 1.5 MB)およびフルスピード(FS = 12 MB)をサポートし、2つのデジタルポート、10 MHzのクロック周波数、1つの割り込みを備えたMK上のハードウェアに低速を実装できます。これらのレッグから(アプリケーションプログラムの特定の制限の下で最後の要件を削除できます)。 このトピックはボロボロではなく、著者の博学を強調する目的でのみ言及されています。 したがって、ほぼすべてのMKがLSモードで最初のバージョンを搭載しており、トピックは閉じていると言っても安全です(1つの機能がありますが、それについては後で詳しく説明します)。



オプション2も高速(HS = 480 MB)をサポートしますが、MKでのこのようなデバイスの実装は、特に物理(PHY)インターフェースに関してはまだあまり一般的ではないため、関連性がなく、これ以上考慮されません(コメントの不一致をお願いします) 。 そのため、FSモード実装の機能に集中できます。



オプション3を検討する特別な理由は見当たりません。オプション3はまだMK用に設計されておらず、パフォーマンス要件が高すぎるため、そのハードウェア機能は外部トランシーバーに隠されています(ほとんどのHS実装に該当)。



したがって、MKにはどのような落とし穴が隠されている可能性がありますか?これは、ドキュメントに記載されているように、PHY USB FSデバイスがあると確信しているため、デバイスの要件の実装の障害になる可能性があります。



まず第一に、これらは終端抵抗です(ここでは機能です)。 ご存じのように、データラインの1つに抵抗が存在することは、デバイスでサポートされている速度の兆候ですが、同時にデバイスをバスに接続する兆候です。 そのため、選択したMKに内部終端抵抗がない場合(最近のMKではほとんどありませんが、これは特にポートにLSデバイスを実装する場合に発生します)、データラインから抵抗を切断してデバイスを再接続するプロセスを開始することはできません。 もちろん、そのような機会は必要ではないかもしれませんが、これを覚えておいてください。



デバイスにU懸念アイコンがある場合は、要件への準拠が満たされると考えますが、個人的にはそれを望んでいませんでした。 Uアナライザーが回線の途中で孤立したパケットを報告した非常に特殊な状況がありましたが、デバイスは正常に機能しており、明らかにレベルの不一致の問題でした。 このパラメーターに影響を与えることはできません。ドキュメントの標準への部分的な準拠については誰も書いていないからです。



そして今、本当に興味深いことが始まります。これはドキュメントで読むことができます。 まず、これはエンドポイント(OT)の数です。実装された機能を直接決定するのはこのパラメーターだからです。 まず、OTがゼロでないと、デバイスはまったく機能しないため、その存在については説明しません。 起動時にデバイスを構成する以外の目的でゼロOTを使用できるという兆候は見当たりませんでした。他の情報がある場合は共有してください。

したがって、最も近い整数2である正確に複数のOTが必要ですが、それでも少なくとも4になります。理由-最も単純なデバイスは制御に1つのOTを使用し、データ転送に2番目(および3番目) 4そしてそれは判明した。 この量は、ほとんどすべてのUデバイスを実装するのに十分ですが、結合デバイスを作成する必要がある場合に限ります。 これは待ち伏せが存在する場所です-残念ながら、1つのOTを使用して異なる機能を実装することはできません。

結合されたHIDデバイスを作成するには、すべてのレポートを1つのOT経由でホストに送信できます。また、1つのOTのマスメモリからレポートとデータを送信することはできません。 したがって、OTの数(および、これは機器によって決定されるパラメーターであり、オプションはありますが、プログラムで増やすことはできません)は、組み合わせたデバイスの設計における重大な制限です。



次に重要な詳細は、OTパラメータ、つまりデータ用のバッファのサイズ、結合バッファの可能性、および受信と送信を同時に処理する能力です。 後者から始めましょう-1つのOTを介した二重送信では、個別の読み取りフラグと書き込みフラグ(原則として、特定のホスト要件でこの要件をプログラムでバイパスできます)および個別の受信バッファーと送信バッファーが必要です彼らは本当に必要です)。 このMKでそのような要件が満たされると、OTの数は倍になり、これにより、組み合わせたデバイスの構築が容易になります。



次の重要なパラメータはOTメモリバッファのサイズです。これは、最大データパケットサイズが直接依存するためです。 繰り返しますが、HIDデバイスの場合、このパラメーターはそれほど重要ではありませんが、データ転送デバイスの場合、帯域幅を非常に大きく制限する可能性があります。 スループットに直接関係するのは、1つのOTの1つの送信方向に複数のバッファーが存在し、バッファーの切り替えを編成することです。 最大スループットを確保するための重要なパラメーターは、UコントローラーがMPD MKメカニズムと連携する能力です。



ご覧のとおり、MKでのYuの実装に関する上記の要件は、速度と機能という2つのグループに削減されます。 そして、速度で何もできず、ハードウェア機能によって厳密に制限されている場合(別の質問は、ずさんなドライバーの書き込みがこれらの機能をさらに制限する可能性があることです-特定の実装を参照してください)、機能の観点から、無制限の機能のデバイスを作成できる絶対に魅力的なトリックがあります。

このトリックは、疑似ハブを実装することです。この場合、ハブに接続された多くのデバイスの形で複合デバイスを想像し、OTの数とタイプに関するすべての制限を取り除くことができるためです。 もちろん、これには注意深いプログラミングが必要であり、些細な作業ではありませんが、それでもかなり実現可能です。 ただし、このオプションには、Uインターフェイスのカテゴリ要件があります。つまり、任意のアドレスでパケットを受信する機能、つまり、すべてのMKに実装されていないアドレスフィルターを無効にする機能です。



上記のすべてを要約すると、比較的単純なYuデバイス(HID)を作成する予定の場合、対応する行のMKの説明のプラス記号で十分ですが、複合異種デバイスまたは集中的なデータ転送を使用するデバイスを使用する場合は、非常に注意する必要があります不快な失望を避けるために、コントローラYu選択可能なMKの仕様をお読みください。



読者がおそらく理解しているように、この投稿は熊手を歩いた結果であるため、非常に具体的なプロジェクトの結果として作成された小さな実用的な推奨事項-前の段落で説明したデバイスの実装にMilander MCを使用することは推奨できません。 MK自体は非常に優れていますが、Uインターフェイスは非常に限られた機能で実装されています。 しかし、STMベースのMKはこのタスクに完全に対応しており、この会社のUインターフェースの開発者の経験は非常に大きい(または、おそらく良いライセンスが購入された)と感じています。



All Articles