Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SASE2013 USB P Gomez PDF
SASE2013 USB P Gomez PDF
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
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
acknowledge
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
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