TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: pachomil en 28 de Septiembre de 2010, 21:24:42

Título: PIC QUE NO SE DEJE BORRAR
Publicado por: pachomil en 28 de Septiembre de 2010, 21:24:42
HOLA A TODOS

alguien sabe si hay una forma de grabar un pic 16f628a pero que no se deje borrar, que si alguien intenta borrarlo para ponerle un nuevo programa ya el pic no lo permita
gracias por la ayuda
Título: Re: PIC QUE NO SE DEJE BORRAR
Publicado por: migsantiago en 28 de Septiembre de 2010, 21:36:00
Hola

El único PIC que permite ser grabado una y sólo una vez es el PIC16HV540. Cuenta con memoria OTP (One Time Programmable).

http://ww1.microchip.com/downloads/en/DeviceDoc/40197b.pdf

Los demás PICs se pueden borrar ya que son de memoria Flash.

Otra opción es que uses un PIC16C que se borra con luz UV, aunque ya son súper obsoletos.
Título: Re: PIC QUE NO SE DEJE BORRAR
Publicado por: Cryn en 28 de Septiembre de 2010, 22:19:20
Hasta donde se, también algunos micros tienen protección contra escritura en la flash, o al menos eso entiendo, esto es de un 16F87xA:

(http://img291.imageshack.us/img291/1436/wrtz.jpg)

Y personalmente tengo un micro 877a que lo leo con mi clone del pickit2, está protegido contra lectura, y por lo que veo también contra escritura, porque no puedo borrar el programa ni grabar uno nuevo, el micro es detectado con total normalidad, también lo he probado con el GPIC de WillyP y tengo el mismo resultado.

O que se supone que significa lo de la imagen y esta experiencia que tengo?

El micro lo saque de un equipo de cabinas telefónicas que ya no funcionaba.

saludos.
Título: Re: PIC QUE NO SE DEJE BORRAR
Publicado por: migsantiago en 29 de Septiembre de 2010, 11:52:43
Hola Cryn, esa protección es sólo para re-grabar porciones de la memoria de programa.

Si tú borras el PIC completamente, podrás regrabarlo sin problemas, aún teniendo esos ConfBits que marcas en la foto.

Lo que necesita Pachomil es un PIC que se grabe una y sólo una vez. Creo que un OTP es ideal.
Título: Re: PIC QUE NO SE DEJE BORRAR
Publicado por: Cryn en 29 de Septiembre de 2010, 12:25:24
Hola mig, gracias por responder.

He intentado borrarlo con mi clone del pickit2 y no puedo, simplemente no se deja borrar ni mucho menos regrabar. Pero si al pic lo reconoce. Habrán llegado al límite de grabaciones?

Citar
Si tú borras el PIC completamente, podrás regrabarlo sin problemas, aún teniendo esos ConfBits que marcas en la foto.
Y como tendría que hacer ello? porque creo que eso hago y pasa lo que te dije.

saludos
Título: Re: PIC QUE NO SE DEJE BORRAR
Publicado por: gera en 29 de Septiembre de 2010, 12:29:28
yo tengo unos 4 pic16f873a q no se dejaron escribir mas.. nunca supe por que.
Título: Re: PIC QUE NO SE DEJE BORRAR
Publicado por: migsantiago en 29 de Septiembre de 2010, 14:53:40
Es que ahí puede ser porque hayas habilitado algo raro en el PIC. Talvez sea por el Low Voltage Programming o algún MCLR que hayas habilitado como I/O... no sé.

Pero esos Write Protect sólo son para que el PIC protega una zona de ROM. Si se borra el PIC, esos Write Protect se van al olvido.

No estoy muy convencido, pero al menos eso dice la datasheet.  :huh: :huh: :huh:
Título: Re: PIC QUE NO SE DEJE BORRAR
Publicado por: AKENAFAB en 29 de Septiembre de 2010, 15:22:04
Tengo un pic16f877a y pasa lo mismo, no se deja programar.
Esta muerto xD lo reconoce y lee perfecto pero no hace ningun cambio al intentar borrar o reprogramar.
Lo unico que le puedo modificar es la eeprom xD.

Jamas active algun bit de configuracion extraño , siquiera protegido contra lectura!

Para mi que esta muerto!!
Título: Re: PIC QUE NO SE DEJE BORRAR
Publicado por: gera en 29 de Septiembre de 2010, 15:54:51
por mas fuses que usemos, nuestro codigo jamas estara a salvo. miren esto jeje
http://www.bunniestudios.com/blog/?page_id=40
Título: Re: PIC QUE NO SE DEJE BORRAR
Publicado por: manwenwe en 29 de Septiembre de 2010, 16:10:39
por mas fuses que usemos, nuestro codigo jamas estara a salvo. miren esto jeje
http://www.bunniestudios.com/blog/?page_id=40

Que grande!!!! jejeje.

Para mi PFC en la universidad, hace años, diseñé un programador autónomo (parecido al PM3 )que grababa unos 60 modelos de PIC16F y PIC18F descargando de un pendrive. Lo de leer el código protegido cambiando los fuses ya lo probé y no funciona jejeje... la única forma parece la que muestra el amigo gera.

En cuanto a lo de no poder borrar parte de la memoria... mi experiencia me dice que se puede deber a dos motivos:

- El PIC está estropeado.
- El software de grabación borra la memoria por partes: FLASH, EEPROM y FUSES.

En ICSP (al menos para PIC16F y PIC18F) si utilizas el comando "CHIP ERASE" toda la memoria se borra estén o no protegidas contra lectura la FLASH y/o la EEPROM.

Saludos
Título: Re: PIC QUE NO SE DEJE BORRAR
Publicado por: migsantiago en 29 de Septiembre de 2010, 16:13:49
por mas fuses que usemos, nuestro codigo jamas estara a salvo. miren esto jeje
http://www.bunniestudios.com/blog/?page_id=40

Ya te viste muy extremo con esa técnica  :D

En ICSP (al menos para PIC16F y PIC18F) si utilizas el comando "CHIP ERASE" toda la memoria se borra estén o no protegidas contra lectura la FLASH y/o la EEPROM.

Saludos

Sí, con ese comando se borra todo, lo raro es que Cryn, Akena y Gera tienen PICs que dicen lo contrario.

¿No será que sus programadores no elevan bien el Vpp a +13V?  :huh:
Título: Re: PIC QUE NO SE DEJE BORRAR
Publicado por: manwenwe en 29 de Septiembre de 2010, 16:32:27
migsantiago: creo que has dado en el clavo. No recordé los problemas con la alimentación...

En la mayoría de PICs, sobre todo los más modernos, con 9V en VPP entras sin problemas en modo ICSS, mejor dicho: con VDD+4V.

Aún así yo votaría más por un fallo en el nivel de voltaje de VDD más que en el de VPP (si fuese así creo que ni siquiera se entraría en modo ICSP: no se reconocería el PIC)... ya que con ciertos niveles de alimentación puede que unos comandos se ejecuten de forma correcta pero otros no. Ej.: yo tuve problemas porque por debajo de 4.5V me funcionaban todos los comandos excepto los de escritura de EEPROM. Echádle un vistazo a la página 45:

http://ww1.microchip.com/downloads/en/DeviceDoc/39622k.pdf

Saludos!
Título: Re: PIC QUE NO SE DEJE BORRAR
Publicado por: WillyP en 29 de Septiembre de 2010, 16:40:57
por mas fuses que usemos, nuestro codigo jamas estara a salvo. miren esto jeje
http://www.bunniestudios.com/blog/?page_id=40

No hace falta disponer de un microscopio electrónico para hackear un pic jejejejje  8)


Como dice Mig, los config “Write Protect” no tienen incidencia sobre un borrado externo desde un programador, son para la protección de escritura en una grabación interna del Pic, por ejemplo desde un bootloader, si están activados no puede grabarse ese block o blocks de memoria.

Si un pic no se deja borrar (principalmente los que ya tienen algunos años) hay que verificar la tensión Vdd que suministra el programador durante el borrado/grabación. Una tensión de 4.5 volts ya no permite el borrado en una gran cantidad de Pics, si tomamos en cuenta la tensión VBUS de un programador USB, no todos los puertos de PC entregan 5 volts, el cable puede tener caída de tensión, solamente con poner en serie un diodo o transistor en colector común con 0.6v de caída y ya no se podría borrar algún pic. La otra es que ya esté parcialmente muerto.

Hay un mito generalizado por la red que las causas generalmente vienen de la tensión Vpp, pero esta tensión tiene rangos bastantes tolerantes unos 2 Volts, en cambio Vdd que generalmente no se habla, acarrea todos los problemas en pics antiguos a la hora de borrar si solamente se tiene 0.5 volts por debajo de 5 volts.

En cuanto a PICs que no se puedan borrar la única son los OTP, pero en estos momentos tiene que justificarse de alguna forma el uso de estos Pic en la aplicación sino no vale la pena… una porque ahora son más caros que los flash y otra un error durante la programación y a la basura el pic. En el siglo pasado (mediados de los 90) Llenaba frascos con 12C508 y 16C54  El PicStartPlus que tenía me tiraba error en promedio de 1 de cada 10 pics.   

Título: Re: PIC QUE NO SE DEJE BORRAR
Publicado por: manwenwe en 29 de Septiembre de 2010, 16:45:25
Amén ;-)
Título: Re: PIC QUE NO SE DEJE BORRAR
Publicado por: AKENAFAB en 29 de Septiembre de 2010, 16:50:58
El pic que tengo ahí fallando xD lo programe con un programador de terceros y el pickit2 tambien.

La fuente de alimentacion externa con sus buenos 5v y tambien lo probe con una zocalo zif para el pickit2.

Ni idea que les halla pasado xD pero ahi lo tengo :P .

Los pics xD si toleran los voltajes xD como ya comentaron xD pero solo lectura que a la escritura te pone peros xD.

Los he probado a 3.3v xD y los leo muy bien ,pero para escrbir ya tiene errores(esto con pics que no son LF).
Título: Re: PIC QUE NO SE DEJE BORRAR
Publicado por: WillyP en 29 de Septiembre de 2010, 17:04:36
El pic que tengo ahí fallando xD lo programe con un programador de terceros y el pickit2 tambien.

La fuente de alimentacion externa con sus buenos 5v y tambien lo probe con una zocalo zif para el pickit2.

Ni idea que les halla pasado xD pero ahi lo tengo :P .

Los pics xD si toleran los voltajes xD como ya comentaron xD pero solo lectura que a la escritura te pone peros xD.

Los he probado a 3.3v xD y los leo muy bien ,pero para escrbir ya tiene errores(esto con pics que no son LF).

Así es, para lecturas no hay problema con tensiones menores, tampoco escrituras si la flash está ya borrada. El problema aparece en el borrado/escritura cuando se está por debajo del "Bulk erase" que en muchos Pics necesita estar en 4.5 volts mínimo. Si no es esto es posible que el pic esté en mejor vida o parcialmente.
   
Título: Re: PIC QUE NO SE DEJE BORRAR
Publicado por: pachomil en 29 de Septiembre de 2010, 18:35:38
pero los OTP ya son dificiles de conseguir, bueno la idea es que necesito una forma de grabar un pic y que la competencia no lo pueda usar para grabar su programa sobre el pic mio y quitarme el cliente, en conclusion es que si el cliente necesita cambiar de tarifa en los equipos se vea casi que obrigado a venir a mi negocio y asi tambien unos nuevos programas que tengo no me los puedan copiar , asi que si tienen ideas me sirven, he pensado trabajar con micros atmel pero son escasos en el mercado local y ademas toca aprender a programarlos.

Título: Re: PIC QUE NO SE DEJE BORRAR
Publicado por: Cryn en 30 de Septiembre de 2010, 10:48:43
Bueno parece que simplemente mi pic esta muerto, probé ahora también grabando en circuito con alimentación externa regulada con un 7805 y nada, sigue igualito.

Intente programar en LVP, pero no me reconoce el pic.

Alguien sabe como se graba en bajo voltaje con el pickit2?

saludos.
Título: Re: PIC QUE NO SE DEJE BORRAR
Publicado por: migsantiago en 30 de Septiembre de 2010, 11:01:28
Alguien sabe como se graba en bajo voltaje con el pickit2?

saludos.

Supongo que con el clon no se puede. Con el pickit2 original he programado un PIC12F683 con Vdd de 2.5V. No sé cuánto haya entregado en Vpp.

pero los OTP ya son dificiles de conseguir, bueno la idea es que necesito una forma de grabar un pic y que la competencia no lo pueda usar para grabar su programa sobre el pic mio y quitarme el cliente, en conclusion es que si el cliente necesita cambiar de tarifa en los equipos se vea casi que obrigado a venir a mi negocio y asi tambien unos nuevos programas que tengo no me los puedan copiar , asi que si tienen ideas me sirven, he pensado trabajar con micros atmel pero son escasos en el mercado local y ademas toca aprender a programarlos.

Ya se me ocurrió cómo. Debes soldar a la PCB el PIC involucrado y agregar capacitores de 0.1uF en las terminales PGD y PGC.

Esto genera 2 cosas:
1 - Que tengan que desoldar el PIC para poder reprogramarlo y
2 - Que si quisieran reprogramarlo por ICSP, los capacitores arruinen las señales Data y Clock, imposibilitando la reprogramación.
Título: Re: PIC QUE NO SE DEJE BORRAR
Publicado por: manwenwe en 30 de Septiembre de 2010, 14:35:47
Mi solución (bestia pero efectiva):

- Dejate RB7 o RB6 sin utilizar.
- Programa el PIC.
- Corta una de las 2 patillas.
- Suelda el chip.

Funciona al 95%. Si el encapsulado es SMD al 99%... y si conoceis a alguien que suelde un cable a una patilla coratda de un SMD... es que es un ser supremo XD

Saludos.
Título: Re: PIC QUE NO SE DEJE BORRAR
Publicado por: gera en 30 de Septiembre de 2010, 15:03:28
No entiendo por q no usar los fuses de proteccion de codigo. Si de todos modos siempre van a poder desoldar ese pic y poner otro en su lugar. El tema es que al menos no te copien el codigo.
saludos!!
Título: Re: PIC QUE NO SE DEJE BORRAR
Publicado por: migsantiago en 30 de Septiembre de 2010, 15:18:27
Oye manwenwe, esa solución me gustó.  ;-)
Título: Re: PIC QUE NO SE DEJE BORRAR
Publicado por: jhozate en 30 de Septiembre de 2010, 15:21:45
 :D :D...pero no no falta...no falta es q se las traiga soldando un cable
Título: Re: PIC QUE NO SE DEJE BORRAR
Publicado por: manwenwe en 30 de Septiembre de 2010, 16:09:01
Oye manwenwe, esa solución me gustó.  ;-)

Burro grande ande  o no ande ;-)

Mañana mismo patento el convertidor de FLASH a OTP: 25 páginas de gráficas y ecuaciones y al final un esbozo de dibujo de alicates de corte fino ;-)

Ahora en serio... queda claro que no van a poder leer el códgio y si quieren utilizar la placa para mejorar el firmware no creo que quede otra que intentar competir con ellos...¿Quien no tiene una consola con un firmware "no original? y por lo que yo sé las consolas se siguen vendiendo a millones... En fín, el firmware y el hardware tienen un precio relativo pero lo que de verdad hace ganar dinero son las ideas...

Saludos!
Título: Re: PIC QUE NO SE DEJE BORRAR
Publicado por: WillyP en 30 de Septiembre de 2010, 18:00:58
Los que quieren proteger toda la electrónica de una placa ante posibles copias utilizan una capa de epoxi en blanco, negro o cualquier color. Eso si, una falla y a la basura se reemplaza por una nueva. Creo que en el foro ya se tocó el tema del sellado.