Autor Tema: Construir y entender un programador  (Leído 46227 veces)

0 Usuarios y 5 Visitantes están viendo este tema.

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1835
    • IDEAA
Re: Construir y entender un programador
« Respuesta #15 en: 11 de Septiembre de 2008, 22:07:02 »
Hola pajaro!
Estos ultimos dias me lei el articulo unas cuantas veces para corregirlo y mejorarlo, pero ahora no encuentro lo que me cuentas... si me dices exactamente donde lo corrijo al momento que ahora estoy delante del ordenador.
El tema de los acentos...  :oops:  Siempre me como los acentos... los se poner, pero la verdad no estoy acostumbrado, y menos en el PC. Si el articulo tuviese todos los acentos que le corresponde habria tardado alguna horita mas... Halgo vueno a mi fabor es ke escazas bezes tengo faltas hortograficas   :D
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: Construir y entender un programador
« Respuesta #16 en: 11 de Septiembre de 2008, 22:29:15 »
hola amigo

existe un truco, puedes pasarlos por el work, o un editor de texto con corrector ortografico y luego lo pegas aqui.
si este foro tubiera corrector ortografico seria diferente.

diseñar hard tercer parrafo.

un saludo
« Última modificación: 11 de Septiembre de 2008, 22:32:55 por pajaro »

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1835
    • IDEAA
Re: Construir y entender un programador
« Respuesta #17 en: 11 de Septiembre de 2008, 23:49:30 »
gracias pajaro! ya corregi lo de "clock"... se me habia chispoteado.
los acentos los dejare para otro post... pero si encuentras/encuentran mas errores avisadme.
salu2
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado arcachofo

  • PIC16
  • ***
  • Mensajes: 126
    • Foro para usuarios Linux.
Re: Construir y entender un programador
« Respuesta #18 en: 12 de Septiembre de 2008, 04:16:55 »
Bueno Marttyn, yo no se gran cosa, pero como no me funcionaba ninguno de los programadores que hacía (el 4º funciono) me leí todo lo que había por ahí... entre otras cosas aparte del datasheet hay pdf de información de todo el proceso de programación del pic, timing, voltajes y mil cosas más, en la página de Microchip se pueden encontrar.
Luego hay varios problemas con algunos pics concretos, yo conozco un poco los 16F627A/628A/648A, pero creo que se puede aplicar a otros pics con las mismas características... por ejemplo los que tienen reloj interno: si la primera vez que lo programas activas el reloj interno y desactivas el reset externo mclr, entonces no podrás programarlo más con cualquier programador, porque si le das Vdd y no tiene ninguna señal reset se pone a ejecutar el codigo que hay en memoria... en realidad este pic y supongo que todos los que tengan reloj interno y se pueda desactivar mclr, para entrar en modo programación hay que subir primero Vpp y al menos 5 uS despues Vdd y 5 uS despues clock y data, pero el software que yo he probado no lo hace así... sube los dos a la vez o sube primero Vdd y si el programador no permite el control de Vdd y esta sienpre con +5v conectados pues entonces no hay manera, yo por siacaso siempre le dejo el reset externo... :)
Otra cosa es el LVP... programación a bajo voltaje... en estos pics esta opción se activa dando +5v a RB4 (patilla 10), si no se va a usar hay que poner esta patilla a masa, mejor a traves de una resistencia menor de 10k. Esta es una opción que no he probado y no he leido nada de nadie que lo haya provado, pero sería bueno quitarse de encima los 12v.... no?
Por eso hay programadores que funcionan bien con unos pics y no funcinan con otros... por ejemplo el "Pablin" que tiene siempre +5v a Vpp no serviria para estos pics ... en cuanto se programara se pondria a ejecutar el codigo (si se usa el reloj interno), pero si le añades otro transistor controlando Vdd pues todo bien...

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: Construir y entender un programador
« Respuesta #19 en: 12 de Septiembre de 2008, 07:33:44 »
hola Marttyn
tengo este programador, es por puerto paralelo con fuente externa,
http://www.info-ab.uclm.es/labelec/solar/grabacion/marco6.htm
que programador le seleccionarias tu con el Winpic800 y que configuracion le pondrias.
en el link, es el primero

un saludo
« Última modificación: 17 de Septiembre de 2008, 18:53:42 por pajaro »

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1835
    • IDEAA
Re: Construir y entender un programador
« Respuesta #20 en: 12 de Septiembre de 2008, 15:47:38 »
hola Marttyn
tengo este programador, es por puerto paraleo con fuente externa,
http://www.info-ab.uclm.es/labelec/solar/grabacion/marco6.htm
que programador le seleccionarias tu con el Winpic800 y que configuracion le pondrias.
en el link, es el primero

un saludo

hola pajaro! en el post hay suficiente informacion como para que puedas "descifrar" la configuracion necesaria tu mismo... si te fijas usan casi lo mismo que explico... un buffer y un transistor PNP para la señal.
pero bueno, a simple vista te diria que tienes que configurarlo de la siguiente manera:
Data: bit 0
Data in: bit 10, addr +1
Clock: bit 1
Vdd: bit 2, INV
Vpp1: bit 3, INV
Vpp2: bit 4, INV
ICSP MCLR: bit 5

pruebas asi a ver que tal te va. por cierto, el ICSP MCLR, como dije antes, no se muy bien como funciona. asi que si la configuracion no te va asi prueba invertir. sino siempre puedes no utilizarla destildandola arriba a la derecha, ya que no es fundamental.

ten cuidado con el circuito. por lo que vi creo que CI2 y CI3 estan invertidos. por lo que dice en la pagina, CI2 deberia ser un 7812, y CI3 un 7805, pero creo que es justo al reves. sino el regulador de 5v estaria alimentando al regulador de 12v y no funcionaria.
salu2
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1835
    • IDEAA
Re: Construir y entender un programador
« Respuesta #21 en: 12 de Septiembre de 2008, 15:59:28 »
[...] hay varios problemas con algunos pics concretos [...] los que tienen reloj interno: si la primera vez que lo programas activas el reloj interno y desactivas el reset externo mclr, entonces no podrás programarlo más con cualquier programador, porque si le das Vdd y no tiene ninguna señal reset se pone a ejecutar el codigo que hay en memoria... en realidad este pic y supongo que todos los que tengan reloj interno y se pueda desactivar mclr, para entrar en modo programación hay que subir primero Vpp y al menos 5 uS despues Vdd y 5 uS despues clock y data [...].

Por eso hay programadores que funcionan bien con unos pics y no funcinan con otros... por ejemplo el "Pablin" que tiene siempre +5v a Vpp no serviria para estos pics ... en cuanto se programara se pondria a ejecutar el codigo (si se usa el reloj interno), pero si le añades otro transistor controlando Vdd pues todo bien...

Mi pablin tenia ese problema, y me hizo pasar muchos dolores de cabeza con pics como el 16F88 y el 16F648. Por suerte, como comento en el post principal encontre la respuesta AQUI

veo que te has leido unos cuantos datasheets y application notes! tel vez debas instruirnos en como funciona el proceso de programacion de un pic, ya que yo solo abarco lo que es el hardware, pero estoy a cero en lo que es la programacion en si... seria muy interesante aprender como funciona todo ese proceso!

Citar
Otra cosa es el LVP... programación a bajo voltaje... en estos pics esta opción se activa dando +5v a RB4 (patilla 10), si no se va a usar hay que poner esta patilla a masa, mejor a traves de una resistencia menor de 10k. Esta es una opción que no he probado y no he leido nada de nadie que lo haya provado, pero sería bueno quitarse de encima los 12v.... no?

si, el tema de los 13v para programacio es jodido, sobre todo para mucha gente que empieza, porque no sabe de donde sacarlos. nunca me aventure con el LVP, y si nadie lo ha hecho supongo que sera porque da mas problemas que ventajas... aunque si descubres como usarlo satisfactoriamente seguro te convertiras en un heroe!  :D

salu2
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado sandra

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 374
Re: Construir y entender un programador
« Respuesta #22 en: 12 de Septiembre de 2008, 16:32:40 »
Pues si seria interesante que alguien pudiera explicarnos la señal ICSP MCLR y sobre todo como se implementa en el circuito alguna ves intente hacer pruebas y lo único que conseguí fue quemar el programador junto con una salida del puerto paralelo :(
El pesimista se queja del viento
El optimista espera que cambie
El realista ajusta las velas

Desconectado Gonzalo_BlackHawk

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 519
Re: Construir y entender un programador
« Respuesta #23 en: 12 de Septiembre de 2008, 17:47:00 »
si, el tema de los 13v para programacio es jodido, sobre todo para mucha gente que empieza, porque no sabe de donde sacarlos. nunca me aventure con el LVP, y si nadie lo ha hecho supongo que sera porque da mas problemas que ventajas... aunque si descubres como usarlo satisfactoriamente seguro te convertiras en un heroe!

El LVP no tiene nada de sofisticado ni de dificil en su utilización, es particularmente util en equipos donde es imposible conseguir voltajes superiores a 6V, por ejemplo un equipo alimentado a bateria, no es práctico colocar varias baterias en serie para elevar el voltaje tan solo para programar o depurar.
El problema del LVP en sí no radica en su dificultad de uso, sino en que si lo habilitamos, debemos prescindir del pin RB5 y por tanto de la posibilidad de utilizar el byte completo del puerto B, que tiene muchas funciones útiles.
El unico cuidado a tener en el LVP es filtrar adecuadamente este pin mientras no estemos programando.

Saludos.
"Siempre piensa si el jugo vale la exprimida..."

"La muerte esta tan segura de vencer que nos da toda una vida de ventaja."

Desconectado arcachofo

  • PIC16
  • ***
  • Mensajes: 126
    • Foro para usuarios Linux.
Re: Construir y entender un programador
« Respuesta #24 en: 12 de Septiembre de 2008, 22:14:13 »
Bueno... el proceso de programación puede cambiar de un modelo de pic a otro, pero supongo que estarán bastante unificados, yo solo he mirado para el del pic que estoy usando, en todo caso lo que hay que tener en cuenta a la hora de hacerse un programador es la secuencia de entrada en modo programación y los voltajes, en el caso del 16F627/628/6248 +A, que tienen LVP el proceso seria este:

*Para entrar en programacion alto voltaje (HVP):

1- Bajar PGM  (a 0v) .........(yo lo tengo siempre a masa y palante, porque no uso lvp)
2- Subir mclr ( a Vpp)
3- Subir Vdd


*Para entrar en programacion bajo voltaje(LVP):

1- Subir Vdd
2- Subir PGM ( a Vdd)
3- Subir mclr (a Vdd)


*Voltajes mínimos/máximos

Vdd:  4.5v > < 5.5v ... esto es para no tener ningun problema con el borrado (bulk erase), pero se puedeprogramar desde 2v

Vpp: 10v > < 13.5v

Clock,Data (entradas tipo schmitt-trigger):
 
- 0 lógico < 0.2Vdd ... si Vdd=5v entonces <1v
- 1 lógico > 0.8Vdd ... si Vdd=5v entonces >4v


Pensando en Lvp se pierde una patilla para usarla como entrada, pero... no se podría usar esa patilla como salida?...

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1835
    • IDEAA
Re: Construir y entender un programador
« Respuesta #25 en: 12 de Septiembre de 2008, 23:31:57 »
El LVP no tiene nada de sofisticado ni de dificil en su utilización, es particularmente util en equipos donde es imposible conseguir voltajes superiores a 6V, por ejemplo un equipo alimentado a bateria, no es práctico colocar varias baterias en serie para elevar el voltaje tan solo para programar o depurar.
El problema del LVP en sí no radica en su dificultad de uso, sino en que si lo habilitamos, debemos prescindir del pin RB5 y por tanto de la posibilidad de utilizar el byte completo del puerto B, que tiene muchas funciones útiles.
El unico cuidado a tener en el LVP es filtrar adecuadamente este pin mientras no estemos programando.

Saludos.

por lo visto no es ni complicado, ni extraño el LVP... mejor!

Pensando en Lvp se pierde una patilla para usarla como entrada, pero... no se podría usar esa patilla como salida?...

yo pense lo mismo que tu... se podra usar el pin como salida?
arcachofo, gracias por compartir como se entra un pic al modo programacion

salu2
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado Gonzalo_BlackHawk

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 519
Re: Construir y entender un programador
« Respuesta #26 en: 12 de Septiembre de 2008, 23:43:42 »
Cita de: arcachofo en Hoy a las 10:14:13 pm
Pensando en Lvp se pierde una patilla para usarla como entrada, pero... no se podría usar esa patilla como salida?...

yo pense lo mismo que tu... se podra usar el pin como salida?

No, es ilógico, si lo utilizas como salida, como vas a colocar la señal de Vpp para que el PIC entre en el modo programación????. Si configuramos el fuse LVP, el pin RB4 cesa su funcion como GPIO y solo sirve como entrada de programación. Además tanto las interrupcion int_rb como la pull-up se desactivan para el pin en cuestión.

Saludos.
"Siempre piensa si el jugo vale la exprimida..."

"La muerte esta tan segura de vencer que nos da toda una vida de ventaja."

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1835
    • IDEAA
Re: Construir y entender un programador
« Respuesta #27 en: 12 de Septiembre de 2008, 23:47:58 »
Si configuramos el fuse LVP, el pin RB4 cesa su funcion como GPIO y solo sirve como entrada de programación. Además tanto las interrupcion int_rb como la pull-up se desactivan para el pin en cuestión.

cuanta razon!  :D

igualmente no creo que use mucho el LVP... mi programador actual no tiene tal funcion, y el ICD2 clone dudo que la tenga.
salu2
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Construir y entender un programador
« Respuesta #28 en: 13 de Septiembre de 2008, 01:34:37 »
Aquí tenéis un ejemplo de programador que explota la característica LVP del 18F2550: ART2003


Desconectado arcachofo

  • PIC16
  • ***
  • Mensajes: 126
    • Foro para usuarios Linux.
Re: Construir y entender un programador
« Respuesta #29 en: 13 de Septiembre de 2008, 02:35:03 »
Si... es lógico, pero en el datasheet dice que cuando lvp está activado las interruciones y las resistencias pull-up quedan desactivadas en ese pin, pero no dice nada más... aunque como bien dice Gonzalo lo logico es que sea una cosa o la otra.. no las dos a la vez..
Pues lvp era mas facil de lo que me pensaba... acabo de grabar un 16F627A solo con 5v.. y es una tonteria, simplemente conecté la alimentacion de mclr a 5v en vez de a 12v y como el pin RB4 (PGM) lo tengo conectado a masa con una resistencia, lo conecte directamente a +5v sin ninguna linea de control ni nada, y ya está programador lvp construido..jejeje...  le doy a programar esperando a ver que fallo me daba... y resulta que... programación exitosa!!!

El siguiente paso es lo que dice art 2003 de sacar la alimentacion del propio lpt.

Pero perder una I/O.... valdrá la pena?...

EDITO:
Borrado por si acaso...

VUELO A EDITAR:
Pues la patilla PGM no funciona como salida... habia hecho una prueba, pero me equivoque de cable y el led se encenció... así que pensé que funcionaba como salida incluso con LVP ON, pero no era el led conectado a RB4... jeje... vaya metida de pata, así que borro lo de antes no vaya a ser que alguien me haga caso...
« Última modificación: 13 de Septiembre de 2008, 03:49:27 por arcachofo »