MICROPROCESADORES Y MICROCONTROLADORES
LA PROGRAMACIÓN EN SISTEMA- ISP (IN-SYSTEM PROGRAMMING) Alexis Gonzalo Lamingo Caizaluisa e-mail:
[email protected]
Ingeniería Mecatrónica, Séptimo “B”, Universidad de las Fuerzas Armadas ESPE-Extensión Latacunga, Márquez de Maenza S/N Latacunga, Ecuador. Fecha de presentación: 23 de Junio del 2015
diseño
R E S U M E N : La
programación en sistema ISP (In-System Programming), permite la programación y reprogramación de cualquier microcontrolador que se encuentre dentro del sistema final en lugar de ser programado antes de su instalación, además pueden ser reprogramadas sin ser retirados retirados del circuito circuito e integrar la programación y las pruebas dentro de una única fase de producción utilizando un lenguaje de alto nivel como C o lenguaje ensamblador, la eliminación de este paso puede ayudar en la vida útil del microcontrolador (los pines podrían doblarse y romperse), en fin el ISP es una manera de programar en serie un microcontrolador, mientras se encuentra en su lugar y se comunica con el programador a través de un protocolo serial.
en
el
medio
de
la
producción.
Generalmente, los chips que soportan ISP, tienen circuitos internos que generan cualquier voltaje de programación necesario a partir del voltaje normal que suministra el sistema, y se comunica con el programador a través de un protocolo serial. La mayoría de los dispositivos lógicos programables emplean una variante del protocolo JTAG para ISP, para facilitar f acilitar la integración con los procedimientos de pruebas automatizados. (Alegsa, 2010)
PALABRAS CLAVE: Ensamblador, microcontrolador, Programming, reprogramable, serial.
2.2 Aspectos Generales
1 INTRODUCCIÓN
En lugar de retirar el chip de la placa de destino y luego colocarla en un dispositivo de programación, los microcontroladores actuales y los chips de memoria externos se pueden volver a programar sin ser retirados del circuito. (Kipp, 2010)
La Programación En sistema (ISP) permite la programación y reprogramación de microcontroladores colocados dentro de un sistema final deseado. La primera ventaja de esta característica es que les permite a los fabricantes de dispositivos electrónicos integrar la programación y las pruebas dentro de una única fase de producción, en lugar de tener que separar el momento de la programación del ensamblado del sistema.
2 DESARROLLO programación en Sistema (ISP) 2.1 La programación
Fig. 1 USB ISP
Permite a los fabricantes programar los chips en su propia línea de producción en lugar de tener que comprar chips pre programado, haciendo posible aplicar cambios de código o
Su desarrollo se suele hacer en un ordenador de sobremesa (PC), utilizando un lenguaje de alto nivel 1
MICROPROCESADORES Y MICROCONTROLADORES
como C o (Kipp, 2010)
lenguaje
ensamblador.
2. Un adaptador adapta dor de programación programació n que permite conectar la interfaz de programación a cualquier puerto estándar disponibles en el PC, como USB, RS-232, puerto de impresora, etc. 3. Una interfaz de programación especial como SPI (Interfaz de programación de serie), JTAG (JTAG) etc.
Después de que el binario ejecutable ha sido creado por las herramientas de desarrollo transversales, este binario necesita ser cargado. (Kipp, 2010) En la mayoría de los casos va a ir a algún tipo de memoria no volátil, lo que requiere procedimientos de programación específicos. (Kipp, 2010)
Los tres requisitos se deben cumplir de alguna manera, pero hay una gran variedad de implementaciones del mundo real. Por ejemplo, el adaptador de programación puede estar integrado en la placa de destino. En ese caso, por ejemplo, un cable USB se puede utilizar para conectar directamente el PC a la placa de destino. (Kipp, 2010)
2.2 Ventajas
Producción eficiente - Prototipo y hardware final pueden fabricarse antes de finalizar la configuración del dispositivo. Eficiente de depuración y pruebas - los dispositivos de prueba y programas 'incircuit' a través de la Prueba de Acceso a puerto JTAG. (XJTAG, 2015) El uso de JTAG para programar dispositivos 'en el sistema de' elimina la necesidad de comprar costosos programadores y dispositivos socketed. Bajo riesgo de daño debido a una manipulación reducida - Dispositivos son soldados de una vez programados o volver a programar a bordo. (XJTAG, 2015) Actualizaciones de campo simples Software / firmware se puede actualizar el sitio a través de la programación JTAG, el ahorro de costes en tiempo. (XJTAG, 2015)
Fig. 2 Programadores ISP
2.3 Arduino como un ISP AVR (InSystem Programming)
2.3 Programación Para la programación en el sistema se necesitan los siguientes elementos:
Es necesario seguir estos pasos: o
1. Una herramienta de software que se ejecuta en el equipo de escritorio, que es capaz de controlar la interfaz de programación a través de cualquier puerto estándar.
o
2
Abra la Arduino ISP firmware (en los ejemplos) a tu placa Arduino. Seleccione los elementos de la Herramientas> Junta y del puerto serie menús que corresponden a la junta que
MICROPROCESADORES Y MICROCONTROLADORES
o o
o
o
está utilizando como el programador (no la junta está programando). programando). Sube el Arduino ISP boceto. Cablear su placa Arduino a la meta como se muestra en el siguiente diagrama. (Nota para el Arduino Uno: tendrás que añadir un condensador de 10 uF entre cero y suelo.) Seleccione el elemento de la Herramientas> Junta menú que corresponde a la junta en la que desea grabar el gestor de arranque (no la junta que está utilizando como el programador). Consulte las descripciones de mesa en la página de medio ambiente para los detalles. Usa el gestor de arranque Burn> Arduino como ISP comandos. (Arduino, 2015)
La programación es muy lento y la depuración JTAG es poco fiable debido a la política de Atmel de mantener información sobre AVR depuración de un secreto . (Kipp, 2010)
2.5 Conectores ISP El esquema de abajo muestra los dos tipos de conectores ISP estándar de 10 y 6 pines, como el de Arduino. Como sugiere la nomenclatura de los pines del conector, se utiliza la comunicación SPI en la que el microcontrolador es esclavo mientras se está grabando el programa en él. Como es lógico, a la hora de diseñar el circuito debe tenerse en cuenta que será programado en sistema y que utilizará este tipo de comunicaciones para evitar incompatibilidades con el resto del montaje. (Ventura, 2014)
Fig. 3 Arduino ISP
2.4 AVR In-System Programming Fig. 4 Conector ISP de 10 pines
Hay una serie de formas de programar la memoria flash interna de los microcontroladores AVR: ISP, a veces llamado SPI, porque se basa en la interfaz periférica serial. JTAG programación está disponible en los dispositivos más grandes como una alternativa a la ISP. DebugWIRE se utiliza en muchos dispositivos con baja cantidad de pines. PDI se puede encontrar en los nuevos chips XMEGA.
Fig. 5 Conector ISP de 6 pines
3
MICROPROCESADORES Y MICROCONTROLADORES
3 CONCLUSIONES
http://www1.frm.utn.edu.ar/arquitectura/un idad3.pdf Ventura, V. (2014). Polaridad. (2014). Polaridad.es es.. Obtenido de http://www.polaridad.es/programacionarduino-isp-sistema/ XJTAG. (2015). XJTAG (2015). XJTAG.. Obtenido de http://www.xjtag.com/support-jtag/jtaginsystem-programming.php
La programación en sistema ISP es de mucha utilidad cuando se necesita muchas iteraciones de reprogramación en la etapa final. La ISP permite la posibilidad de actualizar y mejorar el programa del microcontrolador cuando los componentes ya están soldados en la placa y el sistema ya está en funcionamiento. Con la programación en sistema se ahorra tiempo además de aumentar la vida útil del microcontrolador ya que no requiere de ninguna manipulación del dispositivo. Para la programación en sistemas existen dos tipos de conectores los de 10 pines y los de 6 pines.
4 RECOMENDACIONES
Utilizar el ISP para reprogramar un sistema bajo prueba, por ejemplo, adición o eliminación de instrucciones de puntos de ruptura.
5 BIBLIOGRAFÍA Alegsa, L. (14 de Noviembre de 2010). ALEGSA.COM ALEGSA.COM . Obtenido de ALEGSA.COM: http://www.alegsa.com.ar/Dic/programacio n%20in-system.php Arduino. (2015). Arduino (2015). Arduino.. Obtenido de http://www.arduino.cc/en/pmwiki.php?n=T utorial/ArduinoISP Kipp, H. (2010). Ethernut (2010). Ethernut . Obtenido de http://www.ethernut.de/en/imprint.html Tocci, R. J. (2007). Sistemas Digitales, Principios y Aplicaciones Aplicaciones (Vol. (Vol. 10 edicion). Mexico: Prentice Hall. UTN. (2010). Arquitect (2010). Arquitectura ura de computadores:Universidad Tecnológica nacional. Obtenido nacional. Obtenido de
4