7
10/11/2014 USB y PIC 18F2550 Desarrollo de proyectos en ASM http://www.ucontrol.com.ar/forosmf/programacion-en-asm/usb-y-pic-18f2550-desarrollo-de-proyectos-en-asm/ 1/7 uControl Noviembre 11, 2014, 02:00:33 Bienvenido(a), Visitante. Por favor, ingresa o regístrate. ¿Perdiste tu email de activación? Siempre Ingresar Ingresar con nombre de usuario, contraseña y duración de la sesión Buscar INICIO AYUDA BUSCAR INGRESAR REGISTRARSE uControl > Programación de Microcontroladores > ASM (Moderadores: Leon Pic, Suky) > USB y PIC 18F2550 Desarrollo de proyectos en ASM Páginas: [1] 2 3 Ir Abajo « anterior próximo » IMPRIMIR Autor Tema: USB y PIC 18F2550 Desarrollo de proyectos en ASM (Leído 17599 veces) 0 Usuarios y 1 Visitante están 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 ocación vengo para empezar a desarrollar entre todos una librería de USB usando el lenguaje ensamblador para la familia de microcontroladores PIC18FXX5X. La razón 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. También otra razón es que quiero que todos entendamos de una manera más profunda el funcionamiento del módulo USB de la familia microchip...y luego de esto poder "tratar" de implementar la comunicación USB en cualquier microcontrolador... Para empezar a trabajar con el puerto USB del microcontrolador veremos todos los registros del micro asociados con este periférico , su funcionamiento y luego poco a poco comenzaremos a confeccionar los primeros programas. En línea 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 están hubicados los pines D- y D+ ( correspondientes a las señales de datos del puerto USB en el PIC18F2550 y en el PIC18F4550) , asi como también los otros pines que intervienen en su funcionamiento.

USB y PIC 18F2550 Desarrollo de Proyectos en ASM

  • Upload
    isjua

  • View
    43

  • Download
    10

Embed Size (px)

DESCRIPTION

pics

Citation preview

  • 10/11/2014 USB y PIC 18F2550 Desarrollo de proyectos en ASM

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

    uControlNoviembre 11, 2014, 02:00:33

    Bienvenido(a), Visitante. Por favor, ingresa o regstrate.Perdiste tu email de activacin?

    Siempre IngresarIngresar 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

    Pginas: [1] 2 3 Ir Abajo anterior prximo

    IMPRIMIR

    Autor Tema: USB y PIC 18F2550 Desarrollo de proyectos en ASM (Ledo 17599 veces)0 Usuarios y 1 Visitante estn viendo este tema.

    Moyano JonathanAmigo de uControlPIC16F

    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 familiade microcontroladores PIC18FXX5X.La razn de esto , es porque hay muchos usuarios que son expertos manejando ASM pero no saben utilizar bien el lenguaje C olenguajes de alto nivel. Tambin otra razn es que quiero que todos entendamos de una manera ms profunda el funcionamientodel mdulo USB de la familia microchip...y luego de esto poder "tratar" de implementar la comunicacin USB en cualquiermicrocontrolador...

    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 JonathanAmigo de uControlPIC16F

    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 enel PIC18F2550 y en el PIC18F4550) , asi como tambin los otros pines que intervienen en su funcionamiento.

  • 10/11/2014 USB y PIC 18F2550 Desarrollo de proyectos en ASM

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

    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 concomunicacin serie en espaol) USB full-speed (2.0) y de poca velocidad (1.0) que permite la comunicacin rpida entrecualquier dispositivo USB y el microcontrolador PIC.El SIE puede interconectarse directamente al USB, utilizando el transmisor - receptor interno, o puede conectarse a travs untransmisor-receptor externo. El PIC tiene un regulador interno de 3,3V para alimentar el transmisor-receptor interno en aplicacionesde 5V.Se han incluido algunas caractersticas especiales en el hardware para mejorar el funcionamiento. Se proporciona memoria depuerto dual en la memoria de datos del dispositivo (RAM del USB) para tener acceso directo a la memoria desde el ncleo delmicrocontrolador y desde el SIE. Tambin se proporcionan unos buffer para que el programador elija libremente el uso de lamemoria dentro del espacio de la RAM del USB. Existe un puerto paralelo para transmitir grandes cantidades de datos (SSP), paraesto se ha proporcionado la ayuda de transferencia ininterrumpida de volmenes de datos grandes, por ejemplo datos sncronos, alos buffer de memoria externos.

    ltima modificacin: Febrero 16, 2010, 01:07:50 por Moyano Jonathan En lnea

    Leon PicModeratordsPIC

    Desconectado

    Sexo: Mensajes: 5320

    Cumulonimbus

    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

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

    el_vpiModeradorPIC18F

    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 JonathanAmigo de uControlPIC16F

    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 conel exterior:

  • 10/11/2014 USB y PIC 18F2550 Desarrollo de proyectos en ASM

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

    Antes que nada veremos las notas a las referencias 2 y 3 que estn dentro de la inmgen. Aclarar que estas notas son importantespara 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 - upinternas que tiene el microcontrolador. La activacin o desactivacin de estas resistencias se hace mediante el bit UPUEN...que sever 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 fuenteexterna 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 estetutorial 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 eltransporte 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

  • 10/11/2014 USB y PIC 18F2550 Desarrollo de proyectos en ASM

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

    Moyano JonathanAmigo de uControlPIC16F

    Desconectado

    Mensajes: 602

    Re: USB y PIC 18F2550 Desarrollo de proyectos en ASM 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. Elregistro 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 queborrarse 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 desingle-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 elSIE cuando recibe un SETUP para permitir su procesamiento. Este bit no lo puede activar el microcontrolador, slo borrar; aldespejarlo el SIE continua la transmisin y/o recepcin. Cualquier acontecimiento pendiente dentro del buffer intermedio todavaestar 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 losbits PPBI en el Buffer a 0. Este bit tambin activa el regulador de tensin del chip y conecta las resistencias pull-up, si sepermiten. As, este bit puede utilizarse como una unin/separacin al USB. Aunque se ignoran todos los estados y bits de control sieste 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, porfirmware 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 relojde entrada al SIE se desactiva. Este bit debe activarse por software dentro de la respuesta a una interrupcin IDLEIF. Debe borrarsepor firmware despus de observar una interrupcin ACTVIF. Cuando este bit est activo, sigue estando el dispositivo unido al buspero las salidas del transmisor-receptor permanecen en reposo. La tensin en el pin VUSB puede variar dependiendo del valor deeste bit. Activar este bit antes de un IDLEIF dar lugar acomportamiento 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 corrientecompleta cedida por el dispositivo PIC y su circuito de soporte. Hay que tener cuidado de ceder la corriente mnima cuando eldispositivo entre en el modo de suspensin.BIT0: Bit no implementado se lee como "0"

    En lnea

    Moyano JonathanAmigo de uControlPIC16F

    Desconectado

    Mensajes: 602

    Re: USB y PIC 18F2550 Desarrollo de proyectos en ASM Respuesta #6 : Febrero 16, 2010, 03:29:08

    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 laconfiguracin 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 salidade 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.

  • 10/11/2014 USB y PIC 18F2550 Desarrollo de proyectos en ASM

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

    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 chip1 = 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 debenpreconfigurar 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 JonathanAmigo de uControlPIC16F

    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 loserrores 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 valoresrepresentan segn el siguiente cuadro:

    Ahora tenemos 2 bit que trabajan de forma conjunta FSEN y UPUEN, segn sea su configuracin activarn o desactivarn lasResistencias 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 ylos 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 comoentradas digitales unicamente.

    Por ltimo tenemos los bits de configuracin BIT 1-0 PPB1:PPB0: que establecen la configuracin del modo Ping - Pong.

  • 10/11/2014 USB y PIC 18F2550 Desarrollo de proyectos en ASM

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

    En lnea

    om@rPIC10F

    Desconectado

    Mensajes: 11

    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

    que expongas para aprender sobre el tema Salu2

    En lnea

    EmilianoModeradorPIC16F

    Desconectado

    Sexo: Mensajes: 877

    '67 Caprice

    Re: USB y PIC 18F2550 Desarrollo de proyectos en ASM Respuesta #9 : Febrero 16, 2010, 11:59:27

    Buena info Moyano. Gracias por compartir !!

    En lnea

    Moyano JonathanAmigo de uControlPIC16F

    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

    HJModeradordsPIC

    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 JonathanAmigo de uControlPIC16F

    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=1. La supervisin del USB OE* es til para eleliminar errores del sistema inicial.Permiso del test patrn de ojo:Se genera una prueba automtica al activar el bit UCFG del patrn de ojo. La salida del patrn de ojo depender de losajustes del mdulo, significando que el usuario es el primer responsable de configurar los ajustes del reloj SIE, las resistencias pull-up 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 unasecuencia de bits J-K-J-K (K-J-K-J en velocidad completa). La secuencia se repetir indefinidamente mientras que el test patrnde 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 seutiliza para ayudar con las verificaciones internas de las pruebas de certificacin USB. Se utiliza para depurar los fallos obtenidospor el ruido de las seales que pueden afectar los flancos del sistema, uniones de impedancias mal hechas y proximidad a otroscomponentes. No comprueba correctamente la transicin de un estado de recepcin a uno de transmisin. Aunque el patrn de ojono significa que se sustituya la prueba ms compleja de certificacin del USB, pero ayuda durante el primer test para eliminarerrores del sistema.

    En lnea

    Moyano JonathanAmigo de uControl

    Re: USB y PIC 18F2550 Desarrollo de proyectos en ASM Respuesta #13 : Febrero 17, 2010, 01:00:19

  • 10/11/2014 USB y PIC 18F2550 Desarrollo de proyectos en ASM

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

    PIC16F

    Desconectado

    Mensajes: 602

    Regulador de voltaje interno:Los dispositivos PIC18FX455/X550 tienen un regulador incorporado 3,3V para proporcionar energa al transmisor interno yproporcionar una fuente para el pull-up interno y externo. Para que el regulador sea estable se necesita un condensador externo de220nF (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 pordefecto 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 conel regulador inhabilitado.

    En lnea

    caesharkPIC10F

    Desconectado

    Mensajes: 39

    Re: USB y PIC 18F2550 Desarrollo de proyectos en ASM Respuesta #14 : Febrero 22, 2010, 06:54:23

    POR FIN Tio sigue sigue que esto esta genial.USB en ASM perfectTodo mi apoyo para seguir explicando te escuchamos, me siento identificado con el primer post totalmente, no soy ningun expertoen 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

    Pginas: [1] 2 3 Ir Arriba IMPRIMIR 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)