2012-02-03 61 views
6

私は、USBスタックが何を意味するのか、その例を知りたいと思います。私はUSBについて多くのことを学びました。一言で言えば、USBのような本を読んでいましたが、「USBスタック」は言及されていませんでした。USBスタックとは何ですか?

答えて

8

「スタック」という用語は、抽象的なデータ構造(これとは無関係)または特定の機能を実行するソフトウェアの集合を指します。 「USBスタック」の場合、ハードウェア、ファームウェア、カーネルモジュール、ドライバ、およびユーザプログラムの集合で、USBリンクを介した通信が可能です。

「スタック」という用語は、ソフトウェアコンポーネントが互いに重なり合ってレイヤーのサービスを使用することが多いために使用されます。

「ネットワークスタック」または「LAMPスタック」などの類似したフレーズも聞こえることがあります。 Wikipediaには同じ考えであるSolution stackに関する記事があります。

+1

したがって、ソフトウェアだけでなく、 http://www.google.com/imgres?um=1&hl=ja&sa=N&biw=1366&bih=600&tbm=isch&tbnid=Bp8R0jm6_crSPM:&imgrefurl=http://www.jungo.com/st/embedded_usb_otg.html&docid=LIDLc6Q-lKTWaM&imgurl =のhttp://www.jungo.com/st/images/otg_feb05.jpg&w=530&h=355&ei=CDMsT5jPGZGUOpChrYEO&zoom=1&iact=hc&vpx=107&vpy=150&dur=3239&hovh=184&hovw=274&tx=178&ty=72&sig=106979144409125464825&page=1&tbnh=113&tbnw=168&start = 0&ndsp = 21&ved = 1t:429、r:0、s:0 – Ahmed

+2

"スタック"は異なる実装レイヤーをカットし、USBの場合のハードウェアを含む多くの異なるタイプのコンポーネントを含みます。 –

+1

スタックはハードウェアに依存していますか?チップごとに異なるスタックがありますか? – Ahmed

6

USBスタックは、それは多くの場合、USBデバイスのメーカーが提供するフレームワーク、またはOSだなど、まさにこのようなTCP/IPスタックなどのソフトウェア・スタック "の一般的な考え方に基づいて、フレーズ、GSMスタック、

です開発者は、他の開発者が低レベルのUSBを正しく実装することを心配するのではなく、実装の精神に重点を置くことができます。 - 差動ライン遷移およびシグナリングを扱い、バイナリへのストリームをデコード

  • リンク層(シリアルIO):USBの場合は

    、通信の層は、(誰もが少し異なり、それらを呼び出します)基本的にありますデータ、非常に多くの場合、ハードウェアで

  • USBパケットレイヤ - USBデータパケットの構造を扱っ
  • USB必要な機能 - オーディオ、HIDなど、自分自身を持っている - 列挙、バッファは、
  • USB高レベルAPIエンドポイント制限オンニーズとニーズ。

これは、最新のオペレーティングシステムのTCP/IPスタックに似ています:

  • 物理層(通常イーサネットカード上のハードウェアで実行)
  • しばしばで行わリンク層(MACアドレス層、イーサネットカード上のハードウェア)
  • ネットワーク層(IP、ルーティング)
  • トランスポート層(TCP)
  • アプリケーション特定の層(HTTPスタック、など)。
関連する問題