信号

信号値

FG05L19J.jpg(15941 byte)

USBでは2本の通信端子を図のように電流駆動しています 。

図の@とAとBで3値の信号を通信することができます 。

表 1: 状態遷移
full low 状態
無駆動 無駆動 IDLE
逆駆動 順駆動 K
順駆動 逆駆動 J
両駆動 両駆動 SE0

信号状態

FG05L19H.jpg(8851 byte)

デバイスが接続されたら2端子のどちらかが高電位にな るのでこれが IDLE になります。

USB1.1では full と low の2種類の通信速度が定義さ れていますが。 信号状態を遷移する値はこのどちらかを選択すること で表1のように異なります 。

パケットの通信は IDLE から K になりデータ転送中 は K か J の状態にあります。 パケットの端末で SE0 の状態になり IDLE に戻りま す。

同期

USBではデバイスの接続時の状態で通信速度が認識で きるようになっています。 パケットの通信中は J か K の状態にありますが J から K になるときと K から J になるときがデー タビットの境目になります。 ここで位相を合わせることができます。

図 1: 同期化
FG05L20A.jpg(37612 byte)

送り側と受け側は通信CLKを共有していないので双方の 通信CLKは非同期の状態にあります。

送り側に対する受け側の通信CLKの位置は 図1 のように様々ですが J と K の境目を根拠に計数器を 駆動するとその値が 1 か 2 のときに信号値が送り側 に同期して取得できます。

図1 の場合は受信側が通信の1ビットの4倍の通信CLKで信号 を取得するもので3まで計数した後には0になります。 J が連続したり K が連続したりする場合はその計数間 隔の位置で信号が取得されます。

J が連続したり K が連続すると位相調整ができなくて 位相がずれていきますが USB では 6 ビット以上連続 して J または K であることがないように工夫されて いるので最長でも6ビット以内に位相調整が入ります。