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

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

Desconectado Alquimus

  • PIC12
  • **
  • Mensajes: 50
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #15 en: 09 de Enero de 2009, 12:52:18 »
Pibe como vas!! Gracias por tus comentarios, y tus sugerencias.

Acabo de darle un vistaso a tu codigo en ASM, es muy bueno, te felicito por tan arduo trabajo, poco a poco se llega a Roma.

El Pulsador es para iniciar y detener el logeo de datos.
El led cumple varias funciones, indicar si hay memoria USB presente en el VDIP, indicar que estamos listos para grabar e indicar que se esta logeando datos.
Los capacitores no son necesarios en una placa de prototipos, ya hace algun tiempo lei que la capacitancia generada entre los contactos de la placa de prototipos, era suficiente para hacer trabajar el mismo. Para el diseño final ciertamente los pondre.

La nota de aplicacion que esta en Vinculum explica muy bien lo que se hara con este ejemplo basico. Asi que la idea es darle un vistazo antes de continuar. De todas maneras estare posteando los puntos clave del mismo, asi como el codigo para el PIC modificado.

Saludos!!! Ya vuelvo...

Desconectado Alquimus

  • PIC12
  • **
  • Mensajes: 50
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #16 en: 09 de Enero de 2009, 14:10:03 »

Bien amigos, vamos a continuar con nuestra primera experiencia con el VDIP1.

EL CODIGO

Bien, aqui empezaremos con la parte interesante, ya tenemos el hardware listo para trabajar, asi que sumerjamonos en el codigo. Empecemos!!

Bueno, habiamos dicho que existen 3 formas de comunicarse con el VDIP1: UART, SPI y FIFO

El objetivo de este proyecto es implementar el loggeo de datos por el puerto SPI. Asi que vamos a modificar el codigo que nos da la nota de aplicacion para poder trabajar con SPI en vez de UART.

Lo primero que haremos sera bajarnos lo necesario para empezar a trabajar con el codigo:

Nota de Aplicacion para este Ejemplo (Para los que aun no leyeron el documento oficial)

El Codigo en C (SourceBoost C Compiler) (El codigo fuente en C)

El Compilador: SourceBoost C Compiler (Para trabajar con el codigo fuente y compilarlo)

Nota del Autor
Bien, la verdad no estoy seguro que tan popular sea este compilador, sinceramente antes de empezar este proyecto no habia oido hablar de el, sin embargo imagino que los señores de VINCULUM lo eligieron basicamente porque es de libre distribucion, lo cual no ocurre con el CCS por ejemplo y sin embargo los propios señores de CCS ofrecen entre sus productos, placas de prototipo basadas en el VNC1L, pero no he encontrado informacion o codigo escrito en CCS para trabajar con el VNC1L.
Asi que no queda mas que darle una mirada a este compilador y acostumbrarse un poco, la verdad no es tan dificil de usar, sin embargo desde mis inicios trabaje con el CCS, por eso se me hace algo dificil algunas veces, como mencione anteriormente, la idea es portar este codigo al CCS, esa es una de mis metas principales, asi que espero me ayuden amigos mios.


Sigamos con el Codigo

Una vez descargado el codigo fuente, encontramos varios archivos, dejenme contarles a groso modo que hacen los mismos:

ADC.c           : Rutinas y funciones para trabajar con el conversor ADC del PIC
ADC.h           : Cabeceras y definiciones referentes al ADC
monitor.c       : Rutinas y funciones para trabajar con el VDIP1
monitor.h       : Cabeceras y definiciones referentes al monitor
SPI.c             : Rutinas y funciones que manejan la comunicacion SPI con el VDIP
SPI.h             : Cabeceras y definiciones referentes a la comunicacion SPI
UART.c          : Rutinas y funciones que manejan la comunicacion USART con el VDIP
UART.h          : Cabeceras y definiciones referentes a la comunicacion SPI
vacq.c            : Programa principal que logea datos directamente de un puerto ADC del PIC
vlogger.c        : Programa principal que logea datos desde un sensor con interfaz USB.


Bien, esos son todos los archivos, como mencione anteriormente, la idea de este primer ejemplo es trabajar con el logeo de datos directamente desde un canal del PIC, asi que usaremos el archivo de programa principal: VACQ.C, ademas mencionamos que trabajaremos con la interfaz SPI asi que obviamente tambien usaremos estos 2 archivos.

Me gustaria en este punto, explicar un poco la estructura de este codigo, antes de hacer las variaciones al mismo:

El programa principal VACQ.C, es el que hace todo, para comunicarse con el VDIP1 llama a funciones que se encuentran en el MONITOR.C, a su vez, el monitor utiliza la interfaz UART.C para establecer la comunicacion con el modulo. Asi que nuestra primera tarea sera modificar el archivo MONITOR.H para indicarle que usaremos la interfaz SPI en vez de la UART.

Para ello, abrimos el archivo MONITOR.H , en las primeras lineas del codigo encontramos lo siguiente:

Código: [Seleccionar]
// monitor is connected via SPI
//#include "SPI.h"
// monitor is connected via UART
#include "UART.h"

Asi que basta con modificar el codigo para que usemos la interfaz SPI, quedando de la siguiente manera:

Código: [Seleccionar]
//monitor is connected via SPI
#include "SPI.h"
// monitor is connected via UART
//#include "UART.h"

Sencillo, no es cierto? jejeje  :P

Bueno, sigamos, ahora vamos a modificar los pines usados por la interfaz SPI para que correspondan con el Hardware que anteriormente se posteo. Para ello abrimos el archivo SPI.C en el cual encontraremos la siguiente porcion de codigo que define los pines a utilizar:

Código: [Seleccionar]
//***************************************************************************
// 
//  Pin definitions for SPI
// 
//***************************************************************************

// NOTE: pin names are relative to the VDIP2 device

#define PORT_SDI  portb.1 // SDI is RB1 (Port B bit 1)
#define TRIS_SDI  trisb.1

#define PORT_SDO  portb.2 // SDO is RB2 (Port B bit 2)
#define TRIS_SDO  trisb.2

#define PORT_SCLK portb.4 // SCLK is RB4 (Port B bit 4)
#define TRIS_SCLK trisb.4

#define PORT_CS   portb.3 // CS is RB3 (Port B bit 3)
#define TRIS_CS   trisb.3

//***************************************************************************

Todo lo que tenemos que hacer, es modificar los pines, asi que el codigo quedaria de la siguiente forma:

Código: [Seleccionar]
//***************************************************************************
// 
//  Pin definitions for SPI
// 
//***************************************************************************

// NOTE: pin names are relative to the VDIP2 device

#define PORT_SCLK portd.4      // SCLK (on VDIP1) is RD4 (Port D bit 4)
#define TRIS_SCLK trisd.4

#define PORT_SDI  portd.5      // SDI  (on VDIP1) is RD5 (Port D bit 5)
#define TRIS_SDI  trisd.5

#define PORT_SDO  portd.6      // SDO  (on VDIP1) is RD6 (Port D bit 6)
#define TRIS_SDO  trisd.6

#define PORT_CS   portd.7      // CS   (on VDIP1) is RD7 (Port D bit 7)
#define TRIS_CS   trisd.7

Bien, con eso ya tenemos la comunicacion SPI y los pines definidos, solo nos basta modificar el programa principal para ajustar nuestro led y pulsador, asi como el PIC a utilizar. Para ello abrimos el archivo VACQ.C.
En primer lugar modificaremos los pines del led y pulsador para que correspondan con nuestro hardware, solo basta buscar en el archivo el siguiente pedazo de codigo:

Código: [Seleccionar]
// ACTIVE LED is RB5 (Port B bit 5)
#define PORT_LED_ACTIVE portb.5
#define TRIS_LED_ACTIVE trisb.5

// START BUTTON is RA4 (Port A bit 4)
#define PORT_S1 porta.4
#define TRIS_S1 trisa.4

Y modificarlo, quedando de la siguiente forma:

Código: [Seleccionar]
// ACTIVE LED is RB5 (Port B bit 5)
#define PORT_LED_ACTIVE portb.5
#define TRIS_LED_ACTIVE trisb.5

// START BUTTON is RD1 (Port D bit 1)
#define PORT_S1 portd.1
#define TRIS_S1 trisd.1

Bien, ahora solo nos falta cambiar el PIC a utilizar, recuerden que el codigo originalmente esta escrito para trabajar con el PIC18F1320.

Para ello, veamos la parte inicial del archivo VACQ.C, en la cual nos interesa esta parte del codigo:

Código: [Seleccionar]
// PIC18F1320
#ifdef _PIC18F1320
#pragma DATA  _CONFIG1H, _IESO_ON_1H & _FSCM_ON_1H & _INTIO2_OSC_1H; // internal OSC
//#pragma DATA  _CONFIG1H, _IESO_ON_1H & _FSCM_ON_1H & _EC_OSC_1H; // external OSC
#pragma DATA  _CONFIG2L, _PWRT_OFF_2L & _BOR_OFF_2L & _BORV_27_2L;
#else
#error "Only PIC18F1320 devices supported"
#endif // _PIC18F1320

Bien, aqui trate de buscar otro ejemplo escrito para un PIC18F4550 que es el que tengo a mano, asi que lo unico que hice fue copiar la parte inicial, y reemplazando la que mencione, para que quede de la siguiente forma:

Código: [Seleccionar]
#ifdef _PIC18F4550
#pragma DATA _CONFIG1H, _FOSC_HS_1H
#pragma DATA _CONFIG2H, _WDT_OFF_2H
#pragma DATA _CONFIG4L, _STVREN_OFF_4L & _LVP_OFF_4L & _DEBUG_OFF_4L & _XINST_OFF_4L
#pragma DATA _CONFIG5L, _CP0_OFF_5L & _CP1_OFF_5L & _CP2_OFF_5L & _CP3_OFF_5L
#pragma DATA _CONFIG6L, _WRT0_OFF_6L & _WRT1_OFF_6L & _WRT2_OFF_6L & _WRT3_OFF_6L
#pragma DATA _CONFIG7L, _EBTR0_OFF_7L & _EBTR1_OFF_7L & _EBTR2_OFF_7L & _EBTR3_OFF_7L
#else
#ifdef _PIC18F452
#pragma DATA _CONFIG2L, _BOR_OFF_2L & _PWRT_ON_2L
#pragma DATA _CONFIG4L, _STVR_OFF_4L & _LVP_OFF_4L & _DEBUG_OFF_4L
#pragma DATA _CONFIG5L, _CP0_OFF_5L & _CP1_OFF_5L & _CP2_OFF_5L & _CP3_OFF_5L
#pragma DATA _CONFIG6L, _WRT0_OFF_6L & _WRT1_OFF_6L & _WRT2_OFF_6L & _WRT3_OFF_6L
#pragma DATA _CONFIG7L, _EBTR0_OFF_7L & _EBTR1_OFF_7L & _EBTR2_OFF_7L & _EBTR3_OFF_7L
#else
#error "Only _PIC18F4520 and _PIC18F452 devices supported"
#endif // _PIC18F452
#endif // _PIC18F4550

Bien, pero eso no es todo, el codigo ya esta casi listo, pero nos falta indicarle al compilador con que PIC vamos a trabajar, para ello haremos lo siguiente:

Vamos al menu SETTINGS y dentro de el buscamos la opcion TARGET donde definimos el PIC que deseamos usar.

Ahora si, estamos listos para compilar, al compilar me sale un error, que hasta ahora no entiendo, que tiene que ver con las interrupciones que pueda presentar el MONITOR de comandos, al analizar un poco el codigo, me di cuenta que en realidad esta parte no se utiliza, fue por ello que decidi comentar la parte problematica y listo; para ello buscamos la parte problematica:

Código: [Seleccionar]
//***************************************************************************
// Name: interrupt
//
// Description: Handle interrupts from all sources and call required modules.
//
// Parameters: None.
//
// Returns: None.
//
// Comments: None.
//
//***************************************************************************
void interrupt( void )
{
// handle timer1 interrupt
    if (tmr1Interrupt)
{
tmr1InterruptHandler();
}

// handle interrupts (if any) from monitor
if (monInterrupt)
{
monInterruptHandler();
}

// handle interrupts from ADC
if (adcInterrupt)
{
adcInterruptHandler();
}
}

Y lo unico que hacemos es comentar las interrupciones generadas por el MONITOR quedando asi:

Código: [Seleccionar]
//***************************************************************************
// Name: interrupt
//
// Description: Handle interrupts from all sources and call required modules.
//
// Parameters: None.
//
// Returns: None.
//
// Comments: None.
//
//***************************************************************************
void interrupt(void)
{
// handle timer1 interrupt
    if (tmr1Interrupt)
{
tmr1InterruptHandler();
}

// handle interrupts (if any) from monitor
/* if (monInterrupt)
{
monInterruptHandler();
}
*/
// handle interrupts from ADC
if (adcInterrupt)
{
adcInterruptHandler();
}
}

Nota del Autor

- Esta libertad de comentar esta porcion del codigo me la tome por un pequeño analisis que hice a todo el codigo, no estoy 100% seguro de si esta modificacion afectara otras funcionalidades del codigo, sin embargo en las pruebas realizadas no parece tener algun efecto. Si alguien descubre la importancia de esta interrupcion en este codigo en particular, por favor agradecere mencionarlo.

Bueno amigos, eso es todo, una vez mas vamos a compilar el codigo y listo!! Obtenemos con exito los archivos para grabar en nuestro PIC.

Bien, para facilitarles las cosas, aqui les dejo todo el proyecto comprimido, incluidas las modificaciones mencionadas, asi como el archivo listo para grabar en nuestro PIC18F4550 para trabajar con el hardware posteado:

vlogger_V101modificada.rar

Bien amigos, publicare los resultados de la primera prueba en unas horas, es hora de almorzar!!! Provecho!!!  :-/ :mrgreen:




Desconectado Alquimus

  • PIC12
  • **
  • Mensajes: 50
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #17 en: 09 de Enero de 2009, 16:08:23 »
Bueno, terminado el almuerzo (Un Lomo Saltado, que bueno que estuvo!!  :P)

Veamos los resultados de nuestra primera prueba con el VDIP1:

- Una vez grabado el hexadecimal en el PIC, y alimentado el circuito, inicialmente hace una inicializacion, luego, hay varios estados que se pueden ver:

1: Circuito sin Memoria USB conectada: El Led parpadea rapidamente
2: Circuito con Memoria USB y listo para logear: El Led parpadea lentamente, aproximadamente cada 2 segundos
3: Circuito logeando: El led parpadea lentamente.

Entonces, una vez conectada nuestra memoria y confirmando que el led parpadea aprox cada 2 segundos, no tenemos mas que presionar el boton.
Al presionarlo, confirmamos que el mismo parpadea lentamente ademas de ver actividad en los leds del modulo VDIP1 asi como en el led presente en la Memoria USB, indicativo de que efectivamente se esta grabando.

Para fines practicos, la entrada analogica del modulo la conecte a 0V y de rato en rato la cambiaba a 5V, el uso de un potenciometro tambien esta contemplado, tan solo queria notar la diferencia de datos en el archivo generado, por eso use solo 0V o 5V.

Una vez pasados unos ... 60 segundos, es hora de presionar nuevamente el boton. Y de esta manera se detiene el logeo.

Bien, eso es todo, vamos a ver que tenemos en nuestra memoria, para eso la llevamos a nuestra PC.

Efectivamente, vemos que se ha creado un directorio llamado VLOG
Dentro del directorio encontramos un archivo: VLOG0000.BIN con un tamaño de 26624 bytes. (26k)
(Recordemos que el muestreo programado para este ejemplo estaba en 5ms, es decir, cada 5ms el PIC tomaba una muestra)

La idea es abrir el archivo VLOG0000.BIN con un editor hexadecimal para poder ver los resultados obtenidos. Pueden usar el de su preferencia, particularmente yo utilizo el HEXPLORER, que lo pueden bajar de este link:

Editor Hexadecimal de archivos

Una vez instalado este pequeño programita, procedemos a abrir nuestro archivo:

Interpretemos un poco los valores que aparecen al ver el archivo:

- El programa de ejemplo graba datos en bloques de 512 bytes, es decir, una vez que hayan disponibles 512 bytes recien los escribe a la memoria USB, y al inicio de cada bloque exiten 4 bytes que muestran un contador de milisegundos de funcionamiento, eso para ver si se ha perdido alguna muestra. Los siguientes 508 bytes, son muestras.

Veamos una imagen:



Interpretemos esta imagen: marcados en circulos rojos, vemos los inicios de los bloques de 512 bytes, los 508 bytes restates todos estan e FF (256) porque el pin del PIC lo tenia conectado a 5V en este periodo.

Ahora veamos que paso cuando hicimos el cambio de 5V a 0V, vemos tambien marcado en un bloque rojo el inicio del segmento de 512 bytes, seguido de datos correspondientes a otros tipos de lecturas



Y bien, eso es todo. Con esto hemos puesto a trabajar a nuestro modulo VDIP1. Queda ahora mucho por hacer, pero creo que se ha avanzado algo.

Saludos!!

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

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #18 en: 09 de Enero de 2009, 18:49:36 »
 :shock: no se ve nada
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 #19 en: 09 de Enero de 2009, 20:22:42 »
Cuestion de paciencia Pibe, las imagenes si cargan, solo hay que darles click derecho y mostrar imagen. Pero de que estan, estan!!  :)

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #20 en: 14 de Enero de 2009, 16:30:57 »
Ya son 63kb de assembler y subiendo  :mrgreen:

Ya tengo la parte donde leo las entradas, cada un segundo le sumo 1 segundo a su correspondientes contadores si la entrada estaba activa.
A los 10 minutos sumo todos los minutos de actividad de cada maniobra que tenia en la RAM con los datos que tenía en la EEPROM interna correspondiente a cada entrada.

Hago unas comparaciones para pasar 60 minutos a horas y de 256 horas pasar a un segundo byte alto de horas (257 horas en adelante, ya que luego guardaré todos estos datos una vez al mes en la EE externa).
Luego actualizo los datos de la EE con los nuevos datos sumados.
También he hecho una verificación de que si el dato que tenia guardado en la EE es el mismo que el que le voy a grabar (o sea que no hubo maniobra) que no lo grabe y saltee esa dirección para preservar vida útil de la EEPROM.
Al final , borro la RAM de datos de maniobras para volver a empezar.

Ahora me toca incluirle el resto de incidencias , ajenas a las maniobras, como son la veleta, etc etc.

He actualizado el link al programa que había posteado arriba

Mas noticias en breve.
Mi jefe mirando el prototipo que estoy creando: "Y eso va a funcionar?"

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #21 en: 14 de Enero de 2009, 17:55:54 »
Que buen post. Ya está en mis favoritos  :-/.

Cuestion de paciencia Pibe, las imagenes si cargan, solo hay que darles click derecho y mostrar imagen. Pero de que estan, estan!!  :)

En mi caso, algunas andan, y otras no. :(
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado Alquimus

  • PIC12
  • **
  • Mensajes: 50
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #22 en: 15 de Enero de 2009, 15:01:21 »
Tienen razon, las imagenes se ven unas veces y otras no, mis disculpas por esto, lo que pasa es que no conocia un buen servidor de imagenes. Puedo subir todas las imagenes a un mejor servidor que ya encontre, pero como hago para modificar los posts anteriores? imagino que tendria que hablar con un administrador.
Saludos, ya viene el analisis de la comunicacion SPI y a empezar a trabajar en la traduccion del codigo a CCS.


Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #23 en: 15 de Enero de 2009, 16:11:49 »
Alqui, solo tienes que volver a tu post anterior, pinchas en el botoncito "modificar" , modificas a gusto y le das a "guardar". Y listo.

Me estoy volviendo majara, loco, deprimido, no se si cortarme las venas o dejármelas largas, ya no tengo uñas que comerme.
El sistema de envio de direccionamiento de 24 bits de la eeprom externa me hace sudar mares. Las sumas de 24 bits, las restas, las comparaciones para que no exceda la página, para que no exceda el bloque. AAAAAAAAAAAAAAAHHHHHHHHHHHHHHH , UNA CAMISA DE FUERZA !!!! :? :? :?

Estoy empezando a tener dudas que la memoria de programa del 877 me alcance. SOCOOORROOOOO!!! :-) :-)

Cuando tenga que imprimir el programa para mostrárselo a mi jefe, mejor empezar a talar el amazonas porque voy a necesitar muuucho papel :P
« Última modificación: 15 de Enero de 2009, 16:24:13 por pibe »
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 #24 en: 15 de Enero de 2009, 19:43:09 »
Listo Pibe!, gracias por el dato.
Me parece que ahora las imagenes cargan mucho mejor. Y ahora, como hago para borrar un post? hay un par de ellos que ya no serian utiles,pude corregir casi todos. Si se puede, pasenme la voz.

Saludos!!!

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #25 en: 15 de Enero de 2009, 20:42:28 »
Solo un admin puede borrarlos. A lo sumo lo que podrias hacer es dejarlo sin texto con la opcion de modificar.

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

Desconectado droky

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 628
    • Diseños radikales libres
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #26 en: 15 de Enero de 2009, 21:46:27 »
Mamma mía... como sigas subiendo vas a acabar como tu avatar.. que no pase nada...
Muy currado todo.
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 pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #27 en: 21 de Enero de 2009, 18:09:31 »
Me parece que la empresa en la que trabajo no va a sobrevivir hasta que termine el proyecto. Por el momento sigo codificando. Mañana empiezo mis primeras pruebas de debugeado en hardware y ya saben; cambiar codigo y volver a grabar, meter leds de por medio para saber donde se para, etc etc
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 #28 en: 22 de Enero de 2009, 19:45:09 »
Animo Pibe!, las cosas no estan bien en todas partes, por ahora estoy con poco tiempo y no he podido continuar con mi desarrollo, ni bien tenga un tiempito estare posteando denuevo. Saludos!!

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re: Datalogger de 2GB con PIC usando un Host USB: El VDIP1
« Respuesta #29 en: 27 de Enero de 2009, 09:54:35 »
Recién hoy me llegaron los materiales que me faltaban. La empresa se tardó 7 dias en mandar el pago de facturas atrasadas, así que mira que mal les va.

Bueno, ya tengo el 877 conectado al DS1305 por via SPI.
AL principio le grabé la fecha actual con minutos y segundos , lo volvía a leer y lo mostraba por el puerto D.
Todo contento!
Pero...
Siempre me mostraba lo mismo. Caray. Y los segundos siempre me los mostraba en 00
Luego de pasearme 10 minutos en circulos con el lápiz reglamentario en la boca mordisqueándolo, con mirada perdida y mascullando me vuelvo a sentar , mido el oscilador del ds1305 y nada... ni la sombra de una onda. Cambio otro xtal y nada.... voy y busco en la "zona de guerra" donde tengo cientos de placas de vaya a saber Dios donde salieron y encuentro un xtal aplicado a un PCF8563 que es otro RTC, lo conecto y BINGO!
Lee los segunditos y los muestra un lujo.
Así que ya sabeis, se deja grabar, se deja leer incluso si no funciona su oscilador .

Mañana toca lidiar con la 25AA1024.
Más noticias mañana.
Mi jefe mirando el prototipo que estoy creando: "Y eso va a funcionar?"