Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

14/05/2011 #81

Avatar de Meta

Sí, sólo te falta eso.

Saludo.
14/05/2011 #82


Moyano Jonathan dijo: Ver Mensaje
Esto quiere decir que no se ha detectado al dispositivo. Cuando un dispositivo USB es conectado al host, el mismo lo enumera y muestra un string identificatorio que nos indica nos indica el fabricante, información del dispositivo,etc.

Lo que podés guardar en la EEPROM es el string de identificación y luego con una pequeña función leer la memoria cuando conectamos el dispositivo a la PC.
talvez al master de Meta le quedo claro pero seria muy interesante q nos enseñes como se hace ese string de identificación
un saludo master
14/05/2011 #83

Avatar de Moyano Jonathan

En el manual voy a explicarlo todo , lo que pasa es que no he tenido tiempo para ponerme...la facultad me tiene atado de las manos...solo puedo brindar ayuda en el foro no he tenido tiempo para aportar nada. Espero entiendan.
15/05/2011 #84

Avatar de Meta

No se preocuope, cuando puedas poco a poco vas investigando.

Recuerdo ver un circuito sobre 8 salidas a relés y 8 entradas digitales sin LCD, solo indicaciones por Led con un 16F876 y un FTD para hacer conversión COM--USB en aquel entonces.

Tenía una EEPROM muy pequeña y era alguna de esta. Sólo contenía el nombre del dispositivo, si le quitas físicamente esa EEPROM, funcionaba igual el circuito, lo único que te aparece mensaje dispositivo desconocido y nada más.

Poco a poco vas investigando, ya llegará los resultados con tus pruebas.
04/07/2011 #85


juanma2468 dijo: Ver Mensaje
Moyano Jonathan la data que estas dando es muy pero muy valiosa para muchas de las personas que se interesan por manejar cosas por USB.
Actualmente estoy con la idea de desarrollar un circuito capas de extrer fotos de una webcam con PIC para utilizarla como camara de video sin tener que depender de una PC, y enviar la imagen a un TV o monitor.
Gracias a tu informacion voy a poder entender y comprender el funcionamiento del modulo USB que utiliza el PIC, y con el poder manejar la camara.
Si te intreza el proyecto podriamos desarrollarlo juntos y aprender del mismo.
Desde ya muchas gracias por tu aporte tan valioso para la comunidad.
Aunque para eso vas a necesitar un PIC con capacidad de Host
03/01/2012 #86


excelente aporte,.,. estoy estudiando ello, cualquier avance que logre se los daré a conocer

gracias por su iniciativa,.
13/01/2012 #87


oe la programacion donde esta ?¿
13/01/2012 #88

Avatar de Moyano Jonathan

oe la programacion donde esta ?¿
Todo el desarrollo de la programación quedó relegada para un estudio más profundo...ya que hay que estudiar todo el protocolo desde 0 para poder hacer un desarrollo conciso de lo que es el puerto USB. Debido a esto todo el desglose del tema USB con ASM ha quedado en stand by hasta que yo adquiera un conocimiento más profundo ...o ...hasta que otro pueda desarrollarlo por decirlo de alguna manera...más profesional y enfocado.
13/01/2012 #89


emerson_ms
holas muchachos del foro les felicito por sus respuestas que hacen..
bueno mi pregunta es lo siguente
estoy realizando un proyectos con pic18f4550 puerto usb hasta por momentos ya lo hice el firmware en ccs , quiero simular con proteus y labview entonces no se como configurar o nose segun que lei un foro tenemos que configuarar el virtual usb, donde puedo conseguir o descargar una mano por favor muchachos graciasssssssss
14/01/2012 #90

Avatar de Moyano Jonathan

holas muchachos del foro les felicito por sus respuestas que hacen..
bueno mi pregunta es lo siguente
estoy realizando un proyectos con pic18f4550 puerto usb hasta por momentos ya lo hice el firmware en ccs , quiero simular con proteus y labview entonces no se como configurar o nose segun que lei un foro tenemos que configuarar el virtual usb, donde puedo conseguir o descargar una mano por favor muchachos graciasssssssss
Es cuestión de que le cargues el firmware en el microcontrolador desde el proteus y listo...el simulador se encargará del resto. Igual si necesitas algo más detallado podrías buscar en internet como se configura...hay muchos tutoriales.
07/02/2012 #91

Avatar de nietzche

Pues no se si hallan visto, aqui podemos sacarle jugo para programar USB en ASM, que contrario a lo que muchos dicen, conozco a personas que lo han hecho, incluso pueden hacer FFT y programar pic18/24 y DSPIC en ASM, lo dejo para que vean que onda.

http://pe.ece.olin.edu/ece/projects.html
12/02/2012 #92


nietzche dijo: Ver Mensaje
Pues no se si hallan visto, aqui podemos sacarle jugo para programar USB en ASM, que contrario a lo que muchos dicen, conozco a personas que lo han hecho, incluso pueden hacer FFT y programar pic18/24 y DSPIC en ASM, lo dejo para que vean que onda.

http://pe.ece.olin.edu/ece/projects.html

¡Si memoria y velocidad quieres ganar, en ensamblador has de programar!
14/02/2012 #93

Avatar de nietzche

AG-1 dijo: Ver Mensaje
¡Si memoria y velocidad quieres ganar, en ensamblador has de programar!
No entiendo eso ????
14/02/2012 #94

Avatar de dannyy

amigo Moyano Jonathan por favor podrias sacar un tutorial sobre como manejar los glcd's con ASM ya que los lenguajes de nivel alto solo pueden hacer eso mas no el ASM:enfadado:
15/02/2012 #95

Avatar de nietzche

Perdon ?
Pero si el C es sacado del ASM
Yo estoy trabajando ahorita en una GLCD 160x80 Touch, resistiva, con un PIC18F4550, primero voy a configurarlo para modo texto y despues le metere graficos, todo en ASM, se ve dificil pero no lo es tanto; cuando le avance mas si quieres te digo como le hise.
15/02/2012 #96

Avatar de Meta

nietzche dijo: Ver Mensaje
No entiendo eso ????
Te está diciendo que el ensamblador ASM es más eficiente, rápido y ahorra más memoria.
15/02/2012 #97

Avatar de COSMICO

Meta tiene razòn.
Me consta..
11/09/2012 #98


Seguimos esperadote Jonathan.

Felicitaciones por el post.

Andres.
11/09/2012 #99

Avatar de Moyano Jonathan

Seguimos esperadote Jonathan.

Felicitaciones por el post.

Andres.
Por ahora no tengo tiempo, igual si necesitas más te invito a que colabores con la investigación
para poder ampliar lo que ya está expuesto.

Saludos !
06/05/2013 #100


Descriptor USB
Bueno, como veo que el hilo va algo lento voy a aportar un Descriptor USB para que podáis ir estudiándolo,
y que posteriormente podríamos incluirlo en nuestros programas ASM:

Código:
;
;(c) L. Serrano www.analogicsensors.com
;
;
;Incluir este archivo en el archivo ASM del programa que realicemos.
;
 
;Variables Globales que deben ser declaradas como externas, EXTERN,
; en el archivo ASM del programa que realicemos.
GLOBAL InicioDescriptor,Device,Configuration1
GLOBAL Report1,FinReport1,String0,String1,String2,String3
 
#define ID_FABRICANTE 0x04D8 ;Microchip 04D8 
#define ID_PRODUCTO 0x000A ;Familia PIC18
#define FABRICANTE 'w','w','w','.','a','n','a','l','o','g','i','c','s','e','n','s','o','r','s','.','c','o','m'
#define PRODUCTO 'U','S','B',' ','1','8','F','2','5','5','0'
#define N_SERIE '0','0','0','1'
#define NUM_CONFIGURATIONS 1
#define NUM_INTERFACES 1
#define bcdUSB 0x0200 ; USB Version 2.0 
#define bcdDevice 0x0100 ; Version de Nuestro Dispositivo 
#define ReportCountIn 8 ; Reporte de Entrada 8 campos
#define ReportCountOut 3 ; Reporte de Salida 3 campos
#define bMaxPacketSize 8 ; Maximo tamaño del paquete EP0: 8, 16, 32, o 64
#define wMaxPacketSize 8 ; Maximo tamaño del paquete para el EP
#define bMaxPower 25 ; Consumo del dispositivo=2*bMaxPower=50mA
#define bInterval 10 ; Intervavalo muestreo 10ms
; tipos de descriptor standard
#define DEVICE 1
#define CONFIGURATION 2
#define STRING 3
#define INTERFACE 4
#define ENDPOINT 5
; tipo de descriptor de clase HID
#define HID 0x21
#define REPORT 0x22
#define PHYSICAL 0x23
; tipo reporte de clase HID
#define INPUT 0x01
#define OUTPUT 0x02
#define FEATURE 0x03
; offsets desde el inicio del registro de datos de configuracion
#define bmRequestType 0x00
#define bRequest 0x01
#define wValue 0x02
#define wValueHigh 0x03
#define wIndex 0x04
#define wIndexHigh 0x05
#define wLength 0x06
#define wLengthHigh 0x07
 
DescriptorDevice code
InicioDescriptor
Device 
db 0x12, DEVICE ; bLength, bDescriptorType
dw bcdUSB ; bcdUSB (byte L), bcdUSB (byte H) 
db 0x00, 0x00 ; bDeviceClass, bDeviceSubClass
db 0x00, bMaxPacketSize ; bDeviceProtocl, bMaxPacketSize
dw ID_FABRICANTE ; idVendor (byte L), idVendor (byte H)
dw ID_PRODUCTO ; idProduct (byte L), idProduct (byte H)
dw bcdDevice ; bcdDevice (byte L), bcdDevice (byte H)
db 0x01, 0x02 ; iManufacturer, iProduct
db 0x03, NUM_CONFIGURATIONS; iSerialNumber, bNumConfigurations
Configuration1 
db 0x09, CONFIGURATION ; bLength, bDescriptorType
db 0x29, 0x00 ; wTotalLength (byte L), wTotalLength (byte H)
db NUM_INTERFACES, 0x01 ; bNumInterfaces, bConfigurationValue
db 0x00, 0xA0 ; iConfiguration (none), bmAttributes
db bMaxPower, 0x09 ; bMaxPower*2=consumo dispositivo en mA, bLength(inicio Interface1) 
db INTERFACE, 0x00 ; bDescriptorType, bInterfaceNumber
db 0x00, 0x02 ; bAlternateSetting, bNumEndpoints (excluyendo EP0)
db 0x03, 0x00 ; bInterfaceClass (HID code), bInterfaceSubClass
db 0x00, 0x00 ; bInterfaceProtocol, iInterface (none)
HID1
db 0x09, HID ; bLength, bDescriptorType
db 0x01, 0x01 ; bcdHID (byte L), bcdHID (byte H) 
db 0x00, 0x01 ; bCountryCode (none), bNumDescriptors
db REPORT,(FinReport1-Report1-1); bDescriptorType, wDescriptorLength (byte L)
db 0x00, 0x07; wDescriptorLength (byte H) ,bLength(inicio Endpoint1)
db ENDPOINT, 0x81 ; bDescriptorType, bEndpointAddress (EP1 IN)
db 0x03, low wMaxPacketSize; bmAttributes (Interrupt), wMaxPacketSize (byte L)
db high wMaxPacketSize, bInterval ; wMaxPacketSize (byte H), bInterval
Endpoint2
db 0x07, ENDPOINT ; bLength, bDescriptorType
db 0x01, 0x03 ; bEndpointAddress (EP1 OUT), bmAttributes (Interrupt)
dw wMaxPacketSize ; wMaxPacketSize (byte L), wMaxPacketSize (byte H)
db bInterval ; bInterval
Report1
db 0x06, 0xA0 ;0x06, 0xA0, 0xFF Usage Page (Vendor Defined),
db 0xFF, 0x09 ;0x09, 0x01 Usage ID (Vendor Defined) 
db 0x01, 0xA1 ;0xA1, 0x01 Collection (Application)
db 0x01, 0x09 ;0x09, 0x03 Usage ID (Vendor Defined) ; El Reporte de Entrada
db 0x03, 0x15 ;0x15, 0x00 Logical Minimum (0)
db 0x00, 0x26 ;0x26, 0x00, 0xFF Logical Maximum (255)
db 0xFF, 0x00 ;
db 0x75, 0x08 ;0x75, 0x08 Report Size (8 bits),
db 0x95, ReportCountIn ;0x95, ReportCountIn Campos del Reporte(ReportCountIn campos de entrada),
db 0x81, 0x02 ;0x81, 0x02 Input (Data, Variable, Absolute),
db 0x09, 0x04 ;0x09, 0x04 Usage ID (Vendor Defined), ; El Reporte de Salida
db 0x15, 0x00 ;0x15, 0x00 Logical Minimum (0),
db 0x26, 0xFF ;0x26, 0x00, 0xFF Logical Maximum (255)
db 0x00, 0x75 ;0x75, 0x08 Report Size (8 bits)
db 0x08, 0x95 ;
db ReportCountOut, 0x91 ;0x95, ReportCountOut; Campos del Reporte (ReportCountOut campos de salida),
db 0x02, 0x09 ;0x91, 0x02 Output (Data, Variable, Absolute)
db 0x05, 0x15 ;0x09, 0x05 Usage ID (Vendor Defined) ; El Reporte de Caracteristicas
db 0x00, 0x26 ;0x15, 0x00 Logical Minimum (0)
db 0xFF, 0x00 ;0x26, 0x00, 0xFF Logical Maximum (255)
db 0x75, 0x08 ;0x75, 0x08 Report Size (8 bits),
db 0x95, 0x00 ;0x95, 0x00 Campos del Reporte de caracteristicas,
db 0xB1, 0x02 ;0xB1, 0x02 Feature (Data, Variable, Absolute),
db 0xC0 ;0xC0 End Collection
FinReport1
String0 
db String1-String0, STRING ; bLength, bDescriptorType
; wLANGID[0] (byte L), wLANGID[0] (byte H)
db 0x0A, 0x0C ; Spanish
db 0x09, 0x04 ; US-English
String1 
db String2-String1, STRING ; bLength, bDescriptorType
dw FABRICANTE
String2 
db String3-String2, STRING ; bLength, bDescriptorType
dw PRODUCTO
String3 
db FinDescriptor-String3, STRING ; bLength, bDescriptorType
dw N_SERIE
FinDescriptor 
END
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.