Autor Tema: Datalogger de 2GB con PIC usando un Host USB: El VDIP1  (Leído 69311 veces)

0 Usuarios y 4 Visitantes están viendo este tema.

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #30 en: 29 de Enero de 2009, 09:17:29 »
Ya he logrado poner en marcha la eeprom externa.
 Leo el RTC con la fecha , minutos, etc y lo guardo en la eeprom para luego leerlos y mostrarlos por un puerto.
Mi jefe mirando el prototipo que estoy creando: "Y eso va a funcionar?"

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #31 en: 06 de Febrero de 2009, 06:57:39 »
Bueeeno.

Como veo que mi colega Alquimus me ha abandonado... paso a postear el estado de mi caja negra.

El programa principal está casi completado a falta de :

- Logeador de caídas de tensión (me falta un diodo zener para ponerlo en marcha y hacer su subrutina)
- Logeador de pesaje (me falta la célula de carga y hacer el hardware para que le envie al micro la señal analógica)
- Conexión con el VDIP (acabo de actualizarle el firmware y voy a leer sus hojas de datos)

El resto está todo implementado y probado.
- Toma decisiones si el hardware es nuevo o ya contiene datos y de ser nuevo borra E2int, E2 ext , resetea punteros EEexterna, Graba tiempo en DS1305
- Toma de decisiones acorde al mes o dia actual
- Lectura del DS1305
- Guarda fecha en E2interna
- Lee entradas de todas las maniobras e incidencias
- Acumula datos en RAM de cada maniobra/incidencia
- Cada 10 minutos graba tiempo y duración maniobras/incidencias en E2interna o en E2 externa segun sea el caso
- Actualiza punteros de E2externa para futuras grabaciones.

Ahora bien... tengo varias dudas:

1- Puedo formatear el USB en sectores de 256 bytes en lugar de 512? (me vendría genial ya que cada página del 25aa1024 es de 256)

2- Tenía planeado conectar el VDIP por SPI, pero si fuese así me vería complicado cuando deba descargar la E2externa al VDIP:
 
    -Debería leer una pagina de 256 bytes de la E2externa, cargarlos a la RAM del micro y no ando muy holgado de RAM con el 16f877
    -Seleccionar el VDIP y abrir un archivo en el USB.
    -Cargarle los 256 bytes que acabo de leer (se puede sólo 256 o deben ser 512 bytes?
    -Cerrar archivo (se puede dejar abierto hasta meterle otros 256 bytes? )
    -Vuelta al principio hasta descargar toda la E2externa

3- Al grabar el nuevo firmware del VDIP los leds me han parpadeado por 1-2 segundos solamente. Es normal?
Por las dudas lo he dejado conectado 30 minutos :P

4- Y más profunda duda: No está el mismo ejemplo para el VDIP en assembler? No me refiero al asm compilado , porque no se entiende nada. Sino a un asm fuente o algún link de alguien que haya controlado el VDIP con asm. He mirado por la web pero nanín.

Dicho esto voy a sacarme otro café y a seguir leyendo el datasheet de vinculum que son unas sabrosas 77 páginas.

PD: Alquimus, vueeeelveeee a casa vueeelveeee por navidaaaad :P
Mi jefe mirando el prototipo que estoy creando: "Y eso va a funcionar?"

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #32 en: 06 de Febrero de 2009, 12:08:06 »
Hola pibe, converse con Alquimus y me dijo que estaba con mucho trabajo que le tenia alejado del proyecto, pero ya se esta dando tiempo.

Gracias a ti tambien pibe por seguir con el hilo.  :-/

saludos
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #33 en: 06 de Febrero de 2009, 13:11:19 »
He conectado el VDIP a un max232 y éste la PC.

El VDIP enciende sus leds, el pendrive también indicando que está listo para ser vejado sexualmente  :mrgreen:

Abro el hyperterminal con el set 9600 no hardware pero no puedo escribir nada en la ventana. A que se debe?
Que hago? me corto las venas o me las dejo crecer?  :D

Bueno, ya si eso el Lunes sigo molestando. Ahora toca jugar al X3 terran conflict que me tiene más preocupado que el proyecto  :-/
Mi jefe mirando el prototipo que estoy creando: "Y eso va a funcionar?"

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #34 en: 09 de Febrero de 2009, 09:17:25 »
Puesta en marcha del VDIP:

1- Formatear dispositivo pendrive conectádolo a una pc, en FAT32

2- Entrar en ejecutar- CMD - y poner format G: /A:512 (donde G es la letra del pendrive)

3- Bajar último flash de vinculum desde http://www.vinculum.com/downloads.html , archivo para VDAP, reflash FTD.

4- Renombrar el archivo a FTRFB.FTD

5- Copiar archivo en pendrive

6- Para poder testear el VDIP ,CONECTAR EL VDIP A LA COMPU CON CABLE RS232 Y MAX232:

   PIN 10 DEL VDIP A MASA
        PIN 7 VDIP A MASA
        PIN 1 VDIP A +5V
        PIN 6 VDIP AL PIN 11 MAX232
        PIN 8 VDIP AL PIN 12 MAX232
   PIN 13 MAX 232 AL PIN 2 HEMBRA DB9
   PIN 14 MAX232 AL PIN 3 HEMBRA DB9
        PIN 5 HEMBRA DB9 A MASA

        COMPONENTES EXTERNOS DEL MAX232 : 3 CONDENSADORES (VER HOJA DATOS MAX232)
   AMBOS JUMPERS DEL VDIP ENTRE PIN 1 Y 2

7- ABRIR EL HYPERTERMINAL DE WINDOWS Y ESCOGER EL puerto COM QUE CORRESPONDA, PONERLO EN MODO 9600 8-1-N NINGUNO

8- PROPERTIES-  PESTAÑA SETTINGS - ASCII SETUP - TODAS OPCIONES MARCADAS EXCEPTO FORCE INCOMING DATA 7 BITS
    Y SEND LINE ENDS WITH LINE FEED

9- Alimentar VDIP

10- CONECTAR EL PENDRIVE AL VDIP Y ESPERAR ACTUALIZACIÓN , VER LEDS VDIP E HYPERTERMINAL INDICANDO EL FINAL

11- DESCONECTAR EL PENDRIVE Y BORRARLE EL ARCHIVO .FTD Y VOLVER A CONECTARLO AL VDIP

12- ENTRARLE AL HYPERTERMINAL FWV Y NOS DA LA VERSION ACTUAL DEL FIRMWARE

13- IPA (ENTER) (Configura el VDIP de comandos para trabajar con valores en ASCII.)

13- OPW TEST.TXT (ENTER) (ABRE/CREA UN ARCHIVO CON NOMBRE TEST.TXT (NO ACEPTA NOMBRES DE MAS DE 8 CARACTERES!))

14- WRF 12 (ENTER y ESPERA LE INGRESEMOS LA PROXIMA LINEA) (LE INDICAMOS QUE VAMOS A ESCRIBIRLE 12 CARACTERES AL ARCHIVO)

15- Hello World! (ENTER AUTOMATICO AL LLEGAR AL LLEGAR AL LIMITE DE CARACTERES INDICADOS EN LA LINEA ANTERIOR)         

16- CLF TEST.TXT (ENTER) (CERRAMOS ARCHIVO)

Ya podemos desconectar el pendrive del VDIP y enchufarlo a la compu para comprobar con una sonrisa de oreja a oreja que ha creado un archivo
llamado TEST.txt y dentro de él podemos ver la frase Hello World!  :-/ :-/ :-/

Existen muchos más comandos interesantes. Ver ésta página en portugués: http://www.rogercom.com/Microcontrolador/Pag03.htm

También podemos darle una extensión .BIN y leerlos con el WINHEX, que es un programita que va de lujo.


Ahora toca descubrir como hago para controlarlo con el PIC. Toca darme cabezasos contra el teclado  :mrgreen:
« Última modificación: 09 de Febrero de 2009, 09:44:57 por pibe »
Mi jefe mirando el prototipo que estoy creando: "Y eso va a funcionar?"

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #35 en: 09 de Febrero de 2009, 19:09:22 »
hola pibe, felicitaciones ya lo hicistes arrancar  :-/

espero no incomodarte con mi pregunta algo básica, es sobre el vdip1 es que pienso usarlo en modo spi y sera controlado por un chip de 3.3V PIC24HJ256GP210 el inconveniente es si el bus SPI del VDIP1 tiene la salida en niveles 5V TTL o en 3.3V?

no encontre dicha informacion en el datasheet derepente tu la conoces.

gracias  :-)
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #36 en: 12 de Febrero de 2009, 16:35:38 »
Querido cadaver:

Precisamente hoy me he topado de morros contra una bonita pared: El SPI del dichoso VDIP no es un SPI como tal. Si ves la datasheet del VDIP podrás ver que el maldito quiere primero 3 bits, luego los 8 bits de datos, luego mas reloj para poder leer un bit 1/0 de status por el SDO, y mas reloj antes de cerrar el CS. Si eso es SPI... yo soy Mozart. Tuve que ponerme con toda la paciencia china a hacer el programa SPI por software, ya que los niños de vinculum sólo programan en C y lo compilan con un programa que se los debe vender algún pariente suyo.
Así que, a pelo, bit a bit, mirando el osciloscopio y simulando en Proteus pude hacer una rutina de lectura y escritura por los mismos pines que uso para SPI por hardware y que los comparto con el DS1305 y la 25AA1024.
A última hora de trabajo le di marcha, le mandé un caracter "E" y esperaba recibir un "e" del VDIP como respuesta, pero nada. Al ir llegando a casa y rumeando lo que podía estar mal me he dado cuenta que me he olvidado de mandarle el "CR" (carriage return) despues de cada comando.
Mañana lo pruebo y les cuento.

Respecto a los niveles... por lo que creo es 5v. Los 3,3 creo son para alimentar un posible segundo USB en caso de necesitarlo, no lo se. No tengo las hojas de dato en casa.
Mi jefe mirando el prototipo que estoy creando: "Y eso va a funcionar?"

Desconectado Alquimus

  • PIC12
  • **
  • Mensajes: 50
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #37 en: 12 de Febrero de 2009, 16:45:16 »
Asi es mi estimado Pibe, eso: NO ES SPI  :lol:
Yo me atore en esa parte, es decir, no compile codigo propio, mas bien puse a trabajar el que ellos te daban en el dichoso compilador suyo. Pero ya vamos acercandonos, creo que ya estamos en el punto donde debemos remangarnos las manos y trabajar a mano.
Lamento haber descuidado el tema, el trabajo me ha tenido viajando de un lado a otro estos dias y bueno, el timpo es cruel con todos.
Aun asi, si puedo apoyar en algo, aqui estamos.

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #38 en: 13 de Febrero de 2009, 08:39:11 »
Alqui, necesito tu ayuda porque no puedo lidiar con el SPI por software. Lo he probado y me encuentro en la disyuntiva si no recibe porque fallo al hacer el bit bang del SPI por software o si fallo con los datos que le mando.

He "intentado" comprender que hace para comunicarse por software con el programa original en C. Modificarlo para quedarme solamente con las rutinas que manejan el el VDIP en SPI y descartar la comunicación entre el pic y la PC por UART.
Para peor el manual del VNC1 son de 77 páginas pero de las 77 páginas sólo 2 realmente despejan alguna duda. El resto parece estar escrito en arameo, no contiene información importante de como, cuando y donde enviar los comandos. Es el peor manual de usuario que he leído en mi vida.

Aqui el link de ejemplo en C del VDIP usando un 16f688 en modo uart para comunicarse con la PC y en modo SPI por software para comunicarse con el VDIP.

http://www.vinculum.com/projects/vnc1l-spi.zip

He logrado compilarlo con el boostC, me ha dado un archivo ASM pero es ininteligible como podrás imaginar. Además que al compararlo con los comandos del C es tan cómico !... Por ejemplo: en asm para poner un pin a 1 haces "bsf PIN" y el asm que me ha compilado el boostC me hace lo mismo pero haciendo MOVLW, AND, IORLW, BTSC, cambio de bancos etc etc. Inaceptable.

He simulado el HEX que me da el boostc y funciona. Por el proteus puedes ver como manda señales SPI constantemente al VDIP porque recibe 00 por UART constantemente. Se puede notar en el osciloscopio claramente definidos los 13 pulsos de clock al mandar cada dato por el SPI. (Recuerda que son 3 bits de R/W, 8 de datos , 1 Read status, 1 salida.)

En resumen:

Necesito por favor , tu que sabes de C, me modifiques el programa fuente del link de arriba. Sólo necesito las rutinas SPI, descartar todas las del UART. Yo lo he intentado pero entre whiles, ifs, breaks me pierdo , al compilarlo no deja de darme errores  y no tengo idea de como corregirlos.
Lo suyo sería que pudiese mandarle al VDIP por SPI uno o dos datos de variables (casi siempre son 2: 1 de comando y otro de carriage return) , y luego poder leer por SPI la respuesta a ese comando y guardarlos en otras 2 variables.

Te crees capáz de hacerlo?  :-/

Mi jefe mirando el prototipo que estoy creando: "Y eso va a funcionar?"

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #39 en: 13 de Febrero de 2009, 11:51:01 »
el problema no es si alguien se crea capaz de hacerlo, el problema para muchos (entre los que me incluyo) es el tiempo disponible para estos proyectos, pues como dicen por ahi no solo de PICs vive el hombre.
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #40 en: 13 de Febrero de 2009, 14:04:40 »
Para uno que sepa C será coser y cantar. Hasta yo , que no sé nada de C entiendo que hace la rutina.
 El tema es que para poder "pelarla" y dejar las rutinas SPI solas para poder usarlas sin que me de 500 errores debo saber que he hecho mal, y ahí es donde se necesita saber C  :mrgreen:
Mi jefe mirando el prototipo que estoy creando: "Y eso va a funcionar?"

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #41 en: 13 de Febrero de 2009, 15:50:17 »
Primer paso:
Esas rutinas estan hechas para un cristal de 20 mhz.

Esa es la frecuencia del cristal que utilizas??
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #42 en: 13 de Febrero de 2009, 20:57:51 »
Sip
Mi jefe mirando el prototipo que estoy creando: "Y eso va a funcionar?"

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #43 en: 13 de Febrero de 2009, 21:02:29 »
Ya te cambiaste al 18F ??
Hay que cambiar dos registros al manejar las salidas en ese pic...
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #44 en: 14 de Febrero de 2009, 05:13:25 »
Si, ya uso el 18f4550.
Mi jefe mirando el prototipo que estoy creando: "Y eso va a funcionar?"