1948 2013

download 1948 2013

of 120

Transcript of 1948 2013

  • 8/12/2019 1948 2013

    1/120

  • 8/12/2019 1948 2013

    2/120

    INSTITUTO POLITCNICO NACIONALESCUELA SUPERIOR DE INGENIERA MECNICA Y ELCTRICAUNIDAD TICOMN

    QUE PARA OBTENER EL TTULO DE:POR LA OPCIN DE TITULACIN:DEBER PRESENTAR:

    INGENIERO EN AERONUTICATESIS INDIVIDUALELC. PASANTE:CASTILLO HERNNDEZ HCTOR ADRIN

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DE LIBERTAD

    CAPTULO ICAPTULOCAPTULO IIlCAPITULO IVCAPTULO V

    DICETRODUCCINPLATAFORMA STEWARTLA U CHPAD MSP430 (SISTEMA DE DESARROLLO BASADO EMICROCONTROLADOR DE TEXAS INSTRUMENTS)PROGRAMACIN DEL MICROCONTROLADORSERVOACTUADORESDESARROLLO DE PROYECTO Y PRUE BASCO CLUSIONESANEXOSGLOSARIO

    Mxico, DF. a 15 de octubre de 2013.

    SESORES

    VALLEZAMA

    l P NESCUEL. 4 SvPERIOil DEINGEN

  • 8/12/2019 1948 2013

    3/120

    AGRADECIMIENTO.

    A mis padres y hermanos por haberme ayudado en conseguir esta meta, y por

    darme el apoyo cuando ms lo necesitaba.

    A mi asesor el M. en C. Jorge Sandoval por haberme mostrado uno de los caminos

    para lograr este gran ob jetivo.

    Y a todas aquellas personas que estuvieron involucrados directa o ind irectamente.

    GRACIAS.

  • 8/12/2019 1948 2013

    4/120

    INDICE

    INTRODUCCIN

    PLANTEAMIENTO DEL PROBLEMA

    OBJETIVO

    ALCANCE

    JUSTIFICACION

    CAPTULO 1. PLATAFORMA STEWART

    1.1 ANTECEDENTES LOS INICIOS DE LA PLATAFORMA STEWART 1

    1.2. TIPOS DE PLATAFORMA STEWART. 2

    1.3 APLICACIONES 5

    1.4 PRINCIPALES CARCTERISTICAS (VENTAJAS Y DESVENTAJAS) 8

    CAPTULO 2. LAUNCHPAD MSP-EXP430G2

    2.1 SISTEMAS DE DESARROLLO BASADO EN MICROCONTROLADORES 10

    2.2 MICROCONTROLADOR 11

    2.3 MICROCONTROLADOR TEXAS INSTRUMENTS (MSP430) 12

    2.4 LAUNCH PAD MSP-EXP430G2. 13

    2.4.1 MICROCONTROLADOR FAMILIA MSP430x2xx. 14

    2.5 ARQUITECTURA DELA FAMILIA MSP430 DE TEXAS INSTRUMENTS 17

    2.5.1 UNIDAD CENTRAL DE PROCESAMIENTO 17

    2.5.2 REGISTROS DEL MICROCONTROLADOR 18

    2.6 LOS PERIFRICOS. 21

  • 8/12/2019 1948 2013

    5/120

    2.7 SISTEMA DE RELOJ. 22

    2.8 CIRCUITO BROWNOUT 23

    2.9 ENTRADAS Y SALIDAS DIGITALES 23

    2.10 TEMPORIZADOR DEL PERRO GUARDIN WATCHDOG TIMER(WDT+). 25

    2.11 TIMERS 26

    2.11.1 MODOS DE TEMPORIZADOR TIMER_A 26

    2.11.2 REGISTROS TIMER_A. 27

    2.11.3 MODO CAPTURA-COMPARA 29

    2.12 INTERRUPCIONES 29

    2.13 MODOS DE OPERACIN DE CONSUMO DEL MICROCONTROLADOR 31

    CAPITULO 3. PROGRAMACION DEL MICROCONTROLADOR

    3.1 SOFTWARE Y LENGUAJES DE PROGRAMACIN. 32

    3.1.1CARACTERSTICAS: 34

    3.2 LENGUAJE EN C 37

    3.3 EL LENGUAJE ENSAMBLADOR 38

    3.4 ENTORNOS DE PROGRAMACION CON LA FAMILIA MSP430 DE TEXAS

    INSTRUMENTS39

    3.5 EL CODE COMPOSER STUDIO (CCS) PARA MSP430 40

    3.6 COMO CREAR UN PROYECTO CON CODE COMPOSER STUDIO 43

    CAPITULO 4. SERVOACTUADORES

    4.1 CONCEPTO Y DEFINICION DE SERVOACTUADOR 47

    4.2 CARACTERSTICAS Y ARQUITECTURA DE SERVOACTUADOR 47

  • 8/12/2019 1948 2013

    6/120

    4.3 SERVOACTUADOR DE MODELISMO 48

    4.4 FUNCION DE TRANSFERENCIA DE SERVOS DE MODELISMO 52

    4.5 SISTEMAS DE LAZO ABIERTO 54

    4.6 CONTROL BASICO DE LAZO CERRADO 55

    4.7 TIPOS DE SEALES 57

    4.8 MODULACI N POR PULSOS 62

    CAPITULO 5. DESARROLLO DE PROYECTO Y PRUEBAS

    5.1 METODOS PARA ANALISIS Y DISEO DE CONTROL 71

    5.2 CONTROL DE POSICI N DE UN AEROPLANO 73

    5.3 LA SIMPLIFICACIN DE LOS SISTEMAS LINEALES 81

    CONCLUSIONES 88

    ANEXOS 92

    BIBLIOGRAFA 105

  • 8/12/2019 1948 2013

    7/120

    INTRODUCCIN

    Durante aos el hombre a buscado la forma de facilitar y hacer mas sencillo el trabajo, por

    medio de herramientas que le permitan las mejoras en procesos, proteccim y superacin delos resultados.

    Desde la revolucin industrial los avances tecnolgicos se han ido desarrollando con tal rapidez

    e innovacin que hoy en dia esta existe en todas las profesiones del planeta.

    En la actualidad no es suficiente haber cursado una especialidad sin haber tenido la experiencia

    y adquirido el conocimiento, no solo de los conceptos tericos, sino tambin de los mecanismos

    didcticos.

    La creacin de material didctico facilita el aprendizaje y adquisicin de conocimientos por parte

    del alumno, y el perfeccionamiento de tcnicas y estrategias del profesorado, dando como

    resultado la creacin de profesionistas mejor preparados.

    La evolucin de la presente investigacin tiene como objetivo desarrollar las habilidades del

    alumno por medio del material didctico que sea capaz de cumplir con esta finalidad.

    Una plataforma Stewart recrear el comportamiento de una aeronave en tres grados de libertad,

    como tambin las perturbaciones a la que es sometida la aeronave en vuelo.

    Por falta de equipamiento en el laboratorio Elctrica-Electrnica, y a que la adquisicin de los

    equipos para realizar prcticas es de elevado costo, se ha optado por desarrollar proyectos de

    bajo costo que ayuden a la realizacin de prcticas.

    Haciendo una comparacin de las caractersticas entre el instrumental de alto costo y el creado

    en el instituto, se concluye que en beneficio de los alumnos se obtendrn resultados similares.

  • 8/12/2019 1948 2013

    8/120

    PLANTEAMIENTO DEL PROBLEMA

    En base a la necesidad de mejorar el diseo y desempeo de las aeronaves, se ha buscado por

    medio de la simulacin, someter a las aeronaves a situaciones en las que ellas se encuentran

    durante vuelo, y as poder conocer el comportamiento de los vehculos, por lo que busca

    construir una plataforma real de 3 grados de libertad, lo anterior con el fin de representar los

    entornos de vuelo de la aeronave, analizando por medio de hardware y software el movimiento

    de la plataforma. Dicha plataforma deber tener un costo mnimo.

    OBJETIVO

    Se desarrollar una Plataforma Stewart controlada por una interface electrnica basada en un

    microcontrolador de ultra-bajo consumo de energa, con el fin de experimentar el

    comportamiento cualitativo de un aeromodelo.

    ALCANCE

    Con el desarrollo de una plataforma empleada como simulador de vuelo en 3 grados de libertad,

    los alumnos de la ESIME podrn realizar anlisis y pruebas las cuales les ayuden a entender y

    conocer el comportamiento de las aeronaves de forma cualitativa, as como tambin sirva de

    base para la materia de octavo semestre Sistemas de Control en Aeronaves.

    JUSTIFICACIONDebido a que los clculos para disear y construir una aeronave se realizan fuera de las

    condiciones de vuelo a las que son sometidas, se han presentado situaciones en las cuales

    estas no estn acondicionadas para responder adecuadamente. As mismo en la ESIME Unidad

    Ticomn se cuenta con 20 tarjetas LaunchPad de Texas Instruments de reciente adquisicin

    (Noviembre 2011), que sern utilizadas para el desarrollo de esta tesis. As se pretende que la

    plataforma sirva de base para realizacin de prcticas en los cursos de Sistemas Electrnicos

    Digitales y Sistemas de Control en Aeronaves, por el cual este trabajo de tesis posibilita

    estudiar, desarrollar e implementar posibles aplicaciones en el desarrollo de prcticas delaboratorio en las mencionadas materias.

  • 8/12/2019 1948 2013

    9/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN UN

    MICROCONTROLADOR DE ULTRA-BAJO CONSUMO DE ENERGA

    CAPTULO1

    PLATAFORMASTEWARTCAPTULO

    1PLATAFORMASTEWART

  • 8/12/2019 1948 2013

    10/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    1

    CAPITULO 1

    1.1 ANTECEDENTES LOS INICIOS DE LA PLATAFORMA STEWART

    El mecanismo es una estructura cinemtica compuesta por 2 plataformas y seis actuadores, en

    la cual la plataforma de base es fija, mientras que la plataforma superior y las 6 actuadores son

    mviles. Los seis actuadores unen ambas plataformas que a su vez se ensamblan por medio de

    juntas esfricas y/o universales. Hay tres puntos en la plataforma superior, en cada punto salen

    2 actuadores. Estos actuadores tienen un mecanismo que les permite modificar su longitud

    individualmente, esto permite posicionar y orientarla plataforma superior. Dicha plataforma

    cuenta con seis grados de libertad en relacin con la base, de manera que se puede mover en

    tres direcciones lineales y tres direcciones angulares individual o en combinacin.

    Figura 1.0: Esquema de una Plataforma Stewart-Gough.

    HISTORIA DE LA PLATAFORMA STEWART

    En su artculo de 1965, Stewart describe un mecanismo, el cual tiene 6 grados de libertad(DOF) por su significado en ingles, controlada por 6 motores teniendo cada uno un tope en

    tierra. El propuso que el mecanismo seria utilizado como simulador de vuelo para la formacin

    de pilotos de helicpteros.

  • 8/12/2019 1948 2013

    11/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    2

    Aunque los dispositivos en paralelo o manipuladores de enlace paralelo se denominan a

    menudo Plataformas Stewart. Stewart no fue el inventor original de este tipo de mecanismo.

    El mecanismo propuesto por Stewart es solo una configuracin diferente del sistema de 6 jacks

    desarrollado por Gough en 1947. Gough fue uno de los evaluadores de el articulo de Stewart y

    en su revisin el afirma que el diseo una maquina de prueba de llanta similar en 1949 la cual

    ya se haba construido y entrado en operacin en 1954 y en 1955 respectivamente. El trabajo

    de Stewart fue publicado junto con las comunicaciones de los evaluadores, asi como la

    respuesta del autor. Stewart reconoce el hecho de que el no era consciente de la mquina de

    prueba de llantas de Gough y tambin afirma que, aunque su mecanismo de simulacin de

    vuelo es similar, fue diseado usando un enfoque diferente.

    Irnicamente, Gough tambin no es reconocido como el inventor original de este tipo de

    mecanismo. Conforme a Merlet los manipuladores paralelos han sido conocidos por un largo

    tiempo y la invencin actual es atribuida al matemtico Cauchy, quien escribi un artculo sobre

    el movimiento posible y rigidez de un octaedro articulado.

    No obstante el redescubrimiento de el manipulador paralelo por Stewart en 1965, provoc una

    llama que hoy en da aun arde. Merlet reporta que el inters principal en este tipo de robot

    comenz alrededor de 1987 y desde esa fecha el nmero de trabajos sobre este tema se ha

    incrementado drsticamente debido a sus ventajas inherentes de capacidad de carga y rigidezespacial. Las plataformas Stewart son convenientes para una amplia gama de aplicaciones. Se

    cree que la investigacin y desarrollo de dispositivos paralelos es actualmente el ms popular

    tema en el rea de robots manipuladores.

    1.2. TIPOS DE PLATAFORMA STEWART.

    Merlet define un manipulador paralelo como un mecanismo de lazo cerrado en el cual un

    extremo es conectado por lo menos a 2 cadenas cinemticas independientes. El tambin define

    un manipulador completamente paralelo como un manipuladorde lazo cerrado con ngrados de

    libertad (GDL) conectados a la base por ncadenas independientes, el cual tiene como mximo

    2 enlaces y se acciona por un actuador rotativo.

  • 8/12/2019 1948 2013

    12/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    3

    De acuerdo a Merlet, diversos diseos de manipuladores paralelos son posibles. Todos tienen

    en comn su bajo costo, ya que la mayora de los componentes son standart, aunque el

    ensamble del manipulador debe ser hecho con cuidado.

    Hay 2 categorias principales de manipuladores paralelos, manipuladores planos y espaciales.

    Buscando en la primera categora, un manipulador paralelo plano es un tipo de manipulador de

    lazo cerrado. Huag y otros investigaron la destreza del espacio de trabajo de un manipulador

    elemental de lazo cerrado con un grado de libertad.Gosselin y Wang consideraron un

    manipulador de lazo cerrado con 2 grados de libertad que consiste en una cadena de 5 barras.

    Bajpai y Roth determinaron el lugar de trabajo de la misma cadena de 5 barras con un tercer

    grado de libertad adicional, como la base de un manipulador montado sobre una articulacin

    rotativa. Los manipuladores de lazo cerrado mencionados hasta ahora tienen actuadores

    eslabones, y de acuerdo a la definicin de Merlet, estos mecanismos no son manipuladores

    paralelos como estos son conectados al suelo a travs de 2 cadenas cinemtica linealmente

    dependientes.

    Gosselin and Wang tambin considera un manipulador paralelo plano de 3 grados de libertad

    con 3 actuadores eslabones. Ver que este manipulador de lazo cerrado tiene 2 cadenas

    cinemticas independientes conectadas a la plataforma mvil con la base , este puede ser

    clasificado como un manipulador paralelo.

    La literatura tambin es muy rica en cuanto a diferentes diseos de plataformas planas Stewart

    (manipuladores paralelos planos con actuadores lineales). Haug y otros determinaron el espacio

    de trabajo de una plataforma plana Stewart con 3 grados de libertad. Algunos investigadores

    tambin consideran una plataforma plana Stewart de 3 grados de libertad con una plataforma

    mvil triangular. Lee encontr que el optimo diseo en cuanto a la estabilidad de la plataforma,

    es una plataforma mvil equiltera. La segunda categora de los manipuladores paralelos es

    mecanismo espacial. Dependiendo el diseo , estos mecanismos pueden tener 3 a 6 grados de

    libertad.

    Por ejemplo, Wang y Gosselin explicaron que los dispositivos de 3 y 4 grados de libertad son

    por lo regular utilizados simuladores de vuelo. Los mecanismos de 5 grados de libertad estn

    tambin disponibles y utilizadas para tareas donde las herramientas asimtricas estn siendo

    utilizadas.

  • 8/12/2019 1948 2013

    13/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    4

    Como se ha sealado en el trabajo original por Stewart, hay diversos diseos posibles para

    proporcionar 6 grados de libertad. Uno de los diseos obvios es un cardn de 3 ejes

    superpuesto sobre un sistema deslizante de 3 ejes lineales. Stewart rechaz esta opcin,

    porque el quera lograr el ms simple y cohesivo diseo con las ms altas capacidades en un

    amplio rango de aplicaciones.

    El original mecanismo propuesto por Stewart esta comprendido por un plano triangular, llamada

    plataforma, de la cual cada una de sus esquinas son conectadas a traves de una articulacin de

    3 ejes ( articulacin esfrica) a una de las 3 piernas del mecanismo. Cada pierna se conecta a

    tierra por medio de una articulacin de 2 ejes (articulacin universal). Tres actuadores

    adicionales son conectados a las 3 piernas del dispositivo. Cada actuador adicional tiene un

    extremo conectado a una articulacin giratoria en el extremo exterior de un cilindro de cadapata. El otro extremo de cada actuador adicional se conecta a la base del conjunto universal.

    Figura 1.0 Plataforma Stewart Original. Arreglo general de sistema de una pierna.

    Las conexiones bases de los 2 gatos tienen un eje en comn y los ejes restantes son

    paralelos el uno del otro. El eje comn no es controlado dentro del sistema de una sola pierna,

    pero el plano que contiene la pierna puede girar alrededor de ella, asi permitiendo unmovimiento de 3 ejes en la articulacin de la plataforma de apoyo.

    La mquina de prueba de neumticos de Gough, tambin utilizo 6 actuadores, pero estos se

    dispusieron de manera diferente. Cada actuador se uni por separado a la plataforma superior

    Gough utilizo el mismo conjunto de sistema para unir los actuadores a la plataforma y la base.

  • 8/12/2019 1948 2013

    14/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    5

    Wang y Hsieh concuerdan que las ventajas de la Plataforma Stewart sobre los manipuladores

    seriales esta en su capacidad de carga y rigidez. Merlet dems explica que la proporcin que

    hay entre carga y peso se debe a la distribucin equitativa de la carga de la plataforma.

    Cada enlace de las 6 piernas de la plataforma es sometido a solo 1/6 de su peso total. Merlet

    contribuye la rigidez de la plataforma a la tensin de los enlaces que son en su mayora de

    traccin y compresin, que fcilmente puede ser manejada por actuadores lineales.

    De acuerdo a Merlet, otra ventaja de los manipuladores paralelos es que la posicin de las

    extremidades es mucho menos sensible al error sobre los sensores articulados que a los

    enlaces de los robots seriales. Geng y otros explican que la razn de mayor precisin de

    manipuladores paralelos es porque la posicin de error sobre cada actuador es el promedio

    hacia afuera de ser acomulado en una extremidad. Merlet tambin menciona que la alta

    precisin de posicionamiento de estos manipuladores es tambin debido a su alta rigidez la cual

    asegura que las deformaciones de los enlaces son mnimas. El hace hincapi que la ventaja

    ms importante de los manipuladores paralelos es su bajo costo. Liu dice que es relativamente

    barato comercialmente la tecnologa servo-actuador la cual se ha utilizado para muchas

    plataformas. Esta nota es interesante ya que tiene como objetivo lograr el diseo ms simple

    con las mas altas capacidades para un amplio rango de aplicaciones.

    La arquitectura de los manipuladores es muy diferente a la de los manipuladores seriales.Merlet con razn establece que la mayora de los problemas tericos referente a las plataformas

    paralelas todava tiene que abordarse, adems tambin menciona que hay una dualidad entre

    los manipuladores paralelos y enlaces seriales, como los problemas fciles para los

    manipuladores seriales son con frecuencia difciles de resolver para manipuladores paralelos y

    viceversa. [1]

    1.3 APLICACIONES

    En la actualidad la Plataforma Stewart tiene varias aplicaciones en diferentes campos entre lascuales se encuentra:

    En el mbito aeroespacial, la simulacin de condiciones reales en aviones y naves

    espaciales se convirti en una necesidad para la formacin de pilotos, como tambin para el

    diseo y fabricacin de aeronaves. Entre los simuladores se encuentran el ACFS (Advanced

    Concept Flight Simulator) de la NASA.

  • 8/12/2019 1948 2013

    15/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    6

    En su interior se encuentran los mandos de una aeronave comn, estos mandos estn

    ligados al entorno virtual de las pantallas del simulador y a los movimientos de la plataforma

    de 6 grados de libertad que sirven como base para simular el movimiento de la aeronave.

    Este simulador cuenta con una gran flexibilidad para simular diferentes modelos de aviones

    en diferentes condiciones. Tambin se encuentra la empresa Flight Safety la cual ha

    fabricado varios simuladores de entrenamiento en aviacin.

    Figura 1. Simulador de movimiento de Flight Safety.

    Para aumentar el almacenamiento de energa solar, se utiliza una Plataforma Stewart,

    localizada bajo paneles fotovoltaicos, orientados continuamente en direccin hacia el sol

    para poder incrementar el desempeo de las celdas.

  • 8/12/2019 1948 2013

    16/120

  • 8/12/2019 1948 2013

    17/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    8

    Control e Informtica. En la investigacin se puede utilizar para recrear movimientos

    naturales (terremotos, oleaje, vibraciones etc..

    Tambin es ampliamente utilizado en Mecanizado, ensamble, soldadura e industria

    automotriz tal es el caso del robot FANUC.

    Figura 1.5: Robot FANUC F-200iB.

    Adems se puede emplear para el posicionamiento de telescopios. [2]

    1.4 PRINCIPALES CARCTERISTICAS (VENTAJAS Y DESVENTAJAS)

    Ventajas:

    Capacidad de manipular cargas superiores a su propio peso, lo que otorga una alta

    eficiencia energtica: Ya que si se coloca una carga en la placa mvil esta se

    repartir entre sus 6 actuadores de tal forma que cada uno de ellos soporta una

    fraccin de carga.

    Mayor Precisin: Debido a la disposicin de sus miembros no hay errores

    acumulados. Ya que en los robots seriales incrementan la incertidumbre debido al

    error de posicionamiento.

    Velocidades de operacin superiores. Por tener que mover menos inercia, los

    actuadores se mueven ms rpido.

    Mayor manejo de grados de libertad con menos componentes. En el caso de los

    seriales, a mayor cantidad de grados de libertad implica tener ms miembros en la

    cadena Cinemtica, esto no ocurre en el caso de los paralelos.

  • 8/12/2019 1948 2013

    18/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    9

    Desventajas:

    El espacio de trabajo suele ser ms pequeo que el de los seriales y su clculo no

    es sencillo.

    La cinemtica de los mecanismos paralelos es ms complicada y no se conoce un

    modelo general, si lo hay para estructuras seriales.

  • 8/12/2019 1948 2013

    19/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN UN

    MICROCONTROLADOR DE ULTRA-BAJO CONSUMO DE ENERGA

    CAPTULO2

    LAUNCHPADMSP-EXP430G2

  • 8/12/2019 1948 2013

    20/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DE

    LIBERTAD"

    10

    CAPITULO 2

    2.1 SISTEMAS DE DESARROLLO BASADO EN MICROCONTROLADORES

    Un campo de gran inters en la industria es el desarrollo de aplicaciones para lo que se conoce

    como sistemas embebidos, esto es, sistemas complejos basados en microcontroladores. En el

    mercado existen una gran disposicin de fabricantes y desarrolladores diversos fabricantes de

    este tipo de dispositivos, as como de perifricos asociados, software de desarrollo, equipos

    para depuracin y pruebas, etc.

    El fabricante ms conocido es, seguramente,Microchip Technologies (fabricante de los

    famosos PIC's) que dispone de microcontroladores de 8, 16 y 32 bits y cuya amplia gama de

    productos se adapta casi a cualquier necesidad que pueda ocurrrsenos. Tambin tienen

    disponibles otro tipo de dispositivos tales como conversores analgico-digital, placas para

    comunicaciones inalmbricas.Microchip PIC es una prueba de que las arquitecturas antiguas

    nunca mueren apenas van mejorando con la edad, la proliferacin en ms y ms dispositivos

    con mejores tasas de precio / rendimiento.

    Otro fabricante importante esAtmel, con dispositivos similares a los de Microchip o Motorola,

    evidentemente, que fabrica una gama de microcontroladores especficos denominados DSP

    (Digital Signal Processor) que habitualmente se emplean en el procesado de seal de audio en

    tiempo real.

    Tambin existen en el mercado kits de desarrollo muy populares basados en algunos de estos

    microcontroladores, por ejemploArduino que fabrica diversos kits basados en los micros de

    Atmel.

    Estos dispositivos tienen la ventaja de que incluyen en una misma placa todos los componentes

    necesarios para comenzar un desarrollo hardware/software, adems utilizan un lenguaje de

    programacin muy sencillo denominado "Arduino language", a su vez basado en "Wiring" y

    escrito en una mezcla de C/C++. Ojo los kits de Arduino no se programan en C/C++ como

    algunos pretenden; lo que si es posible es desarrollar bibliotecas escritas en C/C++ para que

    puedan ser utilizadas dentro de un programa escrito en Arduino Language.

    La TI MSP430 es el ltimo, pero no quiere decir menos importante, en nuestra ronda de chips

    que debe hacer su "lista corta" de 2010. Por un lado que todava hay tiempo para entrar en el.

    http://www.microchip.com/http://www.atmel.com/http://arduino.cc/http://www.designmsp430.com/http://www.designmsp430.com/http://arduino.cc/http://www.atmel.com/http://www.microchip.com/
  • 8/12/2019 1948 2013

    21/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DE

    LIBERTAD"

    11

    Elija entre los dispositivos de potencia ultra-baja y herramientas favoritas MSP430x1xx,

    MSP430F2xx, MSP430x4xx, MSP430F5xx, CC430Fxxxx. Texas Instruments tambin tiene un

    increblecentro de formacin para todos los DSPs y Microcontroladores.

    TI, tambin goza de una creciente comunidad de apoyo para el MPS430, aunque todava no

    coincide con la de la AVR o el Microchip PIC.Incluye el compilador GNU C (GCC), el

    ensamblador y enlazador (binutils), el depurador (GDB), y algunas otras herramientas

    necesarias para hacer un completo entorno de desarrollo para el MSP430. La compaa

    tambin ha mostrado un poco de diversin, ideas innovadoras en los kits de desarrollo, como

    eleZ430-Chronos , primer entorno de desarrollo adaptable del mundo dentro de un reloj

    deportivo. El kit permite a los desarrolladores aprovechar fcilmente el lder de integracin,

    ultra-baja potencia y las capacidades inalmbricas de TI.

    La noticia ms importante para MSP430 TI se produjo en julio de 2009 -Nueva MSP430 MCU

    embebida con USB de alta velocidad y el consumo de energa ultra bajo ms importantes del

    mundo.

    Con la amplia adopcin de la conectividad USB, los diseadores estn buscando soluciones de

    procesamiento integrados inteligentes que aportan ventajas nicas a sus aplicaciones, como la

    vida til de la batera, portabilidad y versatilidad. Proporcionar conectividad sencilla, avanzada,con una slida cartera, el nuevo microcontrolador MSP430F55xx familia (MCU) incrustado con

    USB de alta velocidad (12 Mbps) es la respuesta de TI a esta necesidad.

    2.2 MICROCONTROLADOR

    Recibe el nombre de controlador el dispositivo que se emplea para el gobierno de uno o varios

    procesos, es un circuito que integra en el mismo encapsulado la CPU, la memoria central, los

    puertos de entrada y salida digitales, diversos mdulos para el control de perifricos y

    generador de pulsos de reloj que sincronizan el funcionamiento de todos el sistema.

    Son sistemas capaces de leer, interpretar luego ejecutar de forma secuencial las instrucciones

    contenidas en el programa.

    Los microcontroladores son usados en sistemas tiempo real donde requiere una respuesta a

    eventos dentro de un tiempo prescrito.

    http://focus.ti.com/general/docs/traininghome.tsphttp://www.ti.com/corp/docs/landing/mcu/index.htm?DCMP=MSP430&HQS=Tools+OT+ez430http://focus.ti.com/pr/docs/preldetail.tsp?sectionId=594&prelId=sc09089http://focus.ti.com/pr/docs/preldetail.tsp?sectionId=594&prelId=sc09089http://focus.ti.com/pr/docs/preldetail.tsp?sectionId=594&prelId=sc09089http://focus.ti.com/pr/docs/preldetail.tsp?sectionId=594&prelId=sc09089http://focus.ti.com/pr/docs/preldetail.tsp?sectionId=594&prelId=sc09089http://focus.ti.com/pr/docs/preldetail.tsp?sectionId=594&prelId=sc09089http://www.ti.com/corp/docs/landing/mcu/index.htm?DCMP=MSP430&HQS=Tools+OT+ez430http://focus.ti.com/general/docs/traininghome.tsp
  • 8/12/2019 1948 2013

    22/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DE

    LIBERTAD"

    12

    2.3 MICROCONTROLADOR TEXAS INSTRUMENTS (MSP430)

    La familia de microcontroladores (C) MSP430 de Texas Instruments de ultra-bajo consumo de

    energa consta de varios dispositivos que ofrecen diferentes conjuntos de perifricos orientadosa diferentes aplicaciones. La arquitectura, combinada con cinco modos de bajo consumo de

    energa se ha optimizado para lograr una vida prolongada de la batera en aplicaciones de

    mediciones porttiles. El dispositivo cuenta con un poderoso CPU (Central Processing Unit-

    Unidad de Procesamiento Central) de arquitectura RISC (Reduced Instruction Set Computer-Set

    Reducido de Instrucciones para la Computadora) de 16 bits, y generadores de constantes que

    contribuyen a la eficiencia del cdigo. El Oscilador Digitalmente Controlado (DCO-Digitally

    Controller Oscillator) permite despertar al microcontrolador desde un modo de bajo consumo de

    energa a un modo activo en menos de 1 s.

    Los microcontroladores que estn basados en procesadores tipo RISC de 16 bits, son la

    solucin industrial de menor consumo entre microcontroladores de 8 a 16 bits alimentado por

    bateras, sus principales aplicaciones incluyen la medicin, la instrumentacin porttil y los

    sensores inteligentes.

    Actualmente hay 4 familias del MSP430 disponibles:

    MSPx1xx: Ofrece una amplia gama de dispositivos de propsito general desde las versiones

    simples para complementar sistemas para procesamiento de seales. Hay una amplia gama

    de perifricos, algunos incluyen un multiplicador de hardware, el cual puede ser utilizado

    como un procesador digital de seales rudimentario. Los paquetes viene de 2 a 64 pines.

    MSPx2xx: El ms nuevo de toda la familia de uso general introducido en el 2005. Su CPU

    puede ejecutarse a 16 MHz, el doble de velocidad de los dispositivos anteriores, mientras

    consume la mitad de corriente a la misma velocidad. Algunos viene en paquetes de 14 pines

    PDIP (Packages Dual In line Pin-Paquete de Pin en Doble Linea), que es atractivo para el

    que construye circuitos con la mano. No requiere de un cristal por su baja frecuencia dereloj. Las resistencias Pull-up y Pull-down se proporcionan en las entradas para reducir el

    nmero de componentes externos necesarios. Hay muchas opciones para las entradas

    analgicas.

    Incluso el ms pequeo de los dispositivos que es el de 14 pines ofrece un ADC (Analog-to-

    Digital Converter-Convertidor Analgico-Digital) sigma delta de 16 bits.

  • 8/12/2019 1948 2013

    23/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DE

    LIBERTAD"

    13

    MSPx3xx: La familia original que incluye controladores de pantallas LCD es ahora obsoleto.

    MSPx4xx: Pueden controlar pantallas de hasta 160 segmentos, muchos de ellos son ASSP

    (Aplication Specific Standart Products-Aplicacin Especfica para Productos Standart), pero

    tambin hay dispositivos de propsito general, sus paquetes viene de 48-113 pines, muchos

    de los cuales son necesarios para la LCD.

    MSP430X: La arquitectura original MSP430 para que se pueda tratar como memoria extra,

    pero con otras mejoras tambin. [3]

    Para poder distinguir un microcontrolador se necesita conocer la siguiente nomenclatura:

    Figura 2.0 Nomenclatura del Microcontrolador.

    2.4 LAUNCH PAD MSP-EXP430G2.

    Es una herramienta fcil de usar destinado a usuarios principiantes o experimentados para

    crear aplicaciones basadas en el microcontrolador. El LaunchPad tiene un socket Dual In line

    Package (DIP) integrado que admite hasta 20 pines permitiendo que los dispositivos MSP430

  • 8/12/2019 1948 2013

    24/120

  • 8/12/2019 1948 2013

    25/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DE

    LIBERTAD"

    15

    CARACTERSTICAS DE LA PLACA DE LAUNCHPAD.

    Figura 2.1 Launchpad MSP-EXP430G2.

  • 8/12/2019 1948 2013

    26/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES, PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES

    GRADOS DE LIBERTAD"

    TABLA 2.0 Familia MSP430x2xx

    MICROCONTROLADORES MSP430

    MSP430G2211 MSP430G2231 MSP430G2452 MSP430G2553

    Bajo voltaje de alimentacin en elrango 1.8 a 3.6 V.

    Bajo consumo de energa:oModo Activo: 200 A a 1 MHz,

    con 2.2 V de alimentacin.oModo Standby: 0.5 AoModo apagado: 0.1 A.

    5 modos de ahorro de energaUltrarrpido levantamiento de

    modo Standby en menos de 1s.

    Arquitectura 16 bit RISC.

    Duracin de ciclo de instruccin62.5 ns.

    Configuraciones bsicas de reloj.

    Frecuencias internas de hasta 16MHz con frecuencia calibrada.

    Internos de muy baja energaOscilador.

    Cristal de 32 KHz.

    Fuente externa de reloj digital

    16 bit Timer_A con 2 registrosC/C/M.

    Detector BOR.Comparador de seal analgica

    Proteccin de cdigoprogramable.

    Chip de emulacin lgica coninterfaz Spy-by Wire.

    Bajo voltaje de alimentacin en el rango1.8 a 3.6 V.

    Ultra bajo consumo de energa:oModo Activo: 220 A a 1 MHz, con 2.2 V

    de alimentacin.oModo Standby: 0.5 AoModo apagado: 0.1 A.

    5 modos de ahorro de energaUltrarrpido levantamiento de modo

    Standby en menos de 1 s.

    Arquitectura 16 bit RISC.

    Duracin de ciclo de instruccin 62.5 ns.

    Configuraciones bsicas de reloj.

    Frecuencias internas de hasta 16 MHzcon frecuencia calibrada.

    Internos de muy baja energa Oscilador.

    Cristal de 32 KHz.

    Fuente externa de reloj digital

    16 bit Timer_A con 2 registros C/C/M.

    Interfaz Universal Serial (USI)

    Detector BOR.

    10 bit ADC con referencia internamuestreo, retencin y Autoscan.

    Programacin serial abordo.Proteccin de cdigo programable por

    fusibles de seguridad.

    Chip de emulacin lgica con interfaz Spy-by Wire.

    Programacin serial abordo.

    Bajo voltaje de alimentacin en el rango 1.8 a 3.6 V.

    Ultra bajo consumo de energa:oModo Activo: 220 A a 1 MHz, con 2.2 V de alimentacin.oModo Standby: 0.5 AoModo apagado: 0.1 A.

    5 modos de ahorro de energa

    Ultrarrpido levantamiento de modo Standby en menos de 1

    s.Arquitectura 16 bit RISC.

    Duracin de ciclo de instruccin 62.5 ns.

    Configuraciones bsicas de reloj.

    Frecuencias internas de hasta 16 MHz con 4 frecuenciascalibradas.

    Internos de muy baja energa Oscilador.

    Cristal de 32 KHz.

    Fuente externa de reloj digital.

    2 16 bit Timer_A con 3 registros C/C/M.

    Hasta 24 pin I/O sentido tctil activado.

    Interface Universal de Comunicaciones Seriales Serial(USCI).

    Universal Asncrono Receptor Transmisor (UART).

    Sncrono Interface Serial Perifrico (SPI).

    10 bit 200 Ksps ADC con referencia interna muestreo

    retencin y Autoscan.On chip comparador analgico.

    Detector (BOR).

    Proteccin de cdigo programable por fusibles de seguridad.

    Chip de emulacin lgica con interfaz Spy-by Wire.

    Programacin serial abordo.

    Bajo voltaje de alimentacin en el rango 1.8 a 3.6 V.

    Ultra bajo consumo de energa:oModo Activo: 220A a 1 MHz, con 2.2 V de alimentacioModo Standby: 0.5 AoModo apagado: 0.1 A.

    5 modos de ahorro de energa

    Ultrarrpido levantamiento de modo Standby en meno

    1 s.Arquitectura 16 bit RISC.

    Duracin de ciclo de instruccin 62.5 ns.

    Configuraciones bsicas de reloj.

    Frecuencias internas de hasta 16 MHz con 4 frecuencalibradas.

    Internos de muy baja energa Oscilador.

    Cristal de 32 KHz.

    Fuente externa de reloj digital.

    2 16 bit Timer_A con 3 registros C/C/M.

    Hasta 24 pin I/O sentido tctil activado.

    Interface Universal de Comunicaciones Seriales S(USCI).

    Universal Asncrono Receptor Transmisor (UART).

    Sncrono Interface Serial Perifrico (SPI).

    10 bit 200 Ksps ADC con referencia interna mues

    retencin y Autoscan.On chip comparador analgico.

    Detector (BOR).

    Proteccin de cdigo programable por fusibles seguridad.

    Chip de emulacin lgica con interfaz Spy-by Wire.

  • 8/12/2019 1948 2013

    27/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    17

    2.5 ARQUITECTURA DELA FAMILIA MSP430 DE TEXAS INSTRUMENTS

    La arquitectura del MSP430 incorpora una CPU tipo RISC (Reduced Instruction Set Computer-

    Computador con Conjunto de Instrucciones Reducidas), perifricos y un sistema de relojflexible que se interconectan utilizando una memoria Von-Neumann, atreves del MAB

    (Memory Address Bus-Bus de Direcciones de Memoria) y del MDB (Memory Data Bus-Bus de

    Memoria de Datos), estos buses nos permiten transmitir y recibir los datos desde cualquiera

    de los dispositivos que estn integrados en el microcontrolador, como lo es la memoria RAM,

    memoria flash, puertos 1 y 2, Timer A2, etc.. A continuacin se muestra la arquitectura de

    forma general de los microcontroladores MSP430 de la familia MSP430x2xx.

    Figura 2.2 Arquitectura MSP430x2xx

    2.5.1 UNIDAD CENTRAL DE PROCESAMIENTO

    La CPU (Central Processing Unit-Unidad Central de Procesamiento) ejecuta las instrucciones

    almacenadas en la memoria. Incluye el ALU (Arithmetic Logic Unit-Unidad Lgica Aritmtica),

    la cual se encarga de realizar el computo, adems tiene un conjunto de 16 registros

    designados como R0-R15, que proporcionan una reduccin en el tiempo de ejecucin de cada

    instruccin. El tiempo que lleva la operacin registro a registro es un ciclo de reloj de la CPU.

    Los perifricos estn conectados a la CPU por medio de buses de control, direccin y datos, y

    pueden ser manejados con todas las instrucciones.

  • 8/12/2019 1948 2013

    28/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    18

    2.5.2 REGISTROS DEL MICROCONTROLADOR

    La CPU contiene registros de propsito especfico (controlar las funciones del

    microcontrolador, segn la informacin), y de propsito general (sirve para poner datos quequeremos). Los registros de propsito especficos R0-R3 son dedicados como contador de

    programa (PC- Program-Counter), Puntero de Pila (SP-Stack Pointer), Registro de Estado

    (SR-Status Register) y un Generador de Constantes (CG-Constant Generator),

    respectivamente. Los registros restantes R4-R15 son de propsito general.

    Figura 2.3 Registros del CPU.

  • 8/12/2019 1948 2013

    29/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    19

    CONTADOR DEL PROGRAMA (PC/R0)

    Este registro contiene la direccin de la prxima instruccin a ser ejecutada. Cada instruccin

    requiere un nmero par de bytes (dos, cuatro o seis). El ciclo usual de ejecucin es que el

    contenido de la PC se colocan en el bus de direccin y la siguiente instruccin se extrae

    desde esta direccin. El valor de la PC se incrementa automticamente en 2 despus de cada

    extraccin, de modo que est listo para la siguiente palabra. La PC ahora esta lista con la

    direccin de la siguiente instruccin cuando la actual ha sido ejecutada. As las instrucciones

    se ejecutan secuencialmente al menos que haya un salto explcito. En este caso la direccin

    de la nueva instruccin se produce como resultado de la operacin actual y se escribe sobre

    el valor de la PC. Las subrutinas e interrupciones tambin modifican el PC, pero en estos

    casos el valor anterior se guarda en la pila y es restaurada posteriormente.

    PUNTERO DE PILA (SP/R1)

    Cuando una subrutina es llamada, la CPU salta a la subrutina, ejecuta el cdigo, y ms tarde

    regresa a la instruccin. Por lo tanto debe mantener un registro de los contenidos de la PC

    antes de saltar a la subrutina, de modo que esta pueda volver despus. Este es el propsito

    principal de la Pila. Utiliza un esquema de pre-decremento, post-incremento, en donde su

    mayor ventaja es que el elemento que se encuentra en la parte mas alta de la pila esta

    disponible.

    EL REGISTRO DE ESTADO (SR/R2)

    Este registro contiene un registro de banderas (bits individuales), cuyas funciones caen en 3

    categorias. Las banderas comnmente utilizadas son C,Z,N y V las cuales dan informacin

    acerca de la ltima operacin lgica o aritmtica. La bandera Z se establece si el resultado fue

    cero y limpia si era distinto de cero. Las decisiones que afectan el flujo de control en el

    programa, pueden hacerse comprobando estos bits. El grupo final de bits es CPUOff,

    OSCOFF, SCG0 y SCG1 que controlan los modos de operacin del microcontrolador.

    Establecer diferentes combinaciones de estos bits ponen al MCU en uno de sus modos de

    bajo consumo. A continuacin se describe brevemente los bits del Registro de Estado.

  • 8/12/2019 1948 2013

    30/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    20

    V.- bit de desbordamiento.Se activa si el resultado de una operacin excede el rango de

    la variable (incluido el signo).

    SCG1 (System Clock Generator).- bit 1 de control del generador de reloj del sistema.

    Este bit y el siguiente controlan 4 estados de actividad del reloj del sistema, por lo tanto

    influyen en el procesador del sistema.

    SCG0 (System Clock Generator 0).- bit 0 de control del generador de reloj del sistema.

    OSCOff (Oscillator).-bit de apagado del cristal Oscilador. Si es puesto a 1, el oscilador

    externo entra en modo de apagado, todas las actividades concluyen.

    CPUoff.-bit apagado de la CPU. Si es puesto en 1 la CPU entra en modo de apagado, laejecucin del programa se detiene.

    GIE (Generator Interrupt Enable).- bit de habilitacinde la interrupcin general.Puesto

    a 1 todas las interrupciones enmascarables son controladas. Si esta deshabilitada

    todas las interrupciones enmascarables son ignoradas.

    N (Negative) bit negativo se prende cuando el resultado es

    negativo.

    Z (Zero) bit cero se prende cuando el resultado es cero.

    C (Carry) bit acarreo se prende cuando el resultado es de

    acarreo.

    Figura 2.4 Ubicacin de los bits de estado en el registro (SR/R2). (Fuente: Texas Instruments)

    Nota: Los bits de estado (V,N,Z y C) solo se pueden cambiar por ciertas instrucciones.

    Registros Generadores de Constantes CG1 y CG2 (R2 y R3).

  • 8/12/2019 1948 2013

    31/120

  • 8/12/2019 1948 2013

    32/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    22

    2.7 SISTEMA DE RELOJ.

    Los microcontroladores cuentan con una amplia gama de relojes. Un cristal de reloj de baja

    frecuencia se ejecuta continuamente a 32 KHz y se utiliza para activar el dispositivoperidicamente. La CPU se sincroniza por medio de un DCO (Digitally Controlled Oscilator-

    Oscilador Digitalmente Controlado), el cul reinicia en menos de 1 s. Por esta razn los

    MSP430 pueden despertar desde un mode de Standby (espera) llevar a cabo sus tareas, y

    volver a un modo de bajo consumo de manera rpida.

    Los MSP430 satisfacen las demandas de alto rendimiento, bajo consumo, y una frecuencia

    precisa mediante el uso de tres relojes internos. Estos relojes internos son los siguientes:

    MCLK (Master Clock): Se utiliza para alimentar el CPU. Suministrado por un osciladorinterno de control digital 1.1 MHz.

    SMCLK (Sub Main Clock): Es utilizado para alimentar perifricos de alta velocidad.

    Tambin controlado por el mismo oscilador del MCLK.

    ACLK (Auxiliary Clock): Utilizado para alimentar perifricos de baja velocidad. Proviene

    de un oscilador de cristal de baja frecuencia, tpicamente de 32 KHz.

    Nota: Tome en cuenta que el ACLK necesita un cristal externo.

    El MCLK y el SMCLK pueden trabajar de frecuencias de 1 MHz, 8 MHz, 12 MHz hasta 16

    MHz recordando que a mayor frecuencia habr mayor consumo de energa, la frecuencia

    ms ptima es la frecuencia de 12 MHz.

    Tambin hay 4 fuentes disponibles en el BCS para conducir cada uno de los 3 relojes.

    LFXT1CLK: El nombre de esta fuente implica su uso con un cristal de baja frecuencia, y

    esto es a menudo el caso. Un cristal de 32768 Hz se puede conectar a su MSP430 para,

    el tiempo de alta precisin de bajo consumo. En algunos dispositivos x2xx, esta fuente

    tambin tiene un modo de alta frecuencia que se pueden utilizar cristales de 400 kHz a

    16 MHz, suponiendo que el chip se alimenta con una tensin lo suficientemente grande

    para manejar la frecuencia. Adems, otros resonadores y seales externas se pueden

    utilizar para esta fuente.

  • 8/12/2019 1948 2013

    33/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    23

    XT2CLK: Una vez ms, esta fuente es el nombre de su uso implcito con un segundo

    cristal, pero en este caso slo un cristal de alta frecuencia. Tambin se puede utilizar

    otros resonadores y seales externas. Esta fuente no est disponible en todos losdispositivos x2xx.

    DCOCLK: La fuente interna es el oscilador controlado digitalmente. Aunque no es tan

    preciso y estable como fuentes de cristal, el DCO es an bastante buena y puede ser

    configurada para operar en una amplia gama de frecuencias.

    VLOCLK: El MSP430 incluye un segundo oscilador interno de energa, aplicaciones de

    muy bajos de muy baja frecuencia. El VLO puede correr ms lento que el reloj cristalino

    LFXT1, y por lo general se utiliza en alrededor de 12 kHz. Esta fuente no est disponible

    en todos los dispositivos x2xx. [6]

    2.8 CIRCUITO BROWNOUT

    El circuito Brownout es implementado para proveer la seal interna correcta de reset al

    dispositivo durante la secuencia de encendido y apagado del microcontrolador.

    2.9 ENTRADAS Y SALIDAS DIGITALES

    El microcontrolador cuenta con 2 puertos P1 y P2 de 8 bits los cuales pueden ser

    configurados como entrada o salida, sus principales caractersticas son las siguientes:

    Los bits de todas las entradas y salidas pueden ser programados indepenientemente.

    Cualquier combinacin de entrada, salida o condicin de interrupcin es posible.

    Cada entrada o salida tiene una resistencia individual de pullup/pull down.

    Capacidad para seleccin del flanco para interrupcin.

    A continuacin se presentan los registros para las terminales de Entrada/Salida digitales

    microcontroladores MSP430x2xx. Los registros son secciones especiales de la memoria que

    configura el dispositivo y nos dice cuando sucede algo importante. Cada pin se puede

    configurar y controlar de forma individual:

    Registro de entrada PxIN: es un registro de solo lectura. Cada bit del registro refleja

    PxIN refleja el valor de la seal de entrada en el pin correspondiente. Todo el PxIN

  • 8/12/2019 1948 2013

    34/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    24

    byte lee el valor de todas las entradas de ese puerto a la vez.Tenga en cuenta que es

    un sistema digital, por lo que hay slo dos valores que se pueden leer, un 0 o un

    1. Estos valores corresponden a los voltajes de Vss (0) y Vcc (1), que son generaly 0V y entre 1,8 y 3,6 V, respectivamente. Hay un umbral particular integrado en el

    dispositivo de tal manera que cualquier tensin sobre ese valor se lee como un 1 y

    cualquier voltaje de lectura a continuacin se lee como un 0. Para evitar daos en el

    chip, que sin duda debe nunca tratar de leer las tensiones fuera del rango entre Vss

    y Vcc directamente. [3] [5] [7]

    Registro de salida PxOUT: Cada bit del registro PxOUT representa el valor que se

    obtendr sobre el pin correspondiente cuando se le ha seleccionado la funcin de E/S,

    la direccin escogida sea salida y el resistor pull-up/pull-down este desactivado, el bit

    correspondiente en el registro PxOUT escoge a que resistor estar conectado. [3] [5]

    [7]

    Registro de direccin PxDIR: Escoge la direccin del pin correspondiente, sin

    considerar la funcin seleccionada para el pin, es decir que ser un pin de entrada

    aunque la funcin seleccionada sea lo contrario. [3] [5] [7]

    Registro de habilitacin del resistor pull-up/pull-down PxREN: Activa o desactiva el

    resistor pull-up/pull-down del pin correspondiente. Con el mismo bit del registro

    PxOUT se escoge si la patilla es conectada al resistor pull-up o pull-down. [3] [5] [7]

    Nota: Cabe aclarar que todos los pines de los puertos cuentan con resistencia interna

    Pull-up/Pull-down; Pull-up te obliga que se haga 1; Pull-down te fuerza a tierra; si esta

    mas cerca de le voltaje de 3.7 volts te lleva a Pull-up, de lo contrario te llevar a Pull-

    down.

    Registro de interrupcin PxI (Interrupt) PxIES (Interrupt Edge Select )y PxIFG

    (Interrupt flag): Mandaran un mensaje a la CPU para mantener lo que se esta

    haciendo y cuidar de la Circunstancia Especial. Una vez que la alarma se ha

    cumplido, la CPU vuelve a donde estaba antes. Para habilitar este comportamiento,

    para habilitar este comportamiento se ha establecido el bit PxI para el pin se establece

    en 1. PxIES bit se determina si la bandera se activa por el pin que va de 0 a 1 (el bit

    IES se establece en 0), el conjunto de bits IES se establece en 1. En otras palabras la

  • 8/12/2019 1948 2013

    35/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    25

    bandera se activa cuando hay un flanco de pendiente positiva ascendente, un

    negativo cuando se activa la alarma. [3] [5] [7]

    Bits de seleccin de funcin PxSEL y PxSEL: Los pines del puerto frecuentementeson multiplexados con otros dispositivos perifricos. Cada bit en PxSEL y PxSEL2 es

    utilizado para escoger en el pin correspondiente la funcin requerida. [3] [5] [7]

    De que forma podemos cambiar los bits:

    En un programa tenemos que inicializar el pin de ser una salida: P1DIR = BIT4; (Una forma

    equivalente de hacer esto es utilizar un operador lgico.

    El valor de P1OUT podra ser 0 o 1, por lo que si nos importa en qu estado el LED comienza

    en deberamos establecer que:

    P1OUT = 0;

    (Una prctica mejor es inicializar el estado de salida antes deque cambiemos el pin de salida.)

    Ahora tenemos un pin de salida fijado en 0, manteniendo el apagado LED. Para encenderlo, le

    damos el comando:

    P1OUT | = BIT4;

    Para desactivarlo.

    P1OUT & = ~ BIT4;

    Para cambiar su estado (si fuera el, en caso de apagado):

    P1OUT ^ = BIT4; [6]

    2.10 TEMPORIZADOR DEL PERRO GUARDIN WATCHDOG TIMER(WDT+).

    El principal propsito de el Watchdog Timer es proteger al sistema cuando ocurra un

    problema en la ejecucin del software. Si el intervalo de tiempo expira , un reset al sistema es

    generado. Si la funcin de Watchdog no es necesaria en una aplicacin, el modulo puedes

    ser configurado como un contador de intervalos y puede generar interrupciones en espacios

    de tiempo seleccionados.

    Puede ser configurado ya sea como Whatchdog o un contador de tiempo con el WDTCTL

    tambin contiene control de bits para configurar el pin RST/NMI. [5]

  • 8/12/2019 1948 2013

    36/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    26

    2.11 TIMERS

    Podemos configurar los relojes en el MSP430, de forma que podemos utilizarlos para

    impulsar los Perifricos. Hay que tomar en cuenta que hay un sistema de Timer_B disponibleen algunos dispositivos que comparten muchos aspectos del Timer_A. [8]

    Un contador de tiempo es un mecanismo de conteo que esta ligada a algn tipo de intervalo

    regular proporcionada por un reloj.

    Timer_A es un temporizador/contador de 16 bits con 3 registros captura/compara. Puede dar

    soporte a la captura/comparacin mltiple, salidas PWM, y medidas de intervalos de tiempo.

    Tambin posee capacidad de interrupcin. Adems tiene capacidad de generar

    interrupciones por diferentes eventos. Por el desbordamiento del contador o por lascondiciones de cada uno del captura/comparacin. El Timer tambin nos ayuda a realizar

    ciertos eventos y nos ayuda a consumir menos energa, y la CPU hace un evento a la vez,

    adems de consumir mas energa.

    Principales caractersticas:

    La fuente de reloj es seleccionable y configurable.

    Salidas configurables con capacidad PWM.

    Un solo registro de interrupcin para una rpida decodificacin de todas las

    interrupciones del Timer_A. [5]

    2.11.1 MODOS DE TEMPORIZADOR TIMER_A

    Modo Continuo (Continuos Mode): El contador se mueve libremente a travs de su gama

    completa de 0x0000 a 0xFFFF en el momento en que se desborda y retorna a o nuevamente.

    El periodo es de 216= 65536 unidades. Este modo es mas conveniente para las entradas de

    captura y tambin se utiliza cuando los canales proporcionan salidas con diferentefrecuencias, o que no son peridicas en absoluto. [3]

    Modo up (Up Mode).A igual que el modo continuo cuenta y se da vuelta a cero, sin embargo

    nos permite elegir hasta hasta que nivel del contador llega antes de regresar a 0. Por lo reglar

    este modo se usa cuando todos los canales proporcionan salidas a la misma frecuencia a

    menudo para la modulacin de ancho de pulso. [8]

  • 8/12/2019 1948 2013

    37/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    27

    Modo Arriba/Abajo (Up/Down Mode):Parecido al modo en el que puede programar el lmite

    superior, la diferencia radica en que en lugar a regresar inmediatamente a cero se da vuelta

    y genera una cuenta regresiva a cero. Se trata de un modo especializado, utilizado para lamodulacin de ancho de pulso centrado. [8]

    Tambin el Timer_A tiene la caracterstica de establecer puntos de control en su contabilidad

    Texas Instruments (TI) llama a estos puestos de control Registros de Captura/Compara. El

    uso ms bsico de estos registros es establecer valores en los que el contador de banderas

    genere un caso particular. De hecho uno de estos registros es lo que se utiliza para

    establecer el lmite superior de arriba modo arriba/abajo. [8]

    Este tipo de registro en el modo de comparacin, se pone un valor que se compara con lacuenta actual del Timer_A. Si los valores son iguales nos indicara que es caso para el

    procesador. El modo captura se comporta de manera diferente, el timer espera algn tipo de

    seal ( por lo regular algn tipo de entrada) y luego registra el valor actual del contador del

    tiempo en el registro sin detener el temporizador, parecido a la funcin de vuelta de un

    cronometro. [8]

    2.11.2 REGISTROS TIMER_A.

    Hay tantas maneras de como utilizar el Timer_A , en la que hay una cantidad de registros a

    utilizar. Por lo menos hay 7 registros utilizados en cualquier dispositivo con el perifrico

    Timer_A. A continuacin se describen cada uno de ellos.

    TACTL - El Registro de Control Timer_A se utiliza para establecer el vnculo entre el

    temporizador y un reloj y seleccione el modo utilizado.

    o Los bits TASSELx (Clock Source Select) (8 y 9) nos dice que temporizador del

    reloj se usar como su fuente.

    o La frecuencia de reloj se puede dividir por un factor de ms de 2, 4, 8 o el uso de

    los bits de divisin de entrada IDx(Input Divider) (6 y 7). (Tenga en cuenta que

    este es un nuevo fraccionamiento, de cualquier divisin de hecho la fuente de reloj

    para el reloj en s,. Usted podra tener una divisin total de hasta 64 desde su

    fuente de reloj para este perifrico)

    o Los bits de Modo de Control MCX (Mode Control) (4 y 5) seleccionar el modo

    particular de la hora de usar. Tenga en cuenta especialmente que el

  • 8/12/2019 1948 2013

    38/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    28

    establecimiento de estos bits a 0 (el valor predeterminado en el Power on reset

    POR) detiene el cronmetro completamente.

    o TACLR Clear es el bit 2. Si se escribe un 1 en este bit, se restablece eltemporizador. El MSP430 reiniciar automticamente este bit a cero despus de

    restablecer el temporizador.

    o TAIE y TAIFG (bits 0 y 1) el control de la capacidad de que el temporizador

    interrumpe desencadenantes; ms en esto pronto!

    TAR- La Timer_A Registro es el contador actual, la lectura de este registro indica el valor

    actual del contador.

    TACCRx Los registros Timer_A Capture / Compare, de los cuales hay dos en los

    dispositivos de la lnea de valor (TACCR0 y TACCR1) son donde se almacenandeterminados valores que queremos usar. A modo de comparacin, escribimos los

    valores aqu donde queremos que el temporizador para indicar un evento. En particular,

    TACCR0se utiliza para almacenar el valor al que queremos Timer_A a contar en modo

    arriba y modo arriba / abajo. En el modo de captura, el procesador registrar el valor de

    TARcuando el MSP430 es sealado para ello.

    TACCTLx Los registros Timer_A Capture / Compare de control corresponden a los

    registros TACCRx. Estos establecen el comportamiento de cmo se utilizan los CCR.

    o

    Modo Captura CMx (Capture Mode) (bits 14 y 15) cambio de qu tipo o tipos delas seales dicen al temporizador realizar una captura.

    o Seleccionar entrada Captura / Compara CCISx (Capture/Compare) (bits 12 y 13),

    seleccione el que se toman las seales de entrada.

    o SCS y SCCI (bits 11 y 10, respectivamente) cambian la sincronicidad, el

    temporizador normalmente trabaja de forma asncrona para las seales de

    entrada.

    o PAC(bit 8) cambia si se utiliza el modo de captura (1) o el modo (0) Comparar.

    o OUTMODx (bits 5-7) seleccionar varios modos de salida de la seal del CCR

    cuando el temporizador seala una captura o comparar evento.

    o CCIEy CCIFG(bits 4 y 0) son ms interrupciones asociadas al CCR.

    o CCIy OUT(bits 3 y 2) son la entrada y la salida para el CCR.

  • 8/12/2019 1948 2013

    39/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    29

    o COV (bit 1) es el desbordamiento de la captura, este bit se pone a 1 si dos

    capturas se indican antes de que el primer valor de la captura es capaz de ser

    ledo. TAIV - El Timer_A interrupcin vectorial Registro, ya que hay varios tipos de

    interrupciones que pueden ser marcados por Timer_A, este registro contiene informacin

    sobre lo que las interrupciones han marcado.

    o Los nicos bits utilizados aqu son bits 1-3 (TAIVx), que muestran el tipo de

    interrupcin que ha sucedido, lo que nos permite realizar diferentes acciones para

    resolver los diferentes tipos de interrupciones. [8]

    2.11.3 MODO CAPTURA-COMPARA

    Modo Captura: el modo captura es seleccionado cuando CAP=1. El modo captura es

    utilizado para registrar eventos de tiempo. Este puede ser utilizado para velocidades

    computacionales o mediciones de tiempo. Las entradas Captura son conectadas en pines

    externos o seales internas y son seleccionados por medio de CCISx. Sirve para leer las

    seales cuadradas, si queremos ver la seal.

    Modo Compara: El modo compara es seleccionado cuando CAP=0. Es utilizado para

    generar una seal de salida PWM o interrupciones en intervalos especficos de tiempo.

    Obtener seales cuadradas.

    2.12 INTERRUPCIONES

    Las interrupciones son usualmente generadas por hardware aunque pueden ser inicializadas

    por software, a menudo indican que ha ocurrido un evento que requiere una respuesta

    urgente. Un paquete de datos podra haber sido recibido, y necesita ser procesado antes de

    que llegu el prximo paquete. El procesador deja de hacer lo que esta llevando acabo,

    almacena informacin suficiente para reanudar mas adelante y procede a ejecutar una ISR

    (Interrup Service Routine-Rutina de Servicio de Interrupcin), regresa a su actividad anteriorcuando el ISR ha concluido. As un ISR es como una subrutina llamada por hardware.

    Un segundo uso de las interrupciones, que es importante en el MSP430, es despertar al

    procesador de un estado de bajo consumo.

  • 8/12/2019 1948 2013

    40/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    30

    El cdigo para manejar las interrupciones es llamado controlador de interrupciones o rutina de

    servicio de interrupcin (ISR). Cada interrupcin tiene una bandera, que se eleva cuando la

    condicin de la interrupcin ocurre.

    Hay 3 tipos de interrupciones:

    Reset del sitema (Reset)

    NMI (No Maskable Interrupt-Interrupcin No Enmascarable)

    Enmascarable

    La mayora de las interrupciones son enmascarables, lo que significa que solo son eficaces si

    el bit GIE (General Interrupt Enable- Habilitacin General de Interrupcin) se establece en el

    registro de estado (SR). Son generadas por perifricos que tienen la capacidad de

    interrumpir.Las interrupciones no enmascarables solo pueden ser habilitadas o deshabilitadas

    individualmente por los bits (NMIIE, ACCVIE, OFIE). Cuando una NMI es aceptada, todos los

    bits son automticamente reseteados. Una NMI puede ser generada por tres fuentes:

    Un flanco negativo en el pin RST/NMI cuando esta configurado en el modo de

    interrupcin no enmascarable.

    Cuando ocurre una falla en el oscilador.

    Cuando ocurre una violacin de acceso a la memoria flash.

    Cada terminal en los puertos P1 y P2 tienen la capacidad de interrupcin, se puede configurar

    mediante los registros PxIFG (Port x Interrupt Flag Register), PxIE (Port x Interrupt Enable

    Register), y PxIES (Port x Interrupt Edge Select Register). [3]

  • 8/12/2019 1948 2013

    41/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    31

    2.13 MODOS DE OPERACIN DE CONSUMO DEL MICROCONTROLADOR

    Los microcontroladores MSP430 cuentan con un modo activo y cinco modalidades de bajo

    consumo que son seleccionadas mediante software. Una interrupcin puede activar eldispositivo en cualquiera de los 5 modos de bajo consumo dar servicio a la interrupcin y

    regresar al modo de bajo consumo en el cual estaba el microcontrolador.

    o Modo activo: Todos los relojes estn activos, la CPU.

    o Modo de bajo consumo 0(LMP0-Low Power Mode 0):

    El CPU y el MCLK esta deshabilitado.

    ACLK (Auxiliary Clock) y SMCLK (Sub-Main Clock) permanecen activos.o Modo de bajo consumo 1 (LMP1-Low Power Mode 1)

    El CPU y el MCLK estn deshabilitados.

    ACLK y SMCLK permanecen activos.

    El generador DCO (Digital Controller Oscilator) deshabilitado si no esutilizado por el SMCLK.

    o Modo de bajo consumo 2 (LMP2-Low Power Mode 2)

    El CPU, MCLK y SMCLK estn deshabilitados.

    El DCO esta habilitado.

    ACLK permanece activo.

    o Modo de bajo consumo 3 (LMP3-Low Mode Power 3)

    El CPU, MCLK, SMCLK y DCO deshabilitados.

    ACLK permanece activo.

    o Modo de bajo consumo 4 (LMP4-Low Mode Power 4)

    El CPU, MCLK, SMCLK, ACLK y el DCO estn deshabilitados.

  • 8/12/2019 1948 2013

    42/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN UNMICROCONTROLADOR DE ULTRA-BAJO CONSUMO DE ENERGA

    CAPTULO3

    PROGRAMACINDELMICROCONTROLADOR

  • 8/12/2019 1948 2013

    43/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    32

    CAPITULO 3

    3.1 SOFTWARE Y LENGUAJES DE PROGRAMACIN.

    Un lenguaje de programacin consiste en todos los smbolos, caracteres y reglas de uso que

    permiten a las personas "comunicarse" con las computadoras. Existen varios cientos de

    lenguajes y dialectos de programacin diferentes. Algunos se crean para una aplicacin

    especial, mientras que otros son herramientas de uso general ms flexibles que son apropiadas

    para muchos tipos de aplicaciones. En todo caso los lenguajes de programacin deben tener

    instrucciones que pertenecen a las categoras ya familiares de entrada/salida,

    clculo/manipulacin de textos, lgica/comparacin y almacenamiento / recuperacin.

    Aunque todos los lenguajes de programacin tienen un conjunto de instrucciones que permiten

    realizar dichas operaciones, existe una marcada diferencia en los smbolos, caracteres y

    sintaxis de los lenguajes de mquina, lenguajes ensambladores y lenguajes de alto nivel.

    Son herramientas que nos permiten crear programas y software. Entre ellos tenemos: C#,

    Delphi, C, PHP, Perl, Python,Visual Basic, Pascal, Java, entre otros.

    La programacin consiste en desarrollar programas para procesar informacin, se utiliza para

    designar la creacin de programas a pequea escala, el desarrollo de sistemas complejos sedenomina ingeniera de software.

    Una computadora es totalmente intil si no dispone de un programa capaz de procesar

    informacin, para que se realice dicho procesamiento de informacin habr sido necesario

    pensar, construir, y crear un programa y ejecutar dicho programa o aplicacin en la

    computadora.

    Para el desarrollo de grandes sistemas informticos se divide el trabajo en tareas que diversos

    programadores desarrollaran, al terminar se unen las piezas para completar el sistema en s, la

    programacin tambin se aplica para el desarrollo de grandes sistemas en las ingenieras de

    software.

  • 8/12/2019 1948 2013

    44/120

  • 8/12/2019 1948 2013

    45/120

  • 8/12/2019 1948 2013

    46/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    35

    existentes para la comprensin y la prctica del lenguaje. Criterios de seleccin de un lenguaje

    de programacin.

    1. Utilidad: fcil de aprender, fcil de usar por un programador experimentado.

    2. Rendimiento: velocidad de ejecucin de los programas, velocidad de ejecucin del

    compilador.

    3. Portabilidad y flexibilidad a posibilidad de desarrollar el lenguaje y su implementacin,

    existencia de bibliotecas de funciones, clases, etc.

    4. Continuidad: continuidad del fabricante, continuidad del lenguaje, continuidad de

    implementacin, existencia de una norma internacional para definir el lenguaje,

    conformidad de implementacin con respecto a la norma, existencia de variosfabricantes para un mismo lenguaje.

    Basic y Pascal que son herramientas de programacin, idneas para la inicializacin de

    los programadores.

    C y C++ que sirven para la programacin de sistemas.

    Cobol, que es una herramienta de programacin orientada hacia sistemas de gestin

    empresarial como nominas y contabilidad.

    Fortran, que son lenguajes especficos para clculos matemticos y o numricos.

    Herramientas de programacin para ambientes grficos como son Visual Basic, Delphi y

    Visual C.

    HTML y Java, que permiten la creacin de pginas WEB para Internet.

    CLASIFICACIN:

    Lenguajes de bajo nivel.

    Son lenguajes totalmente dependientes de la mquina, es decir que el programa que se realiza

    con este tipo de lenguajes no se pueden migrar o utilizar en otras maquinas, al estar

    prcticamente diseados a la medida del hardware, aprovechan al mximo las caractersticas

    del mismo.

    Dentro de este grupo se encuentran:

  • 8/12/2019 1948 2013

    47/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    36

    El lenguaje maquina: este lenguaje ordena a la mquina las operaciones fundamentales para su

    funcionamiento, consiste en la combinacin de 0's y 1's para formar las ordenes entendibles por

    el hardware de la maquina, es mucho ms rpido que los lenguajes de alto nivel, la desventajaes que son bastantes difciles de manejar y usar, adems de tener cdigos fuente enormes

    donde encontrar un fallo es casi imposible.

    El lenguaje ensamblador es un derivado del lenguaje maquina y est formado por abreviaturas

    de letras y nmeros llamadas mnemotcnicos, con la aparicin de este lenguaje se crearon los

    programas traductores para poder pasar los programas escritos en lenguaje ensamblador a

    lenguaje mquina, como ventaja con respecto al cdigo mquina es que los cdigos fuentes

    eran ms cortos y los programas creados ocupaban menos memoria, las desventajas de estelenguaje siguen siendo prcticamente las mismas que las del lenguaje ensamblador, aadiendo

    la dificultad de tener que aprender un nuevo lenguaje difcil de probar y mantener.

    Lenguajes de alto nivel

    Se encuentran ms cercanos al lenguaje natural que al lenguaje mquina, estn dirigidos a

    solucionar problemas mediante el uso de EDDs (Estructuras Dinmicas de Datos), son

    estructuras que pueden cambiar de tamao durante la ejecucin del programa, permiten crear

    estructuras de datos que se adapten a las necesidades reales de un programa, son lenguajesindependientes de la arquitectura de la computadora, es decir que en principio, un programa

    escrito en un lenguaje de alto nivel, se puede migrar de una mquina a otra sin ningn tipo de

    problema.

    Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de

    la maquinas para la que estn diseando el programa, solo necesitan un traductor que

    entiendan el cdigo fuente como las caractersticas de la maquina, suelen usar diferentes tipos

    de datos para la programacin, hay lenguajes de propsito general y de propsito especifico.

    Lenguajes de Medio nivel

    Estos lenguajes se encuentran en un punto medio entre los dos anteriores, dentro de estos

    lenguajes podra situarse C ya que puede acceder a los registros del sistema, trabajar con

  • 8/12/2019 1948 2013

    48/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    37

    direcciones de memoria, todas ellas caractersticas de lenguajes de bajo nivel y a la vez realizar

    operaciones de alto nivel.

    GENERACIONES

    Primera generacin: lenguaje maquina.

    Segunda generacin: se crearon los primeros lenguajes ensambladores.

    Tercera generacin: se crean los primeros lenguajes de alto nivel.

    Cuarta generacin: son lenguajes capaces de generar cdigo por si solos, con lo cuales

    se pueden realizar aplicaciones sin ser un experto en el lenguaje, aqu tambin se

    encuentran los lenguajes orientados a objetos, haciendo posible la reutilizacin de

    partes del cdigo para otros programas.

    Quinta generacin: aqu se encuentran los lenguajes orientados a la inteligencia artificial,

    etos lenguajes todava estn poco desarrollados.

    3.2 LENGUAJE EN C

    El lenguaje de programacin en C, es un lenguaje conocido como de alto nivel, es que es un

    lenguaje estructurado, lo que permite generar cdigo claro y sencillo, ya que est basado en la

    modularidad, est estructurado en tres partes fundamentales, las cuales son, una librera

    estndar, un programa compilador y un procesador.

    La librera estndar en el lenguaje de programacin C, no es ms que libreras realizadas en

    cdigo objeto y puede haber sido realizada en otro lenguaje diferente que el C, etas libreras se

    deben colocar el un programa de lenguaje programacin en C, en la instruccin conocida como

    INCLUDE.

    El programa compilador en el lenguaje de programacin en C, es el que tiene como funcin

    traducir las instrucciones del programa fuente en C al lenguaje conocido por las computadoras,el llamado lenguaje maquina, el compilador, depura y detecta los posibles errores en el lenguaje

    fuente, y es capaz de notificar el error ocurrido al programador, mediante un mensaje de texto.

    En el lenguaje de programacin en C, el preprocesador es un componente perteneciente

    propiamente al lenguaje C, el cual transforma el programa fuente traduciendo cada instruccin

  • 8/12/2019 1948 2013

    49/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    38

    del programa fuente, de la siguiente forma: Elimina los comentarios colocados por el

    programador, incluye en el programa fuente el contenido de los archivos que se encuentran

    declarados en el INCLUDE, a estos archivos se le suele llamar cabeceras, y por ltimo,sustituye los valores de las constantes declaradas en l define, por su flexibilidad y por ser un

    lenguaje de alto nivel, es empleado por muchos programadores.

    3.3 EL LENGUAJE ENSAMBLADOR

    Los traductores se pueden dividir a grandes rasgos en dos grupos, segn la relacin que haya

    entre el lenguaje fuente y el objeto. Cuando el lenguaje fuente es, en esencia, una

    representacin simblica de un lenguaje numrico de mquina, el traductor se llama

    ensamblador y el lenguaje fuente se llama lenguaje ensamblador. Cuando el lenguaje fuente esun lenguaje de alto nivel como el C o Pascal, y el lenguaje objeto es un lenguaje de mquina

    numrico o una representacin simblica de uno de ellos, el traductor se llama compilador.

    Un lenguaje ensamblador puro es aquel en que cada sentencia produce exactamente una

    instruccin mquina. En otras palabras, hay una correspondencia biunvoca entre las

    instrucciones de mquina y las sentencias del programa en ensamblador. Si cada lnea de un

    programa en ensamblador contuviera una sentencia ensamblador y si cada palabra de mquina

    contuviera una instruccin de mquina, entonces un programa de n lneas escrito en

    ensamblador producira un programa en lenguaje de mquina que ocupara n palabras.

    La razn por la que se usa el lenguaje ensamblador en lugar de programar el lenguaje mquina

    (octal o hexadecimal) consiste en que es mucho ms fcil programar en ensamblador. Es muy

    diferente usar nombres y direcciones simblicas que hacerlo en binario u octal. La mayora de la

    gente puede recordar que las abreviaturas para la adicin, la sustraccin, la multiplicacin y la

    divisin son ADD, SUB, MUL y DIV, pero pocos pueden recordar que las instrucciones mquina

    son 24576, 57344, 28672 y 29184. El programador en lenguaje ensamblador slo tiene que

    recordar los nombres simblicos ADD, SUB, MUL, DIV, ya que el ensamblador los traduce a lasinstrucciones mquina. Por el contrario, el programador en lenguaje mquina debe recordar, o

    consultar constantemente, los valores numricos.

    En cuanto a las direcciones, el programador en lenguaje ensamblador puede dar nombres

    simblicos a las posiciones de memoria y dejarle al ensamblador la tarea de suministrar los

    valores numricos correctos. El programador en lenguaje mquina debe trabajar siempre con

  • 8/12/2019 1948 2013

    50/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    39

    los valores numricos de las direcciones. En consecuencia, nadie programa hoy en da en

    lenguaje mquina, aunque se hacia hace aos, antes de que se inventaran los ensambladores.

    Los lenguajes ensambladores tienen otra propiedad, adems de la correspondencia uno a uno

    entre las sentencias en ensamblador y las instrucciones mquina, que los distngue de los

    lenguajes de alto nivel. El programador en ensamblador tiene acceso a todos los recursos e

    instrucciones de la mquina a la que se aplica, pero no el programador en un lenguaje de alto

    nivel. Por ejemplo si la mquina tiene un indicador de desbordamiento, el programador en

    lenguaje ensamblador puede examinarlo; uno en Pascal no puede hacerlo directamente. Es

    decir, que todo lo que puede hacerse en lenguaje mquina puede hacerse tambin en lenguaje

    ensamblador, pero muchas instrucciones, registros y otras cosas por el estilo no estn

    disponibles para que el programador en lenguaje de alto nivel las use. Los lenguajes para la

    programacin de sistemas suelen ser un hbrido entre ambos tipos, con la sintaxis de un

    lenguaje de alto nivel pero con las posibilidades de acceso a la mquina de un lenguaje

    ensamblador.

    Una diferencia final, consiste en que un programa en lenguaje ensamblador slo puede correr

    en una familia de mquinas, mientras que un programa escrito en lenguaje de alto nivel puede,

    en potencia, correr en muchas mquinas. La habilidad de poder mover software de una

    mquina a otra, resulta de gran importancia prctica para muchas aplicaciones. [9]

    3.4 ENTORNOS DE PROGRAMACION CON LA FAMILIA MSP430 DE TEXASINSTRUMENTS

    Texas Instruments ofrece consejos para experimentar el hardware que soportan grandes y

    pequeas fichas de MSP430. TI tambin proporciona herramientas de desarrollo de software,

    tanto de forma directa, y en conjunto con los socios. Uno de ellos es la cadena de herramientas

    IAR C/C + + compilador y entorno de desarrollo integrado o IDE.

    Una edicin Kickstart se puede descargar de forma gratuita en TI o IAR, sino que se limita a 8KB de C/C + + cdigo en el compilador y depurador.

    TI tambin combina una versin de su propio compilador y herramientas con su Eclipse Code

    Composer Studio IDE basado. Se vende versiones con todas las funciones, y ofrece una

    versin gratuita para su descarga, que tiene un lmite de tamao de cdigo de 16 KB. CCS

  • 8/12/2019 1948 2013

    51/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    40

    soporta emuladores en circuito, e incluye un simulador y otras herramientas, sino que tambin

    puede funcionar con otros procesadores vendidos por TI.

    3.5 EL CODE COMPOSER STUDIO (CCS) PARA MSP430

    DESCRIPCIN

    Code Composer Studio (CCStudio) es un entorno de desarrollo integrado (IDE) de Texas

    Instruments (TI) incrustado familias de procesadores. CCStudio comprende un conjunto de

    herramientas utilizadas para desarrollar y depurar aplicaciones embebidas. Incluye

    compiladores para cada una de las familias de TI del dispositivo, el editor de cdigo fuente,

    proyecto de entorno de compilacin, depurador, profiler, simuladores, sistema operativo en

    tiempo real y muchas otras caractersticas. El IDE intuitiva proporciona una nica interfaz deusuario que le llevar a travs de cada paso del flujo de desarrollo de

    aplicaciones. Herramientas e interfaces familiares permiten a los usuarios para empezar ms

    rpido que nunca antes y agregar funcionalidad a sus aplicaciones gracias a sofisticadas

    herramientas de productividad.

    Code Composer Studio est basado en la plataforma de software de cdigo abierto Eclipse. El

    marco de software Eclipse fue desarrollado originalmente como un marco abierto para la

    creacin de herramientas de desarrollo. Eclipse ofrece un marco excelente software para la

    creacin de entornos de desarrollo de software y se est convirtiendo en un marco estndar

    utilizado por muchos vendedores de software embebido.CCStudio combina las ventajas de la

    plataforma de software Eclipse con funciones de depuracin integradas avanzadas de TI que

    resulta en un entorno de desarrollo rico en caractersticas de peso para desarrolladores de

    sistemas integrados.

    Code Composer Studio permite ejecutar tanto en PC Windows y Linux. No todas las funciones o

    dispositivos son compatibles con Linux consulte Soporte de Hosting Linux para ms detalles.

    CARACTERISTICAS

    Hay muchas caractersticas incluidas en el Code Composer Studio IDE. Las siguientes son

    algunas de las caractersticas clave que pueden ser de su inters.

    Explorador de recursos.

  • 8/12/2019 1948 2013

    52/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    41

    El Explorador de recursos proporciona un acceso rpido a las tareas comunes como la creacin

    de nuevos proyectos, as como permitir a los usuarios navegar a travs de extensos ejemplos

    proporcionados como parte decontrolSUITE ,StellarisWare y otros.

    Grace - perifricos de generacin de cdigo

    Grace es una caracterstica de Code Composer Studio que permite a los usuarios generar

    MSP430 conjunto de perifricos hasta el cdigo en cuestin de minutos. El cdigo generado es

    completamente comentado y fcil de leer cdigo C.

    SYS / BIOS

    SYS / BIOS es un sistema operativo avanzado, en tiempo real para su uso en una amplia gama

    de procesadores TI digitales de seal (DSP), microprocesadores ARM, y los

    microcontroladores. Est diseado para su uso en aplicaciones embebidas que necesitan

    programacin en tiempo real, la sincronizacin, y la instrumentacin. Proporciona multitarea

    preventiva, la abstraccin del hardware y la gestin de memoria. SYS / BIOS es libre de

    regalas y se incluye con Code Composer Studio.

    Compilador

    Code Composer Studio incluye C / C + + compiladores adaptado para las arquitecturas de

    dispositivos integrados de TI. Los compiladores de C6000 y C5000 dispositivos

    procesadores de seales digitales sacar el mximo partido del potencial de rendimiento de gran

    alcance de esas arquitecturas.Compiladores para la TI ARM y microcontroladores MSP430,

    sin sacrificar el rendimiento total, son ms sensibles a las necesidades de tamao de cdigo de

    los dominios de aplicacin. El compilador para tiempo real C2000 microcontroladores de TI

    tiene la mejor ventaja de las muchas prestaciones y caractersticas de tamao de cdigo

    disponibles en esta arquitectura.

    La Ley de Control de acelerador (CLA) C-compilador tambin es compatible con CCSv4 y

    CCSv5. Para obtener ms informacin sobre el CLA-C Compiler, por favorhaga clic aqu .

    Soporte para C + + no podra ser mejor, sobre todo ahora que EABI est lanzando. EABI

    (interfaz de aplicacin binaria extendido) es un moderno conjunto de normas para la

    http://www.ti.com/controlsuitehttp://www.ti.com/stellariswarehttp://www.ti.com/gracehttp://www.ti.com/sysbioshttp://processors.wiki.ti.com/index.php/C2000_CLA_C_Compilerhttp://processors.wiki.ti.com/index.php/C2000_CLA_C_Compilerhttp://www.ti.com/sysbioshttp://www.ti.com/gracehttp://www.ti.com/stellariswarehttp://www.ti.com/controlsuite
  • 8/12/2019 1948 2013

    53/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    42

    organizacin de compilador de cdigo generado. Normas eabi incluyen el formato de archivo de

    objeto ELF, el mismo formato usado en Linux. Los niveles ms altos de programacin

    disponible slo en C + +, a travs de plantillas y la funcin in-guarnicin, ver una gran mejoradebido a la EABI. Apoyo EABI est actualmente disponible para ARM, C6000 DSP MSP430 y

    compiladores, y pronto estar disponible en los otros compiladores TI.

    OPCIONES DE LICENCIA

    Hay varias opciones de licencia para el Code Composer Studio:

    Evaluacin - sin lmite de licencias limitadas que pueden ser utilizados para la evaluacin

    herramientas y dispositivos de TI. Nodo bloqueado - una licencia que est ligado a un equipo especfico.

    Flotante - licencias que se pueden compartir entre varios equipos.

    Cdigo de tamao limitado - cdigo de calibre licencia limitada 16KB libre para MSP430.

    [10]

    ElCode Composer Studio dispone de una licencia gratuita que llega justo a los 16 kBytes de

    Flash del microcontrolador MSP430G2553 incluido en los ltimos Launchpad de versin 1.5. De

    hecho, actualmente, no hay ningn microcontrolador dentro de la serie value line de la familiaMSP430 que tenga ms de 16kBytes de Flash.

    Por tanto, en rigor, no es necesario hacer nada de lo que viene a continuacin para trabajar con

    el Launchpad. No obstante la opcin propuesta tiene otras ventajas:

    Pude emplearse para compilar programas para otros microcontroladores de la familia

    MSP430 que soportan ms de 16kB de Flash.

    Se trata de un entorno basado en Eclipse, lo cual es muy prctico para los que ya

    conocen este entorno de programacin, a parte de la calidad que tiene el entornoEclipse en si mismo.

    Usar el entorno Eclipse para todos los procesadores con que uno trabaja evita la

    necesidad de aprender distintos entornos de programacin propietarios.

    Se trata de un entorno portable. Esto es, se puede mover de un ordenador a otro en un

    pendrive o en un disco duro porttil.

    http://www.ti.com/tool/ccstudiohttp://www.ti.com/tool/ccstudio
  • 8/12/2019 1948 2013

    54/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    43

    Desgraciadamente tambin hay un par de inconvenientes:

    Los ejemplos que proporciona Texas Instruments, y muchos ejemplos disponibles en

    internet, se han realizado para los dos entornos preferidos IAR EmbeddedWorkbencho Code Composer Studio. Es por ello que normalmente tendrn que

    hacerse algunas modificaciones en el cdigo para que compile usando lasherramientas

    propuestas. Eso incluye, especialmente, el procedimiento de definicin de las Rutinas de

    Servicio de Interrupcion.

    Para depurar programas, o cargarlos en la placa Launchpad, son necesarios los drivers

    USB de la placa y un par de ficheros DLL se soporte.

    3.6 COMO CREAR UN PROYECTO CON CODE COMPOSER STUDIO

    Nos vamos a Development Tools

    Nos aparecer de un lado el Launch Pad (MSP-EXP430G2) y la placa MSP-EXP430FR5739.Del lado derecho se despliega un men con los dispositivos con los cuales uno puede trabajar

    adems de venir ejemplos que nos pueden ayudar a aprender de mejor manera el entorno de

    CCS (Code Composer Studio).

  • 8/12/2019 1948 2013

    55/120

    DESARROLLO DE UNA PLATAFORMA STEWART BASADA EN MICROCONTROLADORES,

    PARA SIMULAR EL COMPORTAMIENTO DE UNA AERONAVE EN TRES GRADOS DELIBERTAD"

    44

    Aparecer una pantalla como la siguiente.

    Le damos nombre seleccionamos en family MSP430, en variante elegimos MSP430G2231 y

    posteriormente elegimos en Project templates a