Está en la página 1de 59

USB

Ing.PabloMartnGomez
pgomez@fi.uba.ar

1
USB Historia
y Introducidoyestandarizadoporungrupode
compaias Compaq,DEC,IBM,Intel,Microsoft,NEC,
HP,Lucent,PhilipsyNortel)en1995
y Laideafundamentalfueladereemplazarlagran
cantidaddeconectoresdisponiblesenlaPCs
simplificandolaconexinyconfiguracinde
dispositivoslograndograndesanchosdebanda

2
USB Historia
y Existen3versionesdeUSB
y USB1.0Enero1996
y Velocidadesde1.5Mbpshasta12Mbps
y USB1.1Septiembre1998
y PrimerversinpopulardeUSB
y USB2.0Abril2000
y Laprincipalmejoraeslainclusindeunatasade
transferenciadealtavelocidadde480Mbps
y USB3.0Noviembre2008
y Tasadetransferenciade5Gbps

3
USB3.0
y Upgrade delUSB2.0
y retrocompatible
y TambinllamadoSuperSpeed USBporla
significantemejorarespectoaespecificacionesUSB
existentes
y Nuevoprotocolodecomunicacinparadispostivos
y Nuevosmodosdetransferencia
y Nuevasformasdeadministrarlaalimentacin
y Mayorlongituddecablepermitida
y SimilaraaltecnologaPCIExpress2.0

4
USB2.0vs.USB3.0 Hardware
USB2.0 USB3.0
y Elcableesmsdelgado y Elcableseparecealutilizado
y Tiene4lneas enEthernetdebidoasu
y Mododetransferenciade grosor
datoshalfduplex y Tiene8lneas
y Tresparestrenzadospara
datosyunparpara
alimentacin
y Mododetransferenciadedatos
Fullduplex

5
USB2.0vs.USB3.0

6
USB2.0vs.USB3.0

7
USB2.0vs.USB3.0
y AunquelaespecificacindeUSB3.0estadiseada
pararetrocompatibilidadconUSB2.0,loscablesUSB
3.0nosoncompatiblesconelconectorregularBde
USB2.0

8
USB3.0vs.otrosestndares
y FireWire 800tienecomomximatasade
transferencia:800Mbps
y eSATA bustieneunamximatasadetransferenciade
3.2Gbps
y Ejemplo:
y Intelmostr quelatransferenciadeunapelculade25
GBHDdemor 70segundosutilizandounbusUSB3.0
contra4horasatravsdeUSB2.0

9
USB Introduccin
y USBsignificaUniversalSerialBus
y ControladoporHost (solamenteunoporbus)
y OntheGo (Protocolodenegociacindehost) permitea
dosdispositivosnegociarelroldehost
y Topologaestrella
y Sepuedenutilizarhubs paradividiraltaybajavelocidad
y Hasta127dispositivospuedenserconectadosaunbus
USBencualquiermomento
y Utiliza4lneasmalladas:2sondealimentacin(+5v
&GND)ylosotros2,unpartrenzadodondelas
sealessetransmitenenmododiferencial
10
USB Topologafsicaylgica

11
USB Topologafsicaylgica
y Topologafsica:estrella

y Topologalgica:puntoapunto

12
USB Introduccin
y Suportaplugnplug condrivers quesoncargados
dinmicamente PID/VID(Product ID/Vendor ID)
y USBsoportadiferentesmodosdetransferencia:
Control,Interrupcin(Interrupt),Masiva(Bulk) e
Iscrona(Isochronous)
y LaalimentacinsetransportaporelBus
y USBdistribuyelaalimentacinatodoslosdispositivos
conectados,eliminandolanecesidaddeunafuente
externaparadispositivosdebajoconsumo

13
USB Conectores
y Losconectoresacadaladodelcablenoson
mecnicamenteintercambiables
y ElconectortipoAsiempreseconectaaguasarriba.
Engenerallosencontramosenhosts yhubs.
y ElconectortipoBsiempreseconectaaguasabajo.
Losencontramosendispositivos.
y LosconectoresmicroABpuedensertantoconectores
microAcomomicroB.ParaUSBOntheGo.

14
USB Alimentacinyniveles
y Alimentacin
y Entrega5Venunadelaslneas(5V5%).
y Launidaddecargaes100mA(USB2.0)y150mA(USB3.0).
y Lamximacargaes500mA (USB2.0)y900mA (USB3.0).
y Loshubs alimentadosporBussolamenteentregan1unidadde
cargaparalosdispositivos.
y Loshubs alimentadosautonomamente puedenentregarla
mximacargaatodoslosdispositivos.
y Niveleslgicos
y 1 D+200mVmayoraD
y 0 D+200mVmenoraD

15
USB Codificacin
y UtilizacodificacinNRZIparaenviarlosdatosconun
campodesincronizacinparasincronizarelclock del
host yelreceptor
y NRZIdefineun0lgicocomounatransicinenel
valordetensin,yun1manteniendoelnivel
y SenecesitaBitstuffingporquelosreceptores
sincronizantransiciones.Siseenvanmuchos1s
entonceselreceptorpuede
perdersincronismo

16
USB Velocidad
y UndispositivoUSBdebeindicarsuvelocidad
llevandoD+oD a3.3volts.
y Sinresistenciadepullup,USBasumequenohay
nadaconectadoalBus.
y Enelmodohigh speed eldispositivoprimeroseconectaenmodofull
speed,luegoseremueveelresistordepullupparabalancearlalnea

17
USB Comunicacin
y AdiferenciadeRS232ointerfacesseriesimilares
dondeelformatodelosdatosaserenviadosnoest
definido,USBposeevariascapasdeprotocolos

18
USB Comunicacin
Transferencia Tiposdetransferencia:
Control
Iscrona
Masiva
Interrupcin
Transaccin Tiposdetransaccin:
IN
OUT
SOF
SETUP
Paquetes Tiposdepaquetes:
Token
Data
Status
SOF
19
USB Paquetes
y CadatransaccinUSBconsisteen:
y PaqueteToken(encabezadoquedefineloqueseesperaa
continuacin)
y Paquetededatos(opcional contieneelpayload)
y PaquetedeStatus(Usadocomoacknowledge enlas
transaccionesycomounaformadecorregirerrores)

20
USB Camposdelpaquete
y Sync
y Todoslospaquetesdebencomenzarconuncampodesync
utilizadoparasincronizarelclock receptorconeltransmisor
y PID(Packet ID)
y Utilizadoparaidentificareltipodepaquetequeest siendo
enviado(4bitscomplementados)
y ADDR(Address field)
y Especificaaquedispositivovadirigidoelpaquete
y Teniendountamaode7bitspermitesoportar127dispositivos
y Ladireccinceronoesvlidayaquecualquierdispositivoalque
todavanoselehaasignadounadireccindeberesponderlos
paquetesenviadosasta
21
USB Camposdelpaquete PID

22
USB Camposdelpaquete
y ENDP(Endpoint field)
y Formadopor4bitspermite16posiblesendpoints

y CRC(Cyclic Redundancy Check)


y Efectuadoenlosdatoscontenidosenelpayload delpaquete.
Todoslospaquetestoken tienenunCRCde5bitsmientrasque
losdedatostienenunCRCde16bits
y EOP(End of packet)
y SealizadoatravsdeunSingleEnded Zero (SE0/D+and D se
mantienenbajos)poraproximadamenteeltiempode2bits
seguidoporunaJ(estadolgico,elsignificadodependedela
velocidad)duranteeltiempode1bit

23
USB Tiposdepaquete
y PaquetesToken
y In InformaaldispositivoUSBqueelhost desealeer
informacin
y Out InformaaldispositivoUSBqueelhost deseaenviar
informacin
y Setup Utilizadoparacomenzartransferenciasdecontrol

y Paquetededatos
y Dostipos.Cadaunocapazdetransmitirde0a1023bytesdedatos

24
USB Tiposdepaquete
y PaquetesdeStatus oHandshake
y ACK (Acknowledgment) Confirmacindequeelpaquetefue
recibidoexitosamente
y NAK Reportaqueeldispositivonopuedeenviarnirecibirdatos
temporalmente.Tambinutilizadodurantelastransaccionesde
interrupcinparainformaralhost quenohaydatosparaenviar
y STALL Puedesignificaruncontrolrequest nosoportado,una
fallaenelcontrolrequest oqueelendpoint falla.

y Paquetesdecomienzodeframe (SOF)
y Elnmerodeframe (11bits)esenviadoporelhost cada1mS
500nS

25
USB Analizadordeprotocolo
y Lastransferenciasconsistenenunaomstransacciones.Un
pipesolamentesoportauntipodetransferencia
y Enunatransaccin,transferenciadesdehost adispositivoo
viceversa.Ladireccinsedefineenelpaquetetoken
y Engeneral,eldestinatariorespondeconunpaquetedestatus
indicando
sifue
exitosa

26
USB Funciones
y FuncionesUSB
y PuedenversecomodispositivosUSBqueproveencapacidadeso
funcionestalescomoimpresora,escner,lectordememoriasu
otroperifrico

27
USB Pipes
y Sonlasconexioneslgicasentrehost yendpoint(s)
y Tienenunaseriedeparmetros:
y Anchodebandaasignado
y Tipodetransferencia:
y Control,Msiva (Bulk),Iscrona
oInterrupcin
y Direccindelflujodedatos
y Tamaomximodepaquetes/buffer
y Todoslosdispositivostienenundefault controlpipe queutiliza
elendpoint cero

28
USB Endpoints
y Puedendescribirsecomofuentesosumiderosdedatos
y Todoslosdispositivosdebentenerendpoint cero

29
USB Transferenciasdecontrol
y Lastransferenciasdecontrolsontpicamenteutilizadaspara
operacionesconcomandosydestatus
y Unatransferenciadecontrolpuedetenerhastatresetapas
y EtapaSetup:dondelapeticinesenviada.Contieneladireccin
yelnmerodeendpoint
y Etapadedatos(opcional):consisteenunaomultiples
transferenciasIN/OUT
y EtapadeStatus:informaelstatusdelatotalidaddelapeticin.
Variaenfuncindeladireccindelatransferencia

30
USB Transferenciasdecontrol
y Formatodetransferenciadecontrol

acknowledge

endpoint error

working but nothing to send

acknowledge

buffer not empty

error

31
USB TransferenciadeInterrupcin
y Eldispositivoquerequiereatencindebeesperarqueelhost
leencueste antesquepuedainformarquenecesitaatencin
y Caractersticas
y Latenciagarantizada
y Flujodelpipe:Unidireccional
y Deteccionesdeerroresyreprocesoenprximoperodo
y InterrupcinIN
y Elhost encuestaperidicamentealendpoint.Lafrecuenciaconque
encuestaest especificadaeneldescriptordelendpoint.Cadaencuesta
implicaqueelhost enveunINToken
y InterrupcinOUT
y Cuandoelhost deseaenviaraldispositivodatosdeinterrupcin,
solicitaunOUTtoken seguidoporunpaquetededatosquecontienelos
datosdeinterrupcin
32
USB TransferenciadeInterrupcin
y Formatodetransferenciadeinterrupcin

33
USB TransferenciaIscrona
y Lastransferenciasiscronasocurrencontinuayperidicamente.
Tpicamentecontieneninformacinsensiblealtiempo,comoflujode
videooaudio
y Caractersticas
y AnchodebandaUSBgarantizado
y Latenciaacotada
y FlujodelPipe:Unidireccional
y DeteccindeerroresvaCRC,perosinreprocesonigarantadeentrega
y Disponiblesolamenteenmodosfullspeed yhigh speed

y Lastransferenciasiscronasnotienenetapadehandshaking yno
puedenreportarerroresocondicionesdeSTALL/HALT
34
USB Transferenciasmasivas
y Utilizadoparaenvomasivodedatos(Ej.:datosdeimpresinenviados
aunaimpresoraodatosdeunaimagengeneradosporunescner)
y Caractersticas
y Correccindeerrores(CampoCRC16eneldatapayload)
y Deteccindeerrores/mecanismosderetransmisin
y Utilizaespacionoasignadodelanchodebandadelbusdespusque
todaslasotrastransaccioneshansidoasignadas
y Solamenteutilizadoencomunicacionesnosensiblesaltiempodebidoaque
nohaygarantasrespectoalalatencia
y Disponiblesolamenteenmodosfullspeed yhigh speed

35
USB Resumentransferencias

36
USB Frames
y EltrficoenelbusUSBesreguladoutilizandoel
tiempo.Launidaddetiemposellamaframe
y VelocidadFull yLow:frames cada1ms
y VelocidadHigh:microframes cada125s
y Cadaframe comienzaconunpaqueteSOF
y Acadapipe seleasignaunespacioencadaframe
y 10%asignadoatransferenciasdecontrol

37
USB Throughput terico
y Amedidaquelosdispositivossonenumeradoselhost
vacontabilizandoelanchodebandasolicitadoporlos
endpoints iscronosydeinterrupcin
y Puedenconsumirhastaun90%deldisponible,luego
elhost niegaelacceso
Tipodetransferencia LowSpeed (1.5 FullSpeed (12 HighSpeed (480
Mbps/187kBps) Mbps/1,5MBps) Mbps/60MBps)
Control 24kBps 832kBps 15.872kBps

Interrupcin 0,8kBps 64kBps 24.576kBps

Masiva 1.216kBps 53.248kBps

Iscrona 1.023kBps 24.576kBps


38
USB Descriptores
y TodoslosdispositivosUSBtienenunajerarquadedescriptoresque
definenalhost informacintalcomo:
y queeseldispositivo
y quienlofabric
y queversindeUSBsoporta
y decuantasformaspuedeconfigurarse
y elnmerodeendpoints ysustipos
y LosdescriptoresUSBmscomunesson
y Descriptoresdedispositivo(Device descriptors)
y Descriptoresdeconfiguracin(Configuration Descriptors)
y Descriptoresdeinterfaz(Interface Descriptors)
y DescriptoresdeEndpoint (Endpoint Descriptors)
y DescriptoresdeString (String Descriptors)
y Proporcionainformacinhumanamentelegibleysonopcionales
39
USB Descriptores

40
USB Descriptoresdedispositivo
y EldescriptordedispositivodeldispositivoUSBrepresentanala
totalidaddelmismoporlotanto,slopuedeteneruno
y Contienen
y laversindeUSBsoportada
y elmximotamaodepaqueteparaelendpoint 0
y identificacindeproveedoryproducto
y elnmerodeposiblesconfiguracionesqueeldispositivopuedetener
y Ejemplo:
y bDeviceClass,bDeviceSubClass ybDeviceProtocol sonutilizadosporel
sistemaoperativoparaencontrarundriver paraeldispositivo
y GeneralmentesolobDeviceClass esespecificadoenestenivel
y Sesuelenespecificarlosdemsparmetrosaniveldeinterfaz.Esto
permitequeunmismodispositivosoportemltiplesclases

41
USB Descriptoresdedispositivo

42
USB Descriptoresdeconfiguracin
y UndispositivoUSBpuedetenerdiferentesconfiguraciones.Detodas
formas,lamayoradelosdispositivossonsimplesysolamentetienen
una
y Especifica
y comosealimentaeldispositivo
y cualeselmximoconsumodepotencia
y elnmerodeinterfacesquetiene
y Porlotanto,esposibletenerdosconfiguraciones:unaparael
dispositivosiendoalimentadoporelbusyotracuandolohace
externamente.Comoesteeselencabezado delosdescriptoresde
interfaz,estambinposibletenerparacadaunadelas
configuraciones,diferentesmodosdetransferencia

43
USB Descriptoresdeconfiguracin

44
USB Descriptoresdeinterfaz
y Puedenservistoscomoheaders delosendpoints engrupos
funcionalesquedesarrollanunamismafuncineneldispositivo

45
USB Descriptordeendpoint
y Elendpoint cerosiempre
seasumecomode
control
y Elhost utilizar la
informacindevueltapor
estosdescriptorespara
definirlos
requerimientosdeancho
debandadelbus

46
USB PaquetesdeSetup
y TodoslosdispositivosUSBtienenqueresponderapaquetesenel
default pipe (Transferenciasdecontrol).
y Lospaquetesdesetup seutilizanparaladeteccinyconfiguracindel
dispositivo.Tambinparallevaracaboalgunasfuncionescomunes
comoasignarunadireccinaldispositivo,solicitareldescriptordel
dispositivoochequearelstatusdealgnendpoint.
y Elhost esperaquetodoslospedidosseanprocesadosenunperodo
mximode5segundos.Tambinespecificaperodosmsestrictos
paraalgunospedidosespecficos.Estopuedetraerproblemaspara
debuggear elcdigo.

47
USB PaquetesdeSetup
y bRequest defineeltipo
depedido
y LaespecificacinUSB
definealgunospedidos
standard (Standard
Request)
y Tambinexistenlos
llamadosClass Request
definidosdefinidos por
losClass drivers
y Enfuncindeltipode
dispositivotendr unset
depedidosespecficos

48
USB PaquetesdeSetup
y Unpedidode
GET_STATUS puede
dirigirsetantoa
dispositivo,interfazo
endpoint.
y Enelcasodeserenviada
adispositivoresponde
sobreremotewake up y
self powered
y Enelcasodeendpoint
respondesiestahalted
ostalled

49
USB Enumeracin
1. Elsistematieneunnuevodispositivo.
2. Elhub detectaundispositivo.
3. Elhost esnotificadodelnuevodispositivo.
4. Elhub detectasieldispositivoeslow ofullspeed.
5. Elhub reseteaeldispositivo.
6. Elhost esnotificadosieldispositivosoportahigh speed.
7. Elhub estableceuncaminodesealentredispositivoybus.
8. Elhost envia unpedidodeGet Descriptorparaconocerel
mximotamaodepaquetedeldefault pipe.
9. Elhost asignaleasignaunadireccinaldispostivo.
10. Elhost aprendelashabilidadesdeldispositivo.
11. Elhost asignaycargalosdrivers deldispositivo.
12. Eldriver delhost seleccionaunaconfiguracin.
50
USB Enumeracin

51
USB FT232
y Precio:4,50U$S(Mouser)

52
PrcticaUSB

53
USBenLPC17xx

54
USBenLPC17xx

55
USBenLPC17xx

The SIEimplementaelprotocoloUSByrealizaporhardwarelatransferenciade
datosentreendpoint buffers yelbusUSB.:
levantaelpatrndesincronizacin
bit stuffing/destuffing
chequeoygeneracindeCRC
verificacinygeneracindePID
evaluacinygeneracindehandshake
56
USB EjemploHID
y ApndiceE
HIDClass devices.P66

57
USB

58
Fuentes
http://www.beyondlogic.org/usbnutshell/usbinanutshell.pdf
usbinanutshell
JanAxelson USBCOMPLETE 4thedition
http://www.usb.org

http://www.usblyzer.com/briefusboverviewandhistory.htm
http://arstechnica.com/old/content/2007/09/intelannouncesdemonstratesusb30.ars
http://arstechnica.com/hardware/news/2008/11/usb30specificationfinalizeddevicesin
2010.ars
http://techon.nikkeibp.co.jp/english/NEWS_EN/20090310/166949/
http://www.reghardware.co.uk/2008/01/09/ces_usb_3_revealed/
http://arstechnica.com/old/content/2007/09/intelannouncesdemonstratesusb30.ars
http://en.wikipedia.org/wiki/Usb
http://news.cnet.com/830117938_10597807941.html
http://thefutureofthings.com/news/5739/25gbin70secondswithusb30.html
http://www.intel.com/pressroom/archive/releases/20080813corp.htm
http://www.at91.com/repFichier/Document123/USBtutorial.ppt
http://www.computersolutions.co.uk/info/Embedded_tutorials/usb_tutorial.htm

59

También podría gustarte