TODOPIC

Microcontroladores PIC => Programadores => Mensaje iniciado por: khasistos en 29 de Abril de 2004, 17:24:00

Título: UN poco mas, GENIO
Publicado por: khasistos en 29 de Abril de 2004, 17:24:00
hola :
agradecido genio ,pero todavia le falta algo mas ya el archivo lo guarda pero hay diferencias cuando graba los benditos ultimos bits,cuando verifica salta el error,pero aclaro el archivo esta solucionado...las 02 las lee pero no las escribe ,las 01 lo mismo las lee pero error al ecribirlas ,me parece que conl as eeprom hay alguna pequeña Historia pues el ICprog hace uso de un instante de VPP en A0 al leer y grabar cosa imposible en winpic pues van todas las direcciones a masa.Aparte he comprobado con el ICprog que si le desconectas AO y la mandas a masa ya no las puede ni leer ni escribir razon por la cual confirma mis sospechas.
Gracias
Khasistos
Título: RE: UN poco mas, GENIO
Publicado por: Sispic en 30 de Abril de 2004, 04:32:00
Vayamos por partes .

[ los benditos ultimos bits,cuando verifica salta el error ]
Lo he provado varias veces , los graba bien .

[ pues el ICprog hace uso de un instante de VPP en A0 al leer y grabar ]
Sobre lo que hace IcProg no lo sé , pero no crees que es todo un peligro poner 13,5 v. en la patilla A0 de una eeprom aunque sea por un instante .
Ademas que Vpp no es necesaria para estas .
En el diseño la placa de zocalos que usas no veo que sea muy correcto compartir esta Vpp en patillas de eeprom . (aunque funcione)

[las 02 las lee pero no las escribe ,las 01 lo mismo]
La verdad es que no dispongo de ninguna , pero sé que el algoridmo de programacion es comun de 24C01 hasta la 24C16 .
A0,A1,A2 tienen que estar a 0v. para que wp800 las programe .
De todas formas indicame el modelo exacto y fabricante que utilizas para ver si existen diferencias .

Tambien te puedo asegurar que Icprog programa estas sin problemas teniendo A0,A1,A2 a 0v.  Fijate con los TE20 patillas 1,2,3,4 a vss .

Estamos en contacto .





Título: RE: UN poco mas, GENIO
Publicado por: khasistos en 30 de Abril de 2004, 12:02:00
Hola estimado amigo
Voviendo al punto en cuestion los ultimos bits no hay problema si no los tocas o si no hay data pues pone AF en el ultimo hagas lo que hagas ,entonces si le respetas el AF no tiene drama pero si quieres cambiarselos ahi viene el drama nO LE GUSTA .
No hay drama que no tengas las memorias ,en mi caso por ej la 24LC01B es de Microchip y la 2404 es de Atmel.
Con respecto a la lectura efectuada por el ICprog es asi como te digo tal vez es porque este programado en PROPICII pero es asi y sin el TOQUE de vpp en A0 no las lee,te aclaro que estoy cansado de leerlas y grabarlas de esa forma no puedo explicarte para que aqui pero SI funcionan grabadas o clonadas con el ICprog.asi que lo mio no es una simple experimentacion sino que lo he realizado cientos de veces con el 1.04 ,ya te comente que el 1.05 del ICprog solo lee y graba las eeprom pero no los pics en NINGUNA maquina que tenga win98 si si tienen win 95 ,en eso no tengo ni idea supongo por lo que escuche que Si hay dramas con 98 :mi puerto paralelo esta configurado como SPP asi que tampoco viene por ahi,que programador usas tu,  me dices que te anda con 98?Tal vez velocidad de los inversores ...no se .....la data y el clock entran y salen perfectamente asi que debe ser un problema de timing del prog ,pero para los pics al WinPIC no hay con que darle es un avion..
Saludos
Gracias
khasistos
Título: RE: UN poco mas, GENIO
Publicado por: Sispic en 30 de Abril de 2004, 12:55:00
He mirado el data de la 24LC01B :
8.1 A0, A1, A2**********************************
The A0, A1 and A2 pins are not used by the 24XX01.
They may be left floating or tied to either VSS or VCC.

Osea que los pines 1,2 y 3 pueden estar donde quieras .

8.2 Serial Address/Data Input/Output (SDA)***********
The SDA input is a bidirectional pin used to transfer
addresses and data into and out of the device. Since
it is an open-drain terminal, the SDA bus requires a
pull-up resistor to VCC (typical 10 k§Ù for 100 kHz,
2 k§Ù for 400 kHz).

Es necesaria una resistencia pull-up a vcc en SDA .

El sistema de programación es el mismo que las estandard 24C01

Por lo que comentas que no grava los 2 ultimos bytes , lo he comprobado con 24C16 y 24C32  y grava correctamente .

Si puedes probar de poner esta resistencia ya comentaras si es el problema .



Título: RE: UN poco mas, GENIO
Publicado por: Sispic en 30 de Abril de 2004, 13:41:00
BUENO , BUENO

Parece que hay una ligera diferencia entre modelos con las paginas.
Yo me guié por las M24Cxx y tienen paginas de 16 bytes

así que hasta la M24C16 grava 16 bytes por pagina.

Microchip por ejemplo con las 24AA04/24LC04B son de 16 bytes y con la 24C04A es de 8 bytes.

LO he modificado de esta manera y así sera compatible con todas .

  I2C_24C01  : pag:=8;
  I2C_24C02  : pag:=8;
  I2C_24C04  : pag:=8;
  I2C_24C08  : pag:=8;
  I2C_24C16  : pag:=16;
  I2C_24C32  : pag:=32;
  I2C_24C64  : pag:=32;
  I2C_24C128 : pag:=64;
  I2C_24C256 : pag:=64;
  I2C_24C512 : pag:=128;

Aunque corre un poco menos pero da lo mismo.

Se está bajando .
Título: RE: UN poco mas, GENIO
Publicado por: khasistos en 30 de Abril de 2004, 21:55:00
Estimado amigo:

Bien ahora se pueden leer y escribir las 24c04 y las 24c01 pero he descubierto el problema de esos famosos ultimos bits.PASA esto los manda al principio por eso cada vez que lee y escribes el mismo programa te corre los ultimos bits del final al principio de la memoria por eso cuando verifica salta ,me tome mi tiempo analizando que pasaba y descubri que desordena los ultimos dos bits mandandolos al principio esta haciendo como un shift register cada vez que efectua una operacion los corre un lugar pero ahora si se pueden leer ,la 02 sigue resistiendose a la escritura ,la misma que el icprog lee y escribe ,tal vez todo sea lo mismo..

seguimos en contacto y gracias por tu dedicacion

khasitos
Título: RE: UN poco mas, GENIO
Publicado por: Sispic en 01 de Mayo de 2004, 08:31:00
Tendrias que indicarme el modelo exacto de 02 que utilizas .
tambien si te pasa en todas las eeprom esto de los 2 ultimos bytes , si no es en todas ¿en cuales ? .

Has puesto la resistencia pull-up a vcc en SDA ?

un saludo
Título: RE: UN poco mas, GENIO
Publicado por: khasistos en 01 de Mayo de 2004, 09:48:00
Estimado amigo:
Si efectivamente tiene pull up de 10k a VDD no a VCC o sea el pull up es activado cada vez que VDD se activa,pero tambien probe fija a VCC,Como te dije la 02 no puede ser grabada si leida 24C02 de microchip ,la 01 es 24LC01B de microchip en esta el ultimo bit que es oo ,aparece 25 que es precisamente el dato ubicado en primer lugar por ende falla la verificacion .Cuando abres de nuevo el winpic y la lees ya la corre 2 lugares es decir originalmente en las primeras 2 posiciones tiene 25  oo y ahora luego de ser leida 2 veces en sus ultimos dos bits tiene 25 oo por ende corre la data de la primera posicion a la ultima y asi sucesivamente ,cada bit ubicado en primera posicion es transladado a la ultima .La 04 es Atmel 24C04 y hace exactamente lo mismo.Otro dato para la 01 le es indistinto el estado de sus patas A0 A1 y A2 pueden estar a masa en el aire o ser TOCADAS por VPP en A0 como hace el ICProg.ACLARO que todas las pruebas las efectue con patas 123 y 7 a masa de acuerdo a instrucciones del zocalo ..
Un gran saludo
Khasistos