`
`(12) United States Patent
`Jackson
`
`(10) Patent N0.:
`
`(45) Date of Patent:
`
`US 7,346,728 B1
`Mar. 18, 2008
`
`(54) METHOD AND APPARATUS FOR A HUB
`CAPABLE OF BEING SELF-POWERED FOR
`USE IN A USB-COMPLIANT SYSTEM
`
`FOREIGN PATENT DOCUMENTS
`
`2262334
`
`8/2000
`
`(75)
`
`Inventor: Daniel Kelvin Jackson, Portland, OR
`(US)
`
`(73) Assignee:
`
`Intel Corporation, Santa Clara, CA
`(US)
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(0) by 22 days.
`
`Appl. N0.: 11/109,029
`
`Filed:
`
`Apr. 18, 2005
`
`Int. Cl.
`
`(2006.01)
`G06F 13/20
`U.S. Cl.
`.................... .. 710/313; 710/300; 710/306;
`710/62
`
`Field of Classification Search ...... .. 713/310-320,
`713/323-340; 710/300-306, 313-315, 62-64,
`710/72
`See application file for complete search history.
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,675,813
`5,799,196
`5,818,948
`5,819,051
`5,884,086
`5,890,015
`6,105,143
`6,128,743
`6,131,125
`6,253,329
`6,308,215
`6,584,519 B1
`6,697,372 B1
`7,028,133 131*
`
`10/1997 Holmdahl
`
`..
`
`8/1998 Flannery ................... .. 713/320
`10/1998 Gulick
`
`10/1998 Murray et al.
`3/1999 Amoni et al.
`
`3/1999 Garney
`8/2000 Kim ......................... .. 713/324
`10/2000 Rothenbaurn
`10/2000 Rostoker et al.
`
`6/2001 Kang ....................... .. 713/300
`10/2001 Kolbet et al.
`............. .. 709/233
`6/2003 Russell
`2/2004 McAlear
`4/2006 Jackson .................... .. 710/313
`
`OTHER PUBLICATIONS
`
`Siegmund et al: Efficient Modeling and Synthesis of On-chip
`Communication Protocols for Network-On-Chop Design;
`IEEE
`Xplore, release 2.1; Appears in: Circuits and Systems, 2003, ISCAS
`’03, Proceedings ofthe 2003 Int’l Symposium. .
`. May 25-28, 2003,
`vol. 5, 2 pages.
`
`(Continued)
`
`Primary Examz'ner—Raymond N Phan
`(74) Attorney, Agent, or Firm—Philip A. Pedigo
`
`(57)
`
`ABSTRACT
`
`Method and apparatus are described for improving inforrna-
`tion transfer over USB. In one approach, hub-based exten-
`sion is realized wherein power is distributed using auxiliary
`wiring distinct from signal and power wiring present in
`conventional USB cabling. Additional signals allow optimi-
`zation of power distribution for powering attached devices,
`and for detecting and handling illegal connection configu-
`rations.
`
`In another approach, improvements are realized through use
`of altemative signaling techniques which eschew reflective
`and high-speed commo11-mode signaling. Described are
`various configuration, media and signal-protocol combina-
`tions,
`including implementations containing embedded
`hubs. Methods ensuring reliable system behavior are also
`described, including determination of extension path delay
`and use of topology-enforcement hubs.
`
`In other approaches, further improvements are realized by
`allowing information exchanges to take longer than the
`nominal timeout period, or by allowing host requests to be
`delayed for transmission until the extended bus is available
`for use.
`
`7 Claims, 42 Drawing Sheets
`
`1
`
`DELPHI Exhibit1031
`
`
`
`US 7,346,728 B1
`Page 2
`
`OTHER PUBLICATIONS
`
`Glazar et al, FM RDS PnP Radio Receiver, vol‘ 1 pp. 114-117, IEEE
`Xplore, Appears in Eurocon 2003, May 2002.
`Nathan et al, Design and Features of an Intelligent PC-Based DAB
`Receiver. Vol. 48, issue 2 pp. 322-328., IEEE Xplore, Appears in
`Consumer Electronics, May 2002.
`Icron, Technology Sheet: USB Innovation—Icron’s Extended
`Range USB Technology, 1999,
`1 page.
`Icron, Technology Sheet, Extended Range USB Technology, PC-To-
`Remote Peripheral USB Extension, 1999, 3 pgs.
`PCT ISR dated Aug. 9, 2001.
`
`Universal Serial Bus Specification, Compaq, Intel, Microsoft, NEC,
`Revision 1.1, Sep. 23, 1998.
`USB Innovation—Icron’s Extended Range USB Technology Sheet,
`1999, Icron Systems, Inc., Delta, BC, Canada.
`FM RDS PnP radio receiver by Glazar, B; Jankovec, M.: Topic, M.
`(abstract only) Publication Date: Sep. 22-24, 2003.
`Design and features of an intelligent PC-based DAB receiver by
`Nathan, D.; Sputh, B.; Faust, 0.; Chua Beng Koon (abstract only)
`Publication Date: May 2002.
`
`* cited by examiner
`
`2
`
`
`
`U.S. Patent
`
`_.I._aM
`
`oo00200.,1
`
`Sheet 1 of 42
`
`US 7,346,728 B1
`
`
`
` m61.2»hE.u.s.©
`
`
`
`AJQ.H..&
`
`Ja%...,Ea.$
`o_MVS
`
`3
`
`
`
`U.S. Patent
`
`_.I._aM
`
`oo00200.,1
`
`Sheet 2 of 42
`
`US 7,346,728 B1
`
`\<wHuDmz\<ou.mmfitox
`
`
`
`33¢.m:H?...&333$.m5ao45¢8‘
`
`.22..més5.26x...::m45:,Ea‘Mcéc
`MW.E.<9.<>JZau\e3aRat
`
`
`
`4
`
`
`
`U.S. Patent
`
`_.I._aM
`
`oo00200.,1
`
`Sheet 3 of 42
`
`US 7,346,728 B1
`
`
`
`:.&m~F$§8.1mm?
`
`
`
`§.m%§<§\u..$$
`
`.59Ex
`
`owumuxafium@332wuootdama
`
`5
`
`
`
`4|.He4|.aPCSU.
`
`..I._aM
`
`80028.,1
`
`24f04AleehS
`
`US 7,346,728 B1
`
`6
`
`
`
`U.S. Patent
`
`_.I._aM
`
`0000200.,1
`
`Sheet 5 of 42
`
`US 7,346,728 B1
`
`7
`
`
`
`U.S. Patent
`
`_.I._aM
`
`0000200.,1
`
`Sheet 6 of 42
`
`US 7,346,728 B1
`
`8
`
`
`
`U.S. Patent
`
`_.I._aM
`
`0000200.,1
`
`Sheet 7 of 42
`
`US 7,346,728 B1
`
`9
`
`
`
`U.S. Patent
`
`_.I._aM
`
`0000200.,1
`
`Sheet 8 of 42
`
`US 7,346,728 B1
`
`
`
`\<9Hp.¢.®u\<Q§$\o0,®%?.2ao
`
`man
`
`10
`
`
`
`U.S. Patent
`
`_.I._aM
`
`oo00200.,1
`
`Sheet 9 of 42
`
`US 7,346,728 B1
`
`
`
`
`
`D\au..P\<wH\§§<S00V6;@$&um._\\t«D0Tan.
`
`11
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`24f001tCChS
`
`US 7,346,728 B1
`
`23.t\\\|....
`
`
`
`
`..n<.Y.~2:S§ouxmgmsa(mxIV2.Nm
`
`0\lO\.fl.N._
`
`12
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`24f011tCChS
`
`US 7,346,728 B1
`
`13
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`24f021tCChS
`
`US 7,346,728 B1
`
`14
`
`
`
`U.S. Patent
`
`_.I._m
`
`800200.,1
`
`24f031teehS
`
`US 7,346,728 B1
`
`15
`
`
`
`16
`
`
`
`tHetm.SU.
`
`_.I._m
`
`0000200.,1
`
`24f051teehS
`
`US 7,346,728 B1
`
`
`
`
`
`.WJnv/§(a~W...v.«<.HJ.<\<1QHMl_W>WJ\/LDQN,
`
`.EN.
`
`17
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`24f061tCChS
`
`US 7,346,728 B1
`
`18
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`24f071tCChS
`
`US 7,346,728 B1
`
`
`
`\<\|.w¢me&¢SM|.Q\<HJ..§>\.QnH.WM33»
`v»un:P.wd,5_w..H$.wn.R.\§dW__b§€3m4m§t%.,mE:
`
`
`
`
`
`D.l.U\HH_
`
`19
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`24f0001tCChS
`
`US 7,346,728 B1
`
`20
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`24f091tCChS
`
`US 7,346,728 B1
`
`21
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`24f002teehS
`
`US 7,346,728 B1
`
`22
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`24f012tCChS
`
`US 7,346,728 B1
`
`
`
`«Seams..¢3.»u&d£d9.u2H.553D.oH3m.n.¢.mcskndxmé
`
`
`
`
`
`
`
`u\<en.uOm.s\>60.$:\.$.....o\&a3u2%
`
`
`
`r..Bum$R.v5wmu.w.Rxfimu.$§p$:.3,.H
`
`,.N.lYH..L
`
`A§...SadHo
`
`\<Quuu\<M.~.%/Nv
`
`23
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`24f022teehS
`
`US 7,346,728 B1
`
`
`
`Q\E|.d.fi\K“.0W3+3oo:E.B..mmo.m«®oamm$s33m8.uK§S
`
`
`
`...:.zfiflmim..§.i§w¢§o3¢$33953?.9%...e.m_z
`
`
`
`
`
`
`\i.%S$EqmsRd.5..2u~..Ha.m2%,wg_A5:§mg5,.n»§w§.<4M
`
`Mien“nAupH:ea.w.u.o§..?.E.5»H.w\5§mo9~<.WlQ.w.¢92¢W435
`
`
`
`
`
`.N.~.nofinm
`
`24
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`Sheet 23 of 42
`
`Us 7,346,728 B1
`
`alum:mmgm-runIInga:
`
`
`
`L.D'uZLT'Ifl.'TTTT.lllIII—:'1EZj'_Z__
`
`)) ‘III-ndnflui-llbcllr
`
`l‘P1’u!Ik‘l'd|nd ((
`mmmum ((
`“Harman ((
`
`D.
`
`E‘:I-
`ED.
`
`.3.
`
`VPIEIIIIIAI
`
`YFIIOIVORII-‘I
`
`Imffllflflllfll
`
`ID1Vplhy0¢
`
`FII
`
`3
`ID!Pl‘
`
`Ilnllnbllilnn_uuxm'::'I
`
`25
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`24f042teehS
`
`US 7,346,728 B1
`
`
`
`
`
`
`
`
`
`
`
`95an3-u.5L...=5-8E. -3;on».I.AH.w~8Vn>AA$:9.:AAHauJpi-.»AA
`SS.3...338.2..g38.3333E...Tu-n.3a=«9:::3333:.9....
`
`
`
`
`
`2:.I10a:nu!HADH-Inu:IUD:3«inISN-H3850I53:3.5.
`
`
`
`.3...a|._J)\(J.|fi.:3:3>.5...3..
`
`can
`
`Fsunnnuu
`
`mI.....\((.1.An_:
`
`:3:3En.
`
`no:2:ausiauu
`
`
`
`3::_nfiitouE5...I-unuzu
`
`
`
`
`I293.pl-cu-_:ulnI8o.u2:G.I-9&3ll.r“l....|_I.ml.:I_FPbH.l«Ik._uE|pr...InM#3313.
`....|»..l.,....
`
`.
`
`5.Ai...:u:3E.
`
`3S§..o.uu9.._:o..383..x3¢_IUDlI.—..=°l
`.lfilfl-I4nu:ma-
`
`..:3u93._-2
`A3I.n.=l}
`
`-E
`
`88:3E...:u.:¢88ago:-
`.3-»22.j.3.3.33SunI....2
`
`anEuIn:
`
`I:
`
`
`
`.3.I503:
`
`3:in2.
`
`NW '10 If“
`
`:2
`
`8:I58.
`
`=....¢w._<u..
`
`3..la.5..1a.=.a..::
`
`q.{.u..)1—.lAA..!x:..
`
`au...n-to-2:-I-.uI-at..
`
`In:lxflE-5.
`
`-9
`
`.8.3..
`
`3..I3=0
`
`
`
`:8loIs.no.&|u.{((J|.AA_:.fi-2.22.
`
`.2.3!...-nus=1
`..nu:..3:13-3..
`3...:8En5..Aso..___..>_.£.
`
`I8-34...S:
`
`
`
`
`
`385...sand.I........5£.
`
`nus:
`
`-5.3.3:3.-
`
`m|...)_\..(.I.A........
`
`
`
`88asE.....:.=1_:..=n.=“.358.loflwuI.A:'
`
`_.:_=o.:.
`
`I‘
`
`.3.5.no
`
`.3I33.:E
`
`
`
`
`is-:83.IeiuvV.-:o2aa..1.-5:2...
`
`..:u:n:n:SI-.6E....:8IanEA!«and‘EE4;nun:N“
`3:Iaa.=n...__
`
`'
`
`. . -Y.Y.‘l’.VHGY-"fl’aY.YJ-WY.YN.K . -' .
`
`26
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`24f052teehS
`
`US 7,346,728 B1
`
`
`
`
`
`~au~.~m~.8mSuzuowEu:Euumeo$26.Enrico
`
`55eokfi
`
`83¢.-_u.$.=!w
`
`27
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`24f062teehS
`
`US 7,346,728 B1
`
`28
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`24f072teehS
`
`US 7,346,728 B1
`
`
`
` mnwwmnmaom2.258«E2...E232028rADVEn_._>noU
`
`
`
`
`
`E n
`
`i§ll|!!!!!'
`
`..ne__num:._bz
`
`
`
`_e.._8ii.555%.55.amauu5..5850
`
`l|‘4.lll|Il|u|le.5—Nmw>-on
`
`,uihmsgu
`
`29
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`24f0002teehS
`
`US 7,346,728 B1
`
`¥
`
`30
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`Sheet 29 of 42
`
`Us 7,346,728 B1
`
`31
`
`
`
`U.S. Patent
`
`Mar. 18, 2008
`
`S
`
`24M
`
`US 7,346,728 B1
`
`
`
`
`C.35.ma_:u_uE_a>m_.«nu§b_.u£.a—.uS::9hr_n__s._u:._nnwaumxmm=
`
`
`
`
`
`
`..2um=scus»:uosazfiv.u¢mus.DMXE.mu<._._BennuaEaun_T||,M_l.H.
`
`
`EmEmou_naux:a.._E___§25._a:o=u:=Eo:985¢62EdRwwus
`
`
`
`0Ean3AmLhA
`
`* .12:
`A
`
`A
`I|..I‘_‘.I‘_‘.
`
`m—:_iota?
`
`Dina.
`
`uorucnz
`
`
`
`ON:_L:w..wlmmoow_
`
`
`
`uoamnn‘
`
`
`sfioesam
`
`FmEn.zoosunm
`
`UOO§Dfl1
`
`~:_+...§%
`
`moiom,
`
`
`
`MNEn.Ionian
`
`rflomssm
`
`mousam.,
`
`m—Emiounonm
`
`sfloumumm
`
`uouanumzl
`
`E.n_.,..fiM__“mal
`H.«N5mal.
`
`UOMSOMW
`
`u_m.m._..fl..mc
`
`
`
`2...:5.15.0km.
`
`
`
`KEn.10223..
`
`
`
`..3o§a_....
`
`
`Inu_D_E5n.
`
`mh:_..._:o:._s...
`
`main?
`
`32
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`Sheet 31 of 42
`
`Us 7,346,728 B1
`
`3N
`“.‘Nca
`9‘cuoIn
`
`QulckLo£lc
`Corpanfl
`
`277[ballsnv
`
`I E
`
`E E0U
`
`’
`1:E3
`I..
`:0OW
`90caonc».-A
`
`UV
`EU:
`'5.n.O
`U
`
`..
`
`~
`m
`an
`XIII—XIIIHIIII—1III—XIII—XIII—
`I—III—III—IIIKIIIjIII_IlI
`
`mm:mmm:.ma.*w.:-
`
`IIIIICXIII—XIII-XIIICXIII-XIIIHXIILX —ZIIIHIIII—ZIlI—
`'
`
`2:15
`E
`
`33
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`24f023teehS
`
`US 7,346,728 B1
`
`34
`
`
`
`U.S. Patent
`
`Mar. 18, 2008
`
`24f033teehS
`
`US 7,346,728 B1
`
`2.uo>.ou>.nzu.nzu.oo>.ozu.uu>.oo>.azu.nza.uo>.azu.uzaBzo.uo>
`
`23.5..»333¢:h<ann.._.E3.:59.009-n2%atom
`
`35
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`Sheet 34 of 42
`
`Us 7,346,728 B1
`
`36
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`Sheet 35 of 42
`
`Us 7,346,728 B1
`
`5 O
`
`cg
`
`>03
`LL!
`0!
`
`Nl
`
`.IJ
`
`0 E
`
`l
`ED
`
`LIJ
`05
`
`E O U
`
`)
`
`I-
`
`E I a O U
`
`)
`LIJ
`DE
`
`0 O
`
`!
`O)
`U)
`
`R 8
`
`37
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`Sheet 36 of 42
`
`Us 7,346,728 B1
`
`
`
`
`
`Cnnvlgll(U)IIIIcmznuumunnnIIannuulus-In-III!E_-it-j:'.:n‘I:1:FEITlIlI1)j:5‘r:jj7.jj
`
`
`
`
`
`i:::g:&::é,’
`ssssasgafl;
`IIIIIIIE
`
`. IanInI
`
`5
`
`n‘
`
`’
`
`- 3S
`
`lllglll
`
`.Y.
`.-r..7 ‘F
`
`Y
`
`.
`%l
`I!l|!I!!!!!!!!I!!IIIIIIII mu 2
`Pv.‘?5. 3‘.r.r. my
`.
`.
`.‘r.v.~r.Y .v.~’r‘.F§.V.T.’F.'i‘.V.
`.~r.‘i%v5'.
`'3’
`C
`. 1.‘
`>
`L:
`...~
`.~ -
`‘kl-“W-‘r'5s5¢z'5¢'£r:-.e'5mz'5A ~52‘ ’
`
`§|||||||L%f
`
`3<-.
`
`40
`
`:
`
`mid:-u
`
`38
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`24f073teeLuS
`
`US 7,346,728 B1
`
`.It,.
`
`'.'wuU.I1».wl_d5-..n|.
`
`
`
`._44.Mlu..u:~!.lI...H:~..~H.-o!..:6.2..:n.In=......Iu...o:.2o_.a-.5-oP
`
`D
`
`
`
`
`
`:ennui.»......nx<IE3E3:Euuuusu:1...::3.11».-.dma.ux.....-.9:4...‘in«.B£.=1Ea:._.3:=3
`
`
`
`=9
`
`3.3....
`
`.5
`
`
`
`
`
`
`
`.33.:an3.I91.I....833:.32..5E-2.
`
`}
`
`no.2.
`
`
`
`33:.Fox:.3
`
`3-la:3-an5..
`
`u3
`
`A::3e=
`
`}
`
`5
`
`=0-n:u»u<::1
`
`2:
`
`
`
`El.E5u-A$5lu‘IIIIII.u.I.,
`
`
`
`.5.III...-1E...
`
`.1:-31-.1as
`
`F-...m.=u..
`
`
`
`:9Quinn:.1‘«cold
`
`INI"Ix
`!!JIEl.v.
`
`
`
`5».:\..:=w:
`
`no.
`
`.nas
`
`:10:.T3.
`
`Il".."!."l!"l.F
`lIfi§Ifl=
`
`
`
`..5:52..-..—flua...u-o..AA
`
`3-.1..:.¢AA
`
`..:$.._a_.o..AA
`
`‘..u::.AA
`
`nso=u
`:55;
`Ian arms,
`
`39
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`24f0003teehS
`
`US 7,346,728 B1
`
`40
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`Sheet 39 of 42
`
`Us 7,346,728 B1
`
`2%
`
`CG
`as
`3‘
`
`0
`
`.42
`.2
`3;
`
`3 3 é
`
`fi
`
`§ 6
`
`41
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`Sheet 40 of 42
`
`Us 7,346,728 B1
`
`42
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`24f014tCChS
`
`US 7,346,728 B1
`
`
`
`
`
`nwzwpwxmwCm.
`
`
`
`
`
`.\.oD....M...S$¢.Hmqmm%L3.$.40Lk<b.~..¢(uwwm.V.3.26.fl.v...+_u
`
`
`wwxwxit<m.9,®$o2m.moSS.mw._\.J.2.oA¢_.o:
`
`wink.
`
`6.532mm;EH3¢2fl.fla,moo3.9%9.39
`
`\..¢Lu.kMy
`
`43
`
`
`
`U.S. Patent
`
`Mar. 18,2008
`
`24f024teehS
`
`US 7,346,728 B1
`
`s.fi3®....Swig‘:93¢:o.dgw>.$§3
`
`
`
`.3.soak.
`
`44
`
`
`
`US 7,346,728 B1
`
`1
`METHOD AND APPARATUS FOR A HUB
`CAPABLE OF BEING SELF-POWERED FOR
`USE IN A USB-COMPLIANT SYSTEM
`
`RELATED APPLICATION DATA
`
`This application claims priority from U.S. provisional
`patent applications, Ser. Nos. 60/131,941, filed Apr. 30,
`1999, and 60/134,769, filed May 18, 1999.
`
`1. OVERVIEW
`
`This invention relates to the interconnection of computers
`and peripherals, and more particularly to interconnections
`compliant with the Universal Serial Bus (USB) standard.
`USB is a relatively recently-developed standard defining the
`comrection of personal computers (PCs) and peripheral
`devices, and is formally presented in the Universal Serial
`Bus Specification. Revision 1.1, dated Sep. 23, 1998, incor-
`porated herein by reference, as well the Universal Serial Bus
`Specyfication. Revision 2.0, dated Apr. 27, 2000, incorpo-
`rated herein by reference. References in the text below to
`Sections, Figures and Tables refer to items in the USB
`specification, while references to FIGs are to figures specific
`to this application.
`This section presents an overview of relevant features of
`the USB.
`
`1 .1 BUS TOPOLOGY
`
`1 .1 .1 Minimum Configuration
`In the simplest case, the PC may provide two USB ports,
`allowing attachment of two devices (one to each port). A
`USB cable is used to connect a device to a USB port; the
`cable may be pennanently attached to the device (a “cap-
`tive” cable), or the device may allow a detachable cable to
`be used to connect it to the USB port.
`The USB specification defines the physical characteristics
`of the USB cormectors used, as well as the physical and
`electrical characteristics of the types of cable that can be
`used.
`
`1.1.2 Expansion Via Hubs
`In order to allow for the connection of more than just two
`devices, USB hubs can be used. The hub is a device which
`comrects to a USB port (such as that of the PC) on one end
`(the “upstream” end, the end logically closer to the PC), and
`provides a set of USB ports for attachment of devices and/or
`other hubs (on the “downstream” end,
`the end logically
`farther away from the PC). The hub,
`then, acts as an
`expansion-faciltating unit (refer to FIGS. 4-1, 4-3 a11d 4-4).
`Commercially available hubs may provide two, four or as
`many as seven downstream ports.
`1.1.3 Number of Devices
`
`Each device in the USB system is assigned an address via
`which the controlling PC (host) uses to communicate with
`the devices. A maximum of 127 addresses is supported in
`any USB system.
`Note that the host communicates with the hubs as if they
`were, devices for the purpose of controlling them, and thus
`each hub has assigned to it an address also.
`1.1.4 Number of Levels of Hubs
`
`The USB system supports a bus topology in which the
`number of levels of hubs is a maximum of five. This means
`
`for instance that in moving from the host outward (down-
`
`2
`
`stream), through any hubs and then arriving finally at a
`device, the number of hubs encountered can be five or less.
`This limit should not be confused with the total number of
`
`hubs (or devices, or addresses) in a USB system, which is
`127 (as defined above).
`Note that it is the operating system (OS) of the PC which
`enforces this limit; if it is attempted to attach a sixth hub in
`line then the OS, upon detennining that it is a hub which is
`being connected, will not enable that hub to function.
`
`1.1.5 Number of USB Systems
`Although typically the PC will have a single USB system
`(with two ports) implemented (usually in the chip-set of the
`computer’s motherboard), PCs with PCI bus capability can
`make use of commercially available add-on PCI cards to
`implement additional USB systems (each additional system
`having two USB ports).
`1.1.6 Root Hub
`
`At the root of the USB system in the PC is a USB host
`controller, the hardware means n of sending and receiving
`information over the externally-comrected collection of hubs
`and devices. The host controller works in conjunction with
`a root hub (implemented with the host controller in the PC)
`having two downstream ports; this is the means by which the
`PC is able to provide two “root ports” for connection of hubs
`and devices (refer again to FIGS. 4-1).
`Note that the five-hub-level limit is exclusive of the root
`
`25
`
`hub; the limit relates just to the externally-connected hubs in
`the system.
`
`1.2 DEVICE POWERING
`
`Devices may supply the power they need to operate (e.g.,
`obtain power from the AC power n1ai11s (usually via an
`intermediary AC-powered DC power supply, located either
`within (part of the device, or located extemally), indepen-
`dent of USB: “self-powered” (refer to FIGS. 7-36)), or they
`can use power provided by the USB system (“bus-powered,”
`refer to FIGS. 7-34 and 7-35).
`Like devices, there are also two versions of hubs: self-
`powered a11d bus-powered (refer to FIGS. 7-33 and 7-32
`respectively).
`Bus-powered devices which are “low-power” can use up
`to 100 mA of the 5 Volt power current on its USB segment;
`“high-power” devices can use up to 500 mA.
`Devices and hubs are required to reduce their power
`current to 500 uA during the suspend condition (described
`below), although units configured to perform remote
`wakeup signaling ca11 utilize a higher level of average power
`current consumption (refer to FIGS. 7-38).
`
`1.3 DEVICE SPEEDS
`
`Two types of devices are provided for by the USB
`specification, a firll-speed device and a low-speed device.
`Most devices are full-speed type; some low-cost devices
`(such as mice and keyboards) are low-speed. The “device
`portion” of a hub (that portion of the hub which is controlled
`by the host) acts as a firll-speed device.
`The low-speed devices send and receive information at a
`lower data rate than do ful -speed devices (one-eighth
`(12.5%) of the full-speed rate .
`
`1.4 CONNECTORS
`
`The USB specification provides for two types of connec-
`tors at the upstream and downs ream ports of hubs and at the
`
`45
`
`
`
`US 7,346,728 B1
`
`3
`upstream ports of devices. Type “A” jacks (connectors) are
`used at downstream ports, while type “B” jacks (comrectors)
`are used at upstream ports (refer to FIGS. 6-1).
`Use of two physically-different types of connectors, along
`with the cabling defined by the USB specification (described 5
`below), means that configuring systems with illegal topolo-
`gies (such as the connection of two downstream hub ports
`together) cannot be accomplished.
`
`1 .5 CABLING
`
`1.5.1 Plugs
`Detachable USB cables are defined to have a type “A”
`plug at one (upstream) end, and a type “B” plug at the other
`(downstream) end. A captive cable permanently attached to
`a device (or to the upstream port of a hub) has a type “A”
`plug at the free end. (Note that
`low-speed devices are
`required to employ a captive cable).
`
`1.5.2 Signals
`Four signals are present in the USB cable of any USB bus
`segment: Vbus; D+, D— and Gnd. Vbus carries +5 Volt
`power; D+ and D— are the USB signals proper (refer to
`FIGS. 4-2).
`For cabling used with full-speed devices (whether detach-
`able or captive), the wires in the cable transporting D+ and
`D— constitute a twisted pair, with a surrounding shield also
`present in the cable (refer to FIGS. 6-11).
`For cabling used with low-speed devices (always cap-
`tive), the twisted pair and shield are not required.
`
`1.5.3 Length
`Full-speed cabling for any USB bus segment can be up to
`five meters long, with USB detachable cables of lengths of
`1, 2, 3, 4 or 5 meters commercially available. The longer-
`length cables must employ larger diameter (smaller gauge)
`Vbus and Gnd wires in the cable in order to minimize the
`voltage drop on Gnd (and Vbus) (refer to Section 6.4.2). A
`captive low-speed cable can be a maximum of three meters
`in length.
`One principal reason for the limitation of five meters for
`the maximum length of a USB cable is due to the reflective
`signaling employed during full-speed information transfer
`011 the bus segment (refer to FIGS. 7-4). (The signal is
`reflected back at the receiving end of the cable, and is
`required to return to the sending end again before the next
`bit transition occurs; this results in a maximum of 26 ns for
`the one-way propagation delay of a cable, which in turn
`determines the maximum cable length.)
`Another principal reason for the five-meter limitation is to
`ensure that
`the power voltage delivered down the bus
`segment is within its proper range (refer to Section 7.2.2).
`
`1 .6 POWER DISTRIBUTION
`
`1.6.1 Root Ports
`
`The host computer provides power on the USB bus
`segment coimected to it via the Vbus wire; a bus-powered
`device or hub connected to a root port of the host can utilize
`the power provided by the computer to function.
`The host usually provides 500 mA of +5 Volt power
`current at each of its root ports (some laptop hosts may
`provide only 100 mA).
`Hubs also play a role in power distribution, as discussed
`next.
`
`1.6.2 Self-Powered Hubs
`
`4
`
`At each of its downstream ports, a self-powered hub
`provides 500 rnA of USB power curre11t.
`1.6.3 Bus-Powered Hubs
`
`At each of its downstream ports, a bus-powered hub
`provides 100 mAofUSB power current. This implies a limit
`of four downstream ports for any bus-powered hub.
`This also is the reason for the topological restriction that
`only a low-power device or a self-powered hub ca11 be
`comiected to the downstream port of a bus-powered hub; a
`high-power device or a bus-powered hub cannot be con-
`nected to the downstream port of a bus-powered hub. These
`constraints are enforced by the OS.
`
`1.7 INFORMATION TRANSFER
`
`1.7.1 Bus Ownership
`"he USB is actually not a conventional bus, iii the sense
`tha generally it does not allow for anything on the bus other
`thai the host controller to be in charge of what is commu-
`nicated on the bus. The host controller is always in charge
`of 'ts USB system, and commands the devices and hubs in
`the system to take data from it or to provide it with data.
`"he devices and hubs have no way to become masters of
`the bus; there is no “peer-to-peer” communication, and the
`devices and hubs cannot even issue interrupt requests to the
`host (the host polls devices and hubs to determine whether
`anything of interest has happened). (Note that Devices and
`Hubs ca11 Issue “Remote Wakeup” Requests to the Host.)
`1.7.2 Frames
`
`Information transfer is segregated into time periods of 1
`ms each, termed “frames”.
`
`1.7.3 Electrical Signaling
`The D+ and D— lines are most often employed to send a
`serial information stream differentially along the cable of the
`bus segment. The D+ and D— lines can be set either
`electrically high or low; this allows basic binary information
`(“.I” and “K” states) to be communicated (refer to FIGS. 7-4
`and 7-5).
`The signaling protocol does define situations in which a
`third signaling state is required,
`the single-ended zero
`(SEZ); this is achieved by setting both D+ and D— low (refer
`to FIGS. 7-20).
`1.7.4 Serial Bit Rate
`
`Information is usually commumcated using the full-speed
`bit rate of 12 Mb/s (1.5 MB/s). Information sent at the
`low-speed data rate occurs at 1.5 Mb/s (0.19 MB/s) (refer to
`Section 7.1.11).
`1.7.5 Basic Bus States
`
`A “reset” condition may be signaled by an upstream port;
`this is indicated by an extended SEZ on the bus segment. A
`similar condition can occur when no device or hub is
`
`comiected on the segment (a “disconnect”) (refer to FIGS.
`7-15 and 7-18).
`The presence of a device or hub results in a “connect”, a
`period of I signaling following a reset. This is similar to an
`“idle” condition, when a connected device or hub is present
`but no information transfer is occurring at the moment (refer
`to FIGS. 7-16 and 7-17).
`A message may be communicated (either from upstream
`to downstream, or downstream to upstream (half-duplex
`communication)) by a set of J and K di erential signaling
`changes 011 the bus segment. The differential signaling level
`changes are interpreted as a stream of se*ial bits, which in
`
`46
`
`
`
`US 7,346,728 B1
`
`5
`
`tur11 are interpreted as a set of fields in the message (as
`described below) (refer again to FIGS. 7-20).
`The message (or “packet”) is ended by the sending of a
`SEZ (the end of packet (“EOP”)), during which time the bus
`signaling is no longer differential. Following the EOP a
`return to the idle condition occurs (refer again to FIGS.
`7-20).
`Other bus states include the “suspend” condition, which
`occurs after no bus activity (an extended idle) of 3 ms, as
`well as the “reslmie” condition, which acts to end the
`suspend state. Devices and hubs can be configured to end the
`suspend state by the means of a “remote wakeup”.
`
`1.7.6 Bit Encoding
`The bits of the fields ofthe packet are encoded in an NRZI
`manner, such that a J-to-K or a K-to-J differential transition
`indicates a logical 0 bit, whereas no differential transition
`indicates a logical 1 bit (refer to FIGS. 7-21). At the serial
`bit rate of the packet (either 12 Mb/s or 1.5 Mb/s), either a
`transition or no transition (a 0 or a 1) occurs in each bit time.
`“Bit stuffing” is employed in the serial bit stream to limit
`the duration on the bus segment during which no transition
`occurs to a maximum of six bit times; following a series of
`six logical ls, a logical 0 stuffbit (level change) occurs (refer
`to FIGS. 7-22). This allows level-transition-tracking cir-
`cuitry to stay synchronized with the serial stream.
`1.7.7 Packet Fields
`
`1.7.7.1 Sync Field—
`The first field of the packet is the “Sync” field, consisting
`of a fixed pattern of seven logical 0s and a final logical 1
`(refer to FIGS. 7-25). This pattern is provided to enable the
`level-transition-tracking circuitry to initially become syn-
`chronized with the serial stream.
`
`1.7.7.2 PID Field—
`
`The second field of the packet is the “PID” (packet ID)
`field, the first four bits of which specify the type of the
`packet: OUT, IN, SOF, SETUP (“token” type packets);
`DATAO, DATA1 (“data” type packets); ACK, NAK, STALL
`(“handshake” type packets); PRE (“special” type packet)
`(refer to FIGS. 8-1 and Table 8-1).
`The final four bits of the PID field provide a binary-
`complement check on the first four bits.
`Note that no finther fields follow the PID field in the case
`
`of the ACK, NAK and STALL handshake type aackets, as
`well as for the PR3 special type packet. (The P13 packet is
`different from the other packets in that it does not have an
`immediately-following EOP;
`the PRE packet is the pre-
`amble to a low-speed message being communicated from
`the host via hub(s) to a low-speed device. Re er to FIGS.
`8-19)
`
`1.7.7.3 Address/Endpoint Field—
`Following the PID field the OUT, IN and SETUP token
`type packets have an eleven bit Address/Endpoint field,
`which specifies the address of the unit being connnunicated
`with (seven bits), as well as an “endpoint” sub-address value
`(four bits) (refer to FIGS. 8-2 and 8-3).
`The seven bit address-field allows for the specification of
`128 addresses, 127 of which may be assigned uniquely to the
`various units (devices and hubs) in the system. Address
`value 0 is reserved for communicating with devices, each in
`turn, before they have been assigned a unique (no11-zero)
`address.
`
`1.7.7.4 Frame Number Field—
`
`6
`frame (refer to FIGS. 8-6). The SOF packet is produced by
`the host and sent to all devices and hubs iii the system
`(except low-speed devices) to indicate the start of frame
`(hubs to which a low-speed device is connected issue a
`“keep-alive” SEZ (EOP) to such devices for the same
`purpose).
`1.7.7.5 CRC5 Field—
`
`A five bit cyclic redundancy check (CRC) field follows
`the address/endpoi11t field of the OUT, IN and SETUP token
`type packets; a similar field follows the frame number field
`of the SOF token type packet (refer to FIGS. 8-5).
`1.7.7.6 Data Field—
`
`The DATAO and DATA1 data type packets have a Data
`field following the PID field (refer to FIGS. 8-7). The data
`field consists of an unspecified number of data bytes, from
`2 to 1025 bytes. The last two bytes are utilized as a 16-bit
`CRC field (see below), so that the actual number of infor-
`mation bytes transferred is 0 to 1023.
`1.7.7.7 CRC16 Field—
`
`The last two data bytes of a DATAO or DATA1 packet
`constitute a 16-bit CRC field (as described above).
`1.7.8 Transactions
`Packets communicated between the host and the device or
`
`hub constitute various types of transactions. Transactions are
`generally of the form token-data-handshake,
`token-l1and-
`shake or token-data. The various types of transactions are
`employed by the host system-level software for different
`aspects of USB system communication and control.
`1.7.8.1 Bulk Transactions—
`In an OUT bulk transaction the host first issues an OUT
`
`packet, specifying the unit (address and endpoint) involved
`(refer to FIGS. 8-9). The host then sends a DATAO (or
`DATA1) packet containing the data to be communicated.
`The addressed unit then responds with either an ACK packet
`(data received properly), a NAK packet (data could not be
`accepted, but the host should try again later), or a STALL
`packet (a fundamental problem exists with the unit, and this
`and other similar transactions can no longer be accepted). If
`the OUT or DATA packets received by the unit were
`corrupted, no handshake response is returned by the unit.
`In an IN bulk transaction the host first issues an IN packet,
`again specifying the unit involved. The addressed unit then
`responds with a DATAO (or DATA1) packet containing the
`data. The host then responds with an ACK packet (data
`received properly), else no handshake response is returned
`by the host.
`
`1.7.8.2 Interrupt Transactions—
`The OUT interrupt transaction and the IN interrupt trans-
`action are carried out in the same manner as are OUT bulk
`and IN bulk transactions; there are no differences at the bus
`protocol level (refer to FIGS. 8-13).
`
`1.7.8.3 Setup Transactions—
`A SETUP transaction is similar to an OUT transaction,
`except the host initially sends a SETUP packet, followed by
`a DATAO packet (refer to FIGS. 8-11). The addressed unit
`t en responds with an ACK packet (data received properly),
`else with no handshake response. The unit is not pennitted
`to retum a NAK or a STALL handshake in response to a
`SETUP transaction.
`
`55
`
`60
`
`1.7.8.4 Isochronous Transactions—
`In an OUT isochronous transaction the host first issues an
`
`65
`
`The SOF token type packet employs an eleven bit field
`following the PID field to indicate the number of the current
`
`OUT packet, specifying the unit involved (refer to FIGS.
`8-14). The host then sends a DATAO packet containing the
`
`47
`
`
`
`US 7,346,728 B1
`
`7
`
`data to be communicated. The addressed unit provides no
`handshake response back to the host.
`Ir1 an IN isochronous transaction the host first issues an IN
`
`involved. The addressed unit
`packet, specifying the unit
`responds with a DATAO packet, containing the data to be
`communicated. The addressed unit provides no handshake
`response back to the host.
`
`1.7.9 Signaling Constraints
`1.7.9.1 Transaction Timeouts
`
`For those transaction types which involve communication
`of a handshake packet (bulk, interrupt and setup (not iso-
`chronous)), the host or the device (or hub) insures that a
`response is received within a timeout period of 16 to 18 bit
`times (refer to Section 8.7.2). If within the timeout period
`the host does not see a data or handshake response from the
`device or hub, or if the device or hub does not see a
`handshake from the ho st, the transaction is retried (a total of
`three attempts is made).
`
`1.7.9.2 Response Delay
`The amount of time taken for a response to be received
`back is partly determined by how long it took the responding
`unit to formulate the response. The responding unit l1as 6.5
`to 7.5 bit times in which to provide the response (refer to
`Section 7.1.18).
`
`1.7.9.3 Network Delay
`The amount of time taken for the response to be received
`back is also partly determined by how long the response
`packet was in transit over the bus (i.e., along the bus
`segments and through the intermediary hubs). Each tier (hub
`plus cable) can delay the signal by up to 70 ns (refer to FIGS.
`7-31). This delay is a principal reason why the number of
`hubs that packet messages move through between host and
`device is limited to five.
`
`1.8 PHYSICAL SEPARATION
`
`The maximum distance that can separate a device from
`the host when the device is connected directly to the host, is
`determined by the lengt of the interconnecting cable; the
`cable ca11 be a maximum of five meters.
`
`FIGS. 4-1 a11d 7-31 imply that greater physical distance
`between the device and t e host can be achieved through the
`use of intermediary hubs. Under a maximum of five hubs,
`each connected using a 5 meter cable the maximum distance
`can be 25 meters. This is he distance from the host to where
`
`the device can attach at a downstream port of the last hub.
`The device may have a captive cable, in which case the
`total distance is increasec by the length of that cable. If the
`device utilizes a detacha ale cable, the maximum total dis-
`tance achievable is 30 meters.
`Note that a minimum of two of the hubs used must be
`
`self-powered, since two Jus-powered hubs carmot be con-
`nected in series (refer again to FIGS. 7-31). If the device is
`a high-power device, the a minimum of three of hubs (hubs
`#5, #3 and #1 in FIGS. 7-31) must be self-powered. This
`generally requires provision of AC mains-power to be
`available at points along the way between the host and the
`device, in order that the self-