富士通

国・地域のサイト | サイトマップ

Japan

ホーム

印刷用

元のページへ戻る

  1. ホーム >
  2. 電子デバイス・半導体 >
  3. 技術解説 >
  4. USBとは

USBとは

  • USB内蔵マイコンページへ

概要

USBとは、Universal Serial Busの略称であり、1993年にCompaq社、Intel社、Microsoft社、NEC社の技術者が集結して次世代のPC周辺インターフェースの共同開発を開始したのをきっかけに、1996年に初めてUSB1.0仕様書(規格)が公開されました。1998年にはUSB1.1仕様書、2000年にはUSB2.0仕様書が発行されています。

パソコンの周辺インターフェースとしては長い間、RS-232Cやプリンタポートが主に使われてきましたが、いずれも転送速度の限界が低いことや、1ポートに1デバイスしか接続できない為、複数のデバイスを接続するにはポート数が増えてしまう難点がありました。

また、それ以外にもキーボード、マウス、ディスプレイなどは個別ポートを持っており、パソコンの背面は多種多様なコネクタで埋まってしまいます。USBは、これらのインターフェースを統合し、1個のコネクタに様々な周辺機器を接続できるようにするものです。(下図を参照)

 図. PC Connectivity Vision
PC Connectivity Vision

USBとは

特徴

1. 操作の容易性

Plug & PlayやHot Plugやバス電源に対応しているのでPC周辺機器の拡張を容易に行えます。

  1. Plug & Play
    パソコンにデバイスを繋げると、自動的に認識されドライバがインストールされる仕組みです。
  2. Hot Plug
    パソコンの電源ON状態でデバイスの抜き挿しが可能であることを示す一般的な表現です。デバイスの抜き挿しの際にパソコンの電源を切ったり、再起動したりする必要がありません。
  3. バス電源
    パソコンからケーブルを介して電力が供給されます。(自分自身で電源を持つものを自己電源といいます)

2. シングルマスタ方式

USBは、シングルマスタ方式にて、データ転送が行われます。USBではすべてのPC周辺機器はパソコン(Host)によって管理されており、Hostとの間でデータをやり取りします。周辺機器と周辺機器の間で直接データを転送することは、できません。また、周辺機器からHostにデータ転送を要求することはできませんので、必ずHost側からの呼び出しに従ってデータのやり取りを行います。

3. 信号線

2本の信号線と電源線により、低コストでケーブルを構成できます。
2本の3.3V差動信号線(D+、D-)、2本の電源線(Vbus [5V]、GND)

4. データ転送速度

データ転送速度

USB Revision 1.0 & 1.1 2.0
データ転送速度 1.5Mbps/12Mbps 1.5Mbps/12Mbps/480Mbps

5. 4種類の転送方式

USBには用途ごとに使い分けのできる4種類の転送方式があります。

  1. コントロール転送
  2. バルク転送
  3. インタラプト転送
  4. アイソクロナス

それぞれの転送方式については、左メニュー項目 USB転送方式 で説明します。


USBとは

Topology

USBは、以下の3つの機能によりシステム構成を行います。

Host

パソコン本体に搭載。
1台のHostに最大127のFunctionを接続可能。
(ツリーは最大6階層まで接続可能)

Hub

周辺機器の拡張を行う。モニタ、キーボード等への搭載が主流。

Function

周辺機器に搭載。
主な用途には、Classとしてプロトコルが定義されています。

USB Topology

USBとは

Plug

USBケーブルの両端には形状の異なるプラグが採用されています。一方を「Aプラグ」、もう一方を「Bプラグ」と呼び、それぞれツリー状の接続で上流用(アップストリーム)と下流用(ダウンストリーム)として使い分ける必要があります。

  • 上流側 : Aプラグ(長方形)
  • 下流側 : Bプラグ(正方形)

上流、下流とは、FunctionまたはHubからHost側を見たとき、Host側の事を上流と言います。上流のUSBデバイスには必ず「Aプラグ」用のコネクタが搭載されています。これらのプラグに違いは、逆差し防止が主な目的です。(下図を参照)

 図. 2種類のプラグ
2種類のプラグ

USBとは

転送速度の検出

USBの規格では、Host側に接続されたUSBデバイスのデータ転送速度を自動的に検出する為に、USBデバイスのポートにはプルアップ抵抗を接続することが決められています。(下図を参照)

  • Full Speedのデバイスは、D+信号線を1.5kΩ(R2)でプルアップします。
  • Low Speedのデバイスは、D-信号線を1.5kΩ(R2)でプルアップします。

Hostは、USBデバイスが接続されたら、D+とD-のどちらがプルアップされているかを検出し、それに合せた速度でデータ転送を行います。
また、ケーブルの長さは、Full Speedの場合、最大5m、Low Speedの場合、最大3mとされています。

 転送速度の検出
転送速度の検出

USBとは

転送方式

富士通のUSBマイコンでは、全てのUSB転送方式に対応することが可能です。(下表を参照)

表. USB転送方式

アイソクロナス
転送
インタラプト
転送
バルク
転送
コントロール
転送
主な用途 USBの転送で最も優先される方式。バンド幅が保証されており、オーディオや電話等のリアルタイムが要求される転送に使用される方式 この転送方式の特徴は遅延時間が保証されている為、急な反応が必要とされる。キーボード、ゲーム、パッドなどの転送に使用される方式 プリンタやスキャナ、デジタル・カメラ等の大量のデータ転送を行う時に使用される方式。 この転送はUSBデバイスのコンフィグレーションやメッセージの送受信に使用される方式。
< 転送スピード >
12Mbps 対応 対応 対応 対応
1.5Mbps 対応 対応
< 1パケットあたりのデータ転送量 >
12Mbps 1~1023バイト 1~64バイト 1~64バイト 1~64バイト
1.5Mbps 1~8 バイト 1~8バイト
< 転送方向 >
ホストPCからファンクション 対応 対応 対応 対応
ファンクションからホストPC 対応 対応 対応 対応
データ・エラー時の再要求 なし あり あり あり

[注意事項] F2MC-8L USB内蔵マイコンは、インタラプト転送のOUT方向(ホストPCからファンクション)には対応していません。


USBとは

デバイスの構成

ホストは、各USBデバイスに割り当てたアドレスとエンドポイント番号を指定する事により、通信を行います。(下図を参照)

  • アドレス
    各ファンクション及びハブは、USB接続時に、ホストによって一つのアドレスが割り当てられます。接続のはじめは、必ずアドレス“0”に割り当てられます。その後、ホストによって1~127の間のアドレスどれかに割り当てられます。
  • エンドポイント
    各ファンクション及びハブは、エンドポイントと呼ばれるUSB転送データ用のバッファを複数持ちます。エンドポイントはFull Speedデバイスで最大16個、Low Speedデバイスで最大3個持つ事ができます。エンドポイント毎に、エンドポイント番号、転送方向、転送方式、最大パケットサイズを定義し、その指定した転送毎にエンドポイントを使い分けます。エンドポイント0は、コントロール転送をサポートし、すべてのUSBデバイスが持たなければならないものです。
 図. アドレスとエンドポイント番号
アドレスとエンドポイント番号

USBとは

エニュメレーション

エニュメレーションとは、ホストがバスに接続されているデバイスを識別し、アドレスを指定し、収集したディスクリプタ情報を固定のものとすることです。USBデバイスはディスクリプタを使ってその属性をホストに報告します。ディスクリプタには、種類があり、ホストが要求してきたディスクリプタ情報毎にデバイスは自身の情報を返します。ホストによって、アドレスが割り当てられ、デバイスの構成が認識された時点で、USBデバイスの使用が可能になります。(下図を参照)

 図. エニュメレーション
エニュメレーション

USBとは

フレーム

転送は、1msごとに反復されるフレームで時間を区切り、それぞれのフレームの中で各デバイスに少しずつ転送時間を割り当てます。ホストは、1msごとにSOFパケットを送信して、フレームを開始します。それに続いてホストがトークン・パケットを送信して、デバイスに転送の種類とデバイスのアドレス及びエンドポイントを通知します。アドレス指定されたデバイスだけが、データパケット、ハンドシェイクパケットで応答します。(下図を参照)

 図. フレーム
USBフレーム

USBとは

パケットフォーマット

USBは、これらのパケットの組み合わせて1つのフレームを転送します。ここでは、それぞれのパケットについて説明します。
すべてのパケットは、 SYNC(同期)フィールドで始まります。これは入力回路で入力データとローカルクロックとを調整するために使用され、長さは8bitです。SYNCフィールドは、同期をとるためだけに機能します。(下図を参照)

  • フレーム開始パケットはSYNCの次にSOF(Start Of Frame)が続きます。
    • SOFはPID(Packet ID)の1種で、フレーム開始パケット用のPIDです。フレーム・ナンバー・フィールドはフレーム数を数えるフィールドです。
    • CRC(Cyclic Redundancy Check)は伝送誤りを検出するフィールドです。
    • EOP(End Of Packet)はパケット終了ごとに伝送されます。
  • トークン・パケットはPIDに続いて、7ビットのアドレスと4ビットのエンドポイント番号と伝送誤り検出のための5ビットのCRCを送ります。
  • データ・パケットはPIDに続いて、データと伝送誤り検出の為の16ビットのCRCを送ります。
  • データを受信した側がハンドシェイク・パケットを送信します。
 図. USBパケットフォーマット
USBパケットフォーマット

USBとは

パケットID

USBで定義されているPID(送信されているパケットの状態を表します)タイプを下表に示します。

表. PIDタイプ

PIDタイプ PID名 PID[3:0] 説明
トークン OUT 0001b ホストからファンクションへデータ送信を行うことを通知する。
IN 1001b ファンクションからホストへデータ送信することを通知する。
SOF 0101b フレームの開始を通知する。
SETUP 1101b コントロール転送の開始を行うことを通知する。
データ DATA0 0011b データ・パケット(偶数)
DATA1 1011b データ・パケット(奇数)
ハンドシェイク ACK 0010b データ・パケットを正常受信したことを通知する。
NACK 1010b データ・パケットを正常受信できない、あるいは通信できないことを通知する。
STALL 1110b 指定されたエンドポイントがエラー状態にあり、ホストからの介入が必要であることを通知する。
スペシャル PRE 1100b ホストがLow Speed転送を行うことを通知する。