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

Temas similares

08/10/2008 #1

Avatar de sebitronic

Programacion "ICSP" (In Circuit Serial Programming)
Las placas destinadas a albergar los microcontroladores (como PIC TRAINER 8, PIC TRAINER 18, PIC TRAINER 28 y PIC TRAINER 40) poseen un conector para la programación ICSP (In Circuit Serial Programming, o Programación Serial en circuito).

El ICSP es el sistema utilizado en los dispositivos PIC de Microchip para programarlos sin necesidad de tener que retirar el chip del circuito del que forma parte. Esta forma de programación es válida para todos los PIC de la gama baja, como puede ser el PIC12C508 y PIC12F629; los de la gama media, desde el PIC16F84A hasta el PIC16F877A; e incluso para la familia 18xxxx.

Básicamente, se trata de un sistema de programación serie síncrona en el que intervienen 2 señales: una de entrada y salida para la transmisión y recepción de datos; y otra de entrada para la sincronización de la transmisión y recepción de los datos. Las líneas utilizadas se ubican (generalmente) en el pin RB6/PGC para la señal de sincronización (reloj) y en el RB7/PGD para los datos.



El protocolo trabaja con dos tensiones, una de alimentación (VDD), cuyo rango de valores está comprendido entre 4.5 y 5.5 voltios, y otra de programación (VPP) cuyo rango oscila entre un mínimo y un máximo de 12 y 14 voltios respectivamente.

Los programadores generalmente poseen un conector que entrega estas señales, .
08/10/2008 #2
Excluido


yo tambien quisieraaaaa, quisiera cantar y tener una novia pechugonaaaa !

pero bueno, me conformo con que este hilo crezca y se pueda sacar algo util.

estuve leyendo el hilo de programador por puerto USB y si me permiten les hare un comentario A TODOS:

en vez de esperar el que pregunta y `prenderse los demas de hacer un :
"como se hace esto" , onda decime donde pongo el cable este o aquel.

por que no se hace asi:
se pone la teoria, que coño es programacion in circuit.
que es cada pin.
como se supone entra la información.

y bueno , asi uno va desculando la cosa, aprende a programar asi y aprende que coño esta haciendo, ., a entenderlo .

para mi me parece una muy buena forma de programar, quizas uno mañana se hace 10 placas genericas y le suelda el PIC SMD y las deja en el cajon, y bueno, cuando uno quiere darle aplicacion hay quie programarlo, .............en circuito o con control mental, otra no queda.

asi que bueno, me parece buen sistema, si alguien tira un cabo se agradece.

saludos
08/10/2008 #3

Avatar de asherar

Bueno, ya que lo pide así, fernandob (sin palabrotas)
...
le contesto en 8 versos, ...
así su enojo se aplaca, ...
el error que usted me achaca, ...
no es error ni es para tanto, ...
...
En lo que a PICs se refiere, un buen comienzo es enlazar a mi página,.
Desde allí, hacer click en "Clasificados" y en la columna "Empresas", la primera línea corresponde a Microchip, productora del preciado microcontrolador ... .
Haciendo click sobre el nombre se accede a la página principal (home) de esta empresa.

Una vez en la pagina de Microchip la cosa se pone verdaderamente interesante, ya que hay tantas cosas que uno no sabe por dónde empezar.
Pero: a no atontarse! Sigamos con la columna de la izquierda "Designs" (diseños) y hacemos click en el enlace "Data-Sheets" (hojas de datos). (Ojo que Data Shit es otra cosa!)
Entonces se abre otra página dónde habrá que seleccionar el pic que nos interesa: por ejemplo el PIC16F628, o mejor el más moderno y potenciado PIC16F628A.
Como es un micro de 8 bits, buscamos donde dice "8-bit PIC® Microcontrollers" y elegimos el número de micro en la ventana emergente que reza "Select a device" (elegir dispositivo).
Esto nos lleva a la página dedicada al PIC16F628A. Por la izquierda arriba aparece el iconito de Adobe y la frase "PIC16F627A/628A/648A FLASH-Based 8-Bit CMOS Data Sheet (3/13/2007)"
Hacemos click en el ícono de Adobe y saz! Es raro porque se abre un documento de Adobe Acrobat ...!
A la derecha, en letras bien grandotas dice
PIC16F627A/628A/648A
Data Sheet

y a la izquierda se muestra el índice o temario del documento.
Nos concentramos en el capítulo: "14.0 SPECIAL FEATURES OF THE CPU" (Aspectos especiales de la CPU)
Hacemos click en el signo "+" a la izquierda del "14" y se despliega el temario del capítulo 14.
Ahora hacemos click sobre el título "14.11 In-Circuit Serial Programming™ (ICSP™)" (programación serial a bordo) y a la derecha se mostrará el contenido de ese tema (todos los pics tienen esta sección "In-Circuit Serial Programming" en sus "Data Sheets").
Para leer más cómodamente cerramos el panel izquierdo haciendo click en la "x" situada sobre el texto
"Options" (Opciones) y vemos la página a pantalla completa.
Bajando un poco en esa página se ve la figura 14-18: denominada "TYPICAL IN-CIRCUIT SERIAL PROGRAMMING CONNECTION" (conexiónado típico de ...) donde se muestra la forma de conectar el programador en el circuito del usuario.
Para saber qué diablos dice en inglés, hacés copy-paste del texto que te intriga y lo traducís con alguno de los tantos programas de distribución libre. Ahora, si querés entender realmente lo que dice dale a traducir el texto a tu nene que va a salita de 5 en el jardín de infantes, y el resultado será más inteligible.
En resumen allí te dice que podés programar el pic en forma serial usando las patillas RB6 y RB7 como Clock y Datos respectivamente. También se debe aplicar una tensión de programación (+13.5 Vcc) en la patilla MCLR (RESET) aparte de +5V y 0V como indica en la figura.
Las tres resistencias son para desacoplar el circuito de programación de tu placa ("to normal conections" significa "a las conexiónes normales"), y que entonces ésta no interfiera con la programación. El lector atento notará que en la figura no ponen valores para esas resistencias. Supongo que es porque deben depender de para qué usa uno las patillas RB6 y RB7 en su aplicación.
La forma en que se manda la información se relata en otro documento que puede encontrarse en forma similar y que está referido en el texto como “PIC16F627A/628A/648A EEPROM Memory Programming Specification(DS41196). Este último numerito te sirve para encontrar el documento usando el buscador de la página de Microchip.

Yo hice una prueba con cables de alargue desde el PicStartPlus hasta el conector a bordo de mi placa, pero el programador debe hacer algun chequeo de otras patillas del micro, porque a primera vista no me anduvo.

NOTA: Por si te sirve de consuelo, yo hasta hoy no he podido encontrar el valor de resistencias adecuado.
Si es muy bajo (1k, 10k) no me desacopla la placa y la programación fracasa, y si es muy alto (50k, 100k)
en funcionamiento "normal" la corriente queda limitada y para ciertas cosas no resulta suficiente.
Esto me pasó con el controlador de GLCD. Entonces no me quedó otra que retirar las resistencias, y sacar el display cada vez que programo.
Como la idea era hacer todo sin tocar el circuito y eso no anduvo, directamente desarmo todo, saco el chip y lo programo con el PicStartPlus. Y del ICSP™, ... me olvido!
Una solución elegante para prescindir de estas histéricas resistencias requiere modificar la plaqueta, y consiste en colocar "jumpers" ("shunts" extraíbles) en las conexiónes que salen de las patillas RB6, RB7 y MCLR.
Durante la etapa de "debug" (depuración) para programar sacamos los jumpers (con lo que todas las R = infinito) y solo quedan conectadas al micro las líneas que vienen del programador. Para uso normal, con el programador retirado, ponemos los jumpers y probamos a ver si todo anda OK.
Una vez que el programa funciona como debe ser se pueden retirar los pines de los jumpers y soldar puentes permanentes.
Y listo!
09/10/2008 #4
Excluido


hola alejandro, es increible:
todos los caminos conducen a ..............tu pagina web.

voy a ir a visitarla a ver si encuentro el enlace para sudacas burros como yo que no saben nada de ingles y les da pereza ponerse a traducir.

para comenzar que programador me recomiendan para programara in circuit, yo tengo solo el paralelo del capo de pablin (no me lo toquen que es un idolo =.

he visto en la web varios, he leido un poco del de usb que ponen en un enlace de aqui, de un tal eclipse.........pero son un monton de paginas, lei algunas que le dan las gracias , otras que dicen que no anda o que ya no da soporte o que ......no se.

que hay para comprar recomendable: bueno bonito y barato como loca de constitucion...(bueno..esas no son bonitas....ni buenas ) .

saludos

EDIT :
que grande ale !
me llevaste de la mano como a un nabo .....y me sirvio, estoy leyendo con mi nena de 8 años al lado que sabe mas inglish que yo .

solo me falta ir sabiendo que programador compro , hago o afano por ahi .

como decia petete cada vez que agarraba su libro gordo :
se un poquito mas que ayer QUE LINDO QUE ES APRENDER !

saludos de nuevo
saludos,
09/10/2008 #5

Avatar de asherar

Bueno, cha graceas ...!

Yo conozco un amigo que usa el programador JDM, que trabaja por el puerto serie.
Adiviná de dónde te podés bajar el circuito y el programa ?
Vas por "DESCARGAS" --> HERRAMIENTAS PARA PRINCIPIANTES --> Herramientas de desarrollo --> ENLACE --> ... bajando, ... bajando ... dice por ahí "JDM", y el programa es el ICPROG. Y no es el unico.
De todo lo que hay ahí, nada es mío, son todos enlaces a los sitios originales.
Si no subite al Google y navegá.
Busca y prueba, mi amigo, busca y prueba ... Navega, navega, pero con mucho cuidado (ver figura abajo).

Por lo que sé el JDM con ICPROG anda OK.
Aunque no es ICSP: no te conviene preocuparte por eso por ahora.
Otro que yo he probado es el PonyProg. Para micros "clásicos" como el viejo Pic16F84 te va a andar.
También te sirve con memorias de autoestéreo.
Y si no, si a vos te gusta más, metele con el del puerto paralelo de Pablín.

Pero para empezar a quemar pics, con que te ande bien y te permita avanzar con algunos proyectos
creo que debería ser suficiente. Ahora solo te diría que le metas para adelante.
En el futuro, si tenés tiempo de sobra ponete a renegar con lo del ICSP.
La famosa "placa genérica" es para cuando ya la tenés re-re-re-reclara, ... (como sabés, yo hace tiempo que quemo pics y todavía no le arrimo).
Claro, para el JDM vas a tener que hacerte la placa del programador, que sé que para vos es un incordio.
Pero es re-sencillita, ... Jejeje.

Además, ... el que quiere comer pescado, ... que se moje ... un poco, che.
Imágenes Adjuntas
Tipo de Archivo: jpg cuidado_atras_112.jpg (14,8 KB (Kilobytes), 388 visitas)
09/10/2008 #6

Avatar de BUSHELL

Yo, me he dejado llevar de la mano.

Hasta hace poco, no sabia nada de Programar Pics. En este momento, he avanzado un poquitito, no mucho, pero por lo menos lo suficiente para ayudarte, en este primer paso que vas a dar.

Puedes hacerte este programador.
http://www.olimex.cl/product_informa...products_id=76

Se llama "programador PG2" y está basado en el JDM, que te menciona Alejandro. Me siento aludido cuando dice que tiene un amigo que usa el JDM. Funciona por el puerto serie.

Yo me tomé el trabajo de retocar la pcb un poco, para que sea mas facil hacerla y ensamblar los componentes. Te mando mi dibujo en un pdf. Solo la imprimes y haces la Pcb.

Usa el ICProg, que es bastante facil de usar, y para que no tengas problemas con el idioma, viene en varios bastante faciles de entender: arameo, mandarín antiguo, codigo morse, lunfardo, katío y ....español!

En el link que te puse, hay un vinculo para un manual y todos los vinculos que necesites.

Con él, yo programo el 16F876, sin ningun problema!

Si necesitas algo, yo puedo ayudarte desde el segundo escalón. Vos estás en el primero. A mi me faltan 98, pero bueee, por algo se empieza.
Es indescriptible la emoción que se siente cuando programás algo y funciona.
Archivos Adjuntos
Tipo de Archivo: pdf programador_pg2_158.pdf (58,4 KB (Kilobytes), 451 visitas)
09/10/2008 #7
Excluido


hola ale......ale hola
me surgio una duda, hablabas mas arriba de unas resistencias para conectar el programador a la plaqueta que contiene el pic, pero lo que yo vi en la data de microchip va directo, por lo que entendi las R que muestran en el dibujo de la data son las R que van a el circuto funcional, a la plaqueta que hace el espantamosquitos o lo que estes diseñando .
pero los cables del programador in circuit van directo al PIC.
fijate a ver si entendi bien , saludos
09/10/2008 #8
Excluido


hola bushell gracias por lo que me mandaste, veo que es una placa facil y barata, voy a mirar si se vende por aqui.
abri el adjunto y es todo el impreso, me podes mandar el circuito en simbolos o sino el esquema circuital ?

te agradezco .

saludos
09/10/2008 #9

Avatar de BUSHELL

Buscalo en el link que te puse. Ahi lo encuentras.
Saludos
09/10/2008 #10

Avatar de asherar

fernandob dijo:
hola ale......ale hola
me surgio una duda, hablabas mas arriba de unas resistencias para conectar el programador a la plaqueta que contiene el pic, pero lo que yo vi en la data de microchip va directo, por lo que entendi las R que muestran en el dibujo de la data son las R que van a el circuto funcional, a la plaqueta que hace el espantamosquitos o lo que estes diseñando.
pero los cables del programador in circuit van directo al PIC.
fijate a ver si entendi bien , saludos
Exacto: las R van de las patas del pic hacia tu circuito de aplicación.
Del pic al programador va directo.
Alejandro Sherar dijo:
Las tres resistencias son para desacoplar el circuito de programación de tu placa ("to normal conections" significa "a las conexiónes normales"), y que entonces ésta no interfiera con la programación.
Mensaje temporal:
PD: ¿ No eras vos el que dijo ?:
... en vez de esperar el que pregunta y `prenderse los demas de hacer un :
"como se hace esto", onda decime donde pongo el cable este o aquel.
09/10/2008 #11
Excluido


has lo que yo digo , mas no lo que hago.

no lo dijo un genio ?
10/10/2008 #12
Excluido


hola, para mi el tema de la placa de programacion por puerto serie ya esta solucionada, (idem USB) :
mire en mercadolibre y la placa de programacion serie la venden por 35 $.

otro tema es lo que especificamente origino este post que es explicaciones teoricas que se puedan agregar , las cuales solo enriqueceran este foro.



un saludo
18/10/2008 #13

Avatar de asherar

Hola:

A raiz de este tema me puse a buscar un poco y encontré este documento de Microchip sobre la familia de Pics de rango medio y sus caracteristicas en común, recursos, etc.
En especial se dan muchos detalles de la programación "In Circuit", (en la sección 28) que responden con solvencia algunas de las preguntas planteadas más arriba en este hilo.
En dos palabras "la papa".

Lamentablemente las cosas están en inglés, pero así es la vida. Lo que vale, ... cuesta.
El enlace directo es este: http://ww1.microchip.com/downloads/e...Doc/33023a.pdf
O pueden entrar por la página principal http://www.microchip.com/ y buscar "33023a"

Que les sea leve !
18/10/2008 #14
Excluido


gracias alejandro, como siempre

Respuesta
¿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 - 2014, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.