TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: LucasBols en 04 de Marzo de 2009, 13:13:42
-
Hola
Tengo una cantidad importante de 16F877 y otra no tanto de16F628 con protección de escritura, y me da mucha pena tirarlos a la basura.
Con esos PICs puedo solventar muchos proyectos usándolos para los prototipos.
¿Alguien conoce como grabar estos PICs?
Muchas gracias.
Darío.-
-
No puedes leerlos pero si borrarlos sin mayores problemas
-
Exacto. La protección es contra lectura
O sea que no podrás leer el código original pero sí puedes grabarle un nuevo programa sin proteccion de lectura y listo.
-
Hola
Si, en el caso de la protección contra lectura, con borrarlo es suficiente, pero los PICs que tengo están protegidos contra escritura.
Saludos.-
-
Uy. Pues no creo que sea tan sencillo. Sino mira esto.
-
Mira esto. A lo mejor te puede servir, es cuestión de probar:
I have found cracking procedure for the following chips:
16c54,16c55,16c56,16c57,16c58,16c61,16c62,16c64,16 c65,16c71,16c73,
16c74,16c84
The procedure supposedly gives you some bits of the instruction word and you are left to select one of two possible instructions by context. Also, the procedures seem to be generic and should work on all 12bit and 14bit chips.
The [older versions of the] Pic chip (PIC16C84) can in fact have it's program and data memory read after the config fuses have been set to code protection on. Try the following:
Write some code to the chip with the code protection set to "ON".
Read back to verify that the protection has indeed come on.
Now set Vdd ( pin 14 ) to Vpp-0.5v, (Programming voltage less 0.5V).
Set config fuse to "OFF" and reprogram config fuse. Ignore error messages.
Now set Vdd back to normal, +5v.
Power off the programmer.
Wait 10 to 20 sec to allow the charge on the cells to fall back to 5 volts.
Power back on the programmer. (VDD at + 5V)
Read the Pic....
and hey presto, data in unprotected format should now be available.
-
Como proteges a un pic16F877 contra escritura? no entiendo.
Javicho.
-
Hola.
Simplemente no se puede protejer un PIC xxFxxxx contra escritura, ya que es de memoria reescribible. Seguro es de la serie F? no es C depronto?
-
Vaya, es la primera noticia que tengo sobre ese asunto.
Pibe, el vídeo me ha fascinado... alucino con el persona...
En la información que tengo sobre el 16f87x no viene nada de protección contra escritura. Si contra lectura, pero no contra escritura. Yo creo que se debe poder escribir sin mas problemas. ¿Has probado a grabar uno que hayas comprado?, a ver si el problema lo tienes en el grabador....
Saludos,
-
Los que no se pueden reescribir son los OTP, el pic16F877 es Flash y si se puede reescribir ... a menos que se hayan sobrepasado las 10K escrituras en el mismo, cosa que dudo mucho, como te dicen debe ser tu grabador el problema o el pic es tipo OTP, no hay otra.
Javicho.
-
Hola
¿Entonces se pueden reprogramar?
¿Por qué me tira error de comparación cuando los vuelvo a grabar?
Cuando los borro y luego los vuelvo a insertar en el zócalo de la placa, vuelven a funcionar como si no hubiera pasado nada, así que asumí que están protegidos contra escritura.
Voy a ser más preciso:
Estos PICs tienen un programa que ante ciertos eventos, llaman a un número telefónico almacenado en la Flash, y envían un número de usuario y una contraseña también almacenados en la Flash.
Cuando los borro y los vuelvo a colocar en la placa, cumplen todas sus funciones, excepto que cuando tienen que discar no discan y cuando tienen que enviar en número de usuario y la contraseña, envían el que tienen por omisión.
Saludos.
Darío.-
-
Tal vez tu fuente no pasa los 13VDC por eso no llega a borrar la flash pero pueda que con ese voltaje sea suficiente para borrar la eeprom y tal vez los números a discar antes estaban en la eeprom por eso que ya no disca.
Javicho.
-
Por que no indicas que programador y que programas usas, puede que esté ahí la clave....
Yo sigo pensando que el que está protegido contra escritura es tu programador... :D
A mi me pasa que dependiendo la alimentación que use en la placa, me graba o me da error de comparación. Es muy posible que, como te han indicado, la tensión de alimentación de la fuente del grabador no sea suficiente.
Si el programador es JDM (un TE-20)... no estarás con un portátil, verdad? El RS232 de los portátiles dan niveles de tensión mas bajo y no permiten que se graben con ellos mediante este tipo de grabadores. Tampoco con adaptadores USB-RS232.
Mas que lo que hace el programa antiguo, dinos que haces tu para grabarlo, software, programador que usas.... a ver si así lo sacamos adelante....
Saludos,
-
Hola
El prog es el JDM, la pc es de mesa (5 v) uso el ICProg.
En esta máquina ya llevo grabados más de 300 PICs (nuevos) para la empresa que me dió los PICs para recuperar.
Con los PICs que compro no tengo ningún problema, se graban, se borran y se regraban bien
Saludos.
Darío.-
-
El JDM saca la alimentaciòn del puerto RS232 (bueno, yo no soy un experto, pero te digo como creo que funciona y si estoy equivocado, seguro que viene alguien y nos corrige).
Toma las señales del puerto serie para sacar la tensión de grabación. Si ahora no puedes grabar, a ver si lo que no te deja es grabar la eeprom por que ya están demasiado trillados y ya no graban mas programas.
Puede que esten defectuosos o les haya dado problemas a ellos.
Puedes leerlos?, y comparas la lectura con otra después de intentar grabarlo y son iguales? no consigues grabar entonces ninguna posición.....
saludos,
-
Hola
Toma las señales del puerto serie para sacar la tensión de grabación. Si ahora no puedes grabar, a ver si lo que no te deja es grabar la eeprom por que ya están demasiado trillados y ya no graban mas programas.
Los PICs venían en el producto original, descarto que esos PICs tengan más de una grabación, son PICs que se han comprado, se grabaron por primera vez y se instalaron.
Puede que esten defectuosos o les haya dado problemas a ellos.
Cuando los saqué del zócalo, estaban funcionando, te cuento más, probé uno por uno para descartar los quemados.
Saludos.
Darío.-
-
Pero son de la serie F o C ???
-
Tengo una cantidad importante de 16F877 y otra no tanto de16F628 . . .
Darío.-
-
Ok
Pense que los dedos te habian jugado alguna pasada :-)
-
Hola, cuando los pics se progrman y marca error de comprobacion puede ser porque estan protegidos contra lectura, osea que se graban, luego al hacer la verificacion lee puros 0000 porque esta protegido contra lectura y entonces lo leido no coincide con lo grabado por eso marca error de comprobacion, pero si se grabo bien.
Supongo que los pics que dices deben estar protegidos contra lectura ya que parecen ser de productos que supongo no quieren que cualquiera copie.
-
Detecto que hay gente que parece no creer o saber que se puede proteger de un PIC de escritura, pero en el CCS existen varios FUSES para tal uso como lo son los WRT_50%, WRT_5%, WRT_25%, NOWRT, para proteger, 50%, 5%, 25% o ninguna porción de la memoria del programa. Si están ahi debe ser por algo.
-
Hola, podrias repartir algunos para hacer pruebas!!!!
Yo supongo, que el problema que tenes es otro. Todos los PICS serie "F" xxFxxxx se tienen que poder re-grabar, borrar y modificar.
En principio me parecio extraño que IC_prog no te tirara error de escritura, pero entiendo que quiza lo tenes configurado para chequear tras la programacion y no "Durante" la programacion.
Por lo tanto, el error es interpretar que IC-prog esta grabando. Es una hipotesis.
Ahora, teniendo en cuenta que el PIC en cuestion, lo pones en un programador JDM (que alimenta todo el tiempo al MCU) calculo que empieza a funcionar inmediatamente y que quiza el codigo que ejecuta provoca 2 cosas posibles. Deshabilitar alguna pata o pone tensiones positivas donde tu JDM tiene negativas. Todo ello conduce a que ignore la secuencia de programacion o bien que la fuente de tension caiga por un mini cortocircuito.
Proba lo siguiente, saca las lineas de programacion del JDM a un protoboard, vpp, vdd, vss, data y clk. Y luego conecta el MCU en el protobord segun la hoja de datos de Microchip.
Luego usa el IC-prog. Primero graba la config deseada (obviamente no tildes ningun CP ni LVP) y luego proba grabando la EEProm y leela. LUego si todo va bien pones borrar y/o programar un nuevo HEX en el dispositivo.
Suerte, espero que te sirva.
-
Pese a que ha pasado tiempo desde la ultima respuesta y dado que tuve el mismo problema, cuelgo esto aquí por si a alguien le sucede lo mismo al intentar borrar una pic: manual PICkit2 (http://ww1.microchip.com/downloads/en/devicedoc/51553e.pdf)
revisar con atención los cuadros de la paginas 11, 21, 24 y 51.
Saludos!