memoria_estacion_meteorologica

Upload: fernando-bueno

Post on 06-Apr-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 memoria_estacion_meteorologica

    1/158

    Desarrollo de una estacin

    meteorolgica USB

    Adela M. Rodrguez Zaragoz

    Tutor: Jos Antonio Boluda Grau

    5 de septiembre de 2006

    Universitat de Valncia - ETSE

  • 8/3/2019 memoria_estacion_meteorologica

    2/158

  • 8/3/2019 memoria_estacion_meteorologica

    3/158

    Agradecimientos

    A mis padres, abuela, to y tas, por su apoyo, paciencia y confianza en m.

    A Marian, por compartir conmigo un montn de experiencias, por todos los

    buenos momentos que me has hecho pasar y por hacer que los menos buenos no

    fueran tan malos, por tu paciencia aguantando mis agobios y locuras transitorias, por

    todas esas bi y por lo mucho que me haces rer. Sin ninguna duda, tu amistad es lo

    mejor que me ha aportado la carrera.

    A Oscar, por su ayuda con la electrnica, apoyo, consejos y nimos.

    A Blanca, por sufrir conmigo el PIC y el C#, por prestarme la placa y por esas

    peazo de trufas belgas!!

    A Sara y M. Jos, por todos esos momentos que hemos pasado juntas, me alegro

    de que nuestra amistad no se haya limitado a la facul y que seis mucho ms que unas

    compaeras de clase.

    A mi tutor, por su disponibilidad y ayuda durante el desarrollo del proyecto.

    A Isaac, por atenderme y resolver mis dudas.

    A Natalia, por hacerme rer y ayudarme a desconectar.

    A Marita, Miriam, Ins y Montse, por todo lo que me han enseado y

    encomendado (y espero que sigan!).

    A Isabel y Amparo, que aunque pase el tiempo y cambien las circunstancias,

    siempre estn ah.

    A Isidoro, por su ayuda en el estudio y con los exmenes, y a Beto, por estar

    siempre pendiente de m y encontrarme sitio para aparcar. DOG - OIB

  • 8/3/2019 memoria_estacion_meteorologica

    4/158

  • 8/3/2019 memoria_estacion_meteorologica

    5/158

    ndice General

    I Memoria 1

    1. Introduccin. 3

    1.1. Enunciado y objetivos del proyecto.......................................................3

    1.2. Resumen de la memoria.........................................................................4

    2. Estado del arte. 7

    2.1. Interconexin entre ordenador y perifricos. .........................................7

    2.1.1. Interfaces serie. ..............................................................................9

    2.1.1.1. La interfaz RS-232.......................................................................10

    2.1.1.2. El Bus Serie Universal (USB)......................................................10

    2.1.1.3. El estndar IEEE 1394 o FireWire...............................................14

    2.1.2. Interfaces paralelas.......................................................................162.1.2.1. La interfaz Centronics..................................................................16

    2.1.2.2. El estndar IEEE 1284. ................................................................17

    2.1.2.3. Small Computer Systems Interface (SCSI)..................................17

    2.1.3. Comunicacin inalmbrica. Bluetooth.........................................18

    2.2. Microcontroladores..............................................................................21

    2.3. Sistemas de adquisicin de datos mediante sensores...........................26

    3. Metodologa y materiales. 29

    3.1. Metodologa. ........................................................................................29

    3.2. Material utilizado. ................................................................................31

    3.2.1. Software. ......................................................................................31

    3.2.2. Hardware......................................................................................34

    4. Anlisis de alternativas. 35

    4.1. Requisitos.............................................................................................35

  • 8/3/2019 memoria_estacion_meteorologica

    6/158

    4.2. Evaluacin de alternativas. ..................................................................36

    4.2.1. Interconexin entre el perifrico y el ordenador..........................36

    4.2.2. Microcontrolador. ........................................................................38

    4.2.3. Lenguajes y herramientas de desarrollo de aplicaciones. ............40

    4.3. Seleccin..............................................................................................43

    5. Diseo. 47

    5.1. Diseo del hardware. ...........................................................................48

    5.2. Diseo del firmware.............................................................................53

    5.2.1. Registros de configuracin. .........................................................53

    5.2.2. Registros del oscilador.................................................................55

    5.2.3. Registros del mdulo A/D. ..........................................................58

    5.2.4. Registros del mdulo USB...........................................................63

    5.2.5. Descriptores. ................................................................................66

    5.3. Diseo del software..............................................................................71

    6. Implementacin. 73

    6.1. Implementacin del hardware..............................................................73

    6.2. Implementacin del firmware. .............................................................75

    6.2.1. Programacin del microcontrolador. ...........................................75

    6.2.2. Creacin del fichero INF. ............................................................78

    6.2.3. Creacin de una nueva clase. .......................................................80

    6.3. Implementacin del software. ..............................................................82

    7. Experimentacin. 85

    7.1. Instalacin del perifrico......................................................................85

    7.2. Medicin de la temperatura. ................................................................86

    7.3. Comprobacin del software. ................................................................87

    8. Presupuesto. 89

    8.1. Coste de los recursos hardware............................................................89

    8.2. Coste de los recursos software.............................................................90

    8.3. Coste de los componentes y fabricacin del PCB. ..............................91

    8.4. Coste de los recursos humanos. ...........................................................92

  • 8/3/2019 memoria_estacion_meteorologica

    7/158

    8.5. Coste total del proyecto. ......................................................................93

    9. Conclusiones y trabajo futuro. 95

    9.1. Conclusiones........................................................................................95

    9.2. Trabajo futuro. .....................................................................................97

    II Planos y especificaciones 99

    10. Planos del PCB. 101

    10.1. Esquema elctrico. .............................................................................101

    10.2. Listado de componentes.....................................................................103

    10.3. Diseo del PCB. Caras Top y Bottom. ..............................................104

    10.4. Pinout. ................................................................................................105

    11. Especificaciones. 107

    11.1. Condiciones econmicas....................................................................108

    11.2. Especificaciones tcnicas...................................................................108

    11.2.1. Condiciones de trabajo del sistema............................................108

    11.2.2. Requerimientos de las seales del sistema.................................109

    11.3. Caractersticas de los materiales. .......................................................110

    11.3.1. Especificaciones de los circuitos integrados..............................110

    11.3.2. Componentes pasivos y conductores. ........................................111

    11.4. Condiciones de ejecucin. .................................................................113

    11.4.1. Fabricacin del PCB. .................................................................113

    11.4.2. Montaje de componentes. ..........................................................114

    III Apndices 115

    A. Cdigo del microcontrolador 117

    B. Fichero .INF 123

    C. Cdigo de la aplicacin 125

  • 8/3/2019 memoria_estacion_meteorologica

    8/158

    D. Manual de usuario de TempUSB 139

    D.1. Instalacin del dispositivo...139

    D.2. Instalacin de la aplicacin.....140

    D.3. Utilizacin de la aplicacin.141

    Bibliografa 145

  • 8/3/2019 memoria_estacion_meteorologica

    9/158

    ndice de Figuras

    Figura 2.1: Topologa de una conexin USB...............................................................12

    Figura 2.2: Formato del tipo de cable utilizado............................................................13

    Figura 2.3: Utilizacin de microcontroladores por sectores.........................................25

    Figura 4.1: Encapsulado PIC18F2550..........................................................................45

    Figura 5.1: Flujo de comunicaciones entre un dispositivo USB y el host....................47

    Figura 5.2: Sensor de temperatura LM50.....................................................................49

    Figura 5.3: Alimentacin a travs del bus USB...........................................................50

    Figura 5.4: Conector USB tipo A.................................................................................50

    Figura 5.5: Oscilador cristal o cermico (configuracin XT, HS o HSPLL)...............52

    Figura 5.6: Deteccin de la velocidad de un dispositivo USB.....................................53

    Figura 5.7: Mdulo del oscilador.................................................................................55Figura 5.8: Registro CONFIG1L..................................................................................56

    Figura 5.9: Registro CONFIG1H.................................................................................57

    Figura 5.10: Registro OSCCON...................................................................................58

    Figura 5.11: Registro ADCON0...................................................................................59

    Figura 5.12: Registro ADCON1...................................................................................60

    Figura 5.13: Secuencia de conversin A/D..................................................................61

    Figura 5.14: Conversin A/D con tiempo de adquisicin manual...............................62

    Figura 5.15: Registro ADCON2...................................................................................63

    Figura 5.16: Registro UCON........................................................................................64

    Figura 5.17: Mdulo USB............................................................................................65

    Figura 5.18: Registro UCFG........................................................................................66

    Figura 5.19: Jerarqua de descriptores..........................................................................67

    Figura 5.20: Descriptores del perifrico.......................................................................69

    Figura 5.21: Registro UEPn.........................................................................................70

  • 8/3/2019 memoria_estacion_meteorologica

    10/158

    Figura 6.1: Diagrama de bloques del programa...........................................................77

    Figura 6.2: Nueva clase en el Administrador de Dispositivos.....................................82

    Figura 11.1: Dimensiones del conector USB tipo A..112

  • 8/3/2019 memoria_estacion_meteorologica

    11/158

    ndice de Tablas

    Tabla 4.1: Comparacin entre FireWire y USB...........................................................37

    Tabla 5.1: Modos de funcionamiento del oscilador en el PIC18F2550.......................51

    Tabla 5.2: Registros de configuracin.........................................................................54

    Tabla 5.3: TAD frente a frecuencia del oscilador........................................................62

    Tabla 5.4: Valores de los registros de configuracin...................................................70

    Tabla 8.1: Presupuesto de los recursos hardware.........................................................90

    Tabla 8.2: Presupuesto de los recursos software..........................................................91

    Tabla 8.3: Presupuesto de los componentes y el PCB.................................................92

    Tabla 8.4: Presupuesto del coste de tareas del ingeniero.............................................93

    Tabla 8.5: Presupuesto del coste de tareas del tcnico.................................................93

    Tabla 8.6: Coste total de los recursos humanos...........................................................93Tabla 8.7: Coste total del proyecto..............................................................................94

    Tabla 10.1: Listado de componentes..........................................................................103

    Tabla 10.2: Pinout del microcontrolador PIC18F2550..............................................105

    Tabla 10.3: Pinout del conector USB.........................................................................106

    Tabla 11.1: Condiciones de la seal de alimentacin................................................109

    Tabla 11.2: Mrgenes de tensin para los niveles lgicos en USB 1.1.....................109

    Tabla 11.3: Caractersticas elctricas del PIC18F2550..............................................110

    Tabla 11.4: Caractersticas elctricas del sensor LM50.............................................111

    Tabla 11.5: Parmetros requeridos para la fabricacin del PCB....113

  • 8/3/2019 memoria_estacion_meteorologica

    12/158

  • 8/3/2019 memoria_estacion_meteorologica

    13/158

    1

    Parte I

    Memoria

  • 8/3/2019 memoria_estacion_meteorologica

    14/158

    2

  • 8/3/2019 memoria_estacion_meteorologica

    15/158

    _____________________________________________________________________

    Ingeniera Informtica 3 Universidad de Valencia

    1. Introduccin.

    1.1. Enunciado y objetivos del proyecto.

    La aparicin de nuevos perifricos en el mercado es constante, desde los

    tradicionales ratones o impresoras hasta las cmaras digitales o los pendrives pasando

    por webcams, escners, conversores A/D o modems. Actualmente muchos

    dispositivos que se utilizan de forma cotidiana como pueden ser cmaras de fotos,

    vdeo, reproductores de msica o incluso un telfono mvil pueden ser conectados a

    un ordenador. Esto hace que el desarrollo de dispositivos perifricos est en continua

    evolucin, haciendo especial hincapi en la forma de interconexin entre estos

    dispositivos y el ordenador.

    Cada da aparecen nuevas utilidades de mayor potencia, con ms posibilidades y

    mucho ms grficas, que requieren de ms capacidad y por lo tanto, las tareas

    ordinarias son cada vez de mayor volumen. Para poder almacenar, transmitir o recibir

    dichas tareas, aparecen en el mercado perifricos y componentes de mayor capacidad

    pero tambin es necesario que la "va" por la que se van a transmitir esos datos sea

    ms fiable y ms rpida, de forma que se ajuste a los nuevos avances.

  • 8/3/2019 memoria_estacion_meteorologica

    16/158

    _____________________________________________________________________

    Ingeniera Informtica 4 Universidad de Valencia

    El objetivo de este proyecto es llevar a cabo el desarrollo de un perifrico, desde

    el diseo del esquema hardware del dispositivo hasta la implementacin de una

    aplicacin software que permita la comunicacin con l.

    El perifrico consiste en un sistema de adquisicin de datos a travs de sensores.

    Estos datos debern ser convertidos a formato digital para posteriormente, ser

    enviados al ordenador donde podrn ser tratados y visualizados.

    A continuacin se enumeran los principales objetivos del proyecto:

    Diseo e implementacin de un circuito impreso que realice la

    adquisicin de datos a travs de sensores.

    Estudio de los distintos medios de interconexin entre el dispositivo y el

    ordenador, seleccionando el que ms se adecue a nuestras necesidades.

    Implementacin del protocolo de comunicacin entre el perifrico y el

    host.

    Desarrollo de una aplicacin software que permita visualizar los datos

    adquiridos mediante los sensores.

    1.2. Resumen de la memoria.La memoria se ha dividido en los siguientes captulos intentando ofrecer una

    visin clara de todas las fases del proyecto:

    Captulo 1: Enunciado y objetivos del proyecto y resumen del contenido

    de la memoria.

    Captulo 2: Estado del arte, es decir, la base terica sobre la que se basa

    el proyecto.

    Captulo 3: Metodologa y materiales utilizados en el desarrollo del

    proyecto.

  • 8/3/2019 memoria_estacion_meteorologica

    17/158

    _____________________________________________________________________

    Ingeniera Informtica 5 Universidad de Valencia

    Captulo 4: Especificacin de los requisitos a cumplir por el proyecto.

    Exposicin y anlisis de las diferentes alternativas de las que se dispone

    para realizar el proyecto y justificacin de la decisin final adoptada.

    Captulo 5: Diseo del hardware, firmware y software del proyecto. Captulo 6: Descripcin del proceso de implementacin.

    Captulo 7: Descripcin y resultados de las pruebas realizadas.

    Captulo 8: Estimacin econmica del proyecto.

    Captulo 9: Conclusiones extradas y posibles lneas de desarrollo futuras

    a partir del estado final del proyecto.

    Captulo 10: Esquema elctrico, planos del PCB y listado de

    componentes. Captulo 11: Especificaciones tcnicas y caractersticas de los materiales.

    Apndice A: Cdigo del microcontrolador.

    Apndice B: Fichero INF.

    Apndice C: Cdigo de la aplicacin software.

    Apndice D: Manual de usuario donde se indica cmo instalar el

    perifrico y utilizar la aplicacin software.

    Bibliografa.

  • 8/3/2019 memoria_estacion_meteorologica

    18/158

    _____________________________________________________________________

    Ingeniera Informtica 6 Universidad de Valencia

  • 8/3/2019 memoria_estacion_meteorologica

    19/158

    _____________________________________________________________________

    Ingeniera Informtica 7 Universidad de Valencia

    2. Estado del arte.En el presente captulo se expondrn las bases tericas del diseo de perifricos,

    para ello el captulo se divide en tres secciones. En la primera se van a describir los

    estndares ms importantes y comunes que se utilizan para conectar los perifricos al

    ordenador. La segunda seccin trata sobre la importancia de los microcontroladores

    en el desarrollo de perifricos y, por ltimo, en la tercera seccin se hablar sobre los

    sistemas de adquisicin de datos a travs de sensores.

    2.1. Interconexin entre ordenador y perifricos.En cualquier ordenador existe una parte muy importante llamada subsistema de

    Entrada/Salida, que es la que hace posible la comunicacin con el mundo exterior.

    Este sistema est formado por varios dispositivos perifricos que proporcionan un

    medio para intercambiar datos con el exterior y que se comunican con el procesador a

    travs de una serie de mdulos llamados de E/S. Cualquiera de estos mdulos

    contiene una serie de controladores que se encargan de manejar el funcionamiento de

    uno o varios perifricos.

    Los mdulos de E/S no deben conectar directamente el perifrico con el bus del

    sistema, sino que tienen que poseer una cierta inteligencia para poder realizar la

    comunicacin entre el perifrico y el procesador de forma eficiente. Si se observan

  • 8/3/2019 memoria_estacion_meteorologica

    20/158

    _____________________________________________________________________

    Ingeniera Informtica 8 Universidad de Valencia

    algunas de las caractersticas del subsistema de Entrada/Salida ser posible darse

    cuenta de esta necesidad:

    Existe una gran diversidad de perifricos que utilizan mtodos de

    operacin diferentes. No sera lgico que la CPU tuviera que incorporar

    toda la lgica necesaria para controlar este rango de dispositivos.

    La velocidad de transferencia de los datos de los perifricos es a menudo

    mucho ms lenta que la que tiene el procesador con el sistema de

    memoria, por lo tanto resulta poco prctico usar el bus del sistema de alta

    velocidad para comunicarse directamente con los perifricos.

    A menudo los perifricos utilizan formatos y longitudes de palabra de

    datos diferentes a los que utiliza el procesador. Debe haber por tanto

    algn mecanismo para adecuar las seales de ambos dispositivos.

    Los mdulos de E/S establecen una serie de reglas (llamadas interfaces) que les

    permiten por un lado conectarse con la CPU y la memoria a travs del bus del sistema

    o del de expansin y, por otro lado, conectarse con los dispositivos perifricos a travs

    de enlaces dedicados para datos. Estos enlaces se caracterizan porque son ms lentos,

    tienen una menor longitud de palabra y menores velocidades de transferencia de

    datos. Su diseo se basa en un estndar para permitir la interconexin de dispositivos

    de diferentes fabricantes. [MBP01]

    A continuacin se describirn algunos de los estndares ms importantes

    utilizados en la interconexin del ordenador y los perifricos, haciendo para ello una

    distincin entre interfaces serie e interfaces paralelas:

    Interfaz serie: Se utiliza una nica lnea para transmitir los datos.

    Interfaz paralela: Se utilizan varias lneas de datos para transmitir

    mltiples bits de forma simultnea.

  • 8/3/2019 memoria_estacion_meteorologica

    21/158

    _____________________________________________________________________

    Ingeniera Informtica 9 Universidad de Valencia

    2.1.1. Interfaces serie.

    La conexin a travs de esta interfaz es muy importante debido a su gran

    flexibilidad. En los ordenadores personales la interfaz serie se utiliza para conectarmltiples dispositivos como plotters, mdems, ratones y tambin impresoras.

    En la transmisin serie se van transfiriendo los bits de informacin de uno en uno

    a travs de una lnea de datos, pudiendo ser las transferencias sncronas o asncronas.

    Si se utilizan seales adicionales (reloj o seales de peticin y reconocimiento) para

    indicar cundo el bit siguiente es vlido, entonces se dice que la transmisin se realiza

    de forma sncrona. La principal ventaja de este tipo de transferencias es que elreceptor puede funcionar a varias frecuencias de reloj (siempre que no sobrepase su

    frecuencia mxima de funcionamiento). Simplemente bastar con retrasar el envo de

    la seal de reconocimiento para ralentizar el protocolo. En las transferencias

    asncronas, por el contrario, tanto el receptor como el transmisor deben funcionar a la

    misma frecuencia. En este caso se enva tambin informacin de sincronizacin a

    travs de la lnea de datos, que se corresponde con un bit de comienzo (bit de start),

    que indica el comienzo de una unidad de datos, un bit de fin (bit de stop) indicando su

    finalizacin y, opcionalmente, un bit de paridad para controlar los posibles errores.

    El bit de paridad lo generan los controladores serie de forma automtica,

    pudiendo configurarse entre las opciones de: sin paridad, paridad par (odd), paridad

    impar (even), siempre un nivel alto (mark) o siempre un nivel bajo (space).

    Las tasas de transferencia de datos se miden en baudios. Los baudios indican el

    nmero de veces que puede cambiar una seal en la lnea de transmisin por segundo.

    En una interfaz serie, las seales cambian siempre a la misma frecuencia y se realiza

    una codificacin binaria de la informacin de forma que cuando se quiere enviar un

    1 se pone la lnea a nivel alto y cuando se quiere enviar un 0 se pone la lnea a

    nivel bajo. En este caso los baudios coinciden con el nmero de bits por segundo

    transferidos si se incluyen tambin los bits de comienzo, de fin y de paridad.

  • 8/3/2019 memoria_estacion_meteorologica

    22/158

    _____________________________________________________________________

    Ingeniera Informtica 10 Universidad de Valencia

    2.1.1.1. La interfaz RS-232.

    Este estndar lo incorporan todos los ordenadores personales y est definido por

    la EIA ( Electronic Industries Association) aunque en Europa se le conoce como elestndar V.24 definido por la CCITT (Consultative Committee for International

    Telephone and Telegraph). En l se definen todas las caractersticas mecnicas,

    elctricas y los protocolos necesarios para conectar un equipo terminal de datos

    (DTE- Data Terminal Equipment) con un equipo transmisor de datos (DCE Data

    Carrier Equipment). Inicialmente se defini para realizar la comunicacin entre un

    ordenador personal y un mdem, aunque actualmente se utiliza con muchos otros

    propsitos para enviar datos de forma serializada.

    El estndar define voltajes que oscilan entre + [3-15] V para el nivel alto y [3-

    15] V para el nivel bajo. Debido a la gran diferencia de voltaje que existe entre los

    niveles altos y bajos, se permiten tasas de transferencia de hasta 115.200 baudios si la

    longitud del cable es de unas pocas decenas de metros.

    Si se utiliza este estndar para conectar otros perifricos diferentes de los

    mdems, stos se comportan como dispositivos DTE y, por lo tanto, las seales

    cambian de significado.

    2.1.1.2. El Bus Serie Universal (USB).

    El USB es un estndar (1995) que define un bus utilizado para conectar

    perifricos al ordenador. La principal caracterstica que tiene es que la conexin es

    muy sencilla, ya que utiliza un nico conector para conectar a travs de un bus serie

    todos los dispositivos. En l se definen los conectores y los cables, una topologa

    especial tipo estrella para conectar hasta 127 dispositivos y protocolos que permiten la

    deteccin y configuracin automtica de los dispositivos conectados. USB 1.0 soporta

    dos tasas de transferencia diferentes, una baja de 1,5 Mbps para la conexin de

    dispositivos lentos de bajo coste (joysticks, ratones) y otra alta de hasta 12 Mbps para

    la conexin de dispositivos que requieren un mayor ancho de banda (discos o CD-ROMS).

  • 8/3/2019 memoria_estacion_meteorologica

    23/158

    _____________________________________________________________________

    Ingeniera Informtica 11 Universidad de Valencia

    La especificacin de este estndar ha sido respaldada por las empresas lderes

    mundiales en el campo de la informtica: Intel, IBM, DEC, Microsoft, Compac, NEC

    y Northem Telecom, empresas que garantizan su continuidad y utilizacin.

    A mediados del ao 2000 aparece la versin 2.0, que fue creada por el conjunto

    de compaas arriba mencionadas, a las cuales se unieron Hewlett Packard, Lucent y

    Philips. USB 2.0 multiplica la velocidad del bus por un factor de 30 o 40, llegando a

    alcanzar una velocidad de 480 Mbps, con una diferencia de coste casi inapreciable. Es

    compatible con la versin anterior y utiliza los mismos cables y conectores,

    nicamente se necesitan nuevos hubs que soporten la versin 2.0. Estos hubs son algo

    ms complejos que los anteriores, ya que tienen que manejar el trfico de datos de tres

    velocidades distintas sin ser excluyentes entre ellas.

    Cabe tambin destacar que USB 2.0 nunca llegar a reemplazar completamente a

    USB 1.0, ya que existen algunos tipos de dispositivos, como los HID (teclados,

    ratones,), que no requieren las altas velocidades que alcanza esta nueva versin y

    que nicamente encareceran el dispositivo. [Usb]

    Anteriormente los perifricos se conectaban mapeados directamente en

    direcciones de E/S, se les asignaba una direccin especfica y en algunos casos un

    canal DMA. Esta situacin conduca a tener conflictos en la asignacin de estos

    recursos, puesto que siempre han estado bastante limitados en el ordenador. Adems

    cada dispositivo tena su propio puerto de conexin y utilizaba sus cables especficos,

    lo que daba lugar a un incremento de los costes. Debido a que a cada dispositivo se le

    tenan que asignar unos recursos especficos la deteccin del mismo deba hacerse a la

    hora de arrancar el sistema y nunca se poda incorporar un nuevo dispositivo cuando

    el sistema estaba en marcha.

    Los dos aspectos fundamentales que motivaron la realizacin de este estndar

    fueron la necesidad de configurar de forma sencilla los perifricos conectados al

    ordenador y la necesidad de aumentar el nmero de puertos disponibles.

    Este estndar define una topologa de conexin en estrella, tal como se muestraen la figura 2.1, por medio de la incorporacin de varios concentradores (hubs)

  • 8/3/2019 memoria_estacion_meteorologica

    24/158

    _____________________________________________________________________

    Ingeniera Informtica 12 Universidad de Valencia

    conectados en serie. Cada concentrador se conecta por un lado al ordenador, que

    contiene una o dos interfaces de este tipo en la placa base, o a otro concentrador y, por

    otro lado, se conecta a varios dispositivos o incluso a otro concentrador. De este modo

    pueden existir perifricos que vengan ya preparados con nuevos conectores USB para

    incorporar nuevos dispositivos, hasta un total de 127, todos ellos funcionando

    simultneamente. Los hubs tienen la misin de ampliar el nmero de dispositivos que

    se pueden conectar al bus. Son concentradores cableados que permiten la conexin

    simultnea de mltiples dispositivos y lo ms importante es que se pueden concatenar

    entre s ampliando la cantidad de puertos disponibles para los perifricos. El

    concentrador detecta cundo un perifrico es conectado o desconectado a/de uno de

    sus puertos, notificndolo de inmediato al controlador de USB. Tambin realiza

    funciones de acoplamiento de las velocidades de los dispositivos ms lentos.

    Figura 2.1: Topologa de una conexin USB

    Existe una gran variedad de dispositivos USB que se conectan todos al mismo

    bus. La caracterstica ms importante es que todos ellos utilizan el mismo tipo de

    cable y de conector y se conectan de la misma forma tan sencilla. El host decide qu

    dispositivo puede acceder al bus, utilizando un protocolo parecido al de paso de

    testigo. Este protocolo se caracteriza porque entre los diferentes dispositivos se va

    pasando un identificador a lo largo del tiempo que permite la utilizacin del bus.

  • 8/3/2019 memoria_estacion_meteorologica

    25/158

    _____________________________________________________________________

    Ingeniera Informtica 13 Universidad de Valencia

    El host USB tiene las funciones de:

    Detectar la conexin/desconexin de dispositivos y configurarlos.

    Controlar las transferencias de datos y de control que tienen lugar en elbus.

    Realizacin de auditorias sobre la actividad del sistema.

    Servir como fuente de alimentacin a los dispositivos.

    El USB define dos lneas para transmitir datos y otras dos para transmitir

    potencia (vase la figura 2.2). Los datos de transmiten de forma balanceada a

    velocidades entre 1,5 Mbps y 12 Mbps. La seal se transmite codificada en un cdigo

    autoreloj de no retorno a cero invertido (NRZI) para poder incluir junto con los datos

    informacin de sincronizacin. Las lneas de alimentacin (Vbus y GND) evitan la

    necesidad de utilizar fuentes de alimentacin externas. Tiene una tensin de 5 V y la

    corriente se limita a un mximo de 3 a 5 amperios por razones de seguridad, siendo el

    consumo y la configuracin elctrica totalmente transparente al usuario. La distancia

    entre dos perifricos conectados al mismo cable no debe ser superior a 5 metros para

    evitar problemas de cadas de tensin.

    Figura 2.2: Formato del tipo de cable utilizado

    El computador identifica automticamente el dispositivo que se conecta mientras

    opera y lo configura sin tener que instalar drivers especficos del fabricante. Al

    comienzo se detectan los dispositivos conectados midiendo los niveles de voltaje de

    las lneas. Si un dispositivo est conectado, entonces el dispositivo enva informacin

    sobre el tipo o la clase a la que pertenece, qu modo de transferencia utilizar y cules

    son sus necesidades de ancho de banda. El host reconocer el dispositivo buscando en

    la lista de drivers del sistema operativo y teniendo en cuenta los dems dispositivos

  • 8/3/2019 memoria_estacion_meteorologica

    26/158

    _____________________________________________________________________

    Ingeniera Informtica 14 Universidad de Valencia

    conectados le asignar un ancho de banda determinado. De la misma forma tambin

    se pueden desconectar los dispositivos del sistema. El controlador USB del host

    asigna un nmero diferente de dispositivo a cada uno de los perifricos que se

    conectan a este bus. Para empezar la transferencia, ste enva un paquete que

    identifica al dispositivo objeto de la transferencia. El protocolo soporta cuatro tipos de

    transferencias:

    Control. Son transferencias que se utilizan para leer informacin de los

    descriptores en los registros de los dispositivos (llamados endpoints),

    interpretarla y poder configurarlos.

    Interrupcin. Usadas en los perifricos del tipo de los controladores de

    juegos, teclados y ratones, cuya comunicacin es unidireccional y poco

    frecuente.

    Masiva. Son transferencias no peridicas que precisan de todo el ancho

    de banda disponible. Utilizadas por las impresoras y los scanners.

    Iscrona. Dedicadas a las transferencias de telecomunicaciones, como

    voz o vdeo, que garantiza unas tasas de transferencia constantes. Se

    caracterizan porque el nmero de pulsos de reloj que transcurren entre la

    transmisin de dos caracteres es constante, por lo tanto, se est enviando

    informacin constantemente entre el host y el dispositivo. [MBP01]

    2.1.1.3. El estndar IEEE 1394 o FireWire.

    Apple y Sony inventaron el FireWire a mediados de los 90 y lo desarrollaron

    hasta convertirlo en el estndar multiplataforma IEEE 1394. FireWire es una

    tecnologa para la entrada/salida de datos en serie a alta velocidad y la conexin de

    dispositivos digitales como videocmaras o cmaras fotogrficas digitales que ha sido

    ampliamente adoptado por fabricantes de perifricos digitales como Sony, Canon,

    JVC y Kodak.

    FireWire es uno de los estndares de perifricos ms rpidos que se han

    desarrollado, caracterstica que lo hace ideal para su uso con perifricos del sectormultimedia (como cmaras de vdeo) y otros dispositivos de alta velocidad como, por

  • 8/3/2019 memoria_estacion_meteorologica

    27/158

    _____________________________________________________________________

    Ingeniera Informtica 15 Universidad de Valencia

    ejemplo, lo ltimo en unidades de disco duro e impresoras. Se ha convertido en la

    interfaz preferida de los sectores de audio y vdeo digital, ya que rene numerosas

    ventajas, entre las que se encuentran la elevada velocidad, la flexibilidad de la

    conexin y la capacidad de conectar un mximo de 63 dispositivos. Adems de

    cmaras y equipo de vdeo digital, la amplia gama de productos FireWire comprende

    reproductores de vdeo digital, sistemas domsticos para el ocio, sintetizadores de

    msica, escneres y unidades de disco duro.

    Con un ancho de banda 30 veces mayor que el conocido estndar de perifricos

    USB 1.1, el FireWire 400 se ha convertido en el estndar ms respetado para la

    transferencia de datos a alta velocidad. Apple fue el primer fabricante de ordenadores

    que incluy FireWire en toda su gama de productos. Una vez ms, Apple ha vuelto a

    subir las apuestas duplicando la velocidad de transferencia con su implementacin del

    estndar IEEE 1394b o FireWire 800.

    La velocidad sobresaliente del FireWire 800 frente al USB 2.0 convierte al

    primero en un medio mucho ms adecuado para aplicaciones que necesitan mucho

    ancho de banda, como las de grficos y vdeo, que a menudo consumen cientos o

    incluso miles de megabytes de datos por archivo.

    Algunas de las caractersticas ms importantes del FireWire son:

    Flexibles opciones de conexin. Admite un mximo de 63 dispositivos

    con cables de hasta 4,25 metros.

    Distribucin en el momento. Fundamental para aplicaciones de audio y

    vdeo, donde un fotograma que se retrasa o pierde la sincronizacin

    arruina un trabajo.

    Alimentacin por el bus. Mientras el USB 2.0 permite la alimentacin de

    dispositivos sencillos que consumen un mximo de 2,5 W, como un ratn,

    los dispositivos FireWire pueden proporcionar o consumir hasta 45 W,

    ms que suficiente para discos duros de alto rendimiento y bateras de

    carga rpida.

  • 8/3/2019 memoria_estacion_meteorologica

    28/158

    _____________________________________________________________________

    Ingeniera Informtica 16 Universidad de Valencia

    Es conectable/desconectable en uso. Lo que significa que no se necesita

    desactivar un dispositivo para conectarlo o desconectarlo y que no es

    necesario reiniciar el ordenador.

    Funciona tanto con Mac como con PC. Lo que garantiza la compatibilidadcon una larga lista de productos con FireWire a precios razonables. [App]

    2.1.2. Interfaces paralelas.

    Los ordenadores personales incorporan tradicionalmente un puerto paralelo

    consistente en un conector DB25. Este tipo de interfaz se caracteriza porque se envan

    simultneamente los bits de datos por medio de diferentes lneas. Desde siempre se ha

    considerado la interfaz paralela como el puerto utilizado para conectar la impresora,

    pero desde comienzos de la dcada de los noventa se viene utilizando con otros fines,

    ya sea para comunicar diferentes sistemas informticos o bien para conectar

    dispositivos de almacenamiento masivo. La clave para su expansin fue la utilizacin

    de estndares que permitan la comunicacin bidireccional por las lneas de datos.

    2.1.2.1. La interfaz Centronics.

    Inicialmente se dise una interfaz con 36 pines, que utilizaba la casa Centronics

    Data Computer Corporation en sus impresoras. Sin embargo, la interfaz Centronics de

    los ordenadores personales actuales fue diseada por Epson Corporation.

    La interfaz consta de 8 pines para datos ms 5 seales que controlan la impresoray cinco que vienen de la misma. Se utilizan voltajes TTL con seales no balanceadas,

    por lo que son susceptibles de recibir ruido y producir errores. El bus soporta tasas de

    transferencia de datos de hasta 100 Kbytes/s.

    Actualmente se han diseado dos estndares que tratan de aumentar el ancho de

    banda de la interfaz Centronics sin perder la compatibilidad con el mismo,

    permitiendo adems la comunicacin bidireccional. Son las interfaces ECP (Extended

    Capabilities Port) y EPP (Enhanced Capabilities Port) que se definen en el estndar

  • 8/3/2019 memoria_estacion_meteorologica

    29/158

    _____________________________________________________________________

    Ingeniera Informtica 17 Universidad de Valencia

    del IEEE 1284. ECP se utiliza en las impresoras y escners, puesto que permite

    mayores tasas de transferencia con protocolos sencillos, mientras que EPP sirve para

    los dems dispositivos en donde se necesita un control de errores ms exhaustivo.

    2.1.2.2. El estndar IEEE 1284.

    Este nuevo estndar define 5 modos de transferencia de datos, desde el viejo

    Centronics hasta dos mtodos que permiten la comunicacin bidireccional entre el

    ordenador y el dispositivo. Debido a que los protocolos se implementan por hardware,

    EPP y ECP permiten tasas de transferencia de datos mucho mayores, llegando incluso

    al Megabyte por segundo. Los 5 modos de transferencia de datos que define el

    estndar son: modo compatible, 4 bits, 8 bits (modo byte), ECP y EPP.

    El estndar describe el formato de las seales, la asignacin de pines y los

    mecanismos de deteccin y correccin de errores, sin embargo las funciones de la

    BIOS, la interfaz software y el control de los puertos estn a cargo de los fabricantes.

    El puerto paralelo se configura inicialmente en el modo compatible. Despus se

    establece un dilogo con el perifrico para decidir el modo de funcionamiento final,

    aunque debido a la facilidad con la que se puede cambiar el modo, es posible realizar

    transferencias cambiando los modos de emisin y de recepcin de datos de forma

    dinmica. Los modos byte, ECP y EPP son opcionales en el estndar.

    2.1.2.3. Small Computer Systems Interface (SCSI).

    La interfaz SCSI es una interfaz paralela, con 8, 16 o 32 lneas de datos, que se

    utiliza para comunicar dispositivos rpidos, como discos CD-ROM, dispositivos de

    audio y dispositivos de almacenamiento externo de datos. Normalmente se considera

    a la configuracin SCSI como un bus (conexin multipunto), sin embargo, los

    dispositivos estn conectados entre s formando una conexin daisy-chain. Cada

    dispositivo tiene dos conectores, uno de entrada y otro de salida. El comienzo del bus

    se conecta con el host y el ltimo dispositivo incorpora un terminado para evitar

  • 8/3/2019 memoria_estacion_meteorologica

    30/158

    _____________________________________________________________________

    Ingeniera Informtica 18 Universidad de Valencia

    problemas de reflexiones de las seales. Los dispositivos funcionan de forma

    independiente y pueden intercambiar datos tanto entre s como con el host.

    Este bus puede soportar mltiples procesadores y mltiples dispositivos

    perifricos. Soporta hasta 8 dispositivos, de los cuales cada uno puede tener 8

    unidades lgicas, cada una de las cuales soporta 256 subunidades lgicas.

    La especificacin original se llam SCSI-1 y usaba 8 lneas de datos a una

    frecuencia de 5 MHz, permitiendo una transferencia de datos de 5 Mb/s. SCSI-1

    soporta hasta 7 dispositivos que pueden ser encadenados al bus.

    En 1991 surgi una extensin estndar, el SCSI-2, que incrementaba el nmero

    de lneas de datos a 16 o 32 bits e incrementaba la frecuencia de reloj a 10 MHz. As

    se logran tasas de transferencia mxima de hasta 40 Mbytes/s.

    Las transferencias en el bus siempre tienen lugar entre un iniciador (dispositivo

    que manda comandos) y un objetivo (dispositivo que ejecuta los comandos).

    Normalmente el host es el iniciador y el controlador del dispositivo es el objetivo,

    aunque puede haber algn dispositivo que sea ambas cosas a la vez. Las seales que

    se transmiten por el bus pueden estar implementadas utilizando un solo cable cada

    una y compartiendo una masa comn en el caso de unsingle-endedSCSI o utilizando

    dos cables cada una en el caso del differential SCSI. El primero se utiliza para

    distancias menores a 6 metros y el segundo para distancias menores a 25 metros. Los

    conectores son de 50 pines. [MBP01]

    2.1.3. Comunicacin inalmbrica. Bluetooth.

    Bluetooth es la norma que define un estndar global de comunicacin

    inalmbrica que posibilita la transmisin de voz y datos entre diferentes equipos

    mediante un enlace por radiofrecuencia. Los principales objetivos que se pretende

    conseguir con esta norma son:

  • 8/3/2019 memoria_estacion_meteorologica

    31/158

    _____________________________________________________________________

    Ingeniera Informtica 19 Universidad de Valencia

    Facilitar las comunicaciones entre equipos mviles y fijos.

    Eliminar cables y conectores entre stos.

    Ofrecer la posibilidad de crear pequeas redes inalmbricas y facilitar la

    sincronizacin de datos entre nuestros equipos personales. [Bol06]

    La tecnologa Bluetooth comprende hardware, software y requerimientos de

    interoperabilidad, por lo que para su desarrollo ha sido necesaria la participacin de

    los principales fabricantes de los sectores de las telecomunicaciones y la informtica,

    tales como: Ericsson, Nokia, Motorola, Toshiba, IBM e Intel, entre otros.

    Posteriormente se han ido incorporando muchas ms compaas, y se prev que

    prximamente lo hagan tambin empresas de sectores tan variados como

    automatizacin industrial, maquinaria, ocio y entretenimiento, fabricantes de juguetes,

    electrodomsticos, etc., con lo que en poco tiempo se nos presentar un panorama de

    total conectividad de nuestros aparatos tanto en casa como en el trabajo.

    Bluetooth proporciona una va de interconexin inalmbrica entre diversos

    aparatos que tengan dentro de s esta tecnologa, como mviles, consolas, ordenadores

    de mano, cmaras, ordenadores porttiles, impresoras o simplemente cualquier

    dispositivo que un fabricante considere oportuno, usando siempre una conexin

    segura de radio de muy corto alcance. El alcance que logran tener estos dispositivos

    es de 10 metros para ahorrar energa ya que generalmente estos dispositivos utilizan

    mayoritariamente bateras. Sin embargo, se puede llegar a un alcance de hasta 100

    metros (similar a Wi-Fi) pero aumentando el consumo energtico considerablemente.

    La especificacin de Bluetooth define un canal de comunicacin de mximo

    720Kb/s (1 Mbps de capacidad bruta) con rango ptimo de 10 metros (opcionalmente

    100 m con repetidores).

    La frecuencia de radio con la que trabaja est en el rango de 2,4 a 2,48 GHz con

    amplio espectro y saltos de frecuencia con posibilidad de transmitir en full duplex con

    un mximo de 1600 saltos/seg. Los saltos de frecuencia se dan entre un total de 79

    frecuencias con intervalos de 1 MHz; esto permite dar seguridad y robustez.

  • 8/3/2019 memoria_estacion_meteorologica

    32/158

    _____________________________________________________________________

    Ingeniera Informtica 20 Universidad de Valencia

    La potencia de salida para transmitir a una distancia mxima de 10 metros es de 0

    dBm (1 mW), mientras que la versin de largo alcance transmite entre 20 y 30 dBm

    (entre 100 mW y 1 W).

    El protocolo de banda base (canales simples por lnea) combina conmutacin de

    circuitos y paquetes. Para asegurar que los paquetes no lleguen fuera de orden, los

    slots pueden ser reservados por paquetes sncronos, un salto diferente de seal es

    usado para cada paquete. Por otro lado, la conmutacin de circuitos puede ser

    asncrona o sncrona. Tres canales de datos sncronos (voz), o un canal de datos

    sncrono y uno asncrono, pueden ser soportados en un solo canal. Cada canal de voz

    puede soportar una tasa de transferencia de 64 Kb/s en cada sentido, la cual es

    suficientemente adecuada para la transmisin de voz. Un canal asncrono puede

    transmitir como mucho 721 Kb/s en una direccin y 56 Kb/s en la direccin opuesta,

    sin embargo, para una conexin asncrona es posible soportar 432,6 Kb/s en ambas

    direcciones si el enlace es simtrico.

    El hardware que compone el dispositivo Bluetooth esta compuesto por dos partes:

    Un dispositivo de radio, encargado de modular y transmitir la seal.

    Un controlador digital, compuesto por una CPU, por un procesador de

    seales digitales (DSP - Digital Signal Processor) llamado Link

    Controller (o controlador de enlace) y por los interfaces con el dispositivo

    anfitrin.

    El LC ( Link Controller) est encargado de hacer el procesamiento de la banda

    base y del manejo de los protocolos ARQ y FEC de capa fsica. Adems, se encarga

    de las funciones de transferencia (tanto asncrona como sncrona), codificacin de

    audio y encriptacin de datos.

    La CPU del dispositivo se encarga de atender las instrucciones relacionadas con

    Bluetooth del dispositivo anfitrin, para as simplificar su operacin. Para ello, sobre

    la CPU corre un software denominado Link Manager que tiene la funcin de

    comunicarse con otros dispositivos por medio del protocolo LMP.

  • 8/3/2019 memoria_estacion_meteorologica

    33/158

    _____________________________________________________________________

    Ingeniera Informtica 21 Universidad de Valencia

    2.2. Microcontroladores.Un controlador es un dispositivo que se emplea en el gobierno de uno o varios

    procesos. Aunque el concepto de controlador ha continuado inalterable a travs del

    tiempo, su implementacin fsica ha variado frecuentemente. Hace tres dcadas, los

    controladores se construan exclusivamente con componentes de lgica discreta;

    posteriormente se utilizaron los microprocesadores, que se rodeaban con chips de

    memoria y E/S sobre una tarjeta de circuito impreso. En la actualidad, todos los

    elementos del controlador se han podido incluir en un chip que recibe el nombre de

    microcontrolador.

    En definitiva, un microcontrolador es un circuito integrado programable que

    contiene todos los componentes de un computador. Se utiliza para controlar el

    funcionamiento de una tarea determinada y, debido a su reducida medida, suele ir

    incorporado en el propio dispositivo que gobierna. Esta ltima caracterstica es la que

    le confiere la denominacin de controlador incrustado (embedded controller).

    El microcontrolador es un computador dedicado. En su memoria solamente reside

    un programa destinado a gobernar una aplicacin determinada; sus lneas de

    entrada/salida soportan la conexin de los sensores y actuadores del dispositivo a

    controlar y todos los recursos complementarios disponibles tienen como nica

    finalidad atender sus requerimientos. Una vez programado y configurado el

    microcontrolador solamente sirve para gobernar la tarea asignada.

    Un microcontrolador posee todos los componentes de un computador pero con

    unas caractersticas fijas que no pueden alterarse. Todos disponen de los bloques

    esenciales: procesador, memoria de datos y de instrucciones, mdulos de E/S,

    oscilador de reloj y mdulos controladores de perifricos. Adems de estos elementos,

    existen una serie de recursos especiales que los fabricantes pueden ofertar, algunos

    amplan las capacidades de las memorias, otros incorporan nuevo recursos y hay

    quienes reducen las prestaciones al mnimo para aplicaciones muy simples. Depende

    del programador el encontrar el modelo mnimo que se ajuste a sus requerimientos y

  • 8/3/2019 memoria_estacion_meteorologica

    34/158

    _____________________________________________________________________

    Ingeniera Informtica 22 Universidad de Valencia

    as minimizar el coste, el hardware y el software. Algunos de los principales recursos

    especficos que incorporan los microcontroladores son:

    Temporizadores (Timers

    ).

    Perro guardin (Watchdog).

    Proteccin frente a fallo de alimentacin (Brown-out).

    Estado de bajo consumo.

    Conversores AD y DA.

    Modulador de anchura de pulsos PWM.

    Comparadores analgicos.

    Puertos de E/S digital. Puertos de comunicacin: serie, CAN, USB, I2C,

    Los microcontroladores pueden clasificarse segn su arquitectura, que puede ser

    Von Neumann o Harvard. La arquitectura Von Neumann se caracteriza por

    disponer de una sola memoria principal donde se almacenan datos e instrucciones de

    forma indistinta. A dicha memoria se accede a travs de un sistema de buses nico.

    Hay aspectos positivos en esta configuracin como los accesos a tablas almacenadas

    en memoria ROM y un set de instrucciones ms ortogonal. El bus de direcciones es

    usado para identificar qu posicin de memoria esta siendo accedida, mientras que el

    bus de datos es utilizado para trasladar informacin entre la CPU y alguna direccin

    de memoria o viceversa. Con un nico sistema de buses, la arquitectura Von

    Neumann es usada secuencialmente para acceder a instrucciones de la memoria de

    programa y ejecutarlas regresando desde/hacia la memoria de datos. Esto significa

    que el ciclo de instruccin no puede solaparse con ningn acceso a la memoria de

    datos.

    Una desventaja de esta arquitectura podra ser que el contador de programa o

    algn otro registro se corrompieran y apuntaran a la memoria de datos y se tomara

    sta momentneamente como memoria de programa. Consecuentemente se ejecutara

    una instruccin no deseada o un error en la decodificacin de la instruccin.

  • 8/3/2019 memoria_estacion_meteorologica

    35/158

    _____________________________________________________________________

    Ingeniera Informtica 23 Universidad de Valencia

    La Arquitectura Harvard se caracteriza por disponer de dos memorias

    independientes, una que contiene slo instrucciones y otra con slo datos. Ambas

    disponen de sus respectivos sistemas de buses de acceso y es posible realizar

    operaciones de acceso (lectura o escritura) simultneamente en ambas memorias. Una

    de las ventajas de esta arquitectura es que la operacin del microcontrolador puede ser

    controlada ms fcilmente si se presentara una anomala en el contador de programa.

    Existe otra arquitectura que permite accesos a tablas de datos desde la memoria de

    programa. Esta arquitectura es la llamada arquitectura Harvard modificada.

    Esta ltima arquitectura es la dominante en los microcontroladores actuales ya

    que la memoria de programa es usualmente ROM, OTP, EPROM o FLASH mientras

    que la memoria de datos es usualmente RAM. Consecuentemente, las tablas de datos

    pueden estar en la memoria de programa sin que sean perdidas cada vez que el

    sistema es apagado. Otra ventaja importante en la arquitectura Harvard modificada es

    que las transferencias de datos pueden ser solapadas con los ciclos de decodificacin

    de instrucciones. Esto quiere decir que la siguiente instruccin puede ser cargada de la

    memoria de programa mientras se est ejecutando una instruccin que accede a la

    memoria de datos. La desventaja de la arquitectura Harvard modificada podra ser que

    se requieren instrucciones especiales para acceder a valores en memoria RAM y ROM

    haciendo la programacin un poco complicada.

    Segn [Per05] las principales ventajas que se pueden encontrar en el uso de

    microcontroladores son:

    Gestin eficiente de procesos.

    Aumento de la fiabilidad.

    Reduccin del tamao, consumo y coste.

    Mayor flexibilidad (nicamente se requiere la reprogramacin).

    Existe una gran diversidad de microcontroladores. Quiz la clasificacin ms

    importante sea entre microcontroladores de 4, 8, 16 o 32 bits. Aunque las prestaciones

    de los microcontroladores de 16 y 32 bits son superiores a los de 4 y 8 bits, la realidad

    es que los microcontroladores de 8 bits dominan el mercado y los de 4 bits se resisten

  • 8/3/2019 memoria_estacion_meteorologica

    36/158

    _____________________________________________________________________

    Ingeniera Informtica 24 Universidad de Valencia

    a desaparecer. La razn de esta tendencia es que los microcontroladores de 4 y 8 bits

    son apropiados para la gran mayora de las aplicaciones, lo que hace innecesario

    emplear microcontroladores ms potentes y consecuentemente ms caros.

    En cuanto a las tcnicas de fabricacin, cabe decir que prcticamente la totalidad

    de los microcontroladores actuales se fabrican con tecnologa CMOS 4

    (Complementary Metal Oxide Semiconductor). Esta tecnologa supera a las tcnicas

    anteriores por su bajo consumo y alta inmunidad al ruido.

    El nmero de productos que funcionan en base a uno o varios microcontroladores

    aumenta de forma exponencial. La industria informtica acapara gran parte de los

    microcontroladores que se fabrican. Casi todos los perifricos del computador, desde

    el ratn o el teclado hasta la impresora, son regulados por el programa de un

    microcontrolador.

    Los electrodomsticos (desde hornos y lavadoras hasta televisores y vdeos)

    incorporan tambin numerosos microcontroladores e, igualmente, los sistemas de

    supervisin, vigilancia y alarma en los edificios, utilizan estos chips para optimizar el

    rendimiento de los ascensores, calefaccin, aire acondicionado, etc.

    Las comunicaciones y sus sistemas de transferencia de informacin utilizan

    profusamente estos pequeos computadores, incorporndolos en los grandes

    automatismos y en los telfonos mviles.

    La instrumentacin y la electromedicina son dos campos idneos para la

    implantacin de estos circuitos integrados. Finalmente, una importante industria

    consumidora de microcontroladores es la de la automocin, que los aplica en el

    control de la climatizacin, la seguridad y los frenos ABS. En la siguiente figura se

    puede ver la utilizacin de los microcontroladores en distintos sectores de consumo.

  • 8/3/2019 memoria_estacion_meteorologica

    37/158

    _____________________________________________________________________

    Ingeniera Informtica 25 Universidad de Valencia

    33%

    25%

    16%

    16%

    10%

    PerifricosElectrodomsticos

    Comunicacin

    Industria

    Automocin

    Figura 2.3: Utilizacin de microcontroladores por sectores

    Algunos de los principales fabricantes de microcontroladores son Microchip,

    Motorota, Intel, Atmel, Siemens, Philips, Hitachi o Nacional Semiconductor, entre

    otros. De entre todos los fabricantes expuestos, Microchip es el que ms diversidad

    posee, cuenta actualmente con 159 microcontroladores distintos adems de todas sus

    versiones segn encapsulado.

    A continuacin se exponen algunos de los microcontroladores ms populares:

    8048 (Intel). Es el padre de los microcontroladores actuales, el primero de

    todos. Su precio, disponibilidad y herramientas de desarrollo hacen que

    todava sea muy utilizado.

    8051 (Intel y otros). Es sin duda el microcontrolador ms popular. Fcil

    de programar pero potente. Est bien documentado y posee cientos de

    variantes e incontables herramientas de desarrollo.

    80186, 80188 y 80386 EX (Intel). Versiones en microcontrolador de los

    microprocesadores 8086 y 8088. Su principal ventaja es que permiten

    aprovechar las herramientas de desarrollo para PC.

    68HC11 (Motorola y Toshiba). Es un microcontrolador de 8 bits potente y

    con gran cantidad de variantes.

  • 8/3/2019 memoria_estacion_meteorologica

    38/158

    _____________________________________________________________________

    Ingeniera Informtica 26 Universidad de Valencia

    683xx (Motorola). Surgido a partir de la familia 68k, a la que se

    incorporan algunos perifricos. Son microcontroladores de altsimas

    prestaciones.

    PIC (Microchip). Familia de microcontroladores que gana popularidad daa da. Fueron los primeros microcontroladores RISC.

    Es preciso resaltar en este punto que existen innumerables familias de

    microcontroladores, cada una de las cuales posee un gran nmero de variantes.

    2.3. Sistemas de adquisicin de datos mediante sensores.

    Adquirir datos es el proceso de medir los parmetros fsicos que los sensores

    transforman en seales elctricas e introducirlos en el sistema. Mientras se adquiere,

    se producen procesos que involucran esos datos adquiridos: alarmas, escalado de

    datos, a veces control, guardar los datos, etc. Posteriormente a la adquisicin de datos

    se realizan anlisis para extraer informacin til a partir de la cual se reportan los

    datos, se visualizan resultados y se comparte la informacin. Estas fases representan

    la funcionalidad de los sistemas modernos de adquisicin de datos basada en PC.

    La funcin de adquisicin es una de las componentes ms crticas. En un sistema

    basado en PC la adquisicin se realiza mediante un hardware especializado de

    medicin que puede desglosarse en sensores, conectividad de la seal o de los

    sensores, acondicionamiento de la seal, y conversin analgica-digital.

    Una amplia variedad de sensores se usan para convertir magnitudes fsicas en

    seales elctricas. Los hay de todos los tipos: de temperatura como termopares y

    termistores, transductores de presin, galgas extensiomtricas y acelermetros,

    Despus de instalar los sensores, hay que conectarlos al sistema de adquisicin.

    La conectividad de la seal describe los componentes del hardware con los cuales se

    conectan los sensores al equipo. Hay muchos tipos de conectores y es un factor a

    decidir a la hora de configurar el equipo.

  • 8/3/2019 memoria_estacion_meteorologica

    39/158

    _____________________________________________________________________

    Ingeniera Informtica 27 Universidad de Valencia

    El acondicionamiento de la seal es uno de los componentes ms importantes de

    un equipo de adquisicin basado en PC. Muchas seales requieren algn tipo de

    preparacin antes de ser digitalizadas. Por ejemplo, los termopares producen seales

    de muy bajo nivel que requieren amplificacin, filtrado y linealizacin. Otros

    sensores, como termistores, galgas y acelermetros, requieren alimentacin adems de

    amplificacin y filtrado, mientras que otras seales pueden requerir aislamiento para

    proteger el sistema de alto voltaje. Idealmente un equipo debera permitir todo tipo de

    acondicionamiento incluido la combinacin de algunos procesos, si bien ste ha de

    adaptarse a las posibles necesidades del usuario.

    Despus de que los parmetros fsicos se han convertido en seales elctricas y se

    acondicionan correctamente, las seales elctricas analgicas se convierten en valores

    digitales y se pasan estos valores al computador. La conversin analgica-digital se

    realiza a travs de una tarjeta de adquisicin de datos o en un sistema integrado con

    acondicionamiento y conectividad.

    La combinacin de sensores, conectividad de la seal, acondicionamiento y

    conversin analgica-digital constituye el hardware de medicin de un equipo de

    adquisicin basado en PC. Este hardware se configura y se controla a travs de

    software construyendo aplicaciones a la medida de la aplicacin deseada.

  • 8/3/2019 memoria_estacion_meteorologica

    40/158

    _____________________________________________________________________

    Ingeniera Informtica 28 Universidad de Valencia

  • 8/3/2019 memoria_estacion_meteorologica

    41/158

    _____________________________________________________________________

    Ingeniera Informtica 29 Universidad de Valencia

    3. Metodologa y materiales.

    3.1. Metodologa.

    En el diseo de sistemas se suelen seguir una serie de pasos que van desde la

    especificacin de requisitos hasta la comercializacin del producto final. El presente

    proyecto tiene como objetivo final la construccin de un prototipo, por lo que el ciclo

    de diseo no abarcar hasta la fase final de fabricacin en serie del producto y

    posterior comercializacin. Este ciclo de diseo se ha adaptado a las caractersticas

    del proyecto y constar de las fases de especificacin de requisitos, establecimiento de

    la arquitectura del sistema, desarrollo del hardware y software, test y debug y, por

    ltimo, diseo y fabricacin del PCB. A continuacin se detallan las fases:

    Especificacin de requisitos. En esta fase se establecen los requisitos que

    se quiere que cumpla el producto a desarrollar. As pues, se tendrn que

    especificar parmetros tales como el coste mximo, el rendimiento

    mnimo, las ampliaciones futuras, el consumo de energa, tamao o peso.

    Establecimiento de la arquitectura del sistema teniendo en cuenta que

    lo ms importante es el micro. Tambin se habr de tener en cuenta el

    subsistema de E/S, estableciendo que tipo de enlace se utilizar en la

    comunicacin del perifrico con el ordenador.

  • 8/3/2019 memoria_estacion_meteorologica

    42/158

    _____________________________________________________________________

    Ingeniera Informtica 30 Universidad de Valencia

    Desarrollo del hardware y software. Una vez se tiene claro lo que se

    quiere hacer, es el momento de empezar a desarrollarlo y para ello, en

    primer lugar, se hace una seleccin de los componentes a utilizar en la

    placa, realizando tambin el esquema de la circuitera. Hay que tener en

    cuenta que en el ciclo de diseo hardware se pueden dar situaciones de

    diseo-prototipo-testeo-vuelta atrs, con el consiguiente encarecimiento

    del producto final. Por esta razn, se deja la fase de diseo y fabricacin

    del PCB para el final, desarrollando antes una primera placa de prueba

    que servir para verificar en la siguiente fase de testeo tanto el correcto

    diseo de la circuitera como el firmware del micro y la aplicacin

    software desarrollados en la fase actual.

    Test y debug. Una vez acabado el desarrollo del hardware, firmware y

    software se procede a comprobar su correcto funcionamiento. Para probar

    el firmware, se podra realizar una simulacin desde la herramienta de

    desarrollo utilizada, pero el gran inconveniente que presentan estos

    simuladores es que es difcil simular la entrada y salida de datos del

    microcontrolador y los posibles ruidos en las entradas. Este mismo

    problema de simulacin de las entradas se puede encontrar tambin en la

    aplicacin software desarrollada. Por esta razn, debido a que se trabaja

    con datos que pasan los sensores al micro y este los pasa a travs del USB

    a la aplicacin, se opt, como se ha dicho anteriormente, por realizar el

    testeo utilizando una primera versin de prueba de la placa (desarrollada

    en la fase anterior) antes de la fabricacin del PCB.

    Diseo y fabricacin del PCB. Por ltimo, una vez se ha comprobado el

    correcto funcionamiento de la placa de prueba, se realiza el diseo del

    circuito impreso y se envan estos ficheros de diseo a un fabricante

    especializado. Una vez recibido el PCB se realiza una comprobacin

    elctrica para detectar posibles defectos de fabricacin. Despus del testeo

    se montarn los componentes manualmente y se realizar una nueva

    comprobacin para verificar que el montaje se ha realizado

    correctamente.

  • 8/3/2019 memoria_estacion_meteorologica

    43/158

    _____________________________________________________________________

    Ingeniera Informtica 31 Universidad de Valencia

    Testeo y experimentacin. Con el prototipo listo se realizarn

    experimentaciones para validarlo y comprobar que todo funciona

    correctamente.

    3.2. Material utilizado.

    3.2.1. Software.

    Las herramientas software utilizadas en el desarrollo del proyecto son cinco: el

    paquete Orcad 9.2, el compilador de C para PICs PCWH versin 3.235 de CCS, el

    programa EduMic versin 2.0, Microsoft Windows Server 2003 SP1 Driver

    Development Kit (DDK) y el Visual C# 2005 Express Edition. A continuacin se har

    una descripcin de cada una de estas herramientas indicando su utilidad y sus

    principales caractersticas.

    Orcad

    El paquete Orcad, entre otras muchas funcionalidades, permite el diseo de PCBs

    multicapa de forma sencilla y rpida. Consta del Orcad Capture, con el que se

    realizan los esquemas del circuito, y del Orcad Layout, con el que se realiza el

    diseo del PCB.

    El Orcad Capture permite la gestin de proyectos de forma jerrquica y la

    divisin de grandes diseos en otros ms pequeos. Por medio del Orcad Capture se

    realiza el esquema del circuito incluyendo sus componentes. Aunque posee gran

    cantidad de libreras de componentes, permite la creacin de libreras propias y el

    diseo de componentes especficos.

    Una vez realizado el esquema del diseo se utilizar el Orcad Layout para

    realizar el diseo del PCB. Para mayor facilidad permite la posibilidad de realizar un

    rutado automtico de las pistas del diseo as como diferentes opciones de rutado paraminimizar los costes de implementacin.

  • 8/3/2019 memoria_estacion_meteorologica

    44/158

    _____________________________________________________________________

    Ingeniera Informtica 32 Universidad de Valencia

    Compilador CCS

    Este compilador de lenguaje C ha sido desarrollado por CCS Inc. para resolver

    las caractersticas especficas de los microcontroladores PIC. Es una herramienta de

    desarrollo importante que permite disminuir el tiempo de desarrollo de los proyectos

    ya que este software cuenta con libreras con mtodos para funciones especficas del

    PIC (conversin A/D, entrada y salida, configuracin de timers, etc.) y el software IC-

    Prog para la programacin del PIC.

    Incluye tambin el cdigo fuente de numerosos programas de ejemplo para

    mdulos LCD, teclados, conversores A/D, etc. Este software puede ser integrado con

    MPLAB y usa 1, 8, 16 y 32 bits de tipo entero y 32 bits de tipo flotante. El cdigo

    ensamblador puede ser insertado en cualquier parte y puede referenciar a variables C.

    Adems incluye una funcin que permite desplegar informacin formateada en HEX

    o en decimal. [CCS]

    EduMic

    El programa EduMic se encarga de descargar sobre el microcontrolador PIC de la

    tarjeta el fichero HEX generado por la herramienta de compilacin que se utilice. El

    software soporta la mayora de microcontroladores PIC de la familia 16 que soporten

    ICSP y la versin 2.0 permite adems grabar varios de los dispositivos de la familia

    18, incluyendo todos los que tienen USB.

    Algunas de sus caractersticas ms importantes son:

    Soporta casi todos los sistemas operativos (todos los MS Windows y

    Linux).

    El software es de libre distribucin.

    Admite la especificacin en el fichero binario HEX tanto de la memoria

    de programa como de la memoria de datos (EEPROM), as como la

    palabra de configuracin y el identificador.

  • 8/3/2019 memoria_estacion_meteorologica

    45/158

    _____________________________________________________________________

    Ingeniera Informtica 33 Universidad de Valencia

    La palabra de configuracin se puede establecer en el propio programa

    seleccionando en las opciones que se deseen.

    Admite la especificacin de un identificador para el microcontrolador

    PIC. El programa sirve tanto para escribir el microcontrolador PIC como para

    leerlo.

    Se permite la edicin de los datos (programa y EEPROM) antes de

    enviarlo al microcontrolador PIC.

    Tiene la caracterstica de poder desproteger los microcontroladores PIC

    protegidos contra lectura/escritura si son de tipo Flash. Una vez

    desprotegido el microcontrolador pierde toda su informacin pero puede

    ser reutilizado.

    Dispone de un fichero de configuracin para poder incorporar nuevos

    microcontroladores PIC y funcionalidades segn vayan apareciendo, sin

    necesidad de descargar nuevas versiones del software. El propio usuario

    puede modificar este fichero de forma sencilla. [Edu]

    Windows Driver Development Kit (DDK)

    DDK es una herramienta de desarrollo de drivers consolidada que proporciona un

    entorno de desarrollo, herramientas, ejemplos y documentacin que permiten el

    desarrollo de drivers para la familia de sistemas operativos de Windows. En concreto,

    la versin utilizada, Windows Server 2003 SP1 DDK, permite la creacin de drivers

    para los sistemas operativos Windows Server 2003, Windows XP y Windows 2000.

    Esta versin contiene adems una herramienta (PREfast) que detecta ciertas

    clases de errores que no son fcilmente detectados por los compiladores comunes.

    [DDK]

  • 8/3/2019 memoria_estacion_meteorologica

    46/158

    _____________________________________________________________________

    Ingeniera Informtica 34 Universidad de Valencia

    Visual C#

    Visual C# .NET es un lenguaje de programacin seguro y orientado a objetos,

    que combina la potencia de Visual C y Visual C++ con la sencillez funcional de las

    herramientas de desarrollo de aplicaciones modernas y rpidas, permitiendo

    desarrollar software .NET para Microsoft Windows, la web y un gran rango de

    dispositivos. Posee una sintaxis que se asemeja a C++, un entorno de desarrollo

    flexible (IDE) y ofrece la posibilidad de desarrollar soluciones para una gran gama de

    plataformas y dispositivos. [Mic]

    3.2.2. Hardware.El hardware necesario para la realizacin del proyecto consiste por una parte, en

    la plataforma hardware sobre la que utilizar el software de desarrollo, por otra, en los

    elementos necesarios para el montaje de los componentes y testeo de la placa y, por

    ltimo, en la tarjeta EduMic.

    La plataforma utilizada para el software de desarrollo es un PC con procesador

    Intel Pentium M a 1 GHz y con memoria RAM de 1 GB. El sistema operativo es el

    Windows XP Profesional.

    En cuanto al material para el montaje de los componentes sobre la placa se

    utilizar un soldador de montaje superficial y para el testeo de la misma ser necesario

    utilizar un multmetro.

    La tarjeta Edumic ser necesaria para programar el microcontrolador PIC. Esta

    tarjeta permite la programacin de la mayora de micros PIC de la familia 16 y 18 que

    soporten ICSP (casi todos). La programacin se hace a travs del puerto paralelo.

  • 8/3/2019 memoria_estacion_meteorologica

    47/158

    _____________________________________________________________________

    Ingeniera Informtica 35 Universidad de Valencia

    4. Anlisis de alternativas.En este captulo se realizar la especificacin de los requisitos que debe cumplir

    el proyecto para, posteriormente y basndose en ellos, analizar distintas alternativas a

    tener en cuenta en el desarrollo del proyecto, tanto desde el punto de vista del

    hardware (tipo de microcontrolador o de bus) como del software (lenguaje de

    programacin o herramienta de desarrollo), y seleccionar la opcin ms ptima para

    la consecucin de los objetivos.

    4.1. Requisitos.Los requisitos a nivel de usuario que ha de cumplir el proyecto se pueden dividir

    en tres grupos: requisitos del perifrico, requisitos de la aplicacin software y

    requisitos generales del proyecto.

    El perifrico debe ser manejable y tener un tamao lo ms pequeo posible. Se

    pide tambin que la alimentacin sea a travs del bus de interconexin con el

    ordenador, de manera que al no tener fuente de alimentacin propia, el nmero de

    componentes de la placa es menor y por lo tanto esto influye en su tamao y coste.

    Respecto a la aplicacin software, esta debe ser intuitiva y fcil de usar, con un

    nmero de opciones por ventana limitado con el objetivo de no inundar de

  • 8/3/2019 memoria_estacion_meteorologica

    48/158

    _____________________________________________________________________

    Ingeniera Informtica 36 Universidad de Valencia

    informacin al usuario. Con esta finalidad, se escribir un manual de usuario del

    programa para as facilitar su introduccin y manejo. Este manual se adjunta con la

    presente memoria (ver apndice D).

    Un requisito general del proyecto es la fcil instalacin tanto del perifrico como

    de la aplicacin (esto tambin se incluye en el manual de usuario mencionado

    anteriormente) y la posibilidad de que sea soportado por varios sistemas operativos.

    Por otra parte, se quiere que sea posible realizar ampliaciones futuras, pudiendo

    aadir ms sensores en la placa y, por lo tanto, nuevas funcionalidades en la

    aplicacin. Por ltimo, todo lo mencionado anteriormente se quiere conseguir con el

    mnimo coste posible.

    4.2. Evaluacin de alternativas.Una vez establecidos los requisitos que debe cumplir el proyecto, se pasa a

    analizar las distintas opciones que se nos plantean, indicando los pros y los contras de

    cada una de ellas.

    4.2.1. Interconexin entre el perifrico y el ordenador.

    El tipo de enlace utilizado en la interconexin del dispositivo con el ordenador es

    una de las decisiones que hay que tomar ms importantes, ya que de ella dependern

    otras decisiones tambin importantes como el tipo de microcontrolador utilizado,

    debido a que dependiendo del tipo de bus que se utilice para comunicar al perifricocon el ordenador, se elegir un micro que disponga de puertos que soporten ese tipo

    de comunicacin.

    Otro aspecto en el que influye tambin esta decisin es en el diseo del perifrico

    ya que segn el enlace que se utilice, se usarn unos componentes u otros, influyendo

    esto tanto en el tamao como en el coste de la placa.

  • 8/3/2019 memoria_estacion_meteorologica

    49/158

    _____________________________________________________________________

    Ingeniera Informtica 37 Universidad de Valencia

    De los distintos tipos de interconexin descritos anteriormente en la seccin 2.1.

    se har especial hincapi en FireWire y USB, ya que estos tipos de enlace son dos de

    los ms utilizados actualmente en el desarrollo de perifricos y adems ambos

    permiten la alimentacin a travs del bus (uno de los requisitos mencionados en la

    seccin 4.1.), presentando velocidades de transferencia de datos muy superiores a las

    interfaces paralelas y a la interfaz serie RS-232. Otro tipo de comunicacin muy

    utilizado actualmente es mediante Bluetooth pero este tampoco se tendr en cuenta ya

    que generalmente estos dispositivos utilizan mayoritariamente bateras.

    USB vs. FireWire

    En el captulo 2 ya se habl sobre estas dos tecnologas, indicando cules eran sus

    principales caractersticas, ventajas y desventajas. Por esta razn, este apartado se

    centrar, basndose en lo descrito anteriormente, en realizar una comparacin entre

    ambos tipos de enlace.

    Tanto FireWire como USB son tecnologas que persiguen un nuevo mtodo de

    conectar mltiples perifricos a un ordenador, permitiendo que estos sean aadidos o

    desconectados sin la necesidad de reiniciar. Ambos usan cables ligeros y flexibles con

    conectores duraderos, pero aqu terminan los parecidos. Aunque los cables de

    FireWire y USB pueden parecer a la vista los mismo, la cantidad de datos que por

    ellos transcurre es bastante diferente. Como muestra la siguiente tabla, la velocidad y

    la capacidad de transferencia marcan la principal distincin entre estas dos

    tecnologas:

    FireWire USB

    Nmero mximo de dispositivos 63 127

    Cambio en caliente (agregar oquitar dispositivos sin tener quereiniciar el ordenador)

    S S

    Velocidad de transferencia dedatos

    200 Mbps400 Mbps800 Mbps

    1,5 Mbps12 Mbps480 Mbps

    Conexin de perifricos interna S No

    Tabla 4.1: Comparacin entre FireWire y USB

  • 8/3/2019 memoria_estacion_meteorologica

    50/158

    _____________________________________________________________________

    Ingeniera Informtica 38 Universidad de Valencia

    Como puede verse, FireWire ofrece velocidades de transferencia de datos

    superiores a las ofrecidas por USB pero esto no significa que FireWire gane la

    "guerra" de interfaces. Los conectores FireWire y USB pueden coexistir

    pacficamente. USB 1.0 queda reservado para perifricos con un pequeo ancho de

    banda (ratones, teclados, mdems, etc.), mientras que FireWire, gracias a su mayor

    ancho de banda, es ms adecuado para aplicaciones de vdeo digital (DV), audio

    profesional, cmaras fotogrficas digitales de alto nivel y aparatos de ocio

    domsticos.

    4.2.2. Microcontrolador.

    Antes de seleccionar un microcontrolador es imprescindible analizar los

    requisitos de la aplicacin que se quiere desarrollar. A continuacin se indican

    algunos de los aspectos que normalmente hay que tener en cuenta a la hora de realizar

    la eleccin:

    Procesamiento de datos: puede ser necesario que el microcontrolador

    realice clculos crticos en un tiempo limitado. En ese caso debemos

    asegurarnos de seleccionar un dispositivo suficientemente rpido para

    ello. Por otro lado, habr que tener en cuenta la precisin de los datos a

    manejar: si no es suficiente con un microcontrolador de 8 bits, puede ser

    necesario acudir a microcontroladores de 16 o 32 bits, o incluso a

    hardware de coma flotante.

    Entrada/Salida: para determinar las necesidades de Entrada/Salida del

    sistema es conveniente conocer el diagrama de bloques del mismo, de tal

    forma, que sea sencillo identificar la cantidad y tipo de seales a

    controlar. Una vez realizado este anlisis puede ser necesario aadir

    perifricos externos o cambiar a otro microcontrolador ms adecuado a

    ese sistema.

    Consumo: algunos productos que incorporan microcontroladores estn

    alimentados con bateras. Lo ms conveniente en un caso como ste

    puede ser que el microcontrolador est en estado de bajo consumo pero

  • 8/3/2019 memoria_estacion_meteorologica

    51/158

    _____________________________________________________________________

    Ingeniera Informtica 39 Universidad de Valencia

    que despierte ante la activacin de una seal (una interrupcin) y ejecute

    el programa adecuado para procesarla.

    Memoria: en cuanto a la cantidad de memoria necesaria se debe hacer

    una estimacin de cunta memoria voltil y no voltil es necesaria y si es

    conveniente disponer de memoria no voltil modificable.

    Ancho de palabra: el criterio de diseo debe ser seleccionar el

    microcontrolador de menor ancho de palabra que satisfaga los

    requerimientos de la aplicacin. Usar un microcontrolador de 4 bits

    supondr una reduccin en los costes importante, mientras que uno de 8

    bits puede ser el ms adecuado si el ancho de los datos es de un byte. Los

    microcontroladores de 16 y 32 bits, debido a su elevado coste, deben

    reservarse para aplicaciones que requieran altas prestaciones.

    Diseo de la placa: la seleccin de un microcontrolador concreto

    condicionar el diseo de la placa. Deber tenerse en cuenta el

    encapsulado del mismo.

    Adems de todo lo mencionado tambin es importante tener en cuenta la

    documentacin y herramientas de desarrollo disponibles para cada microcontrolador.

    Segn volumen de ventas y diversidad de modelos se puede establecer como

    principales fabricantes a los siguientes:

    Microchip Technology Corp.

    STMicroelectronics

    Atmel Corp.

    Motorola Semiconductors Corp.

    De todos los fabricantes expuestos, Microchip es el que ms diversidad posee,

    cuenta actualmente con 159 microcontroladores distintos adems de todas sus

    versiones segn encapsulado.

  • 8/3/2019 memoria_estacion_meteorologica

    52/158

    _____________________________________________________________________

    Ingeniera Informtica 40 Universidad de Valencia

    4.2.3. Lenguajes y herramientas de desarrollo de aplicaciones.

    Existe gran diversidad de lenguajes de programacin convenientes para

    desarrollar aplicaciones software que funcionen bajo Windows.

    Tanto C como C++ son lenguajes de programacin de propsito general. Todo

    puede programarse con ellos, desde sistemas operativos y compiladores hasta

    aplicaciones de bases de datos y procesadores de texto, pasando por juegos,

    aplicaciones a medida, etc.

    Para un desarrollo ms fcil de aplicaciones Windows aparecieron herramientasde desarrollo visual, cuyos exponentes ms conocidos son Borland Delphi, de Inprise,

    y Visual Basic, de Microsoft. La escritura de aplicaciones con herramientas de este

    tipo se basa en el uso de componentes o controles prefabricados. As, la creacin de la

    interfaz de usuario deja de ser un trabajo tedioso y el programador puede centrarse en

    el ncleo del programa. Estos entornos de desarrollo visual tambin facilitan

    operaciones habituales en Windows, como la comunicacin con otras aplicaciones, el

    uso de cuadros de dilogo comunes, la gestin de bases de datos, etc. Cada elemento

    de un programa, sea visual o no, viene representado por un componente. Algunas de

    estas herramientas de desarrollo visual se describen a continuacin.

    Visual Basic

    Visual Basic es una herramienta de diseo de aplicaciones para Windows en la

    que estas se desarrollan en una gran parte a partir del diseo de una interfaz grfica.

    En una aplicacin Visual Basic, el programa est formado por una parte de cdigo

    puro y otras partes asociadas a los objetos que forman la interfaz grfica. Es por tanto,

    un trmino medio entre la programacin tradicional, formada por una sucesin lineal

    de cdigo estructurado, y la programacin orientada a objetos. Combina ambas

    tendencias.

    Desde su salida al mercado, cada versin supera y mejora la anterior. Dados los

    buenos resultados a nivel profesional de este producto y el apoyo prestado por el

  • 8/3/2019 memoria_estacion_meteorologica

    53/158

    _____________________________________________________________________

    Ingeniera Informtica 41 Universidad de Valencia

    fabricante para la formacin de programadores, Visual Basic se ha convertido en la

    primera herramienta de desarrollo de aplicaciones en entorno Windows.

    El lenguaje base del Visual Basic es el BASIC, de gran simplicidad e ideal para

    el programador novel. Conserva de l su sencillez de manejo, pero si lo que se quiere

    es llegar al fondo de la mquina y controlar uno a uno sus registros, ser necesario

    utilizar otro lenguaje que permita bajar el nivel de programacin (Visual C, Visual

    C++, etc.) o utilizar libreras (DLLs) que lo hagan. [Mic]

    Visual C++

    Es la herramienta preferida por los profesionales de las aplicaciones Windows. Es

    el compilador ms vendido del mercado y ofrece casi todo lo que se necesita. Le falta

    soporte CORBA y le sobran requerimientos de hardware. Aconsejable para

    desarrollar aplicaciones MFC.

    Visual C++ .NET proporciona a los programadores numerosas caractersticas de

    nivel profesional y les permite crear aplicaciones y componentes para Windows

    extremadamente eficaces. De principio a fin, la herramienta ofrece caractersticas que

    ayudan a optimizar el proceso de programacin de software con C++.

    Los asistentes para aplicaciones proporcionan plantillas eficaces para iniciar

    proyectos con rapidez. Las bibliotecas de marcos de aplicacin MFC y ATL que se

    incluyen, son las ms eficaces, productivas y populares disponibles para la

    programacin de apl