Materia:
Sistemas de Microprocesadores
Tema:
Proyecto Microprocesador
Integrantes:
Curso:
ATMEL AT90S2313-10. Elaboración de una Báscula electrónica. Paul Daza Andrea Del Pozo Cristhian Cevallos
Séptimo Ciclo
INDICE
1. INTRODUCCIÓN 1.1. INTRODUCCIÓN: OBJETIVOS. 1.2. INTRODUCCIÓN: Marco Teórico 1.2.1. Historia del Microprocesador 1.2.2. Descripción del Microprocesador ATMEL AT90S2313-10 2. PARTE HARDWARE 2.1. DISEÑO DEL CIRCUITO 2.1.1. Diagrama esquemático del Circuito 2.1.2. Diagrama de Bloques 2.1.3. Materiales para implementación 2.1.4 Construcción de la Báscula 3.-PARTE SOFTWARE 3.1. Descripción del Software 3.2. Diagrama de Flujo 4. PRUEBAS Y RESULTADOS 4.1. PRUEBAS CON SIMULACIÓN 5. CONCLUSIONES 6. BIBLIOGRAFÍA 7. ANEXOS 7.1. DATASHEETS
1. INTRODUCCIÓN
1.1. INTRODUCCIÓN: OBJETIVOS.
Adquirir conocimientos sobre el Microprocesador ATMEL AT90S2313-10 y realizar por medio de él diferentes implementaciones y simulaciones. Elaborar una báscula que tenga la capacidad de medir objetos de hasta 100 gramos demostrando mediante expresiones matemáticas la precisión de la medición y a su vez mostrando la salida mediante un display.
1.2. INTRODUCCIÓN: Marco Teórico 1.2.1. Historia del Microprocesador El procesador es un circuito electrónico que actúa como unidad central de proceso de un ordenador, en ingl és CPU “Central Processin Unit”. Es el encargado de proporcionar las operaciones de cálculo, como un cerebro que organiza, da órdenes y envía información al resto del cuerpo. Los microprocesadores se utilizan, sobretodo, en ordenadores pero también en otros sistemas informáticos avanzados, como impresoras, automóviles o aviones. En sus inicios el tamaño del procesador era el de un armario y después fue perdiendo en dimensiones. De armario pasó a una caja grande y más tarde a 15 por 15 pulgadas (menos de medio metro cuadrado). Eran procesadores para grandes máquinas nada que ver con los ordenadores de sobremesa o portátiles a los que estamos tan acostumbrados. Para fabricar los ordenadores personales hacía falta un procesador mucho más pequeño, el microprocesador: es un circuito sumamente integrado, es decir un microchip. El microchip es un circuito electrónico complejo cuyos componentes son diminutos y forman una sola pieza plana muy fina y semiconductora. El tamaño del que hablamos es sumamente pequeño, el microprocesador podría equipararse a un sello postal y los transistores de sus circuitos no alcanzan ni la décima parte de un cabello humano.
Con estas dimensiones una simple mota de polvo puede colapsar el sistema. Hay que entender también que al trabajar a esta escala supone que un pequeño avance en reducción del tamaño es un cambio enorme en la velocidad de la máquina. Si el recorrido que deben hacer los bits (unidad mínima de información, 1 o 0. Se envía a través del bus de datos en paquetes) se reduce, aminora también el tiempo que se tarda en recibir la información. Si multiplicamos esa diferencia por los millones de “viajes” que se hacen en u n segundo el
resultado es que el usuario espera mucho menos tiempo a que se ejecute la tarea ordenada.
El microprocesador está compuesto por:
Resistencias Diodos Condensadores Conexiones Millones de transistores
Secciones del microprocesador:
ALU: unidad aritmético-lógica que hace cálculos con números y toma decisiones lógicas. Registros: zonas de memoria especiales para almacenar información temporalmente. Unidad de control: descodifica los programas. Bus: transportan información digital (en bits) a través del chip y de l a computadora. Memoria local: utilizada para los cómputos efectuados en el mismo chip. Memoria cache: memoria especializada que sirve para acelerar el acceso a los dispositivos externos de almacenamiento de datos.
El ordenador posee un cristal oscilante que proporciona una señal de sincronización. Esta señal es la que coordina todas las actividades del microprocesador y es más conocida como señal de reloj. La velocidad de reloj se mide en MHz, a lo largo de la historia de los microprocesadores iremos viendo como la velocidad de esta señal aumenta y nos permite ejecutar millones de instrucciones por segundo.
El primer microprocesador Según muchos Intel Inside creó el primer microprocesador de la historia (para otros el mérito es de Texas Instruments) pero además se ha mantenido en primera fila desde el inicio hasta nuestros días. Su poder en el mercado es tal que se le ha acusado de monopolio y no hay señal de que sus cuotas puedan reducirse sustancialmente. Si hablamos de PC prácticamente siempre nos referimos a su procesador por el modelo de Intel. Incluso en los 90, cuando aparecía la familia Pentium en microprocesadores, era frecuente referirse a Pentium como modelo de ordenador. Por esta razón la historia de Intel y la de los microprocesadores van tan de la mano que es casi imposible separarlas. En el año 1971 una empresa japonesa, Busicom, tenía un proyecto para una nueva calculadora. Ted Hoff, ingeniero de Intel, diseñó un chip (circuito integrado) con una memoria capaz de hacer varias acciones. Con 4 chips como este y dos chips más de memoria se diseñó el primer microprocesador de Intel, el 4004. Antes de crear el microprocesador hacía falta un chip para cada parte de la calculadora, con el 4004 todas las funciones estaban integradas en un solo circuito. Este microprocesador contenía 2.300 transistores y transmitía con un bus de 4 bits. El 4004 podía realizar 60.000 operaciones por segundo, una miseria para nuestros días, todo un logro en los años 70. El siguiente paso de Intel fue en 1974. Creó el 8080, un microprocesador con 4.500 transistores, un bus de 8 bits y capaz de ejecutar 200.000 instrucciones por segundo. El gran éxito de la empresa llegó con el 8088 y el 8086, microprocesadores que IBM utilizaría para su primer ordenador personal. Debido a la buena respuesta de los consumidores por este ordenador se convirtió en un estándar y, en consecuencia, también sería un estándar el microprocesador de Intel. Muchas empresas lo utilizarían para sus nuevos ordenadores e incluso fabricantes de hardware clonarían a Intel. Los siguientes productos de Intel Inside fueron siempre compatibles con sus predecesores así como los microprocesadores de otros fabricantes. Empresas como IBM, AMD o Apple se han dedicado también a fabricar microprocesadores pero estos son compatibles a nivel ensamblador con el juego de instrucciones Intel, de manera que no todos los PCs tienen que ser obligatoriamente “Intel Inside”.
Durante los primeros años de la historia de los microprocesadores las aportaciones de otras empresas eran pocas, en la mayoría de los casos lo que se fabricaba eran clones de los productos de Intel. AMD, por ejemplo, entró fuerte en el mercado cuando la contrató IBM como segundo fabricante de sus microprocesadores.
Según la política interna del gigante azul debía tener dos fabricantes y no solo Intel. Las tres empresas trabajaron en conjunto hasta que Intel decide rescindir el contrato e ir por su cuenta, a partir de ese momento ya no comparte información ni códigos con AMD que la demanda por incumplimiento de contrato. A pesar de ganar la batalla contra Intel, AMD empieza a crear sus propios modelos ya que se da cuenta de que creando clones de Intel siempre estará por detrás de la gran empresa. Hasta el momento Intel ha cumplido siempre con la Ley de Moore. Gordon Moore era miembro cofundador de Intel y en 1965 formuló la ley empírica conocida como Ley de Moore. Según la ley los microprocesadores duplicarán su número de transistores en aproximadamente año y medio. En consecuencia el ordenador baja de precio rápidamente pero también queda obsoleto en cuestión de dos años. Es una ventaja para el consumidor en tanto que pronto dispone de mayor tecnología y una desventaja porque para estar al día debe invertir mucho capital.
1.2.2. Descripción del Microprocesador ATMEL AT90S2313-10
Microprocesador ATMEL AT90S2313-10 El ATMEL AT90S2313-10 consume baja potencia y posee un gran desempeño, tiene 2kbytes de memoria FLASH interna programable. El dispositivo está manufacturado usando una tecnología de alta densidad de memoria no volátil. Posee 128 bytes de memoria RAM y 128 bytes de memoria EEPROM. La memoria FLASH interna puede ser reprogramada por el mismo sistema o por cualquier programador estándar de memorias de otras compañías. Combinando una CPU versátil de 8 bits con la memoria FLASH interna, el AT90S2313 es un poderoso microcontrolador que provee soluciones de alta flexibilidad y bajo costo para cualquier aplicación de control embebido. El AT90S2313 provee los siguientes estándares: 2K bytes de memoria FLASH, 15 líneas de entrada salida I/O programables, función “perro guardián”, apuntadores de datos, un
contador/temporizador de 16 bits, otro más de 8 bits, una arquitectura de interrupciones de seis vectores dos niveles, un puerto serial Full Duplex, oscilador interno, y circuito de reloj.
Además el AT90S2313 está diseñado con lógica estática para operar en dos modos de operación elegibles. El modo IDLE detiene el CPU mientras permite a la RAM, a los contadores/temporizadores, al puerto serial y al sistema de interrupciones, continuar con su funcionamiento. El modo de “descanso” guarda el contenido de la RAM y deshabilita todas las demás funciones del chip hasta que se presente una interrupción o se reseteé la unidad.
Características:
Emplea arquitectura RISC 32 x 8 registros generales 2K Bytes de In-System Programmable (ISP) Flash Memory 128 bytes de SRAM 128 bytes de EEPROM programable Duración: 1000 ciclos de Lectura/Escritura Rango de operación de 4.0V a 6V. Operación de 0 Hz a 10 MHz Tres niveles de protección de la Memoria Comparador Análogo Interno Tecnología de proceso CMOS de alta velocidad y bajo consumo de potencia. Un contador/temporizador de 16 bits. Un contador/temporizador de 8 bits. Communicación Full Duplex UART Serial Modos de operación: Low-power Idle y Power-down. Reanudación de trabajo mediante interrupciones. 15 líneas de I/O programables. Tiempo de programación rápido. Programación ISP flexible
Diagrama de Función interna del Microprocesador
2. PARTE HARDWARE Para este proyecto propuesto se pone en consideración que se tendrá que considerar varios fenómenos físicos con fundamentaciones matemáticas como el efecto piezoeléctrico que es dado por una galga extensiométrica o extensómetro que es un sensor, para medir la deformación, presión, carga, torque, posición, entre otras cosas, que está basado en el efecto piezorresistivo, el cual es la propiedad que tienen ciertos materiales de cambiar el valor nominal de su resistencia cuando se le someten a ciertos esfuerzos y se deforman en dirección de los ejes mecánicos. Un esfuerzo que deforma a la galga producirá una variación en su resistencia eléctrica, esta variación puede ser por el cambio de longitud, el cambio originado en la sección o el cambio generado en la resistividad.
EFECTO PIEZOELÉCTRICO: Es el voltaje producido entre las superficies de un sólido dieléctrico cuando se le aplica un stress mecánico. También se produce una pequeña corriente. El efecto, descubierto por Pierre Curie en 1883, es exhibido por ciertos cristales, como el cuarzo y la sal de a Rochelle y materiales cerámicos. Cuando se aplica un voltaje a través de ciertas superficies de un sólido que tiene efecto piezoeléctrico, el sólido experimenta una deformación mecánica y también sucede lo contrario, cuando se aplica un stress a ciertas superficies, se genera una corriente. Los materiales piezoeléctricos se emplean, por ejemplo, como transductores para micrófonos y calibradores de tensión que producen una salida eléctrica a partir de una entrada mecánica, o en audífonos y radiadores ultrasónicos, que producen una salida mecánica a partir de una entrada eléctrica. Los sólidos piezoeléctricos resuenan dentro de un rango estrechamente definido de frecuencias. Cuando son adecuadamente montados pueden ser usados en circuitos eléctricos como componentes de filtros altamente selectivos o como dispositivos de control de frecuencias para osciladores muy estables. Para comprobación de estos efectos físicos con fundamentaciones matemáticas proponemos la implementación de una báscula electrónica, la cual es detallada más adelante.
PUENTE DE WHEATSTONE: Para tratar la variación de voltaje se utiliza un puente de Wheatstone, que está formado por cuatro resistencias unidas en un círculo cerrado, siendo una de ellas la resistencia bajo medida. El puente de Wheatstone puede operar en corriente continua y alterna, permitiendo las medidas de diferentes resistencias. La sensibilidad de este elemento depende de cómo está compuesto. De esta manera se puede medir resistencias desconocidas mediante el equilibrio de los brazos del puente. Sin embargo, este método puede tener ciertos errores en su medición que se deben aspectos como:
Sensibilidad insuficiente. Los cambios en la temperatura afectan las resistencias y pueden generar cambios bruscos en los valores de las resistencias.
La forma más común para obtener una señal eléctrica como resultado de una medida utilizando el puente de Wheatstone es mediante el método de deflexión. Este método en vez de valorar el equilibrio del puente, lo que hace es medir la diferencia de tensión entre ambas ramas o la corriente a través de un detector colocado en el brazo central. Para poder utilizar el puente de Wheatstone con las galgas hay que tener ciertos aspectos en cuenta, como por ejemplo, el cableado del puente, muchas veces la galga y el puente no
se encuentran situados en un mismo lugar por lo tanto las resistencias y los cambios de temperatura de los cables pueden afectar los resultados arrojados, para evitar esto es necesario equilibrar y calibrar el puente, este procedimiento consiste en que no puede haber tensión a la salida del puente y debe hacerse la calibración adecuadamente comprobando que el puente de Wheatstone está arrojando correctamente los resultados.
Implementación Tema: Báscula Electrónica de 0 a 100 gramos
2.1. DISEÑO DEL CIRCUITO
2.1.1. Diagrama Esquemático de Circuitos
2.1.2. Diagrama de Bloques
2.1.3. Materiales para Implementación
Materiales 1.- Galga Extensiométrica 2.- Circuitos Integrados:
LM324 (4 amplificadores operacionales en un mismo encapsulado). LM3914 (voltímetro luminoso). AT90S2313 (Microprocesador de uso general de 8 bits). ADC0804 (Convertidor analógico/digital de 8 bits).
3.- Pantalla de LCD de 16x2 caracteres. 4.- Resistencias 5.- Capacitores
2.1.4. Construcción de la Báscula
3.-PARTE SOFTWARE
3.1. DESCRIPCION DEL SOFTWARE El código para programar al microcontrolador, por facilidad, se realizará en el lenguaje de alto nivel C, usando un compilador y traductor C – Ensamblador llamado CodeVision AVR, el cual incluye además una librería con funciones para el manejo de LCD con protocolo estándar. El programa compilador traduce las instrucciones que se han escrito en el lenguaje de alto nivel, a código binario ejecutable por el microcontrolador. CodeVisionAVR es un compilador desarrollado por Pavel Haiduc para los microcontroladores AVR de 8 bits, desde los tinyAVR hasta los XMEGA. Su principal ventaja es que provee librerías integradas para controlar sus periféricos internos y también dispositivos externos como LCDs, GLCDs, RTCs, sensores de temperatura, memorias SD, etc.
En este sentido se le podría comparar con los compiladores C de CCS o MikroChip para los PICmicro. CodeVisionAVR es el compilador C para los AVR más fácil de usar, sin embargo, no llega a igualar la eficiencia de los compiladores AVR IAR C o AVR GCC.
Pasos para usar el programa El primer paso para utilizar NXProg con Codevision consiste en la configuración del programa para que reconozca el hardware. Para ello, seleccione la opción Programmer del menú Settings, tal y como se muestra en la siguiente figura.
Configuración del NXProg en Codevision
Aparecerá una nueva ventana que permite seleccionar entre diferentes programadores. Escoja la opción "Atmel ST500/AVRISP". Recuerde que NXProg utiliza el protocolo de estos programadores. Elija asimismo el puerto que le fue asignado al programador al momento de conectarlo. Si no lo recuerda, siga el procedimiento descrito en la sección Driver.
Ventana de configuración
Programando el dispositivo Con Codevision ya configurado para que utilice NXPRog, se puede proceder a programar el dispositivo. Para esto, simplemente elija la opción Programmer del menú Tools, o presione el botón Programmer de la interfaz. Se abrirá la siguiente ventana.
Ventana de la herramienta de programación de Codevision
Seleccione el microcontrolador que desee programar y seleccione asimismo la frecuencia de la señal SCK.Esta frecuencia se debe modificar de acuerdo al cristal conectado al microcontrolador a programar. Si la frecuencia del cristal del microcontrolador es pequeña, o se está utilizando el cristal interno, se recomienda utilizar una frecuencia de SCK baja. Por el contrario, si se está utilizando un cristal de frecuencia alta (16 a 20 MHz), es posible utilizar la frecuencia máxima de programación. Esto tiene un efecto en el tiempo de programación.
Selección de la frecuencia SCK
Comandos de lectura El primer paso para saber si NXProg se encuentra correctamente conectado es verificar la firma del dispositivo (Chip signature). Esto se puede realizar a través del menú Read de la interfaz. Si Codevision muestra correctamente la referencia del microcontrolador, se puede proceder con las demás opciones. Entre los comandos de lectura se tienen los siguientes:
Lectura de Fusebits Lectura de Lockbits Lectura de byte de calibración Lectura de la Flash Lectura de la EEPROM
Menú de Lectura del Codevision Comandos de escritura (programación). Para programar el dispositivo, se accede al menú Program. Éste tiene las opciones de borrado de memoria Flash, verificación de borrado, programación de la Flash y de la EEPROM, así como la programación de los fuse y lockbits. Se recomienda siempre, antes de programar la Flash, realizar una etapa previa de borrado y verificación de borrado.
Menú de Escritura de Codevision
4. PRUEBAS Y RESULTADOS Limitaciones
El esfuerzo aplicado no debe llevar a la galga fuera del margen elástico o también llamado esfuerzo de fluencia. La deformación de la galga.
El incremento en la galga debe ser en la misma dirección al del soporte para evitar tensiones opuestas en lo que alineación de la galga se refiere, ya que mide en una sola dirección. La galga solo proporciona los datos del para las direcciones a las que la galga ha sido diseñada. Si se quiere medir en direcciones perpendiculares. se puede poner otra galga igual a 90° de la inicial, por lo tanto, una sola galga puede medir solamente una dirección
4.1. PRUEBAS CON SIMULACIÓN
5. CONCLUSIONES
6. BIBLIOGRAFÍA
Página de la empresa ATMEL: http://www.atmel.com Página de hojas de datos diversas: http://www.alldatasheet.com Pagina Wikipedia para conceptos generales: http://es.wikipedia.org/wiki/Galga_extensiom%C3%A9trica Manual de programación en CodeVision AVR: https://www.unidue.de/~hl271st/Lehre/SMR/cvavr_manual.pdf Pagina: http://naxus.jimdo.com/documentacion/programador-nxprog/codevision/
7. ANEXOS 7.1. DATASHEETS