GR-SAKURA

GR-SAKURAからUSBの仕様をおさらいする(伝送編)

何気なく使っている通信仕様。

過去はRS-232C、RS-422、RS-425というものがありました。

今ではUSBが普及し、Eatherも一般化しつつあります。

さて、我らが(?)GR-SAKURA(RX63N)にもUSB、Eatherが搭載されています。

GR-SAKURAで使うにはライブラリを組み込むだけなのですが、少し工夫が必要です。

この工夫を知るためにもまずはUSBの仕様をおさらいしよう、というのが本記事の趣旨です。

USB2.0のプロトコル

物理層

電源(VBUS)と差動信号(+D/-D)、GNDの4線からなります。
usb02
GR-SAKURAでは既に基板配線されているので、特に問題はないかと思います。

データ転送

USBはHostとDeviceが相互に情報をやり取りして制御情報(接続・切断、デバイス種類、通信仕様など)やデータの通信を行います。また、データ転送にはコントロール転送(制御情報)、バルク転送(非同期転送:ファイル転送等)、インタラプト転送(周期転送:マウス/キーボード等)、アイソクロナス転送(同期転送:USB Audio等)があります。

USBではHost-Device間で情報のやり取りをする際、エンドポイント(EP:伝送情報)とパイプ(伝送路)を利用します。
usb01

制御情報を扱うエンドポイント番号、パイプ番号が0に特定されています。
usb03

バルク、インタラプト、アイソクロナスではパイプ/エンドポイント番号は自由に振れますが制約はありますので、詳しくはRX63Nのハードウェアマニュアルを参照してください。

転送種類
  • コントロール転送
  • USB接続やデータをやり取りする際の制御情報を転送します。情報はHost-Device双方向で行うため、パイプは1本です。
    usb04

  • インタラプト転送
  • 少量のデータを周期的に取得する際に利用する方式です。マウスやキーボードに利用されます。パイプはIn/Outで一本ずつ必要です。
    usb05

  • バルク転送
  • 大量のデータを不定期に転送する方式です。メモリカードやHDDからのデータ転送などに利用されます。パイプはIn/Outで一本ずつ必要です。
    usb06

  • アイソクロナス転送
  • リアルタイム性が必要なデータを転送する方式です。音声や動画データの転送に利用されます。パイプはIn/Outで一本ずつ必要です。
    usb07

ここまでの内容は「Universal Serial Bus Specification Revision 2.0 April 27, 2000」に記載されています。

ABOUT ME
Nozomu.Kon
トータルソフトウェアコーディネーターがあなたのお困りを即時に解決!