Title: Kit de aprendizaje USB1.1
1Kit de aprendizaje USB1.1
- SiTech de México
- Contacto de ventas y soporte técnico
- sitechdemexico_at_gmail.com
- http//www.displus.com.mx/paginas/EQUIPO/kit.htm
2Introducción
- Este kit ha sido diseñado especialmente para la
materia de Sistemas Digitales. Fue desarrollado
por alumnos del Centro Universitario de la
Ciénega, quienes ahora son fundadores de la
empresa SiTech de México. - SiTech agradece a los maestros José Ávila Paz y
Armando Becerra González, quienes siempre nos
brindaron su apoyo. - El USB es un bus de comunicaciones estándar
desarrollado al principio por Intel, Microsoft,
NEC y Compaq. - La especificación mas reciente es la 2.0. Este
kit se basa en la versión 1.1, que es totalmente
compatible con la 2.0. SiTech también desarrolla
memorias Flash y dispositivos con tecnología USB
2.0, que es un poco mas cara. - El objetivo de este kit es promover el diseño en
México de periféricos de computadora y hardware
en general. - Mediante este kit se pretende que tengas un
panorama sencillo sobre las comunicaciones USB y
no tengas que preocuparte por las complejidades
de las capas mas bajas de comunicaciones. - Este documento te guiará para que armes tu nuevo
kit fácilmente, en un tiempo récord y sin
problemas. No necesitas tener conocimientos
previos sobre el USB, sin embargo, un poco de
electrónica (por lo menos debes saber utilizar un
cautín!) es recomendable.
3El Kit
- Este kit consiste en un cable USB, una tableta
fenólica perforada, un microcontrolador, un reloj
de alta precisión a 6Mhz, una módulo de cero
fuerza de inserción (ZIF) de 28 pines, 9
resistencias de 1.5K, un capacitor de .2
microfaradios y otro de .1 microfaradios, una
barra de LEDs, 10 resistencias de 330 ohms, 8
botones y un LCD (opcional). - La especificación USB especifica que los
dispositivos de baja velocidad lleven su cable
soldado, por lo tanto no se incluyó un
receptáculo para el cable. - Además de esto, puedes descargar los programas de
ejemplo y este instructivo de la página
http//www.displus.com.mx/paginas/EQUIPO/kit.htm - Con estos componentes puedes iniciar tu proyecto
USB en un solo día.
4El Firmware
- La gran mayoría de los aparatos que existen,
tienen microcontroladores, que son circuitos
integrados que procesan información. Un
microcontrolador es una computadora completa, con
entradas, proceso, memoria, periféricos y salida. - El kit explota los periféricos del
microcontrolador. De esta forma tiene 12 patas
que son entradas o salidas digitales, 5 pines que
son entradas analógicas para conversión
Análogo-Digital, dos pines que son salidas de
tipo PWM y Un motor de interfaz serial (SIE) para
comunicarse con la computadora a través del
puerto USB. - En adición a esto, se programaron algunas
funciones especiales de control multimedia que se
pueden usar directamente. - El firmware es un programa que radica en la
memoria ROM del microcontrolador. Este firmware
fue desarrollado en lenguaje C. - No necesitas preocuparte por el firmware, de eso
nos encargamos nosotros!. Si te interesa aprender
mas sobre el funcionamiento del firmware, puedes
verificarlo en el capítulo 9 de la especificación
USB 1.1.
5El Software
- La parte esencial de este kit radica en el
Software. El software fue desarrollado en Delphi
y utiliza las Interfaces de Programación para
Aplicaciones (APIs) del sistema operativo
Microsoft Windows para dispositivos de Interfaz
Humana (HIDs). - Te sorprenderá lo fácil que es interactuar con el
dispositivo desde cualquier aplicación. Tu única
responsabilidad es hacer el programa en Delphi
para controlar tu dispositivo. Nosotros te damos
ejemplos con código listos para usarse que te
servirán como punto de partida. - Para simplificar la tarea de programación, las
APIs son manejadas por un componente adicional
que se instala en Delphi una sola vez. - La comunicación con el dispositivo USB se realiza
mediante paquetes. Un dispositivo HID denomina
reportes a los paquetes de datos que envía a la
computadora. Para mayor información sobre el
protocolo USB o la especificacion HID puedes
consultar la página www.usb.org - Para este dispositivo estamos utilizando dos
reportes. El primer reporte solo es de entrada y
maneja aplicaciones multimedia. El segundo
reporte es de entrada y salida y maneja los
puertos del microcontrolador, así como su módulo
Analógico Digital. Puedes escribir o leer datos
mediante el reporte 2. - En terminología USB, entrada o salida siempre se
ve desde el punto de vista de la computadora
(denominado host), es decir, una entrada sería la
transmisión de datos desde el dispositivo
periférico hacia la computadora y una salida
sería la transmisión de datos desde la
computadora hacia el periférico.
6Precauciones
- Los dispositivos usb están diseñados para operar
con la corriente que proporciona el bus. Este
dispositivo reporta un consumo máximo de 100mA.
El protocolo especifica un consumo máximo de
500mA, pero no todos los hubs soportan ese
amperaje. - Si tu aplicación requiere control de motores o de
relevadores, entonces necesitas una fuente
externa y aislar el microcontrolador del
dispositivo de potencia. Para hacer esto, une las
tierras de tu fuente y del USB, utiliza
transistores u optoacopladores. El
microcontrolador soporta una corriente máxima de
25mA. Mantén dicha corriente por debajo de 10 mA. - En general jamás toques los pines de un circuito
integrado. Las cargas estáticas pueden dañarlo
internamente. Puedes tomarlo por los bordes de
plástico. - Siempre que soldes una placa, verifica mediante
un multímetro la calidad de las conexiones. Nunca
deberá de haber contacto entre pines que no
lleven un alambre. Dicho contacto puede pasar
desapercibido, ya que el carbón generado al
soldar es conductor. Para asegurarte de que no
hay contacto entre dos pistas, verifica que la
lectura del ohmetro sea infinitos ohms. - Nunca conectes LEDs sin resistencias. Una
resistencia de 220 a 330 ohms es adecuada.
7Sugerencias
- Si te interesa saber más sobre el usb, visita la
página www.usb.org - Si por alguna razón tu kit no funciona, lo
primero que debes considerar es si está bien
soldado y en segundo lugar, que hayas realizado
bien todas las conexiones. - Pon el reloj lo mas cerca posible al
microcontrolador. Esto garantiza que no haya
problemas de ruido en el reloj. - Puedes probar el kit en una tableta de
experimentación (proto), pero ten en cuenta que
hay capacitancias y mucho ruido en ellas. - El kit tiene mensajes en inglés y en español.
Prueba instalándolo en sistemas operativos en
inglés y en español. - El sistema operativo Microsoft Windows es el mas
fuerte en cuanto a la tecnología USB y HID, pero
también puedes probar buscando controladores para
otros sistemas operativos.
8Diagrama de Pines
9Identificando el Cable
Tomado de la especificación USB 1.1
10Diagrama de Conexión
100nF
6Mhz
1.5K
200nF
11Conectando Push Buttons
Puedes conectar push buttons en los pines
definidos como entradas. No olvides la
resistencia, ya que de otra forma no
funcionará. Esta es la forma mas simple para
hacerlo, pero existen otras mas eficientes. Al
conectar botones entre los pines 21 a 28 podrás
utilizar las funciones multimedia que se activan
automáticamente al conectar el kit, o bien,
cuando utilizas el acuse de recibo 0. Cada pin
tiene una función asignada. En la siguiente
diapositiva se explican todas.
1.5K
12Funciones multimedia
- Pin 21 Volumen
- Pin 22 Volumen
- Pin 23 Reproducir
- Pin 24 Pausar
- Pin 25 Siguiente
- Pin 26 Anterior
- Pin 27 Stop
- Pin 28 Sacar disco
Nota importante El kit está diseñado
intencionalmente para desactivar las funciones
multimedia cuando se utiliza un acuse de recibo
diferente de cero. Si deseas obtener la
funcionalidad multimedia a pesar de estar
utilizando acuses de recibo, genera una escritura
con un acuse arbitrario y posteriormente genera
la misma orden con un cero como acuse. De esta
forma las funciones multimedia permanecerán
activas.
13Conectando LEDs
El módulo PWM, al que está conectado este LED,
siempre es una salida. Con él puedes variar la
intensidad con la que enciende el LED. También
puedes utilizar cualquiera de los pines digitales
en modo de salida (los marcados en amarillo en el
diagrama) Es recomendable utilizar lógica
invertida al encender LEDs, es decir, encenderlos
con ceros. También puedes encenderlos con unos
invirtiendo la polaridad del LED y poniendo la
resistencia a tierra.
330 ohms
14Instalación
- Requisitos Deberás tener Delphi 5.
- Primero abre la carpeta ControladorHID.
- Haz doble click en HidController.dpk
- Delphi se abrirá y te mostrará la opción Install.
Haz click ahí y sigue las instrucciones. - Sigue el diagrama de conexión para que armes tu
kit. - Abre el programa de ejemplo usb.exe
- Conecta el kit y verifica que el estado haya
cambiado a conectado. Si esto pasa, haz instalado
correctamente tu kit.
15Programación
- SiTech te recomienda que utilices una copia del
programa de ejemplo usb.dpr - Utiliza las rutinas Leer y Escribir.
- Para utilizar los acuses de recibo, el esquema es
el siguiente Al recibir datos, se ejecuta la
rutina Leer. En ese momento compara el acuse de
recibo recibido en los 4 bits mas significativos
del Dato2 (el byte 6 en el arreglo del reporte).
Si es igual al acuse que mandaste en la última
escritura, tendrás seguridad de que el micro ya
ejecutó tu ultima orden. Genera un nuevo acuse y
espera a que regrese un reporte con el nuevo
acuse como confirmación. - Puedes prescindir de los acuses de recibo si tu
aplicación no es del tipo petición respuesta. - En el código fuente encontrarás otras rutinas que
monitorean el estado del bus en espera de
conexión del dispositivo o de desconexión del
mismo. No necesitas modificarlas. - Puedes darte cuenta de que una cantidad
considerable de código solamente sirve para
realizar la demostración de las capacidades del
kit y puedes borrarlo tranquilamente o
sustituirlo por otra cosa.
16Información de Contacto
- Eventualmente te surgirá el deseo de
comercializar tu dispositivo. SiTech no te
desampara. Podemos venderte micros programados
por separado o kits completos según sean tus
necesidades, desde uno solo hasta todos los que
necesites. - En SiTech nos interesa mucho tu opinión. Si
tuviste problemas al usar el kit, por favor
háznolo saber de inmediato para mejorar el kit y
resolver todas tus dudas. - Puedes contactarnos al correo electrónico
sitechdemexico_at_gmail.com. Por favor no olvides
poner en el asunto del mensaje la frase Kit USB.
Nosotros responderemos a la brevedad posible. - Gracias por utilizar los productos de SiTech!