Developers Conference
Download
Report
Transcript Developers Conference
High-Speed
Detection Handshake
Considerations
Jerome Tjia
Philips Semiconductors
May 9, 2001
2
Why This Topic?
Chirping process is the pre-requisite to highspeed operation (failure in chirping process
defaults back to FS/LS mode)
A few “gotchas” in the implementation
If not properly designed, it will become a major
interoperability issue
May 9, 2001
3
Reset/Speed Detection
Protocol
High-speed capable devices are reset by 10ms
of continuous SE0 (same as USB 1.1)
During Reset, a high-speed capable device
“chirps” to the hub
If a USB 2.0 hub detects this chirp, it completes
the handshake by chirping back to the device
within the Reset
If the handshake is completed during Reset,
both hub and device come out of Reset in
high-speed mode
May 9, 2001
4
Reset Handshake Signaling
Device chirp is a Chirp K (detected with hub’s
high-speed receiver)
Device chirps by driving current in D- line while
leaving D+ pullup in place and leaving
terminations inactive
Hub chirp is a series of alternating Chirp
J’s and K’s
Hub chirps by driving current into D+ or D- line
Reference state machines included in Appendix C
May 9, 2001
5
Timeline for Reset
Start of
Reset
Start of
Hub Chirp
Hub
> 10 ms
End of
Hub Chirp
< 100 μs
End of
Reset
100-500 μs
D+
μSOF
SE0
Device Chirp SE0
Hub Chirp
SE0 HS idle μSOF
Device
D–
3.0-3.125 ms
Start of
Reset
May 9, 2001
100-875 μs
> 1.0 ms
< 7.0 ms
Device
Start of
reverts
Device Chirp
to FS
End of
Device Chirp
< 500 μs
Device
detects
Hub Chirp
Device
reverts
to HS
6
A Closer Look at SE0
Level During Reset
During reset, SE0 level are not exactly at ground
1.5 k ohm pull-up resistor on D+ is not
disconnected yet
Results in a little offset voltage
May 9, 2001
7
USB 2.0 Transceiver
Functionality
+3.3V
Rpu_Enable
HS_Current_Source_Enable
HS_Drive_Enable
HS_Data_Driver_Input
High Speed Current Driver
Legacy Driver
LS/FS_Data_Driver_Input
Assert_Single_Ended_Zero
FS_Edge_Mode_Sel
LS/FS_Driver_Output_Enable
Rs
Rs
Data+
HS_Differential_Receiver_Output
HS Differential Data Receiver
Differential_Receiver_Enabled
Rpu
Data-
Transmission Envelope Detector
Legacy_Differential_Receiver_Output
Legacy Data Receiver
HS_Disconnect_Detected
SE_Data+_Receiver_Output
Disconnection Envelope Detector
Single Ended Receivers
SE_Data-_Receiver_Output
May 9, 2001
8
DC Condition During Reset
DC condition during reset
VTERM
(3.3 +/- 0.3 V)
RPU
(1k5 +/- 5%)
D+
DON
Z HSDRV
(45 ohm
+/- 10%)
OFF
R PD
(15k +/- 5%)
Host/Hub
May 9, 2001
Device
9
DC Voltage Levels
During Reset
DC Voltage at D+/D- lines:
– VD- = 0V
– VD+ = VTERM * (ZHSDRV // RPD) / ((ZHSDRV // RPD) + RPU)
VD+ (min, typ, max) voltage = (79, 96, 120) mV
– VTERM = 3.3 +/- 0.3V
– ZHSDRV = 45 ohm +/- 10%
– RPU = 1k5 +/- 5%
– RPD = 15k +/- 5%
This offset voltage is termed “Tiny-J”
May 9, 2001
10
Will Tiny-j Become Valid J?
Two conditions to become valid-J:
– Differential receiver able to indicate J data
– Squelch threshold must be crossed to
indicate valid data
Differential receiver is normally very sensitive
– Though spec is 150 mV (differential)
– A tiny-J of 96 mV typical voltage level will most likely
be detected as a ‘J’
Squelch threshold may potentially be crossed too
Very likely that tiny-J be interpreted as a valid J
May 9, 2001
11
Overlapping Squelch
Threshold and Tiny-J levels
Tiny-J level
Squelch threshold
150 mV
120 mV
100 mV
79 mV
May 9, 2001
12
High-Speed Detection
Handshake
Reset Protocol and High-speed Detection Handshake
D+
3.0 V
900 mV
800 mV
800 mV
D-
96 mV
(120 mV wc)
FS Idle
Squelch:
100-150 mV
differential
0 mV
FS SE0
Chirp K
FS SE0
Alternating Chirp K & J FS SE0
HS Idle
"Tiny J"
May 9, 2001
13
Warning #1: Hub/host
Should Ignore Tiny-J
During reset, hub/host is looking for a chirp-K
Potentially, it can receive a valid chirp-J
Hub/host should ignore this chirp-J
– It should not reject or decide that the attached device
is not high-speed capable at this time
It should continue to listen for a chirp-K for 7 ms
or until the end of reset period
May 9, 2001
14
Warning #2: End of
Chirp-K Timing
End of chirp-K is another tiny-J level!
Cannot rely solely on squelch detector
deassertion as the marker for end of chirp-K
Use non zero data pattern to indicate
end of chirp-K
End of chirp-K -> alternating chirps K,J
May 9, 2001
15
Warning #3: Transceiver
Design Guideline
Although tiny-J can be handled by upper digital
logic layer of the host/hub, it’s double assurance
to tackle it in the transceiver
To ensure that tiny-J is not interpreted as a valid J
– ensure squelch threshold higher than tiny-J, by:
– Increasing (doubling) squelch threshold during
chirping period (will this violate spec?)
OR
– Designing squelch threshold voltage to be 120-150 mV
(tough?, no noise margin)
May 9, 2001
16
Overlapping Squelch
Threshold and Tiny-J levels
Tiny-J level
Squelch threshold
150 mV
120 mV
100 mV
79 mV
May 9, 2001
17
Other/minor
Warnings - Device
Device starts driving chirp-K upon detection
of reset signaling
Device Reset can happen from different states
– Reset from (FS) suspended state
– Reset from FS non-suspended state
– Reset from HS non-suspended state
Reset from HS non-suspended state
– initially indistinguishable from suspend
– wait for 3 ms, switch to FS, wait TWTRSTHS (~ 500 us)
debounce and settling time and then detects SE0
May 9, 2001
18
Timeline for Reset
Start of
Reset
Start of
Hub Chirp
Hub
> 10 ms
End of
Hub Chirp
< 100 μs
End of
Reset
100-500 μs
D+
μSOF
SE0
Device Chirp SE0
Hub Chirp
SE0 HS idle μSOF
Device
D–
3.0-3.125 ms
Start of
Reset
May 9, 2001
100-875 μs
> 1.0 ms
< 7.0 ms
Device
Start of
reverts
Device Chirp
to FS
End of
Device Chirp
< 500 μs
Device
detects
Hub Chirp
Device
reverts
to HS
19
Summary
Specification is OK as is
Tiny-J needs to be taken care of properly
Watch out for warnings/gotchas in transceiver,
host/hub and device design
Will become a major interoperability issue if not
properly designed
May 9, 2001
20