Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

19/12/2011 #1

Avatar de unmonje

Borrar 16f628a
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
19/12/2011 #2


unmonje dijo: Ver Mensaje
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.
19/12/2011 #3
Moderador

Avatar de D@rkbytes

unmonje dijo: Ver Mensaje
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
19/12/2011 #4

Avatar de arrivaellobo

Yo he utilizado el f628 con oscilador interno, NO_MCLR, y he podido regrabarlo...
20/12/2011 #5

Avatar de unmonje

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
20/12/2011 #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...
20/12/2011 #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.
23/12/2011 #8

Avatar de unmonje

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
23/12/2011 #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...



RA5/MCRL no es bidirecional solo input...

la segunda duda, o mas bien petición es si compartirías el programa del grabador en VB para echarle un vistazo...
Imágenes Adjuntas
Tipo de Archivo: jpg Dibujo.JPG (78,7 KB (Kilobytes), 362 visitas)
23/12/2011 #10
Moderador

Avatar de D@rkbytes

unmonje dijo: Ver Mensaje
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.

Allí se denota que tenemos a RA5 como entrada únicamente.
Una imagen tomada del datasheet lo dice muy claramente.

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.

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.
Por código no se puede, y no se podrá de ninguna manera, el PIC16F628A así está diseñado.
Imágenes Adjuntas
Tipo de Archivo: gif RA5_003.gif (7,6 KB (Kilobytes), 354 visitas)
Tipo de Archivo: gif RA5_001.gif (10,5 KB (Kilobytes), 356 visitas)
Tipo de Archivo: gif RA5_002.gif (12,7 KB (Kilobytes), 358 visitas)
25/12/2011 #11

Avatar de unmonje

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
27/12/2011 #12
Moderador

Avatar de D@rkbytes

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.



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.
Imágenes Adjuntas
Tipo de Archivo: gif WP800_2.gif (8,4 KB (Kilobytes), 341 visitas)
Tipo de Archivo: gif WP800_1.gif (8,4 KB (Kilobytes), 339 visitas)
Tipo de Archivo: gif WP800_3.gif (2,7 KB (Kilobytes), 335 visitas)
27/12/2011 #13

Avatar de unmonje

He aqui un archivo fuente
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 ...

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 ...

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.

---------- Actualizado después de 53 minutos ----------

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à.!!
Imágenes Adjuntas
Tipo de Archivo: jpg IMG0044A.jpg (32,3 KB (Kilobytes), 42 visitas)
Archivos Adjuntos
Tipo de Archivo: txt FuentePICPROG.txt (21,3 KB (Kilobytes), 22 visitas)
13/01/2012 #14

Avatar de Daniel Meza

"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/01/2012 #15

Avatar de Daniel Meza

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/01/2012 #16

Avatar de unmonje

Daniel Meza dijo: Ver Mensaje
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
16/01/2012 #17

Avatar de Daniel Meza

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

---------- Actualizado después de 3 minutos ----------

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.
16/01/2012 #18

Avatar de unmonje

Daniel Meza dijo: Ver Mensaje
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:
Archivo Adjunto 65889

---------- Actualizado después de 3 minutos ----------

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 !! )

20/04/2012 #19


Ya me paso lo mismo con el 16f628a.... Tomando la solucion de Daniel Meza...

lo solucione asi para no utilizar fuente externa...



Video de demostracion...


bueno... pues es otra posible solucion al problema por si alguien mas le pasa...
Imágenes Adjuntas
Tipo de Archivo: jpg Dibujo.JPG (17,5 KB (Kilobytes), 294 visitas)
21/04/2012 #20

Avatar de despace

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
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.