Borrar 16f628a

#1
hola muchachos.
Empece a usar el 16f628a en reemplazo del f84a y aproveche las nuevas funciones de oscilador interno y la entrada de MCLR como Salida, en su momento me plantee que era suicida haber hecho esto por parte de los desarrolladores del chip, ya que impedia volver a borrarlo y menos regrabarlo.Pero me dije, nooo ,no pueden haber hecho eso...
Resulta que ahora , no puedo borrar el chip jajja ...
Pregunta ...Alguien sabe como resolver este entuerto ?
Gracias desde ya
 
#2
hola muchachos.
Empece a usar el 16f628a en reemplazo del f84a y aproveche las nuevas funciones de oscilador interno y la entrada de MCLR como Salida, en su momento me plantee que era suicida haber hecho esto por parte de los desarrolladores del chip, ya que impedia volver a borrarlo y menos regrabarlo.Pero me dije, nooo ,no pueden haber hecho eso...
Resulta que ahora , no puedo borrar el chip jajja ...
Pregunta ...Alguien sabe como resolver este entuerto ?
Gracias desde ya
Hola....definitivamente no veo la relación de la mejora del chip y la utilización de un oscilador interno y demás con lo de no poder borrarlo. No se que programador/software tienes pero generalmente viene una opción de borrado del chip aunque la mayoría hace este proceso cada vez que vuelves a grabar algo en el chip. Para casos rebeldes blanqueas con FF el buffer y la memorias y lo mandas a grabar. De no poder seguramente tienes el chip con algún pin de los usados en el proceso de programación mal internamente.

Saludos.

Ric.
 
#3
hola muchachos.
Empece a usar el 16f628a en reemplazo del f84a y aproveche las nuevas funciones de oscilador interno y la entrada de MCLR como Salida
La entrada como lo dices RA5 (MCLR) es solo eso, entrada, no se puede usar como salida.
Ni declarando MCLR_OFF Ese PIN solo puede ser usado como entrada. (Ver Datasheet)
Lo mas problable es que tu programador este mal configurado, no sirva, o el uC este dañado.
BYE4NOW :apreton:
 
#5
He podido borrar siempre los chips.
Incluso este 16f628A, tambien pude borrarlo varias veces ,hasta que le dije que MCLR iva a funcionar como Input/output R5, a partir de esto , no hubio manera de borrarlo, el programa en su interior puedo leerlo .

El programa es uno escrito en Visual Basic por mi, y uso una interfase hecha con un 16f877A
Hoy dia ya lo uso con puerto usb....Si alguien tiene algo para agregar al tema sera bienvenido
:D
 
#6
hasta que le dije que MCLR iva a funcionar como Input/output R5,
y como le dijiste que funcionara como input/output, si como te mencionaron es solo input??


yo pienso que ya se quemo el pic...

curiosamente el RA5 aparte de ser el MCLR tambien es el VPP indispensable para grabar o borrar el pic...:cry:
 
#7
Debe estar jodido el chip o tu programador porque yo tengo varios y los borro las veces que quier, igual casi siempre lo programo arriba, no me gasto en borrarlo, solo cuando tira algun error.
 
#8
Hola , por ahi olvide decirles que programo y compilo en lenguaje -asembler- , el que provee el fabricante -microchip- .asi que nada puede estar mal.
De hecho es el programa del IDE, el que me permite poner MCLR pin , como I/O ,cosa que despues , solo confirmo con mi programa grabador hecho en Viasual Basic.
Por eso mi comentario del principio, me dije, estos ti´pos deben estar locos.!! jjajaja
Pero debo decir que, despues de pensarlo un rato, me di cuenta que esta función sirve para un chip , cuyo programa a ser grabado, ya no va a ser modificado porque funciona bien y de paso permite ser leido para copiar.

Al que preguntó :Lei lo que dijo el colega,pero la realidad es que, nada me impidió poner ese pin como I/Outout en el editor, compilador, y ensamblador de Microchip

Saludos
 
Última edición:
#9
De hecho es el programa del IDE, es el que me permite poner MCLR pin , como I/O ,cosa que despues , solo confirmo con mi programa grabador hecho en Viasual Basic.
yo tengo dos dudas....

como es que Assembler modifica la estructura del pic???...
segun la ficha tecnica dice esto...

Dibujo.JPG

RA5/MCRL no es bidirecional solo input... :eek:

la segunda duda, o mas bien petición es si compartirías el programa del grabador en VB para echarle un vistazo...
 
Última edición:
#10
Hola , por ahi olvide decirles que programo y compilo en lenguaje -assembler- , el que provee el fabricante -microchip- .asi que nada puede estar mal.
De hecho es el programa del IDE, el que me permite poner MCLR pin , como I/O ,cosa que despues , solo confirmo con mi programa grabador hecho en Visual Basic.
Por eso mi comentario del principio, me dije, estos ti´pos deben estar locos.!! jjajaja
Pero debo decir que, después de pensarlo un rato, me di cuenta que esta función sirve para un chip , cuyo programa a ser grabado, ya no va a ser modificado porque funciona bien y de paso permite ser leído para copiar.

Al que preguntó :Leí lo que dijo el colega, pero la realidad es que, nada me impidió poner ese pin como I/Outout en el editor, compilador, y ensamblador de Microchip

Saludos
En que parte del IDE de MPLAB es donde te permite poner el PIN RA5 (MCLR/VPP) como salida ?
En el editor de FUSES aparece solo esto.
RA5_003.gif
Allí se denota que tenemos a RA5 como entrada únicamente.
Una imagen tomada del datasheet lo dice muy claramente.
RA5_001.gif
RA5 es una entrada Schmitt Trigger solamente, y no tiene controladores de salida.
Todos los otros pins del puerto RA tienen niveles de entrada Schmitt Trigger
y controladores CMOS de salida completos.

Si se mira la estructura interna de RA5 se puede notar la falta de dichos controladores.
RA5_002.gif
Así que aunque escribas en Ensamblador o cualquier otro lenguaje de programación para PIC el hecho de escribir.
MOVLW 0X0
MOVWF TRISA ; o esto otro que haría RA5 como salida y los demás entradas.

MOVLW 0XDF
MOVWF TRISA

No quiere decir que RA5 se comporte como salida. :no:
Por código no se puede, y no se podrá de ninguna manera, el PIC16F628A así está diseñado.
 
Última edición:
#11
Hola muchachos , gracias por las molestias que se toman...Trato de no decir cosas incorrectas.
TEngo varias versiones del IDE, algunas antiguas, eso podria explicar el asunto.

La que usè para quemar estos chips es la Versiòn IDE 7.5 , donde este chip figura y puede que en versiones posteriores se haya corregido.

Como mi fuerte es la electrònica, entiendo claramente el diagrama expuesto por el colega de Mexico y si, electricamente no es posible,cosa que ya habia revisado yo mismo.

Estoy pensando que por ahi, la versiòn 7.5 dice I/O ,pero que en realidad solo funciona la opciòn entrada. En el apuro,a TRISA lo puse como salida en mi programa , no se como reacciona el chip ante esto, sino no estaria preguntado.
Puse el tópico , no para ocasionarles perdidas de tiempo, sino mas bien , esperando que alguien me dijese :
...Tarado eso es harto conocido,..la solución es TAL ò no existe TAL !!! jajaja

El texto -fuente- en Visual ,no lo tengo a mano , pero, por si ayuda :

1- siempre hago un BULK 1 antes de ponerle otro programa .
2- Los fusibles los tomo -literal- desde el .HEX que compila IDE y los grabo en el byte correspondiente al chip en cuestiòn.
3- Abro un registro de archivo por cada chip nuevo , donde guardo la configuraciòn de cada uno.
4- A cualquiera se le escapa la liebre,solo que tengo 57 años y se me escapan muy pocas !!! :)


PD: La parte donde me permite ponerlo como I/O, es en el menu Config que muestra el colega de Mexico , solo que el texto en ingles es diferente, dice I/O pin RAS 5

Feliz Año :apreton:
 
Última edición:
#12
Ok. Bien, pues creo tener la solución a la probable causa del caso del 16F628A inborrable.
Y se trata de lo siguiente:

Bit de Configuración LVP
El modo de programación de bajo voltaje (LVP) invalida el empleo de alto voltaje
para la programación del PIC. Aqui, el dispositivo puede ser programado sin usar 12V de VPP en RA5.
Sin embargo, cuando se utiliza la programación de alto voltaje mientras el MCU tiene activada
la programación por baja tensión, éste último modo no se elimina.
De tal forma que si RB4 pasa a alto por cualquier razón durante la programación con alto voltaje,
la programación se interrumpira.

Ok. Eso pudiera ser una causa.
Yo suelo siempre configurar el PIC16F628A con LVP OFF y ahora lo configure con LVP ON
Y se borro y grabo perfectamente.
WP800_3.gif
WP800_1.gif
WP800_2.gif
Todo normalmente y sin problemas, bien, hasta luego y sigue abierta la invitación al amigo unmonje a que si le es posible suba su programador para darle un vistazo.
PD. Los Bits de configuración siempre los defino por código. :apreton:
 
Última edición:
#13
UPS !!! colegas...Mi programador, no usa LVP, no me gustan las ambiguedades, parece que a los yankees si !!! ,( a juzgar por los textos y la programaciòn de , Microsoft y otras empresas que tienen ese delicado encanto de hacer incomprensible, una explicaciòn a una duda sencilla.)

Por ende , yo pongo siempre en OFF el pin de LVP , en toda grabaciòn, par evitar problemas posibles con ese pin, en un chip en particular, ademas de que mi grabador no lo usa.

Te adjunto imagen del grabador por ahora ...:D

Creo haber dicho ya que mi grabador contiene internamente un 16f877A , haciendo de -host- y es el , mediante unas 20 funciones que le escribi , el que se ocupa de grabar el chip, yo solo le doy indicaciones mediante un sencillo protocolo tipo COMANDO y DATO/s.

UPS !!! colegas...Mi programador, no usa LVP, no me gustan las ambiguedades, parece que a los yankees si !!! ,( a juzgar por los textos y la programaciòn de , Microsoft y otras empresas que tienen ese delicado encanto de hacer incomprensible, una explicaciòn a una duda sencilla.)

Por ende , yo pongo siempre en OFF el pin de LVP , en toda grabaciòn, par evitar problemas posibles con ese pin, en un chip en particular, ademas de que mi grabador no lo usa.

Te adjunto imagen del grabador por ahora ...:D

Creo haber dicho ya que mi grabador contiene internamente un 16f877A , haciendo de -host- y es el , mediante unas 20 funciones que le escribi , el que se ocupa de grabar el chip, yo solo le doy indicaciones mediante un sencillo protocolo tipo COMANDO y DATO/s.



Aqui les dejo para adjunto para los -fanaticos- una archivo .txt de una de las fuentes cuando todavia no lo tenia terminado pero , vale porque los detalles faltantes son mas que nada estèticos...del programa, la esencia està.!!
 

Adjuntos

Última edición:
#14
"unmonje" ¿Ya has solucionado el problema?.... sucede que a mi me está pasando algo similar pero con el PIC16F819, puse los bits de configuración manualmente. Con esto se grabó el PIC la 1era vez, pero ahora lo leo y el Pickit2 clone no lo reconoce. He leido sobre todo eso de LVP y esas cosas y al parecer eso no afecta en absoluto (leí por algún lado que todos los PIC's vienen con ese bit activado de fábrica por si solo se programará una sola ves y a través de LVP, por lo que se me hizo lógico).

Otra cosa, al montar el PIC en el circuito final si opera con su reloj interno normalmente, pero al quererlo grabar otra vez, no es reconocido.

Ya probé la opción "Use VPP first program entry" y sigue sin solucionarse el problema. Quisiera orientación, de antemano saludos.
 
#15
Bueno después de tanto pelear, leer y leer en foros de Microchip he logrado revivir al PIC. De las páginas que leí mencionaban que era una "burrada" utilizar el pin RA5 como entrada digital y reloj interno al mismo tiempo ya que si se quería reprogramar el uC, éste al momento de conectarse a +5V empezaría a ejecutar su programa y por lo mismo evitaría la sincronización con el programador.
Lo que hice pues fué buscar la forma de retrasar la alimentación del PIC (inclusive, como dije, utilicé la función del programador "Use VPP first program entry" sin resultados), para esto conecté el programador como si fuera a utilizar ICSP salvo que la toma de VPP la hice externa y el pin VCC lo conecté a través de un resistor de 10k a +5V y con esto logré reprogramar y borrar el PIC.
Espero que les sirva está información a quien se encuentre con este fastidioso problema. Saludos
 
#16
Bueno después de tanto pelear, leer y leer en foros de Microchip he logrado revivir al PIC. De las páginas que leí mencionaban que era una "burrada" utilizar el pin RA5 como entrada digital y reloj interno al mismo tiempo ya que si se quería reprogramar el uC, éste al momento de conectarse a +5V empezaría a ejecutar su programa y por lo mismo evitaría la sincronización con el programador.
Lo que hice pues fué buscar la forma de retrasar la alimentación del PIC (inclusive, como dije, utilicé la función del programador "Use VPP first program entry" sin resultados), para esto conecté el programador como si fuera a utilizar ICSP salvo que la toma de VPP la hice externa y el pin VCC lo conecté a través de un resistor de 10k a +5V y con esto logré reprogramar y borrar el PIC.
Espero que les sirva está información a quien se encuentre con este fastidioso problema. Saludos
Entendi casi todo,Podrias ser un poco mas especifico en la secuencia ?,como no tuve tiempo, fui a comprar otros chips y esos quedaron para cuando hubiera tiempo.
1- El bit responsable del conflicto cual seria ?
2-El pin donde va la resistencia a VCC ,la maneja un tansistor en tu caso?

Si te perece que vale aclarar algo mas soy todo oidos.Gracias por tus molestias
:D
 
#17
Ok Ok vayamos por partes... El PIC no se deja programar por lo que comenté anteriormente de su configuración. Para solucionarlo hice lo siguiente.
1-No utilicé el programasor directamente, si no sus pines de ICSP
2-La señal VPP del programador la descarté y en su lugar conecté +12.5 Volts directamente al pin MCLR/RA5 del PIC, las demás líneas PGC, GND y PGD las conecté normalmente. (Un alambrito y ya)
3-Por úlimo conecté el pic +Vcc del PIC a la toma de Vcc del programador a través de una simple resistencia de 10k.

Dejo un digrama de la conexión:
Programador.PNG



y olvidé mencionar... a menos que sea muy necesario no hay que utilizar al mismo tiempo el pin RA5 como entrada y el reloj interno del PIC. Si es el caso, con la forma mencionada se puede reprogramar.
 
Última edición:
#18
Ok Ok vayamos por partes... El PIC no se deja programar por lo que comenté anteriormente de su configuración. Para solucionarlo hice lo siguiente.
1-No utilicé el programasor directamente, si no sus pines de ICSP
2-La señal VPP del programador la descarté y en su lugar conecté +12.5 Volts directamente al pin MCLR/RA5 del PIC, las demás líneas PGC, GND y PGD las conecté normalmente. (Un alambrito y ya)
3-Por úlimo conecté el pic +Vcc del PIC a la toma de Vcc del programador a través de una simple resistencia de 10k.

Dejo un digrama de la conexión:
Ver el archivo adjunto 65889



y olvidé mencionar... a menos que sea muy necesario no hay que utilizar al mismo tiempo el pin RA5 como entrada y el reloj interno del PIC. Si es el caso, con la forma mencionada se puede reprogramar.
OK ..Tigre !!!...ahora entendi todo...el chip me cuesta 13,50 y mi hora vale varias veces eso, por tal motivo se me hacia complicado meterme a fondo, asi que queda para esas tardes donde aprieta el vicio !!! mil gracias ( como dije al comenzar mi spot,me parecia que los diseñadores habian entrado en colapso :) al configurarlo asi !! )

(y):aplauso:
 
#19
Ya me paso lo mismo con el 16f628a.... :D Tomando la solucion de Daniel Meza...

lo solucione asi para no utilizar fuente externa...

Dibujo.JPG

Video de demostracion...


bueno... pues es otra posible solucion al problema por si alguien mas le pasa...
 
#20
Hola, mira yo he usado la siguiente palabra de configuracion para un PIC16F628A y no me ha presentado ningun problema aqui la tienes:

__CONFIG _LVP_OFF & _MCLRE_OFF & _BODEN_OFF & _CP_OFF & _PWRTE_ON & _WDT_ON & _INTOSC_OSC_NOCLKOUT
Recuerdan que es mas conveniente tener desactivado el Code Protect (CP), ya que es una proteccion de escritura que tiene el pic, y si lo activas te puede dar algunos dolores de cabeza si no sabes usarlo. Espero que sea de ayuda Saludos
 

Temas similares

Arriba