29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 1
CeTAD (Centro de Técnicas Analógico Digitales)
Facultad de Ingeniería
Universidad Nacional de La Plata
Contacto: [email protected]
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 2
Temario
Prestaciones.
Principales características.
Elementos de una transferencia.
Enumeración de dispositivos
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 3
Prestaciones
Una sola interfaz para varios dispositivos.
Configuración automática.
No requiere alimentación externa.
Conexión y desconexión con alimentación.
Buena velocidad de transferencia.
Cables y conectores estándar.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 4
Principales Características
Componentes del Bus
Dispositivos USB.
Host USB.
Hub USB.
Host
Root Hub DispositivoDispositivo
Hub
Dispositivo
DispositivoDispositivo
Hub
Dispositivo
Dispositivo
Dispositivo compuesto
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 5
Principales Características
Componentes del Bus
Host USB: Responsabilidades.
Detección de dispositivos.
Proveer alimentación.
Administrar el tráfico del bus.
Chequeo de errores.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 6
Principales Características
Componentes del Bus
Dispositivos USB: Responsabilidades.
Administración de la alimentación.
Responder a solicitudes estándar.
Chequeo de errores.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 7
Principales Características
USB On-The-Go (OTG)
Permite conectar dispositivos
directamente entre sí y con
otros periféricos USB.
On-The-Go es un suplemento para la
especificación USB 2.0
Limitada capacidad de función de host.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 8
Principales Características
Velocidad de Transferencia
Especificación USB 1.0 define:
“Low Speed” a 1,5 Mbits/s.
“Full Speed” a 12 Mbits/s.
Especificación USB 2.0 incorpora:
“High Speed” a 480 Mbits/s.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 9
Principales Características
Eléctricas y Mecánicas
A nivel de señal.
Transferencias de datos utilizando líneas de
datos diferenciales.
Para “full speed” y “high speed”: impedancia
diferencial de 90 ohm.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 10
A nivel eléctrico.
Bus USB integrado por cuatro conductores:
“Vbus”: línea de alimentación, 5V nominal.
“GND”: tensión de referencia.
“D+” y “D-”: integran el par de señales
diferenciales de datos.
Principales Características
Eléctricas y Mecánicas
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 11
Elementos de una
Transferencia Endpoints.
Pipes.
Tipos de Transferencias.
Transferencias y transacciones.
Fases de una transacción.
Chequeo de error.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 12
Elementos de una Transferencia
EndpointsBuffer que almacena datos.
El tráfico viaja desde o hacia los endpoints de cada
dispositivo.
Contiene datos recibidos o datos a ser transmitidos.
La dirección de un endpoint está compuesta por el número de
endpoint y su sentido:
Número de 1 a 15.
Sentido: “in” para transmisión, “out” para recepción.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 13
Elementos de una Transferencia
Pipes (tuberías)
Asociación entre el endpoint de un dispositivo
y el software del host.
Son establecidas durante el proceso de
enumeración.
El host las remueve al retirar el dispositivo.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 14
Elementos de una Transferencia
Tipos de transferencias
De control.
“Bulk”.
“Interrupt”.
“Isochronous”.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 15
Elementos de una Transferencia
Tipos de transferencias
Transferencia de control:
Utilizadas por el host durante el proceso de
enumeración.
Es el único tipo definido en la especificación
USB.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 16
Elementos de una Transferencia
Tipos de transferencias
Transferencia “Bulk”:
Se usa para transferencia masiva de
datos en casos que la velocidad de
transferencia no sea crítica.
Utilizada por dispositivos “full speed” y
“high speed”.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 17
Elementos de una Transferencia
Tipos de transferencias
Transferencia “Interrupt”:
Utilizada por dispositivos que requieren
la atención del host periódicamente.
Única forma de transferencia en
dispositivos “low speed”.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 18
Elementos de una Transferencia
Tipos de transferencias
Transferencia “Isochronous”:
Tienen garantizado el tiempo de envió.
Sin corrección de errores.
Utilizada por dispositivos “full speed” y
“high speed”.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 19
Elementos de una Transferencia
Transferencias y transacciones
Transferencia: proceso de establecer y
transportar las solicitudes de comunicación.
Cada transferencia se forma por una o varias
transacciones.
Transacción: prestación de un servicio a un
endpoint.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 20
Elementos de una Transferencia
Transferencias y transacciones
Cada Transacción está formada por 1, 2 o 3
paquetes.
Cada transacción incluye:
Identificación.
Chequeo de errores.
Información de control.
Todos los datos a enviar.
Una transacción no puede ser interrumpida.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 21
Elementos de una Transferencia
Transferencias y transacciones
Fases de una transferencia:
Paquete de “Token”.
Paquete de datos.
Paquetes de “Handshake”
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 22
Elementos de una Transferencia
Transferencia
Transacción Transacción Transacción
Token Datos Handshake
PID Dirección Endpoint CRC PID Datos CRC PID
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 23
Elementos de una Transferencia
Chequeo de errores
Se incorpora en cada paquete bits para el
chequeo de errores.
Se utiliza el algoritmo llamado
“Comprobación de redundancia cíclica”
(CRC).
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 24
Enumeración de dispositivos
Descripción.
Proceso de enumeración.
Descriptores.
Jerarquía de descriptores.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 25
Enumeración de dispositivos
Descripción
Utiliza transferencias de control.
Asigna una dirección física al dispositivo.
Carga el controlador del dispositivo.
Selecciona características de operación del
dispositivo.
Selecciona endpoints a utilizar.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 26
Enumeración de dispositivos
Proceso
1. El “root hub” informa al host la conexión del
nuevo dispositivo.
2. Se aplica un reset al dispositivo y luego se le
asigna una dirección física.
3. El host obtiene información del dispositivo.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 27
Enumeración de dispositivos
Proceso
4. Selecciona una característica de operación
del dispositivo.
5. Selecciona y configura endpoints a utilizar.
6. Carga el controlador especifico del dispositivo.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 28
Enumeración de dispositivos
Descriptores
Bloques de información.
Describen alguna característica del
dispositivo.
Son utilizados durante el proceso de
enumeración.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 29
Enumeración de dispositivos
DescriptoresTipos principales:
De dispositivo.
De configuración.
De interfaz.
De endpoint.
“String”.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 30
Enumeración de dispositivos
Jerarquía de descriptores
Descriptor de dispositivo
Descriptor de
Configuración
Descriptor de
Configuración
Descriptor
de Interfaz
Descriptor
de Interfaz
Descriptor
de endpoit
Descriptor
de endpoit
Descriptor
de endpoit
Descriptor
de endpoit
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 1
CeTAD (Centro de Técnicas Analógico Digitales)
Facultad de Ingeniería
Universidad Nacional de La Plata
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 2
Temario
Descripción.
Controlador.
Funciones del controlador.
Estándares.
Controlador OHCI.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 3
Procesa y gestiona los cambios de configuración que
ocurren en el bus.
Administra el sistema y los recursos del bus
(memoria del sistema, ancho de banda y la
alimentación).
Realiza la configuración automática de los
dispositivos y la detección de su desconexión.
Un host puede soportar uno o más buses USB.
Descripción
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 4
Descripción Administra cada bus independientemente de los
demás.
Cada bus está conectado al host a través de un
controlador del host.
Sólo hay un host en cada sistema USB.
El sistema host abarca:
1. interfaz USB
2. controlador de host (puede estar implementado como
combinación de hardware, y software).
Posee un hub raíz que provee puntos de interconexión
al bus.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 5
ControladorIntegrado por el hardware y el software que permite la
conexión de dispositivos al host.
Es el agente iniciador del bus, es decir, que comienza
las transferencias en el bus.
Es el master en un bus USB.
En la arquitectura USB sólo hay un controlador host por
cada bus USB (no se requiere arbitraje).
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 6
Funciones del ControladorA nivel hardware
El host USB interactúa con los dispositivos USB a travésdel controlador, cuyas funciones básicas son:
Detectar la inserción o desconexión de dispositivosUSB
Reconocer los dispositivos conectados y realizar laconfiguración.
Administrar el flujo de control entre el host y losdispositivos, es decir, la información que se muevecon el objeto de mantener el orden dentro de loselementos del sistema.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 7
Funciones del ControladorA nivel hardware
Gestionar el flujo de datos entre el host y los
dispositivos.
Determinar estadísticas de actividad y estado de los
elementos del sistema.
Proveer una cantidad limitada de energía a los
dispositivos conectados.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 8
Funciones del ControladorA nivel software
Enumeración y configuración de los dispositivos
conectados al sistema.
Administración y control de transferencias síncronas
de información.
Administración y control de transferencias
asíncronas.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 9
Estándares Universal Host Controller Interface (UHCI).
Definido por Intel, requiere licencia.
El software tiene mayor responsabilidad.
Open Host Controller Interface (OHCI).
Licencia libre.
El hardware tiene mayor responsabilidad.
Mayor dificultad de implementación.
Enhanced Host Controller Interface (EHCI).
Describe la interfaz para el host a nivel de registros
Licenciada por intel
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 10
Controlador OHCI
Descripción a nivel de registros para la
implementación de un controlador Host USB.
Permite diseñar una interfaz de software común
para diferentes fabricantes de controladores
Host USB.
Facilita la tarea de escritura del código de
aplicación.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 11
Controlador OHCI
Software
Hardware
Dispositivo USB
Controlador host
Driver del controlador
Software de Aplicación
Ámbito de la
especificación
OHCI
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 12
ImplementaciónDiseño del PCB
Consideraciones para “full speed”:
Impedancia diferencial de 90 ohm entre las líneas D+
y D-.
Plano de tierra continuo.
Líneas paralelas.
Evitar utilizar vias.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 13
W S W
T
HPlano de
tierra
Se calcula considerando la formula de la impedancia
diferencial de dos líneas de microtira sobre un plano
de tierra.
Ejemplo: Para T=0,65 mils (1/2 OZ cobre) y H=62 mils seobtiene que W=16 mils y S=7 mils.
Calculo de la impedancia
diferencial
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 1
CeTAD (Centro de Técnicas Analógico Digitales)
Facultad de Ingeniería
Universidad Nacional de La Plata
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 2
Temario
Características principales.
Descripción de la interfaz.
Protocolo de bus SPI.
Protocolo de bus SD.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 3
Las tarjetas “Secure Digital”, SD, son tarjetas
de memoria basadas en la tecnología flash.
Diseñadas específicamente para satisfacer
necesidades de seguridad, capacidad y
performance.
Actualmente se utilizan en aplicaciones de
almacenamiento masivo.
Características Principales
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 4
Características Principales Tensión de alimentación: 2.7 a 3.6 V.
Funcionamiento: sólo lectura o lectura y escritura.
Velocidad del bus (utilizando 4 líneas de datos
paralelas).
Por defecto: con señales de 3.3V, frecuencia
hasta 25 MHz, hasta 12.5 Mb/s.
Modo de alta velocidad: con señales de 3.3 V,
frecuencia hasta 50 MHz, hasta 25 Mb/s.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 5
Características Principales Corrección de errores: en cada transferencia de
datos o comandos.
Protección contra escritura: utilizando switch
mecánico o configuración interna.
Detección de tarjetas: cuando se insertan o retiran,
el host detecta esta acción.
Comando específicos para la aplicación.
Incorporan mecanismos para protección de
contenido.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 6
Características Principales
Capacidad de las memorias:
Capacidad estándar (SDSC): hasta 2 GB.
Alta capacidad (SDHC): más de 2 GB hasta los
32 GB.
Capacidad extendida (SDXC): más de 32 GB.
Modo de operación: el bus de datos tiene dos
modos de configuración y operación, el modo SD
y el modo SPI.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 7
Características Principales Clases de tarjetas: de acuerdo a su velocidad, indican
la performance mínima de una tarjeta.
Clase 0: esta clase no especifica performance, se
define para incluir a todas las tarjetas anteriores a
la especificación.
Clase 2: tienen una performance de 2 MB/s o más.
Clase 4: tienen una performance de 4 MB/s o más.
Clase 6: tienen una performance de 6 MB/s o más.
Clase 10: tienen una performance de 10 MB/s o
más.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 8
Características Principales Las tarjetas SD contienen un microprocesador que le
otorga algunas características específicas propias de
esta interfaz:
Independencia del host en relación con los detalles
de la forma de borrado y programación de la
memoria flash.
Sistema de corrección de errores.
Control de la alimentación para reducción del
consumo.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 9
Características Principales
Soporte al requerimiento de conexión en caliente, “hot
insertion”, a través del conector.
El bus de las tarjetas SD está integrado por un único
máster (el host) y múltiples esclavos (las tarjetas). Las
líneas de alimentación y reloj son comunes a todas las
tarjetas, la línea de comando y de datos pueden o no
ser común a todas las tarjetas.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 10
Descripción de la interfaz
Las tarjetas SD tienen nueve contactos ubicados en
una de sus caras. Una línea de reloj, tres de
alimentación, cuatro de datos y una de comando.
Protocolos de comunicación:
SD de 4 bits.
SD de 1 bit.
SPI.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 11
Descripción
de la interfazArquitectura interna de una
tarjeta SD
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 12
Descripción
de la interfaz
Topología del bus en el modo
SD de 4 bits.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 13
Descripción de la interfazTopología del bus en el modo SPI.
HOST
MISO
CLK
MOSICS
9
1
2
3
4
5
6
7
8
VSS
VDD
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 14
Protocolo de bus SPI
Basado en un subconjunto del protocolo SD.
El estándar SPI sólo define la topología física.
La ventaja de su utilización es la sencillez de la
interfaz a nivel hardware.
Su mayor desventaja es la perdida de performance.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 15
Protocolo de bus SPI Cada comando o bloque de datos está constituido por
8 bytes en sincronía con la señal de la línea CS.
Los mensajes SPI se integran por comandos,
respuestas y bloques de datos.
Toda comunicación tiene lugar entre una tarjeta y el
host, este último da inicio a la comunicación al
cambiar el estado de la línea CS a bajo.
La tarjeta elegida siempre debe responder al
comando.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 16
Protocolo de bus SD Basada en un protocolo de comando y respuesta.
Los comandos o secuencias de datos inician con un
bit de inicio y terminan con un bit de finalización. Cada
trama contiene bits de detección de errores.
Partes integrantes de una transferencia:
Comando.
Respuesta.
Datos.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 17
Protocolo de bus SD
Comando Comando Respuesta
DAT
Operación (sin respuesta) Operación (sin datos)
CMD
Del host a la
tarjeta(s)
Del host a
una tarjeta
De una tarjeta
al host
DAT
CMD
Del host a
la tarjeta
De la tarjeta
al host
Bloque datos crc
Respuesta
Bloque datos crc
Comando Respuesta
Bloque datos crc
Operación lectura de un bloque
Operación lectura de múltiples bloques
Operación de parada
Comandos de parada
Finalización de la transferenciaDatos de la
tarjeta al host
Comando
Operación sin respuesta y sin datos
Operación de lectura
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 18
Protocolo de bus SDDescripción de funcionamiento
Existen dos tipos de comandos:
Comandos de broadcast.
Comandos de direccionamiento.
Existen dos modos de funcionamiento para las
tarjetas SD y para el host:
Modo identificación de tarjeta.
Modo transferencia de datos.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 19
Protocolo de bus SDModos de operación
Modo de operación Estado de la tarjeta
Inactivo Estado inactivo
Modo de identificación
de tarjeta
“Idle State”
“Ready State"
“Identification State”
Modo de transferencia
de datos
“Stand-by State”
“Transfer State”
“Sending-data State”
“Receive-data State”
“Programming State”
“Disconnect State”
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 20
Protocolo de bus SDModo identificación de tarjeta
El proceso de identificación se realiza a una
frecuencia de reloj entre 100 y 400 kHz.
Activado el bus, el host solicita las condiciones de
operación de cada tarjeta. Se analiza cada respuesta y
se envía al estado inactivo a las tarjetas incompatibles
y al estado “Ready State” a las compatibles.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 21
Protocolo de bus SDProceso de identificación
Power CMD 0 “Idle State” CMD 8
ACMD 41
Resp.?
SI
Tarjeta SDHC Tarjeta SDSC
NO
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 22
Protocolo de bus SDProceso de identificación
CMD 2 CMD 3ACMD 41 Busy?
SI
Modo de
transferencia
NOGET CID
GET
RCA
CMD 9GET
CSD
CMD 7
ACMD 6
4 Bits
CMD 16Tamaño de
bloque
“Stand – by”
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 23
Protocolo de bus SDModo transferencia de datos
Sólo una tarjeta pueda estar en el modo de
transferencia al mismo tiempo. Las restantes deben
encontrarse en el estado “Stand - by”.
El ancho del bus durante el proceso de configuración
es de un bits. Finalizado este proceso correctamente,
el host, puede cambiar el ancho del bus a cuatro bits.
Frecuencia de reloj máxima 50 MHz.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 24
Protocolo de bus SDModo transferencia de datos
Poseen dos mecanismos de protección contra
escritura:
Mecánica: por una ranura en el costado de la
tarjeta que, el conector, debe chequear.
Interna: protegida permanentemente por el
fabricante o por password.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 25
Protocolo de bus SDCondiciones de error
Todos los comandos y paquetes de datos son
protegidos utilizando bits de CRC.
Si falla el chequeo de estos bits la tarjeta no
responde, el comando no se ejecuta y, por lo tanto, la
tarjeta nunca cambia de estado.
Cada comando se deberá ejecutar en un tiempo
determinado o, de lo contario, enviar un mensaje de
error.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 26
Protocolo de bus SDComandos y respuestas
Longitud fija de 48 bits, protegido por CRC.
Incluyen un bit que indica la dirección de transmisión,
el sentido hacia el host se indica con “1”.
Formato general de un comando:
Posición de
bits47 46 [45:40] [39:8] [7:1] 0
Ancho
(bits)1 1 6 32 7 1
Valor „1‟ „0‟ x x x „1‟
DescripciónBit de
inicio
Bit de
transmisión
Índice de
comandoArgumento CRC7
Bit de
finalización
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 27
Protocolo de bus SDComandos y respuestas
Tipos de respuestas:
Tipo R1: envía el estado de la tarjeta.
Tipo R2: tamaño de 136 bits. Envía el registro CID o
CSD.
Tipo R3: no tiene bits de CRC. Envía el registro OCR.
Tipo R6: respuesta a la solicitud de RCA.
Tipo R7: indica la tensión de alimentación
soportada por la tarjeta.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 28
Protocolo de bus SDRegistros
Se definen seis registros dentro de una tarjeta:
Registro OCR: almacena el perfil de alimentación de
la tarjeta.
Registro CID: contiene información sobre
identificación de la tarjeta.
Registro CSD: define el formato de los datos, tipo de
corrección de errores, tiempo de acceso de los
datos.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 29
Protocolo de bus SDRegistros
Registro RCA: almacena la dirección relativa de la
tarjeta.
Registro DSR: opcional. Especifica características
extendidas del bus.
Registro SCR: opcional. Especifica características
opcionales del fabricante.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 1
CeTAD (Centro de Técnicas Analógico Digitales)
Facultad de Ingeniería
Universidad Nacional de La Plata
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 2
ImplementaciónMicrocontrolador NXP LPC2300/2400
Arquitectura ARM7.
Controlador USB 2.0 “full speed”:
Dos puertos USB.
Operables como dispositivo, host u OTG.
Memoria RAM dedicada de 16 Kbits.
El controlador host USB utiliza el estándar OHCI.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 3
ImplementaciónMicrocontrolador NXP LPC2300/2400
Controlador SD y MMC.
Secure Digital Memory Card Physical Specification, v0.96.
Operable como host SD para una única tarjeta.
Control de la alimentación por un pin perteneciente al controlador.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 4
Diagrama en bloques del controlador
Host USB LPC2300/2400.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 5
Circuito esquemático
LPC2300
LPC2400
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 6
Diagrama en bloques del controlador
SD LPC2300/2400.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 7
Circuito esquemático.
LPC 2300
LPC 2400Conector
SD
Power
Líneas de datos
D[0:3]
Línea de
Comando
WP
CP
EnaOUT
IN
3,3V
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 8
Notas de aplicación.
NXP USB Host Lite (AN10703).
Librerias “Description of the LPC23xx/24xx Example
Software Package” NXP.
Librería FAT FS. Aplicación de lector SD y sistema de archivo
FAT 32
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 9
Ejemplo de Implementación.
Kit de desarrolloDiseño propio utilizando microcontrolador NXP LPC2478.
Incluye:
Implementación de un host USB con dos puertos operable
en “full speed”. Alimentación de cada puerto controlada y
protegida por sobre corriente.
Implementación de host SD con detección de inserción de
tarjeta y protección contra escritura en forma mecánica.
Programación en sistema por puerto serie.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 10
Kit de desarrollo
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 11
Interfaz USB
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 12
Aplicación Host USB y SD
Frecuencia de reloj del sistema de 66 MHz.
Se configura el controlador Host USB y se da soporte a
dispositivos de la clase de almacenamiento masivo.
Configuración del controlador SD.
Reconoce tarjeta SDSC y SDHC.
Frecuencia de reloj de 16,5 MHZ en modo de transferencia.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 13
Aplicación Host USB y SD
Controlado por cuatro pulsadores.
Visualización desde la PC.
Reloj de tiempo real.
Sistema de archivo FAT32.
Accede a la memoria de dispositivos de
almacenamiento masivo y tarjetas SD.
Permite listar, copiar y eliminar archivos y carpetas.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 14
Kit de desarrollo con dispositivos
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 15
Se comprueba el funcionamiento del sistema
desarrollado copiando un archivo de 29,360 Mb de un
pen drive a otro o desde la tarjeta hacia un pen drive.
Copia exitosa libre de errores.
Correcto funcionamiento de la interfaz USB.
Excelente desempeño de la interfaz SD.
Resultados Obtenidos.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 16
Resultados Obtenidos.
Tiempo de transferencia
Tiempo
(segundos)
Transferencia
desde hacia
60 USB 1 ó USB 2 SD
58 SD USB 1ó USB 2
50 SD SD
93 USB 1 USB 2
92 USB 2 USB 1
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 17
Conclusiones.A nivel hardware:
Sencillez de diseño.
Escasos componentes adicionales.
A nivel software:
Código de programa portable.
Sencilla utilización del microcontrolador.
Buen desempeño.
Numerosos errores en notas de aplicación.
29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 18
¿Preguntas?