Implementación de Host USB y Lectoras SD para Sistemas

Anuncio
CeTAD (Centro de Técnicas Analógico Digitales)
Facultad de Ingeniería
Universidad Nacional de La Plata
Contacto: jorge.osio@ing.unlp.edu.ar
29/08/2012
Autores: Ing. Luis Antonini - Ing. Jorge Osio
1
Temario
 Prestaciones.
 Principales características.
 Elementos de una transferencia.
 Enumeración de dispositivos
29/08/2012
Autores: Ing. Luis Antonini - Ing. Jorge Osio
2
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
3
Principales Características
Componentes del Bus
 Dispositivos USB.
Dispositivo
 Host USB.
 Hub USB.
Host
Root Hub
Dispositivo
Dispositivo compuesto
Dispositivo
Hub
Dispositivo
Hub
Dispositivo
29/08/2012
Dispositivo
Autores: Ing. Luis Antonini - Ing. Jorge Osio
Dispositivo
4
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
5
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
6
Principales Características
USB On-The-Go (OTG)
 Permite
conectar
directamente
entre
otros periféricos USB.
dispositivos
sí
y
con
 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
7
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
8
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
9
Principales Características
Eléctricas y Mecánicas
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.
29/08/2012
Autores: Ing. Luis Antonini - Ing. Jorge Osio
10
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
11
Elementos de una Transferencia
Endpoints
 Buffer 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
12
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
13
Elementos de una Transferencia
Tipos de transferencias
De control.
“Bulk”.
“Interrupt”.
“Isochronous”.
29/08/2012
Autores: Ing. Luis Antonini - Ing. Jorge Osio
14
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
15
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
16
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
dispositivos “low speed”.
29/08/2012
Autores: Ing. Luis Antonini - Ing. Jorge Osio
en
17
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
18
Elementos de una Transferencia
Transferencias y transacciones
Transferencia: proceso de establecer
transportar las solicitudes de comunicación.
y
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
19
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
20
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
21
Elementos de una Transferencia
Transferencia
Transacción
Transacción
PID
29/08/2012
Dirección
Handshake
Datos
Token
Endpoint
CRC
Transacción
PID
Datos CRC
Autores: Ing. Luis Antonini - Ing. Jorge Osio
PID
22
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
23
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
24
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
25
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
26
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
27
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
28
Enumeración de dispositivos
Descriptores
Tipos principales:
 De dispositivo.
 De configuración.
 De interfaz.
 De endpoint.
 “String”.
29/08/2012
Autores: Ing. Luis Antonini - Ing. Jorge Osio
29
Enumeración de dispositivos
Jerarquía de descriptores
Descriptor de dispositivo
Descriptor de
Configuración
Descriptor
de Interfaz
Descriptor
de endpoit
29/08/2012
Descriptor
de endpoit
Descriptor de
Configuración
Descriptor
de Interfaz
Descriptor
de endpoit
Descriptor
de endpoit
Autores: Ing. Luis Antonini - Ing. Jorge Osio
30
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
1
Temario
 Descripción.
 Controlador.
 Funciones del controlador.
 Estándares.
 Controlador OHCI.
29/08/2012
Autores: Ing. Luis Antonini - Ing. Jorge Osio
2
Descripción
 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
dispositivos y la detección de su desconexión.
los
 Un host puede soportar uno o más buses USB.
29/08/2012
Autores: Ing. Luis Antonini - Ing. Jorge Osio
3
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
4
Controlador
Integrado 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
5
Funciones del Controlador
A nivel hardware
El host USB interactúa con los dispositivos USB a través
del controlador, cuyas funciones básicas son:
 Detectar la inserción o desconexión de dispositivos
USB
 Reconocer los dispositivos conectados y realizar la
configuración.
 Administrar el flujo de control entre el host y los
dispositivos, es decir, la información que se mueve
con el objeto de mantener el orden dentro de los
elementos del sistema.
29/08/2012
Autores: Ing. Luis Antonini - Ing. Jorge Osio
6
Funciones del Controlador
A 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
7
Funciones del Controlador
A 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
asíncronas.
29/08/2012
y
control
de
transferencias
Autores: Ing. Luis Antonini - Ing. Jorge Osio
8
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
9
Controlador OHCI
 Descripción a nivel de registros para
implementación de un controlador Host USB.
la
 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
10
Controlador OHCI
Software de Aplicación
Software
Driver del controlador
Ámbito de la
especificación
OHCI
Controlador host
Hardware
Dispositivo USB
29/08/2012
Autores: Ing. Luis Antonini - Ing. Jorge Osio
11
Implementación
Diseñ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
12
Calculo de la impedancia
W
S
W
diferencial
Plano de
tierra
T
H
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 se
obtiene que W=16 mils y S=7 mils.
29/08/2012
Autores: Ing. Luis Antonini - Ing. Jorge Osio
13
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
1
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
2
Características Principales
 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.
29/08/2012
Autores: Ing. Luis Antonini - Ing. Jorge Osio
3
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
4
Características Principales
 Corrección de errores: en cada transferencia de
datos o comandos.
 Protección contra escritura: utilizando
mecánico o configuración interna.
switch
 Detección de tarjetas: cuando se insertan o retiran,
el host detecta esta acción.
 Comando específicos para la aplicación.
 Incorporan
contenido.
29/08/2012
mecanismos
para
protección
Autores: Ing. Luis Antonini - Ing. Jorge Osio
de
5
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
6
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
7
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
8
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
9
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
10
Descripción
de la interfaz
Arquitectura interna de una
tarjeta SD
29/08/2012
Autores: Ing. Luis Antonini - Ing. Jorge Osio
11
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
12
Descripción de la interfaz
Topología del bus en el modo SPI.
VDD
HOST
8
7
MISO
6
CLK
5
4
3
MOSI
CS
2
1
9
VSS
29/08/2012
Autores: Ing. Luis Antonini - Ing. Jorge Osio
13
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
14
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
15
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
16
Protocolo de bus SD
Del host a la
tarjeta(s)
CMD
Del host a
una tarjeta
Comando
De una tarjeta
al host
Comando
Respuesta
DAT
Operación (sin respuesta)
Operación (sin datos)
Operación sin respuesta y sin datos
Del host a
la tarjeta
Comando
CMD
DAT
De la tarjeta
Datos de la
al host
tarjeta al host
Comando
Respuesta
Bloque datos crc
Comandos de parada
Finalización de la transferencia
Bloque datos crc
Operación lectura de un bloque
Respuesta
Bloque datos crc
Operación de parada
Operación lectura de múltiples bloques
Operación de lectura
29/08/2012
Autores: Ing. Luis Antonini - Ing. Jorge Osio
17
Protocolo de bus SD
Descripció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
18
Protocolo de bus SD
Modos de operación
Modo de operación
Inactivo
Modo de identificación
de tarjeta
Modo de transferencia
de datos
29/08/2012
Estado de la tarjeta
Estado inactivo
“Idle State”
“Ready State"
“Identification State”
“Stand-by State”
“Transfer State”
“Sending-data State”
“Receive-data State”
“Programming State”
“Disconnect State”
Autores: Ing. Luis Antonini - Ing. Jorge Osio
19
Protocolo de bus SD
Modo 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
20
Protocolo de bus SD
Proceso de identificación
Power
CMD 0
“Idle State”
CMD 8
Resp.?
NO
SI
Tarjeta SDHC
Tarjeta SDSC
ACMD 41
29/08/2012
Autores: Ing. Luis Antonini - Ing. Jorge Osio
21
Protocolo de bus SD
Proceso de identificación
ACMD 41
Busy?
SI
NO
CMD 2
CMD 3
GET
RCA
CMD 9
GET
CSD
GET CID
CMD 7
“Stand – by”
CMD 16
Tamaño de
bloque
29/08/2012
ACMD 6
4 Bits
Modo de
transferencia
Autores: Ing. Luis Antonini - Ing. Jorge Osio
22
Protocolo de bus SD
Modo 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
23
Protocolo de bus SD
Modo transferencia de datos
 Poseen dos
escritura:
mecanismos
de
protección contra
 Mecánica: por una ranura en el costado de la
tarjeta que, el conector, debe chequear.
 Interna: protegida permanentemente
fabricante o por password.
29/08/2012
Autores: Ing. Luis Antonini - Ing. Jorge Osio
por
el
24
Protocolo de bus SD
Condiciones 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
25
Protocolo de bus SD
Comandos 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
bits
Ancho
(bits)
Valor
Descripción
29/08/2012
47
46
[45:40]
[39:8]
[7:1]
0
1
1
6
32
7
1
„1‟
Bit de
inicio
„0‟
x
x
x
„1‟
Bit de
Índice de
Bit de
Argumento CRC7
transmisión comando
finalización
Autores: Ing. Luis Antonini - Ing. Jorge Osio
26
Protocolo de bus SD
Comandos 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
27
Protocolo de bus SD
Registros
 Se definen seis registros dentro de una tarjeta:
 Registro OCR: almacena el perfil de alimentación de
la tarjeta.
 Registro CID: contiene
identificación de la tarjeta.
información
sobre
 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
28
Protocolo de bus SD
Registros
 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
29
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
1
Implementación
Microcontrolador 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
2
Implementación
Microcontrolador 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
3
Diagrama en bloques del controlador
Host USB LPC2300/2400.
29/08/2012
Autores: Ing. Luis Antonini - Ing. Jorge Osio
4
Circuito esquemático
LPC2300
LPC2400
29/08/2012
Autores: Ing. Luis Antonini - Ing. Jorge Osio
5
Diagrama en bloques del controlador
SD LPC2300/2400.
29/08/2012
Autores: Ing. Luis Antonini - Ing. Jorge Osio
6
Circuito esquemático.
Líneas de datos
D[0:3]
Línea de
Comando
WP
LPC 2300
LPC 2400
CP
Ena
OUT
Power
29/08/2012
Conector
SD
IN
3,3V
Autores: Ing. Luis Antonini - Ing. Jorge Osio
7
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
8
Ejemplo de Implementación.
Kit de desarrollo
Diseñ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
9
Kit de desarrollo
29/08/2012
Autores: Ing. Luis Antonini - Ing. Jorge Osio
10
Interfaz USB
29/08/2012
Autores: Ing. Luis Antonini - Ing. Jorge Osio
11
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
12
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
almacenamiento masivo y tarjetas SD.
de
Permite listar, copiar y eliminar archivos y carpetas.
29/08/2012
Autores: Ing. Luis Antonini - Ing. Jorge Osio
13
Kit de desarrollo con dispositivos
29/08/2012
Autores: Ing. Luis Antonini - Ing. Jorge Osio
14
Resultados Obtenidos.
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.
29/08/2012
Autores: Ing. Luis Antonini - Ing. Jorge Osio
15
Resultados Obtenidos.
Tiempo de transferencia
29/08/2012
Transferencia
Tiempo
(segundos)
desde
hacia
60
USB 1 ó USB 2
SD
58
SD
USB 1ó USB 2
50
SD
SD
93
92
USB 1
USB 2
USB 2
USB 1
Autores: Ing. Luis Antonini - Ing. Jorge Osio
16
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
17
¿Preguntas?
29/08/2012
Autores: Ing. Luis Antonini - Ing. Jorge Osio
18
Descargar