Cintillo Institucional
Diferencias entre las revisiones 53 y 54
Versión 53 con fecha 2010-01-19 15:05:32
Tamaño: 17830
Editor: anónimo
Comentario:
Versión 54 con fecha 2010-01-19 15:09:34
Tamaño: 17853
Editor: anónimo
Comentario:
Los textos eliminados se marcan así. Los textos añadidos se marcan así.
Línea 134: Línea 134:
Proyecto. C

Esto es el archivo C que contiene el código para el proyecto. Desde que programas de microcontroller son típicamente muy pequeños, todo el código que debemos escribir es contenido normalmente en uno. archivo C. Utilizamos normalmente otras funciones del archivo C en el #avrlib, pero éstos son ligados en cuando compilamos el código. Por convención, el nombre de este archivo (menos el extensión C) es el mismo nombre como la guía en la que es contenido, es decir botón.C está en la guía de botón - esto es el "nombre" del proyecto. Si usted quiere crear su propio proyecto basado en uno de las avrlib-demostraciones, usted debe copiar la guía, cambiar su nombre, y cambiar el nombre del correspondiente archivo C. Usted deberá cambiar el nombre de objetivo en el makefile también .

Global.H
=== Proyecto. C ===

Esto es el archivo C que contiene el código para el proyecto. Desde que programas de microcontroller son típicamente muy pequeños, todo el código que debemos escribir es contenido normalmente en uno. archivo C. Utilizamos normalmente otras funciones del archivo C en el #avrlib, pero éstos son ligados en cuando compilamos el código. Por convención, el nombre de este archivo (menos el extensión C) es el mismo nombre como la guía en la que es contenido, es decir botón.C está en la guía de botón - esto es el "nombre" del proyecto. Si usted quiere crear su propio proyecto basado en uno de las avrlib-demostraciones, usted debe copiar la guía, cambiar su nombre, y cambiar el nombre del correspondiente archivo C. Usted deberá cambiar el nombre de objetivo en el makefile también.

=== Global.H ===
Línea 142: Línea 142:
Makefile === Makefile ===

wiki comunidad

Proyecto Hardware Libre Cenditel

Página Cenditel

wiki Cenditel

Plataforma de Desarrollo Colaborativo

Seminario AVR

constr.jpeg

Introducción Microcontroladores AVR

Este seminario surge como estratégia de para conocer, explorar y avanzar en lo referente a la plataforma de microcontroladores AVR,

La información la hemos estructurado de la siguiente manera: comenzando con una pequeñas referencias a microcontroladores, microcontroladoresAVR, programas a utilizar, algunas práticas, referencias.

Microcontroladores

Son circuitos integrados programables que contienen todos los componentes de un computador. Se emplea para controlar el funcionamiento de una tarea determinada y, debido a su reducido tamaño, suele ir incorporado en el propio dispositivo al que gobierna. Las principales partes de un microcontrolador son:

  • Procesador
  • Memoria no volátil para contener el programa
  • Memoria de lectura y escritura para guardar los datos
  • Línea de E/S para los controladores de periféricos

Microcontroladores AVR

Los microprocesadores AVR las siguientes ventajas:

  • Los espacios de memoria FLASH y SRAM no están segmentados en paginas como en los PIC
  • La serie ATmega posee un oscilador interno que hace opcional el uso de un cristal externo
  • El costo de los AVR es menor comparado a los PIC
  • Existen muchos IDE para desarrollo de programas para AVR’s como AVR Studio, con diferentes compiladores desde ASM, C, C++ o BASIC.
  • En el AVR casi todos utilizan AVR-GCC, una versión específica de GCC para el microcontrolador AVR ya que existen muchas cosas buenas acerca de ella, en primer lugar es completamente gratuito y funciona para Mac, Linux, Windows en una distribución de Niza. En segundo lugar es "real" C, que es bueno cuando se requiere hacer cosas como libs estándar, incluye, la vinculación, los sindicatos, estructuras, y los punteros. También significa que el código es compatible.
  • Su interfase de programación ISP es simple y se puede implementar diferentes puertos del PC.
  • AVRfreaks tiene un sitio web ofrecido completo con los foros,Proyectos, archivos, RSS, etc

Programas a utilizar

Eclipse

AVR-Studio

AVR-Bascom

AVR plugin de Eclipse 2.3Complemento multiplataforma, diseñado para trabajar con aplicaciones de la serie Atmel AVR, integra la herramienta AVR gcc de eclipse haciendo mas sencillo su manejo por el parte del desarrollador.

Entorno de desarrollo integrado, gratuito, diseñado para escribir y depurar aplicaciones AVR en ambiente Window

Compilador de BASIC para AVR, diseñado para entorno window

Herramientas a utilizar

AVR Dragon

dragon.jpg Es un nuevo estándar en instrumentos de desarrollo de bajo costo. Apoya todos tipos de la programación para la familia de dispositivo de AVR. También incluye apoyo completo de emulación para dispositivos con 32kB o memoria menos Rápida.

El Dragón de AVR cumplirá todas sus necesidades de la programación y la emulación. La característica flexible y segura de la actualización de la micro-instrucción permite Estudio de AVR para actualizar fácilmente el Dragón de AVR para apoyar nuevos dispositivos.

Características:

Trabaja bajo múltiples plataformas. Linux, Mac sistema operativo X y Windows son probados.

No son necesarios componentes especiales de controladores ni smd.

Es posible programar a velocidad de hasta 5kBytes/sec.

Opción de SCK para apoyar objetivos con velocidad de reloj baja (<1,5MHz).

El Dragón de AVR puede ser utilizado con una tabla externa de objetivo. Sin embargo, el área en la placa madre de prototipo,permite la programación y la depuración sencillas sin algún hardware adicional.

El Dragón de AVR es enchufado por el cable USB, y por tarjeta externa con hasta 300mA (del conector de VCC)

El Dragón de AVR es completamente apoyado por AVR studio. Esto permite la micro-instrucción de Dragón de AVR para ser actualizada fácilmente apoyar nuevos dispositivos y los protocolos. Al conectar el Dragón de AVR, Estudio de AVR verificará automáticamente la micro-instrucción e incitará al usuario si una micro-instrucción actualizada está disponible.



AVR-PROG Programador USB

avrprog.jpg

AVR-PROG es un programador USB, tipo “Pen-Drive” de Alta Velocidad, diseñado para programar micros AVR, en cualquiera de sus modelos, desde la serie “90Sxxxx” hasta los nuevos “Xmegaxxxx” dado que todos ellos poseen un puerto ISP (In-Circuit) de 4 pines.

AVR-PROG posee un Software Actualizable desde Internet, denominado sinaprog, el cual es una Interfaz Gráfica del popular AVRDUDE, con el cual programaremos cualquier modelo de microcontroladores AVR de ATMEL.

Los microControladores AVR de ATMEL, han venido ganando terreno en popularidad a nivel mundial ya que su arquitectura de programación están basados en Software Libre, existen en Internet, cantidad de proyectos e información y programas con Licencia Libre, por lo que, muchas personas recurren a cualquier versión de Linux, como UBUNTU, para desarrollar aplicaciones de automatización y control Web de una forma mas versátil.

Debido a la Alta Velocidad de Operación (Los AVR NO dividen Frecuencia) y un sin número herramientas, sistemas de desarrollo y modelos de microcontroladores AVR disponibles a precios asequibles, estos se convierten en una opción muy interesante a la hora de desarrollar sistemas y aplicaciones de alto desempeño y performance.



Programador UNET

circuit.jpgDesarrollo como parte de trabajo de tesis del bachiller Daniel Armando García Molina en el periodo 20-04-2009 / 07-08-2009

Este circuito diseñado como parte de un proyecto de ingeniería para medición de Flujo Vehicular. Utilizo un micro controlador ATMEGA16, este dispositivo se programo para recibir la señal proveniente del circuito oscilador, y realizar un conteo de la frecuencia (pulsos) que presente la señal en un tiempo determinado y de la misma forma también se programo para realizar la trasmisión serial de los datos, para que de esta forma pueda tener comunicación con otros dispositivos cuando se requiera.

Para recibir la señal se utilizo el pin 16 del microcontrolador (PD2/INT0), el pin 9 (RESET) se conecto a 5 V por medio de in interruptor que permite conmutar este pin a tierra y de esta forma reiniciar el dispositivo, el pin 14 (PDO/RXD) y el pin 15 (PD1/TXD), van conectado al circuito de transmisión serial (MAX32) y son los que permiten dicha función.

Como complemento de esta etapa de procesamiento de la señal se encuentra el circuito de transmisión serial, En la figura 18, se puede observar que el módulo permite la programación y comunicación serial con el computador que se conecta a través del conector DB9 identificado como “TRANS SERIAL”, este tiene como componente central el integrado MAX 232 identificado como U8, este integrado transforma señales del estándar TTL al estándar RS232 y necesita a los condensadores C1,C2,C3,C4, de 10pf cada uno, para funcionar correctamente, el pin 3 del puerto serial identificado como TxD envía los datos serialmente al pin 8 del MAX232, este integrado transforma los datos que entran bajo el estándar RS232 y los envía con niveles de voltaje TTL, por el pin 7 del integrado, al pin 2 del conector TRANS SERIAL (RXD), el pin 9 del Max32 va conectado al pin 15 del micro(TDX), y el pin 10 del MAX32 va al pin 14 del micro (RDX). El conector TRANS SERIAL de la tarjeta programación y comunicaciones es de tipo macho, y se acopla para que de esta forma lleve los datos seriales conectados a los pines correspondientes del microcontrolador.



Como cargar un programa

1. En primer lugar debemos dar inicio a AVGSTUDIO4.

2. En la ventana correspondiente al asistente del programa hacemos clic en el botón:OPEN.

3. Una vez desplegada la ventana de exploración, seleccionamos el programa que deseamos cargar.

4. Hacemos clic en la opción ASSEMBLER, y verificamos que no existan errores de sintaxis.

5. Nos dirigimos al escritorio y ubicamos la carpeta de SinaProg.

6. Hacemos doble clic en el icono del programa.

7. En la opción de búsqueda ubicamos el código del programa que vamos a cargar, luego hacemos clic en PROGRAM.

8. Verificamos en el circuito que el programa corre de la forma esperada

Compilaciones y Depuraciones

Compilador avr-gcc

Este compilador es compatible con ANSI C, por el cual se genera código además posee la librería avr-libc y adicionalmente es software libre.

Prácticas

Hola mundo/microcontrolador

Secuencia de Leds

Comunicación puerto Serial

Manejo de E/S analógicas

Manejo de pantalla LCD



Librería AVR-Libc

avrprog.jpg El avrlib es una biblioteca de fácil uso con funciones de C para una variedad de tareas en el microcontroller de AVR. Da funciones de alto nivel para lograr tareas que de otro modo quizás sea tedioso programar. Estos incluyen comunicación de serie, analógico a la conversión digital, demostrando texto en presentaciones de LCD y comunicando a una gama entera de otros dispositivos, las unidades de GPS, dispositivos de Ethernet y sensores. El avrlib es distribuido bajo un GNU de Licencia Pública. En CCRMA, nosotros hacemos unas pocas modificaciones leves al avrlib original.

Las avrlib-demostraciones son un conjunto de proyectos de desarrollo AVR desarrollado en CCRMA, basado en el código de alguno de los ejemplos de Pascal Stang en el avrlib. Cada proyecto en las avrlib-demostraciones contiene por lo menos 3 archivos:

Proyecto. C

Esto es el archivo C que contiene el código para el proyecto. Desde que programas de microcontroller son típicamente muy pequeños, todo el código que debemos escribir es contenido normalmente en uno. archivo C. Utilizamos normalmente otras funciones del archivo C en el #avrlib, pero éstos son ligados en cuando compilamos el código. Por convención, el nombre de este archivo (menos el extensión C) es el mismo nombre como la guía en la que es contenido, es decir botón.C está en la guía de botón - esto es el "nombre" del proyecto. Si usted quiere crear su propio proyecto basado en uno de las avrlib-demostraciones, usted debe copiar la guía, cambiar su nombre, y cambiar el nombre del correspondiente archivo C. Usted deberá cambiar el nombre de objetivo en el makefile también.

Global.H

El archivo global.H es requerido por el #avrlib. En la mayoría de los casos, define simplemente la velocidad de reloj del microcontroller de AVR que usted utiliza. La filosofía general del #avrlib es que la biblioteca debe quedarse de uso general, y capaz de apoyar una gama de proyectos para el microcontrollers y el hardware diferentes sin modificación. Así, desde que usted puede tener proyectos diferentes en su computadora para dispositivos diferentes de AVR en velocidades diferentes de reloj, hay una global.H en cada guía de proyecto.

Makefile

Este archivo contiene ajustes proyecto-específicos para compilar y descargar su código al microcontroller. El makefile es leído por un programa llamada marca que está un tipo de redactar el idioma utilizó comúnmente para engendrar instrucciones de compilación. El makefile en cada proyecto contiene ajustes que son pasados a un makefile global llamaron avrccrma_make que reside en la guía de la avrlib/marca. Las 2 la mayoría de las cosas comunes que usted puede necesitar para modificar en el makefile son el nombre de objetivo del. archivo C que usted compila y la lista de avrlib. archivos C que usted utiliza. Vea el tutorial en programas de escribir C para el AVR para más información. Compilaciones y Depuraciones Compilador avr-gcc Avr-gcc es un compilador que engendra código de byte de AVR de los archivos C que usted compila. Nosotros no invocamos avr-gcc directamente, más bien es llamado del makefile. A fines de una compilación exitosa, el compilador engendrará un archivo de mal de ojo que debe ser cargado en el microcontroller.



Instalación de Herramientas

Tomado de nongnu.org

Herramientas requeridas

Herramientas Opcionales

You can develop programs for AVR devices without the following tools. They may or may not be of use for you.



Vocabulario/Referencia


Tipos de Memorias


tomado de wikipedia Al realizar algunas referencias sobre microcontroladores se nos presentan términos sobre tipos de memorias, por ello, se han organizado algunos términos sobre tipos de memoria, se clasificarán en tres categorías en función de las operaciones que podemos realizar sobre ellas, es decir, memorias de sólo lectura, memorias de sobre todo lectura y memorias de lectura/escritura.

Memorias de sólo lectura.

ROM: (Read Only Memory): Se usan principalmente en microprogramación de sistemas. Los fabricantes las suelen emplear cuando producen componentes de forma masiva.
PROM: (Programmable Read Only Memory): El proceso de escritura es electrónico. Se puede grabar posteriormente a la fabricación del chip, a diferencia de las anteriores que se graba durante la fabricación. Permite una única grabación y es más cara que la ROM.

Memorias de sobre todo lectura.

EPROM (Erasable Programmable Read Only Memory): Se puede escribir varias veces de forma eléctrica, sin embargo, el borrado de los contenidos no es completo y a través de la exposición a rayos ultravioletas (de esto que suelen tener una pequeña ‘ventanita’ en el chip).
EEPROM (Electrically Erasable Programmable Read Only Memory): Se puede borrar selectivamente byte a byte con corriente eléctrica. Es más cara que la EPROM.
Memoria flash: Está basada en las memorias EEPROM pero permite el borrado bloque a bloque y es más barata y densa.

Memorias de Lectura/Escritura (RAM)

DRAM (Dynamic Random Access Memory): Los datos se almacenan como en la carga de un condensador. Tiende a descargarse y, por lo tanto, es necesario un proceso de refresco periódico. Son más simples y baratas que las SRAM.
SRAM (Static Random Access Memory): Los datos se almacenan formando biestables, por lo que no requiere refresco. Igual que DRAM es volátil. Son más rápidas que las DRAM y más caras.


Enlaces importantes

Documentos en estudo

Planificación

Planificación Seminarios

Descripción

Responsable

Entrega

Avr-Libc

Carlos Soto

Marzo 2009

Dragon

Ronal Celaya

Febrero 2009

Programador UNET

Giancarlos Colasante

Febrero 2009

Plataforma Linux (USBasp)

Carlos Soto

Febrero 2009

Ejemplos

Carlos Soto

Mayo 2009

Documentación

Mariafernanda Pinto

Mayo 2009

avr (última edición 2011-03-26 01:38:14 efectuada por jpelayo)