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

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Alquimus

  • PIC12
  • **
  • Mensajes: 50
Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« en: 30 de Diciembre de 2008, 01:03:54 »

DATALOGGER USANDO UN VDIP1

Hace ya un par de años, FTDI saco al mercado circuitos integrados capaces de funcionar como HOST de USB.
Con ello, la capacidad de almacenar datos en una memoria USB por ejemplo, se hizo mucho mas sencilla.
La pagina oficial del dispositivo, llamado VNC1L-1A - VINCULUM, es la siguiente:

http://www.vinculum.com/

Dentro de los productos Vinculum, existen modulos, los cuales nos facilitan la tarea de integrar estos maravillosos integrados a nuestras aplicaciones. Existen los siguientes modulos:

 VNC1L      :   Vinculum VNC1L USB host controller IC (RoHS compliant)
 V-Eval      :Vinculum development board based on the VNC1L
 VDIP        : DIP format VNC1L USB host controller development module
 VF2F         :Digital media backup to USB Flash drive - reference design
 VDRIVE    : Module easily adds USB Flash drive interface to MCU I/F via UART or SPI interface
 VMUSIC    : Module easily adds USB Flash drive Interface plus MP3 playback to MCU I/F via UART or SPI interface
 DLP-VLOG :Module to allow data logging directly to a USB Flash drive using a VNC1L device with a microcontroller

Estos modulos nos facilita la integracion a nuestros sistemas, para el siguiente proyecto, pienso utilizar el VDIP1 que adquiri hace un par de semanas de mouser, en realidad, se podria comprar solamente el IC, pero elegi el VDIP1 porque viene con todo lo necesario (cristal, capacitores, zocalo DIP) como para empezar a hacer prototipos.
Ahora, cada IC tiene la capacidad de soportar hasta 2 dispositivos USB, el VDIP1 viene con un conector USB integrado en el modulo con la posibilidad de usar el segundo dispositivo a través de los pines del zocalo DIP. Existe tambien el VDIP2 que viene con 2 conectores USB integrados.

VDIP1 en Mouser

EL VDIP1

Bueno, entonces se trabajara con el VDIP1, aqui una pequeña foto:



Veamos algunas de sus caracteristicas:

► Jumper selectable UART, SPI or FIFO MCU Interfaces
► Uses FTDI's VNC1L device
► USB "A" type socket to interface with USB peripherals
► 2nd USB Interface available via module pins if required
► Single 5V supply input
► Auxiliary 3.3V/200mA power output to power external logic
► Power Good and Traffic Indicator LEDs
► RESET# and PROG# signals allow device programming via the UART interface if required.

Para aquellos que quieran un poco mas de detalle, pueden visitar la pagina web oficial del producto donde podran encontrar esquematicos, datasheets, firmware, especificaciones e incluso ejemplos.

Vinculum : VDIP1

LA IDEA GENERAL

Bueno, para resumir, el VDIP1 es un modulo que funciona como USB HOST, con esto pretendo hacer un datalogger para almacenar los datos en una memoria USB de alta capacidad 2GB. El VDIP1 necesita un dispositivo que controle sus funciones, para lo cual pienso emplear un PIC, tengo en mi poder varios PICs 18F4550 asi que sera este el que empleare. La comunicacion entre PIC y el VDIP1 se puede realizar en 3 formas, para este proyecto pretendo utilizar el puerto SPI del VDIP1.
Para empezar, me gustaria lograr almacenar el valor capturado en un canal analogico del PIC cada cierto tiempo en un archivo que luego podamos ver en nuestras PC's digamos un TXT por ejemplo.

Bueno, esta es la idea principal del proyecto.

Para desarrollarlo basicamente necesito ayuda en la parte de programacion del PIC, pues como veran mas adelante, existe codigo hecho para este dispositivo, pero esta hecho usando un compilador que no es familiar para mi:

SourceBoost C compiler

Si bien es cierto que es tambien un compilador en C, se me hace un poco dificil usarlo. Por eso necesito su ayuda, para PORTAR el codigo a un compilador quizas mas familiar para todos nosotros, el CCS.

Eso es todo por hoy. Veamos como va el proyecto.
« Última modificación: 15 de Enero de 2009, 18:11:51 por Alquimus »

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #1 en: 30 de Diciembre de 2008, 02:28:39 »
Estimado señor Alquimus:

Hace tiempo que vengo descubriendo que en esta vida no existen las casualidades, sino las causalidades.

La empresa en la cual trabajo me acaba de encargar un par de semanas atrás algo muy parecido a lo que usted quiere hacer.
En mi caso se trata de una caja negra para una grua de construcción , la cual va grabando los movimientos de la misma (25LC1024) junto con la cantidad en minutos/horas de dicho movimiento (TMR0 del PIC)  y la fecha en la cual se ha realizado (DS1305/DS1302).
Tengo pensado almacenar temporalmente en la eeprom interna del pic dicho/s movimiento/s con su respectivo tiempo en la eeprom interna, para luego al cabo de unos segundos que el movimiento haya finalizado volcarlo a la eeprom externa junto con la fecha, hora, etc actual.
En estos momentos tengo finalizado el esquema, elegido los componentes , he hecho pruebas simulando en el proteus con el DS1302 (creo que lo cambiaré por el DS1305 que posee una salida de alarma diaria/mensual para interrumpir al micro) y la 25LC256 (que creo me va a quedar chica y la cambio por otra de mayor capacidad) así como el pic 16f877A (que también lo cambiaré por uno de gama alta tipo 18f4550, por tener mas cantidad de interrupciones externas y mas cantidad de registros).

También tengo adquirido 2 VDIP1 desde Farnell.

con esto pretendo hacer un datalogger para almacenar los datos en una memoria USB de alta capacidad 2GB.

Los datos almacenados en una memoria EEPROM externa al PIC serán volcados , cuando el usuario así lo requiera, a un pendrive de cualquier capacidad.

El VDIP1 necesita un dispositivo que controle sus funciones, para lo cual pienso emplear un PIC, tengo en mi poder varios PICs 18F4550 asi que sera este el que empleare.

También me acabo de despertar pensando en cambiar al 18f4550 que tengo 2 , llenos de polvo :P

La comunicacion entre PIC y el VDIP1 se puede realizar en 3 formas, para este proyecto pretendo utilizar el puerto SPI del VDIP1.

También me comunico con el DS1302/05 y la E2rom externa por SPI.

Para empezar, me gustaria lograr almacenar el valor capturado en un canal analogico del PIC cada cierto tiempo en un archivo que luego podamos ver en nuestras PC's digamos un TXT por ejemplo.

En mi caso, también debo capturar una de las entradas que es analógica, junto con varias (unas 20) señales digitales y volcarlo al pendrive en formato legible por el usuario. Por el momento TXT , pero al finalizar debería hacer (o encontrar) algún programa (Excell?) que sea más ameno a la vista.

Para desarrollarlo basicamente necesito ayuda en la parte de programacion del PIC, pues como veran mas adelante, existe codigo hecho para este dispositivo, pero esta hecho usando un compilador que no es familiar para mi:

SourceBoost C compiler

Si bien es cierto que es tambien un compilador en C, se me hace un poco dificil usarlo. Por eso necesito su ayuda, para PORTAR el codigo a un compilador quizas mas familiar para todos nosotros, el CCS.

Eso es todo por hoy. Veamos como va el proyecto.


Aquí es donde diferimos, ya que yo codifico unicamente en assembler :( y he visto que Vinculum tienen un ejemplo en C.

Me gustaría que nos mantuviésemos en contacto y nos ayudásemos mutuamente. Yo estoy , como podrás imaginarlo, más de 8 horas diarias dedicado exclusivamente a este proyecto y sentado frente al ordenador con todas las hojas de datos, simulando, estudiando, codificando y arrancándome de a poco los pelos :)

Espero que ambos , junto con el resto de los foreros podamos sacar adelante nuestros proyectos antes que tengamos que usar peluca , jajaja.

Un saludo desde España
Mi jefe mirando el prototipo que estoy creando: "Y eso va a funcionar?"

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #2 en: 30 de Diciembre de 2008, 10:48:09 »
Hola, como dijo "Pibe" los dos proyectos son bastantes similares. Para este tipo de aplicaciones donde el costo no es el principal factor el VDPI1 es una solución elegante y viable. Suerte a los dos y espero que posteen sus xps asi aprendemos algo más.

Saludos !

Desconectado Alquimus

  • PIC12
  • **
  • Mensajes: 50
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #3 en: 30 de Diciembre de 2008, 14:34:53 »
Que tal amigos, gracias por sus posts, vamos Pibe que el proyecto de todas maneras sale, aunque sinceramente nunca programe en assembler los PIC, solo los ATMEL o los MOTOROLA cuando estudiaba en la universidad, una vez que me tope con el CCS, cambio por completo mi perspectiva de programacion. Y es cierto que existen bastantes ejemplos en C para el VDIP1, ejemplos que veremos en el desarrollo de este proyecto.

EMPEZANDO CON EL VDIP1

Antes de adquirir el VDIP1 me estuve informando de las caracteristicas que posee.

Basicamente, es tambien un digamos "Microcontrolador" que lleva un "Firmware" y que dependiendo de la version del Firmware, desempeñara distintas funciones, tantas como vimos en los distintos modulos que tiene VINCULUM. Veamos los distintos tipos de "Firmware" que nos provee VINCULUM:

• VDAP (disk and peripherals)
• VDIF (disk and FTDI Interface)
• VMSC (music player)
• VDPS (disk, PC monitor and slave port)
• VCDC (communication class device)
• VDFC (disk and file copier)

Para este proyecto, en el cual usaremos el VDIP1, el firmware utilizado sera el VDAP que maneja 2 tipos de dispositivos como veremos en la figura:



BOM's : (Bulk Only Mass Storage) o memorias USB.
Como vemos, tambien tenemos la posibilidad de conectar algun periferico que se conecte por USB a nuestro VDIP1.
En el VDIP1, el conector disponible es el que esta conectado al "PUERTO 2", es decir, en el que podemos conectar BOM's o memorias USB. Ahora, no estoy seguro si uno puede conectar indistintamente los dispositivos USB en el Puerto 1 o 2, pero segun veo por las tablas y por lo poco que lei, al parecer uno tiene que utilizar el tipo de puerto para el dispositivo apropiado, es decir, al usar el VDIP1, solo podremos conectar BOM's en el Puerto 2, que es el que tenemos habilitado con conector en nuestro modulo.

La siguiente tabla, describe la posibilidad de conexion de distintos dispositivos USB para los distintos tipos de "Firmware" que provee Vinculum:



EL MONITOR DE COMANDOS

La comunicacion con el VNC1L (IC incluido en el VDIP1) se realiza enviando instrucciones al Monitor de Comandos e interpretando sus respuestas.
Es decir, para poder comunicarnos con el VDIP1 y utilizar sus funciones, la idea es enviar comandos al llamado "Monitor de Comandos" e interpretar sus respuestas. (bueno, creo que no hice mas que repetir lo que dice el datasheet).
Esta parte la veremos un poco mas adelante, veamos antes los primeros pasos para trabajar con nuestro VDIP1, solo queria definirles este concepto, pues es el mas importante de todos. En realidad la idea central del proyecto conciste en escribir un codigo para el PIC que utilice este monitor de comandos para enviar y recibir respuestas.

EL VDIP1

Veamos la descripcion de pines del VDIP1



Bueno, vemos los pines claves del VDIP1, para empezar, lo alimentamos con 5 voltios DC en el PIN1, y el PIN24 es un pin que nos entrega 3.3V para manejar algun dispositivo externo que requiera este voltaje. Ademas de eso, tenemos 2 pines de tierra que son el PIN7 y el PIN18.

Una vez alimentado, solo nos queda seleccionar que tipo de comunicacion queremos efectuar y configurarla:

Es mi eleccion particular utilizar el puerto SPI, sus ventajas y desventajas podran ser discutidas mas adelante, basicamente lo hago porque en el futuro me convendra incluir un puerto serial al proyecto, asi que el PIC manejara un puerto SPI y un puerto serial, se que tambien es posible hacer que el PIC maneje 2 puertos seriales (hay pics que tienen 2 puertos USART en hardware) uno en hardware y otro en software.

Para utilizar el puerto SPI en el VDIP1, tenemos que configurar los jumpers que vemos en el modulo, para ello, basta con referirnos al datasheet:



Una vez configurados los Jumpers, solo necesitamos identificar que pines usaremos para utilizar el puerto SPI:

PIN6 - AD0 - SCLK
PIN8 - AD1 - SDI
PIN9 - AD2 - SDO
PIN10 - AD3 - CS

Bueno, ya estamos llegando al punto de que seria necesario postear un esquematico para identificar el circuito basico a utilizar para empezar con nuestro proyecto, sin embargo, antes de hacer esto, hay un paso MUY, pero MUYYYY importante que debemos seguir: LA ACTUALIZACION DEL FIRMWARE.

LA ACTUALIZACION DEL FIRMWARE

Cuando uno busca en internet proyectos que utilicen el VDIP1 o en general el VNC1L, encontraremos diversos comentarios y experiencias, quiero compartir con ustedes las que me sirvieron a mi.

Cuando uno compra el VDIP1, este viene con una version del firmware incluido, con el paso del tiempo VINCULUM ha ido mejorando ciertos problemas relacionados justamente con la comunicacion SPI con el VNC1L, es por esto que si quieremos usar el puerto SPI, primero debemos actualizar el firmware y como hacer esto?, a continuacion algunos tips.

Para actualizar el firmware de nuestro VDIP1, podemos referirnos al manual de usuario del del firmware V205 que podemos encontrar en la pagina oficial de vinculum.
Concretamente encontramos este punto en la seccion 3.1.3 o pagina 10 del manual.

El metodo que utilice fue el de usar una memoria USB para actualizar el Firmware, veamos los pasos uno por uno.

1) Un punto muy importante, que tambien esta detallado en el Manual de Usuario del Firmware, es que el firmware maneja SOLAMENTE BOMS formateados en los sistemas de archivos FAT12, FAT16 y FAT32 y SOLO cuando el tamaño del cluster es de 512 Bytes. Si bien es cierto que esta limitante es algo incomoda al principio, una vez que formatemos nuestra memoria USB, no tendremos ningun problema porque windows (al menos el XP con el que trabajo) no tiene ningun problema para trabajar con este tipo de formato.
Primero, para saber que tipo de formato tiene nuestra memoria USB, se puede hacer lo siguiente:
- Con nuestra memoria USB conectada, vamos a INICIO - EJECUTAR y escribimos cmd para ir a la ventana de comandos que tiene el Windows
- Una vez alli, para chequear que tipo de formato tiene nuestra memoria, podemos usar el comando CHKDSK F: (donde F es la unidad asignada a la memoria) donde veremos algo parecido a esto:



Notese en el circulo rojo (que no se nota muy bien jejeje) el tamaño de asignacion para cada unidad, vemos en este caso que es de 1,024 bytes, con este tipo de formato por ejemplo, el VDIP1 no podra trabajar, lo que tenemos que hacer es formatear el disco con la unidad se asignacion adecuada, para lo cual usaremos el siguiente comando (siempre desde la ventana de comandos de windows):

>format f: /A:512  (enter)

donde "f:" es la unidad asignada a la unidad
Una vez formateado el disco, vemos la siguiente imagen, donde distinguimos el tamaño de asignacion para cada unidad con el valor correcto:



Bien, eso fue todo, verdad que no dolio?? jajaja.

2) Ahora si vamos a actualizar el firmware de nuestro VDIP1. Para ello, bajamos la ultima version del mismo desde la pagina de vinculum, debemos elegir el firmware adecuado para el dispositivo que estemos manejando en nuestro caso necesitamos el VDAP que es el firmware que usa el VDIP1. En la pagina siguiente encontraremos el firmware:

Downloads de Vinculum

En este caso vamos a bajar el archivo reflash(FTD) que corresponde al firmware VDAP, una vez bajado el archivo, tiene este nombre:

ftrfb_main_03_66VDAPF.ftd

Lo que debemos hacer es renombrar el archivo al siguiente:

FTRFB.FTD

3)Una vez renombrado, lo copiamos al directorio raiz de nuestra memoria USB.

4)Ahora viene la parte importante: para actualizar el firmware, insertamos la memoria USB con el archivo del firmware en nuestro modulo VDIP1, y necesitaremos solamente ENERGIZAR el modulo para que se realize la actualizacion correspondiente. Es muy importante ser pacientes en este punto, pues de interrumpir el proceso de actualizacion del firmware podriamos causar un daño muy grande a nuestro modulo. Lo mas importante es ser pacientes, los leds incluidos en el modulo parpadearan mientras se este realizando la actualizacion y se detendran una vez completada la misma. Al ser pacientes estoy hablando de no menos de 1minuto y no mas de 5 minutos.

Bien , eso es todo,  el firmware esta actualizado y ahora si podremos trabajar con el puerto SPI.

Una pregunta muy importante seria: COMO SABER QUE VERSION DEL FIRMWARE tiene nuestro modulo VDIP1?

Hay una manera sencilla de saberlo, necesitaremos conectar directamente el VDIP1 a nuestra PC, y para ello utilizaremos  el pueto UART del VDIP1, para ello configuramos los jumpers y realizamos un circuito muy sencillo:



Usando el Hyperterminal y configurando la conexion a 9600 baudios sin control de flujo, al encender el VDIP1 nos muestra en la terminal la version de firmware que esta incluida en el modulo.

Quiero hacer referencia a 2 enlaces que me sirvieron mucho mientras hice la actualizacion del firmware, veanlas ustedes mismos y encontraran algunos detalles mas:

Trabajando con VDIP1

Usando el VMUSIC2

Bueno amigos, eso fue todo por hoy, continuaremos el proximo año. Saludos!!!


« Última modificación: 15 de Enero de 2009, 18:55:08 por Alquimus »

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #4 en: 30 de Diciembre de 2008, 15:11:49 »
Alquimista, excelente data estas posteando :-)

Saludos !

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #5 en: 31 de Diciembre de 2008, 07:15:17 »
Excelente señor Alquimus. Muy didáctico, completo y prolijo su post.

Aquí le dejo un avance de lo que es a día de hoy el esquema de mi proyecto:

cajanegra.DSN

Como podrá apreciar aún tengo algunos dispositivos que no corresponden con mi idea final, los cuales son:

PIC 16f877A: Pensaba pasarme a gama alta pero teniendo en cuenta que lo conozco muy bien , pasarme ahora a otro micro con otros parámetros y configuraciones me va a requerir un estudio del nuevo micro. Y no tengo demasiado tiempo para ello. Así que decido quedarme con el viejo 877A.

25LC256 : Esta será cambiada por la 25AA1024 que posee 1m bit de capacidad. Mi proteus no tiene ésta ultima.
DS1302:  Este será cambiado por el DS1305 que es SPI y compartirá las mismas lineas que el  VDIP y la 25AA1024. Mi proteus no tiene DS1305.

Como puede ver, también he dibujado el modulito VDIP con todas sus patillas. Por supuesto que no es funcional sino simplemente gráfico.

Tengo pensado implementar el VDIP al final de mi proyecto. Mis prioridades ahora son la recopilación de cada subprograma (que ya tengo completados en un 90%) para controlar el DS1305 , la memoria 25AA1024 y el programa principal (A éste aún le queda bastante y me falta aclararme varias ideas).
Aquí le dejo una muestra de mi avance en el programa principal. En él puede verse la configuración del micro, junto con algunas variables y la puesta en marcha del DS1305.
ESTE CODIGO NO ESTA TESTEADO AUN.
Iré actualizando éste mismo a medida que vaya codificando.

« Última modificación: 16 de Enero de 2009, 09:54:55 por pibe »
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 #6 en: 31 de Diciembre de 2008, 08:18:29 »
Citar
También posee una entrada analógica externa :
; Célula de carga para pesaje por RA0

Si es lo que imagino, deberas tomar la señal de peso de varias toneladas alli, disponiendo en el mejor de los casos de 10 bits (9 bits en la practica) de resolucion con vref a 5 volts, tendras 1024 o 512 cuentas de display.
Vas a pesar de 100 en 100 kg en el mejor de los casos, eso te servira??? :shock:
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 #7 en: 31 de Diciembre de 2008, 08:27:42 »
La carga máxima que puede levantar una grúa torre normalmente es de 7 tns.
Los medidores de pesaje se hacen de 10tns.
Por lo tanto 10.000 kgs / 256 (para resolución 8 bits) = 39 kgs de resolución. Con eso me iría fantástico.
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 #8 en: 31 de Diciembre de 2008, 08:32:33 »
No tiene peso la cuba o el recipiente en el cual se traslada la carga??
Ten en cuenta que eso te quita mas resolucion, ya que si bien lo pesas, debes descartarlo como peso muerto o como offset de la medicion.
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 #9 en: 31 de Diciembre de 2008, 09:09:47 »
No tiene peso la cuba o el recipiente en el cual se traslada la carga??
Ten en cuenta que eso te quita mas resolucion, ya que si bien lo pesas, debes descartarlo como peso muerto o como offset de la medicion.

Es verdad, lo tendré en cuenta. Gracias :)
Igualmente , supongo que querrán medir el peso "completo" con cuba y todo.
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 #10 en: 31 de Diciembre de 2008, 12:23:52 »
gracias a Alquimus y a Pibe por sus aportes, será genial tener 2 versiones del firmaware en C y en ASM.

seguire de cerca sus pasos. :-/
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

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

Desconectado Alquimus

  • PIC12
  • **
  • Mensajes: 50
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #11 en: 08 de Enero de 2009, 14:14:34 »
Que tal amigos, Feliz Año 2009, despues de un pequeño periodo de descanzo, vuelvo al trabajo.

Como vas Pibe, veo que tu proyecto tambien ha avanzado en gran medida. Veamos como nos va.

Sigamos con el VDIP1

Bueno, como vimos anteriormente, ya tenemos todo listo para poder trabajar con el VDIP1 :
- en primer lugar nuestra memoria USB formateada como debe ser.
- en segundo lugar nuestro VDIP1 con la ultima version del firmware instalada VDAP 3.66 (esto para que pueda soportar la comunicacion SPI)

Bien, eso es todo. Ahora si empecemos a hacer funcionar nuestro VDIP1.

PONIENDO A TRABAJAR EL VDIP1

Vayamos por partes. Queria empezar con algo sencillo y partir de alli ir acercandome al datalogger que queria. En la pagina oficial de vinculum, encontraremos bastantes ejemplos de aplicacion con codigos escritos en C para PIC's, el unico problema es el compilador que usan:

El SourceBoost C compiler : SourceBoost C compiler Home Page

Una version gratuita puede ser descargada desde la pagina, todo lo necesario para compilar los programas que nos da de ejemplo Vinculum.

Hay 2 Ejemplos que me interesaron mucho en la pagina de VINCULUM:

1. PIC SAMPLE - HELLO WORLD : Sample code in C for PIC 16F688 to write a file called "Hello.txt" to a Flash disk. Requires SourceBoost C compiler.
El cual puede ser descargado desde esta direccion:

Downloads en Vinculum

2. DATA-LOGGING USING THE VINCULUM VNC1L : Describes methods for using a VNC1L device for data logging applications.
Nuevamente, el documento (muy completo por cierto) y los codigos de ejemplo pueden ser descargados desde este link:

Vinculum Application Notes
 
Bien, estos 2 ejemplos nos deberian servir para empezar a andar nuestro VDIP1. El que mas me interesa es el segundo, puesto que es exactamente lo que busco.
Asi que vamos a darle a este segundo ejemplo.

Antes de seguir, les sugiero que le den una leida completa al documento que mencione.

En el documento, se mencionan 2 proyectos:

- Un data logger que utiliza un sensor que se conecta via USB al VDIP1 como fuente de datos.
- Un data logger que utiliza un canal analogico del PIC como fuente de datos.

Me interesa mucho mas el segundo, pues el data logger que pienso implementar utilizara como fuente de datos uno o mas canales de nuestro PIC.
Veremos en el documento, que para implementar el ejemplo que nos plantean, necesitaremos tarjetas de prueba tanto de Microchip, la PICDEM4 como de Vinculum, la VEval Board.
Para nosotros sera suficiente un protoboard, un PIC de la serie 18F, el VDIP1, un potenciometro y algunos cables. (obviamente un programador y tamb el cristal y las resistencias para el funcionamiento basico del PIC)

Notas Importantes:

- Lo que busco con este ejemplo es hacer trabajar el VDIP1, el ejemplo que nos da VINCULUM en este caso, utiliza el puerto USART del VDIP1 para hacer la comunicacion entre el PIC y el VDIP1, lo que se pretende es utilizar el puerto SPI del VDIP1 para hacer la comunicacion, para eso hacermos algunas modificaciones en el codigo que nos entregan.
- El PIC mencionado en el ejemplo es el 18F1320, el cual no poseo, sin embargo tengo algunos 18F4550, asi que el codigo tamb sera modificado para implementar este PIC.
- La discucion del codigo, pretendo hacerla al final de este ejemplo, pues uno de los objetivos principales es "PORTAR" o "TRADUCIR" este codigo para que pueda ser usado con el compilador CCS.

EL HARDWARE

Bien, aqui les dejo un esquema de como esta implementada esta placa de prototipos. Ojo que es solo un esquema, nada esta simulado.



Bien, en vivo y en directo se veria algo asi:



Bien, ya estamos listos para empezar a trabajar. Regreso mas tarde. Saludos!!!


« Última modificación: 15 de Enero de 2009, 19:19:01 por Alquimus »

Desconectado droky

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 628
    • Diseños radikales libres
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #12 en: 08 de Enero de 2009, 14:37:26 »
Hola,
Te pego las imágenes, que no salen...
El esquema:


En vivo y en directo:


Sigo con atención los avances.
Salu2

Yo... he visto cosas que vosotros no creeríais... atacar naves en llamas más allá de Orión, he visto rayos C brillar en la oscuridad cerca de la puerta Tannhäuser.
Todos esos momentos se perderán en el tiempo como lágrimas en la lluvia.
Es hora de morir.

Si me buscas en twitter, me tienes por @radikaldesig

Desconectado Alquimus

  • PIC12
  • **
  • Mensajes: 50
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #13 en: 08 de Enero de 2009, 14:40:32 »
Gracias Droky, a ver si me enseñan por favor a subir imagenes, el servidor que usaba parece ser no muy bueno

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #14 en: 09 de Enero de 2009, 11:05:47 »
Señor Alquimus:

Usted debería estar dando cátedras en alguna universidad. La verdad que cada vez que leo uno de sus post me quedo perplejo de lo prolijas, sencillas y amenas que son sus explicaciones.

No sé si colgar el trabajo que estuve haciendo en el tiempo que colgué el último código, ya que he avanzado mucho y son 84kbytes (y subiendo) de asembler y llenarían toda la página de este post.
Os dejo un link.

CAJA6.ASM

ACTUALIZADO AL 15/1/09

El programa no está terminado ni mucho menos, pero ya va teniendo ojos y orejas :P

Calculo (y según le dije a mi jefe) que para fin de este més podría ya tener un prototipo funcionando.

En estos momentos estoy arrancandome los pelos de como sumar los tiempos de actividad, guardarlos en la EE interna, pasarlos al cabo de unos 3 minutos a la EE externa. Pero bueno, ya tengo mas claro de lo que globalmente debe hacer el proyecto.

Para subir los datos yo uso
http://www.4shared.com

Ahí puedes colgar tus archivos y copiar los links que te da para que salgan en el foro.

Buen trabajo colega. Ya nos vamos acercando.

PD: Por cierto, ese pulsador es para lo que yo creo que es? Es para indicarle al micro que grabe datos en el VDIP? Y el led? es para indicar que ha terminado la escritura?
No se olvide de ponerle los condensadores al cristal que no los veo :)
« Última modificación: 16 de Enero de 2009, 09:57:13 por pibe »
Mi jefe mirando el prototipo que estoy creando: "Y eso va a funcionar?"


 

anything