TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: IngRandall en 13 de Noviembre de 2015, 10:41:32

Título: Problema memoria flash
Publicado por: IngRandall en 13 de Noviembre de 2015, 10:41:32
Hola, estos días he estado trabajando con la memoria flash SST25VF016B-75-4I-S2AF y con el PIC24FJ128GB110, esta memoria es SPI, ella esta trabajando bien pero de un momento a otro no responde nada y toca apagar y prender el sistema, quisiera saber como detecto que por SPI no ha llegado una respuesta, hasta ahora los métodos que manejo me regresan un 0 y no encuentro forma de saber si es por dato o por que no hubo respuesta de la memoria.
Título: Re:Problema memoria flash
Publicado por: KILLERJC en 13 de Noviembre de 2015, 11:20:24
No podes saberlo. Ya que no podes distinguir entre un 0 (grabado) y un dato. La unica que quedaria seria leer otra posicion de memoria conocida para ver que este correcta. Pero si tenes problemas asi eso no te lo va a solucionar. Y algun problema tenes de soft o de HW. La flash sin grabar seria un 0xFF
Título: Re:Problema memoria flash
Publicado por: IngRandall en 13 de Noviembre de 2015, 11:30:41
Y en el PIC no hay alguna bit de los registros que indique que hubo o no recepcion
Título: Re:Problema memoria flash
Publicado por: KILLERJC en 13 de Noviembre de 2015, 11:50:52
No por que el maestro es quien maneja el clock. El clock es enviado por el maestro y se toma muestras de acuerdo a la entrada en los flancos del clock.  El escalvo no tiene posibilidad de manejar el clock, y el SPI es sincrono, entonces se deben tomar los valores respecto del reloj, el maestro toma y envia un dato respecto al reloj suyo. Espero que me entiendas.

Es decir, si vos desconectas completamente el PIC de la flash y pones a VDD el pin de recepcion, cuando "recibas" algo vas a recibir 0xFF,

No tenes NADA para indicarte que eso fallo. No es como una UART que tenes bit de start/stop o un I2C que posee tambien lo mismo y el ACK, en el SPI no tenes bits de "control".

Asi que pueden ser varias cosas.. como dije un error de soft o un error de HW. Lo primero que probaria es que cuando deja de funcionar es ir a ver la salida y entrada del SPI, si tenes un analizador logico seria genial, sino vas a tener que arreglartela con un osciloscopio y disparo unico. Ahi vas a tener que ver que correctamente se este enviando y recibiendo los datos.

Con eso vas a saber si es problema de la flash o del PIC, luego procedes a ver si es problema del PIC o del software
Título: Re:Problema memoria flash
Publicado por: IngRandall en 13 de Noviembre de 2015, 11:52:27
Muchas gracias por la explicación, perfectamente entendido.