ページの先頭です
本文へジャンプする

本ウェブサイトでは、JavaScriptおよびスタイルシートを使用しております。
お客さまがご使用のブラウザではスタイルが未適応のため、本来とは異なった表示になっておりますが、 情報は問題なくご利用いただけます。


EOPとSYNC


480MHzのBus動作を実現するためには電気的な仕様の変更が、 USB1.xとの互換性を維持しながら必要になります。 また、12/1.5MHzの転送と480MHzの転送が混在できるようにするために、プロトコルの変更が必要になります。また、USB1.xで目立つようになってきた 問題点も改善されます。



USB2.0ではHigh-speed modeとFull/Low-speed modeはIdle Stateを示す状態 が違います。Full /Low-speed modeではIdle Stateは“J” Stateで 示されますが、High-speed Idle Stateは“D+=D-=0” stateで示されます。これはFull/Low-speed modeでは“SE0”と呼ばれるstateと同じです。

SE0はFull/Low-speed modeではResetとpacketの終わりを示す“EOP”とDeviceの切断を示すために使われますが、High-speedはResetとHigh-speed Idle Stateを示すために使われ ます。つまり、EOPを示すためのデリミタはHigh-speed modeでは変更され、 Deviceの切断の検出も変更されます。Full/Low-speed modeではpacketの終わりを示す“EOP”はSE0 2 bit times に続いて “J”になることで示されます。


Full/Low-speed mode

一方、High-speedではpacketの終わりを示す“EOP”はStuffed bit insertionなしの8bit NRZ 01111111で示されるように変更されます。“EOP”を示すfirst symbolはEOP直前のlast symbolの反転値になり、EOP patternの終わりに、driverはD+かD- lineに流す電流を止め、lineをhigh-speed Idle stateに戻します。


High-speed mode

High-speed SOFに対するEOPは特殊なケースで、8bit長ではなく 40 bit長となります。 これは、Deviceの切断の目的のために使われるものです。Deviceが切断された場合、Hubのダウンストリームポートから遠い側の抵抗45Ωが無くなることを意味します。しかし、High-speedIdle StateではdriverはD+、D-lineのどちらにも電流を流さないので、このStateではDeviceの切断は検出できません。実際のDeviceの切断の検出はBusのtransaction中にしか行えません。40bit長と長いEOPを使う理由はケーブル端から反射した信号が送信端に戻ってくるまでの間、出力レベルを維持するためです。出力レベルが約600mVを越えたことでDeviceの切断と判定されます。


回路図

SYNCのパターンもUSB2.0では変更されます。full/low-speedではSYNCは8bitNRZI KJKJKJKKで示されていますが、High-speedでは送信側でSYNCは32bit NRZI KJKJ KJKJ KJKJ KJKJ KJKJ KJKJ KJKJ KJKKに受信側では条件によって32-12bit長と可変になります。High-speed modeでは400mVという小振幅の信号を使います。このためノイズかSYNCかの判定は、バスラインの変化だけでは行うことができません。USB2.0では初めの4symbolが期待のパターンと一致した時、初めてSYNCが開始したと認識します。このため、HUBを経由するごとに4bit分のSymbolが欠けていくことになります。結果として受信できるSYNCは32symbol - 4 symbol X HUBの段数になります。



USB2.0の仕様概要