You are on page 1of 7

10/11/2014

USB y PIC 18F2550 Desarrollo de proyectos en ASM

uControl
Noviembre 11, 2014, 02:00:33

Bienvenido(a), Visitante. Por favor, ingresa o regstrate.


Perdiste tu email de activacin?
Siempre

Ingresar

Ingresar con nombre de usuario, contrasea y duracin de la sesin

Buscar
INICIO

AYUDA

BUSCAR

INGRESAR

REGISTRARSE

uControl > Programacin de Microcontroladores > ASM (Moderadores: Leon Pic, Suky) > USB y PIC 18F2550 Desarrollo de proyectos en ASM

anterior prximo
Pginas: [1] 2 3 Ir Abajo

Autor

IMPRIMIR

Tema: USB y PIC 18F2550 Desarrollo de proyectos en ASM (Ledo 17599 veces)

0 Usuarios y 1 Visitante estn viendo este tema.

Moyano Jonathan
Amigo de uControl
PIC16F
Desconectado
Mensajes: 602

USB y PIC 18F2550 Desarrollo de proyectos en ASM


: Febrero 16, 2010, 12:03:20

Hola a todos
En esta ocacin vengo para empezar a desarrollar entre todos una librera de USB usando el lenguaje ensamblador para la familia
de microcontroladores PIC18FXX5X.
La razn de esto , es porque hay muchos usuarios que son expertos manejando ASM pero no saben utilizar bien el lenguaje C o
lenguajes de alto nivel. Tambin otra razn es que quiero que todos entendamos de una manera ms profunda el funcionamiento
del mdulo USB de la familia microchip...y luego de esto poder "tratar" de implementar la comunicacin USB en cualquier
microcontrolador...
Para empezar a trabajar con el puerto USB del microcontrolador veremos todos los registros del micro asociados con este perifrico
, su funcionamiento y luego poco a poco comenzaremos a confeccionar los primeros programas.
En lnea

Moyano Jonathan
Amigo de uControl
PIC16F
Desconectado
Mensajes: 602

Re: USB y PIC 18F2550 Desarrollo de proyectos en ASM


Respuesta #1 : Febrero 16, 2010, 12:43:14

Bueno para empezar veremos donde estn hubicados los pines D- y D+ ( correspondientes a las seales de datos del puerto USB en
el PIC18F2550 y en el PIC18F4550) , asi como tambin los otros pines que intervienen en su funcionamiento.

http://www.ucontrol.com.ar/forosmf/programacion-en-asm/usb-y-pic-18f2550-desarrollo-de-proyectos-en-asm/

1/7

10/11/2014

USB y PIC 18F2550 Desarrollo de proyectos en ASM

Breve descripcin del funcionamiento del mdulo USB:


La familia de dispositivos PIC18FX455/X550 contiene una interfaz serie compatible con el SIE (serial interface engine o mquina con
comunicacin serie en espaol) USB full-speed (2.0) y de poca velocidad (1.0) que permite la comunicacin rpida entre
cualquier dispositivo USB y el microcontrolador PIC.
El SIE puede interconectarse directamente al USB, utilizando el transmisor - receptor interno, o puede conectarse a travs un
transmisor-receptor externo. El PIC tiene un regulador interno de 3,3V para alimentar el transmisor-receptor interno en aplicaciones
de 5V.
Se han incluido algunas caractersticas especiales en el hardware para mejorar el funcionamiento. Se proporciona memoria de
puerto dual en la memoria de datos del dispositivo (RAM del USB) para tener acceso directo a la memoria desde el ncleo del
microcontrolador y desde el SIE. Tambin se proporcionan unos buffer para que el programador elija libremente el uso de la
memoria dentro del espacio de la RAM del USB. Existe un puerto paralelo para transmitir grandes cantidades de datos (SSP), para
esto se ha proporcionado la ayuda de transferencia ininterrumpida de volmenes de datos grandes, por ejemplo datos sncronos, a
los buffer de memoria externos.
ltima modificacin: Febrero 16, 2010, 01:07:50 por Moyano Jonathan

Leon Pic
Moderator
dsPIC
Desconectado
Sexo:
Mensajes: 5320

En lnea

Re: USB y PIC 18F2550 Desarrollo de proyectos en ASM


Respuesta #2 : Febrero 16, 2010, 01:02:19

Excelente tema Moyano Jonathan.


No logro ver las imgenes. podras chequear los link? Pareces que has ingresado cdigo HTML y la ventana del foro, no lo permite.
Edito: Ahora puedo verlos.

ltima modificacin: Febrero 16, 2010, 02:16:46 por Leon Pic

En lnea

Cumulonimbus
Jess dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

el_vpi
Moderador
PIC18F
Desconectado
Mensajes: 1266

Re: USB y PIC 18F2550 Desarrollo de proyectos en ASM


Respuesta #3 : Febrero 16, 2010, 01:16:10

Yo lo puedo ver bien la imagen ahora. No se si lo arreglo o todavia no, pero actualmente se ve bien.
Creo que seremos unos cuantos que vamos a seguir de cerca los post....
Saludos, Daniel.

En lnea

Moyano Jonathan
Amigo de uControl
PIC16F
Desconectado
Mensajes: 602

Re: USB y PIC 18F2550 Desarrollo de proyectos en ASM


Respuesta #4 : Febrero 16, 2010, 02:01:03

Bueno ahora veremos en detalle como se comunica la SIE con el exterior y las diferentes opciones a nivel conexionado del USB con
el exterior:

http://www.ucontrol.com.ar/forosmf/programacion-en-asm/usb-y-pic-18f2550-desarrollo-de-proyectos-en-asm/

2/7

10/11/2014

USB y PIC 18F2550 Desarrollo de proyectos en ASM

Antes que nada veremos las notas a las referencias 2 y 3 que estn dentro de la inmgen. Aclarar que estas notas son importantes
para no cometer equivocaciones a la hora de programar el cdigo que lo configura.
entonces:
Nota* 2:Las pull - ups externas son opcionales , pero si queremos usarlas hay que desactivar las propias resistencias de pull - up
internas que tiene el microcontrolador. La activacin o desactivacin de estas resistencias se hace mediante el bit UPUEN...que se
ver ms adelante.
Nota* 3:El regulador de voltaje de 3.3v, nos provee de tensin al mdulo USB en aplicaciones de 3.3v. En caso de tener una fuente
externa de 3.3v conectada a Vusb, tenemos que desactivar el mdulo interno del regulador.
Vemos en la inmgen los diferentes pines que segn configuracin de la SIE , podemos usar un transceptor externo, el fin de este
tutorial no es el estudio de los mdulos externos , por lo que se ver muy superficialmente.
Algo Muy importante ! que tenemos que ver es el puente bidireccional entre la SIE y el SSP...este puente nos va a permitir el
transporte a alta velocidad de grandes flujos de datos en modo sincrono, por lo que se estudiar tambin en su momento.
Ver la siguiente inmgen en donde se muestra dicho puente:

Espero les sirva ...despus sigo


En lnea

http://www.ucontrol.com.ar/forosmf/programacion-en-asm/usb-y-pic-18f2550-desarrollo-de-proyectos-en-asm/

3/7

10/11/2014

USB y PIC 18F2550 Desarrollo de proyectos en ASM

Moyano Jonathan

Re: USB y PIC 18F2550 Desarrollo de proyectos en ASM

Amigo de uControl
PIC16F
Desconectado
Mensajes: 602

Respuesta #5 : Febrero 16, 2010, 02:57:05

Estado y control del mdulo USB:


En total hay 22 registros para manejar las transacciones del USB. Los registros son:
Registro de control del USB (UCON)
Registro de configuracin del USB (UCFG)
Registro de estado de la transferencia del USB (USTAT)
Registro de direccin de dispositivo USB (UADDR)
Registros del nmero del frame (UFRMH: UFRML)
Registros activadores de los Endpoints de 0 a 15 (UEPN)
El primer registro que estudiaremos ser el UCON (registro de control del USB):
En la siguiente inmgen veremos como est constituido:

Este registro de control contiene los bits necesarios para determinar el comportamiento del bus durante las transferencias. El
registro contiene los bits que gobiernan lo siguiente:

Permiso del perifrico principal del USB


Reset de los punteros tipo ping-pong
Control del modo al suspender
Desactivar la transferencia de paquetes

El significado de los diferentes bits se muestra a continuacin:


BIT7: Bit no implementado se lee como "0"
BIT6: El bit PPBRST, se encarga de controlar el estado del reset, cuando se utiliza el modo Doble - Buffering o modo Ping Pong.Cuando se activa el bit PPBRST, todos los buffers Ping - Pong se fijan a los buffers intermedios. El bit PPBRST, tiene que
borrarse por firmware.Este bit se ignora en los modos de buffer que no usen el buffer ping-pong.
BIT5: El bit SE0,se utiliza para indicar el estado del bus, si slo se manda un cero.
Cuando se permite el mdulo USB, este bit debe supervisarse para determinar si las lneas de datos han salido de una condicin de
single-ended cero (slo se manda cero). Esto ayuda a distinguir el estado de ciclo inicial de la seal de reset del USB.
BIT4: El bit PKTDIS,es un flag que indica si el SIE ha inhabilitado la transmisin y la recepcin de paquetes. Este lo bit activa el
SIE cuando recibe un SETUP para permitir su procesamiento. Este bit no lo puede activar el microcontrolador, slo borrar; al
despejarlo el SIE continua la transmisin y/o recepcin. Cualquier acontecimiento pendiente dentro del buffer intermedio todava
estar disponible, indicado dentro del registro USTAT en el buffer FIFO.
BIT3: El bit USBEN,la operacin total del mdulo USB se controla con este bit. Activar este bit setea el mdulo y resetea todos los
bits PPBI en el Buffer a 0. Este bit tambin activa el regulador de tensin del chip y conecta las resistencias pull-up, si se
permiten. As, este bit puede utilizarse como una unin/separacin al USB. Aunque se ignoran todos los estados y bits de control si
este bit est borrado, el mdulo necesita preconfigurarse antes de activar este bit.
BIT2: El bit RESUME,permite al perifrico realizar un reinicio ejecutando la seal resume. Para generar un reinicio vlido, por
firmware se debe activar el RESUME durante 10ms y entonces borrar el bit.
BIT1: El bit SUSPND,coloca el mdulo y soporte del circuito (es decir,regulador de tensin) en un modo de baja potencia. El reloj
de entrada al SIE se desactiva. Este bit debe activarse por software dentro de la respuesta a una interrupcin IDLEIF. Debe borrarse
por firmware despus de observar una interrupcin ACTVIF. Cuando este bit est activo, sigue estando el dispositivo unido al bus
pero las salidas del transmisor-receptor permanecen en reposo. La tensin en el pin VUSB puede variar dependiendo del valor de
este bit. Activar este bit antes de un IDLEIF dar lugar a
comportamiento imprevisible del bus.
Nota:Cuando est en el modo de suspensin, el bus del dispositivo USB se limita al 500A de corriente. sta es la corriente
completa cedida por el dispositivo PIC y su circuito de soporte. Hay que tener cuidado de ceder la corriente mnima cuando el
dispositivo entre en el modo de suspensin.
BIT0: Bit no implementado se lee como "0"

En lnea

Moyano Jonathan

Re: USB y PIC 18F2550 Desarrollo de proyectos en ASM

Amigo de uControl
PIC16F

Respuesta #6 : Febrero 16, 2010, 03:29:08

Desconectado
Mensajes: 602

Registro de configuracin del USB:


Antes de comunicarse con el USB, se tiene que configurar el mdulo del hardware interno y/o externo. La mayor parte de la
configuracin se realiza con el registro UCFG. El regulador de tensin del USB se maneja con la configuracin de los registros.
El registro UFCG contiene la mayor parte de los bits que dirigen el comportamiento del mdulo USB. stos incluyen:

Velocidad del bus (Alta velocidad vs Baja velocidad)


Permiso de las resistencias pull-up del chip
Permiso del transmisor del chip
Uso del buffer ping-pong

El registro UCFG tambin contiene dos bits que ayudan a probar el mdulo, eliminando errores y certificaciones del USB. La salida
de control de estos bits permite el monitor de estado y generacin de patrones de ojo.

BIT 7: UTEYE: Bit de permiso del test patrn de ojo del USB.
1 = prueba del patrn de ojo permitido.
0 = prueba del patrn de ojo inhabilitado.

http://www.ucontrol.com.ar/forosmf/programacion-en-asm/usb-y-pic-18f2550-desarrollo-de-proyectos-en-asm/

4/7

10/11/2014

USB y PIC 18F2550 Desarrollo de proyectos en ASM


BIT 6: UOEMON: Bit de permiso del monitor OE del USB.
1 = seal del UOE* activa; indica los intervalos durante los cuales las lneas D+/D- estn conduciendo.
0 = seales del UOE* inactivas.
BIT 4: UPUEN: Bit de permiso del pull-up del chip.
1 = Pull-up del chip permitido (pull-up en D+ con FSEN=1 o en D- con FSEN=0).
0 = Pull-up del chip desactivado.
BIT 3: UTRDIS: Bit inhabilitador del transmisor del chip
1 = Transmisor del chip inhabilitado; la interfaz digital del transmisor permitida.
0 = transmisor del chip activo.
BIT 2: FSEN: Bit de permiso del Full-Speed.
1 = dispositivo Full-speed: controla los flancos del transmisor; requiere un reloj de 48MHz.
0 = dispositivo de poca velocidad: controla los flancos del transmisor; requiere un reloj de 6MHz.
BIT 1-0 PPB1:PPB0: Bits de configuracin de los buffer ping-pong.
11 = buffers ping-pong permitidos en los End-Points 1 a 15.
10 = buffers ping-pong permitidos en todos los End-Points.
01 = buffer ping-pong permitido en los End-Points de salida 0.
00 = buffers ping-pong inhabilitados.
Nota 1:
1: Si se activa UTRDIS, la seal UOE* estar activa independiente del ajuste del bit UOEMON.
2: Los bits UPUEN, UTRDIS y FSEN no deben cambiarse mientras el mdulo USB est permitido. Estos valores se deben
preconfigurar antes de permitir el mdulo.
3: Este bit solamente es vlido cuando el transmisor del chip est activo (UTRDIS = 0); si no, se ignora.
Nota 2: La velocidad del USB, la transmisin y las pull-up deben configurase solamente durante la fase de activacin del mdulo.
No se recomienda cambiar estos ajustes mientras que el mdulo est funcionando.
En lnea

Moyano Jonathan
Amigo de uControl
PIC16F
Desconectado
Mensajes: 602

Re: USB y PIC 18F2550 Desarrollo de proyectos en ASM


Respuesta #7 : Febrero 16, 2010, 10:59:20

Viendo un poco el registro UCFG, en donde se encuentra el bit UTEYE, que es un bit de control de estado del USB que vigila los
errores y es un generador de patrones.
Luego tenemos al bit UOEMON. Este bit nos muestra cuando las lineas D+ y D- estn conduciendo y lo que estos valores
representan segn el siguiente cuadro:

Ahora tenemos 2 bit que trabajan de forma conjunta FSEN y UPUEN, segn sea su configuracin activarn o desactivarn las
Resistencias Pull - Up internas del mdulo USB o configuraran el mdulo USB para trabajar a full - speed o slow - speed.
Veamos el circuito lgico que realiza estas acciones y una pequea tabla donde se muestran las posibles configuraciones.

Luego tenemos UTRDIS, que habilita o deshabilita el transmisor del chip, en caso de que el bit sea 0 , activamos el transceptor y
los pines C4 y C5 son usados para conectar el dispostivo USB.
En caso de que el bit sea seteado a 1 , el transceptor es desactivado y las lineas C4 y C5 quedan para poder ser usadas como
entradas digitales unicamente.
Por ltimo tenemos los bits de configuracin BIT 1-0 PPB1:PPB0: que establecen la configuracin del modo Ping - Pong.

http://www.ucontrol.com.ar/forosmf/programacion-en-asm/usb-y-pic-18f2550-desarrollo-de-proyectos-en-asm/

5/7

10/11/2014

USB y PIC 18F2550 Desarrollo de proyectos en ASM


En lnea

om@r
PIC10F
Desconectado

Re: USB y PIC 18F2550 Desarrollo de proyectos en ASM


Respuesta #8 : Febrero 16, 2010, 11:27:56

Gracias por compartir esta informacion ,solo programo en asm y esto de usb lo tengo re-lejos

... asi que estare pendiente de lo

Mensajes: 11

que expongas para aprender sobre el tema


Salu2
En lnea

Emiliano
Moderador
PIC16F
Desconectado

Re: USB y PIC 18F2550 Desarrollo de proyectos en ASM


Respuesta #9 : Febrero 16, 2010, 11:59:27

Buena info Moyano.


Gracias por compartir !!

Sexo:
Mensajes: 877

'67 Caprice
En lnea

Moyano Jonathan
Amigo de uControl
PIC16F
Desconectado
Mensajes: 602

Re: USB y PIC 18F2550 Desarrollo de proyectos en ASM


Respuesta #10 : Febrero 17, 2010, 12:37:41

Muy de a poco desarrollaremos esto del USB en ASM...todo depende de como valla intepretando lo que voy aprendiendo asi lo
expongo ac ..

En lnea

HJ
Moderador
dsPIC
Desconectado
Sexo:
Mensajes: 5460

Re: USB y PIC 18F2550 Desarrollo de proyectos en ASM


Respuesta #11 : Febrero 17, 2010, 09:06:24

Hasta ahora muy clarito. Sigue as. Muy bueno el aporte.


Saludos

En lnea
"si te lo dicen se te olvida, si lo lees lo aprendes; pero si lo haces realmente lo entiendes"
"Cuando llegue la inspiracin, que me encuentre trabajando" [Pablo Picasso]

Moyano Jonathan
Amigo de uControl
PIC16F
Desconectado
Mensajes: 602

Re: USB y PIC 18F2550 Desarrollo de proyectos en ASM


Respuesta #12 : Febrero 17, 2010, 12:49:15

Permiso de la salida del monitor del USB:


El monitor del USB OE* proporciona informacin de la operacin del SIE si est escuchando el bus o est conduciendo por el bus.
Esto se permite por defecto al usar un transmisor externo o cuando UCFG<6>=1. La supervisin del USB OE* es til para el
eliminar errores del sistema inicial.

Permiso del test patrn de ojo:


Se genera una prueba automtica al activar el bit UCFG<7> del patrn de ojo. La salida del patrn de ojo depender de los
ajustes del mdulo, significando que el usuario es el primer responsable de configurar los ajustes del reloj SIE, las resistencias pullup y el modo transmisor. Adems, el mdulo tiene que estar permitido.
Una vez que se active UTEYE, el mdulo emula un cambio a una recepcin para transmitir el estado y comenzar a transmitir una
secuencia de bits J-K-J-K (K-J-K-J en velocidad completa). La secuencia se repetir indefinidamente mientras que el test patrn
de ojo est permitido.
Observar que este bit no se debe activar mientras que el mdulo est conectado con un sistema real USB. Este modo de prueba se
utiliza para ayudar con las verificaciones internas de las pruebas de certificacin USB. Se utiliza para depurar los fallos obtenidos
por el ruido de las seales que pueden afectar los flancos del sistema, uniones de impedancias mal hechas y proximidad a otros
componentes. No comprueba correctamente la transicin de un estado de recepcin a uno de transmisin. Aunque el patrn de ojo
no significa que se sustituya la prueba ms compleja de certificacin del USB, pero ayuda durante el primer test para eliminar
errores del sistema.
En lnea

Moyano Jonathan
Amigo de uControl

Re: USB y PIC 18F2550 Desarrollo de proyectos en ASM


Respuesta #13 : Febrero 17, 2010, 01:00:19

http://www.ucontrol.com.ar/forosmf/programacion-en-asm/usb-y-pic-18f2550-desarrollo-de-proyectos-en-asm/

6/7

10/11/2014

USB y PIC 18F2550 Desarrollo de proyectos en ASM

PIC16F
Desconectado
Mensajes: 602

Regulador de voltaje interno:


Los dispositivos PIC18FX455/X550 tienen un regulador incorporado 3,3V para proporcionar energa al transmisor interno y
proporcionar una fuente para el pull-up interno y externo. Para que el regulador sea estable se necesita un condensador externo de
220nF (20%). Cabe aclarar que se pueden colocar capacitores de mayor capacidad pero no es necesario ya que con 220nF (20%)
funciona correctamente.
Nota: La corriente de VUSB es suficiente para controlar un pull-up externo y el transmisor interno. El regulador se activa por
defecto y puede inhabilitarse a travs del bit de configuracin VREGEN. Cuando est activo, la tensin es visible en el pin VUSB.
Cuando el regulador est desactivado, se tiene que conectar una fuente de 3,3V al pin VUSB para alimentar el transmisor interno.
Si el transmisor interno no se utiliza, VUSB tampoco se activa. VDD debe ser mayor que VUSB en cualquier momento, o igual con
el regulador inhabilitado.

En lnea

caeshark
PIC10F

Re: USB y PIC 18F2550 Desarrollo de proyectos en ASM


Respuesta #14 : Febrero 22, 2010, 06:54:23

Desconectado
Mensajes: 39

POR FIN
Tio sigue sigue que esto esta genial.
USB en ASM perfect
Todo mi apoyo para seguir explicando te escuchamos, me siento identificado con el primer post totalmente, no soy ningun experto
en asm,
pero como no tengo ni papa de C siempre me he quedao colgado en los proyectos con usb muchas gracias tio y continua.
En lnea

IMPRIMIR

Pginas: [1] 2 3 Ir Arriba

anterior prximo

Ir a:

=> ASM

ir

Powered by SMF 1.1.20 | SMF 2011, Simple Machines

SMFAds for Free Forums

Pgina creada en 0.204 segundos con 28 consultas. (Pretty URLs adds 0.011s, 3q)

http://www.ucontrol.com.ar/forosmf/programacion-en-asm/usb-y-pic-18f2550-desarrollo-de-proyectos-en-asm/

7/7

You might also like