P. 1
Sensor Ultrasonido

Sensor Ultrasonido

|Views: 330|Likes:
Publicado porAlex Quito

More info:

Published by: Alex Quito on Aug 21, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

01/10/2013

pdf

text

original

Sections

  • 1.1. Introducci´on
  • 1.2. Definici´on de sensor
  • 1.3. Conceptos necesarios o terminolog´ıa nece-
  • 1.3.1. Zona muerta
  • 1.3.2. M´aximo rango sensible
  • 1.3.3. ´Angulo de emisi´on
  • 1.3.4. Di´ametro del cono de emisi´on
  • 1.3.5. Frecuencia de disparo
  • 1.3.6. Inclinaci´on del haz de ultrasonidos
  • 1.4. Caracter´ısticas f´ısicas de la onda ultras´onica
  • 1.5.1. Sensores basados en el tiempo de vuelo
  • 1.5.2. Sensores basados en desplazamiento de fase
  • 1.6. El sistema ultras´onico
  • 1.6.1. Descripci´on general del sistema
  • 1.6.2. El transductor
  • 1.6.3. El m´odulo electr´onico
  • 1.6.4. Medida del eco
  • 1.6.5. Resoluci´on
  • 1.7. Funcionamiento del sensor
  • 1.8. Configuraciones
  • 1.8.1. Configuraci´on de un solo sensor
  • 1.8.2. Configuraci´on de varios sensores
  • 1.8.3. Configuraciones para extracci´on de caracter´ısti-
  • 1.9. Incidencias del medio ambiente
  • 1.10. Errores de medida con ultrasonidos
  • 1.11. Aplicaciones
  • 1.11.1. Introducci´on
  • 1.11.2. Ventajas
  • 1.11.4. Campos de aplicaci´on
  • 1.11.5. Aplicaciones t´ıpicas
  • Sistemas empotrados
  • 2.1. Introducci´on.La era Post-PC
  • 2.3. ¿Para qu´e sirven?
  • 2.4. Sistemas empotrados
  • Java y el tiempo real
  • 3.1. Introducci´on
  • 3.2. La plataforma JAVA
  • 3.2.1. El lenguaje de programaci´on Java
  • 3.2.2. La m´aquina virtual Java
  • 3.2.3. Aplicaciones de Java en objetos m´obiles
  • 3.2.4. Conclusi´on
  • 3.3. Tiempo Real
  • 3.3.1. Origen de los sistemas de tiempo real
  • 3.3.2. Definici´on de sistemas de tiempo real
  • 3.3.3. Clasificaci´on
  • 3.4. Real-Time Java
  • 3.4.1. Introducci´on
  • 3.4.3. Principios a seguir
  • 3.4.4. Dise˜no e implementaci´on
  • 3.4.5. La ”Real Time Specification for Java”
  • 4.1. Introducci´on a Java
  • 4.2. ¿ Qu´e es JStamp ?
  • 4.3. Software de desarrollo necesario para el
  • 4.3.1. JEMBuilder
  • 4.3.2. Charade
  • 4.4. El procesador aJ-80
  • 4.4.1. Introducci´on
  • 4.4.3. The JEM2 direct execution Java microprocesor
  • 4.4.4. Soporte hardware para hilos de Java en tiempo
  • 4.4.6. Manejo de memoria
  • 4.4.7. Manejo de interrupciones y bloqueo
  • 4.4.8. Personalizaci´on del conjunto de instrucciones
  • 4.4.9. Varias m´aquinas virtuales de Java concurrentes
  • 4.4.10. Multiple JVM Manager (MJM)
  • 4.4.12. Timer/Counter (TC)
  • 4.5. Acerca de Systronix Inc
  • 5.1. Requisitos
  • 5.2. Descripci´on de la tecnolog´ıa usada
  • 5.3. Conexionado
  • 5.3.1. Conexiones en el JStamp
  • 5.3.2. Circuito auxiliar
  • 5.3.3. Alimentaci´on
  • 5.4. Programaci´on
  • 5.4.1. Generaci´on del pulso de disparo
  • 5.4.2. Lectura del eco de respuesta
  • 5.4.3. Calculo de la distancia
  • 5.4.4. Comportamiento del robot
  • 5.5. Descripci´on de la configuraci´on adopta-
  • 5.6. Programaci´on en JBuider8
  • Ap´endices
  • Abreviaturas de Java
  • Datos del procesador aJ-80
  • Planos del procesador aJ-80
  • Datos del JStamp
  • Planos del JStamp
  • Bibliograf´ıa

´ IMPLEMENTACION DE SENSORES DE ULTRASONIDOS EN UN SISTEMA ´ AUTONOMO DE TIEMPO REAL.

Ma Esther Gilaberte Sanz 18 de marzo de 2003

´ Indice general
V

AGRADECIMIENTOS PROLOGO ´ INTRODUCCION

VI VII X

I

FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS 1
. . . . . . . . . . . . . . . . . 2 3 3 4 5 6 7 7 8 8 9 10 12 13 15 15 16 17

1. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS 1.1. Introducci´n. . . . . . . . . . . . . . . . . . . . . . . . . . . o 1.2. Definici´n de sensor. . . . . . . . . . . . . . . . . . . . . . . o 1.3. Conceptos necesarios o terminolog´ necesaria . . . . . . . . ıa 1.3.1. Zona muerta. . . . . . . . . . . . . . . . . . . . . . . 1.3.2. M´ximo rango sensible. . . . . . . . . . . . . . . . . . a ´ 1.3.3. Angulo de emisi´n. . . . . . . . . . . . . . . . . . . . o 1.3.4. Di´metro del cono de emisi´n. . . . . . . . . . . . . . a o 1.3.5. Frecuencia de disparo. . . . . . . . . . . . . . . . . . 1.3.6. Inclinaci´n del haz de ultrasonidos. . . . . . . . . . . o 1.4. Caracter´ ısticas f´ ısicas de la onda ultras´nica. . . . . . . . . . o 1.5. Estudio de las restricciones de percepci´n: sensores de ultrao sonidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.1. Sensores basados en el tiempo de vuelo . . . . . . . . 1.5.2. Sensores basados en desplazamiento de fase. . . . . . 1.6. El sistema ultras´nico. . . . . . . . . . . . . . . . . . . . . . o 1.6.1. Descripci´n general del sistema . . . . . . . . . . . . o 1.6.2. El transductor. . . . . . . . . . . . . . . . . . . . . . 1.6.3. El m´dulo electr´nico. . . . . . . . . . . . . . . . . . o o

i

´ INDICE GENERAL 1.6.4. Medida del eco. . . . . . . . . . . . . . . . . . . . . . 1.6.5. Resoluci´n. . . . . . . . . . . . . . . . . . . . . . . . o 1.7. Funcionamiento del sensor. . . . . . . . . . . . . . . . . . . . 1.8. Configuraciones. . . . . . . . . . . . . . . . . . . . . . . . . . 1.8.1. Configuraci´n de un solo sensor. . . . . . . . . . . . . o 1.8.2. Configuraci´n de varios sensores. . . . . . . . . . . . o 1.8.3. Configuraciones para extracci´n de caracter´ o ısticas. . . 1.9. Incidencias del medio ambiente. . . . . . . . . . . . . . . . . 1.10. Errores de medida con ultrasonidos. . . . . . . . . . . . . . . 1.11. Aplicaciones. . . . . . . . . . . . . . . . . . . . . . . . . . . 1.11.1. Introducci´n. . . . . . . . . . . . . . . . . . . . . . . o 1.11.2. Ventajas. . . . . . . . . . . . . . . . . . . . . . . . . 1.11.3. Diferencia entre detecci´n de proximidad y medida del o rango. . . . . . . . . . . . . . . . . . . . . . . . . . . 1.11.4. Campos de aplicaci´n. . . . . . . . . . . . . . . . . . o 1.11.5. Aplicaciones t´ ıpicas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ii 17 18 19 20 20 22 27 28 29 31 31 31

. 32 . 33 . 34

II

Sistemas empotrados.

38
39 40 40 42 42 45

2. Sistemas empotrados. 2.1. Introducci´n.La era Post-PC. . . . . . . . . . . . . . . . . . . o 2.2. Los cinco pilares del crecimiento de los sistemas empotrados. . 2.3. ¿Para qu´ sirven? . . . . . . . . . . . . . . . . . . . . . . . . . e 2.4. Sistemas empotrados. . . . . . . . . . . . . . . . . . . . . . . . 2.5. Aplicaciones de los Sistemas de Tiempo Real dentro de 25 a˜os. n

III

Fundamentos del procesador ajile80 y JStamp 47
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 49 49 49 50 50 51 52 54 55 55

3. Java y el tiempo real. 3.1. Introducci´n. . . . . . . . . . . . . . . . . . . . o 3.2. La plataforma JAVA. . . . . . . . . . . . . . . . 3.2.1. El lenguaje de programaci´n Java. . . . o 3.2.2. La m´quina virtual Java. . . . . . . . . . a 3.2.3. Aplicaciones de Java en objetos m´biles. o 3.2.4. Conclusi´n. . . . . . . . . . . . . . . . . o 3.3. Tiempo Real. . . . . . . . . . . . . . . . . . . . 3.3.1. Origen de los sistemas de tiempo real. . 3.3.2. Definici´n de sistemas de tiempo real. . . o 3.3.3. Clasificaci´n. . . . . . . . . . . . . . . . o

. . . o 3. . . . . . . . . . . . . . . . . . . . . . Un entorno de ejecuci´n Java escrito enteramente en o Java. . . . . .6. . 70 . de tiempo . Introducci´n.4. . . .3. Descripci´n de la tecnolog´ usada. . . . . .4. . . La arquitectura Java para sistemas Java empotrados de tiempo real eficientes. . Dise˜o e implementaci´n. . . . . . n o 3. . . . Timer/Counter (TC). . . 80 IV Dise˜ o. . . . . . . . . 4. . . . Manejo de interrupciones y bloqueo. . .7. . 3. . 4. . . . . . . . . . .3. . de tiempo . . . . . . La ”Real Time Specification for Java”. . . . . . .4. . . . . . . . . . . . . . . . . . . n 87 88 89 89 90 5. . . . . . . . . .5. . . . . . 4. . . . . . . . . . . . . . . . .3. 3. . . . . . .4.4. . . 4. . . JEMBuilder . . . Introducci´n a Java. 4. . . . . a 4. . . . . Las limitaciones de tiempo en los sistemas real. . . . . . . Varias m´quinas virtuales de Java concurrentes. . . . . . 3. . Multiple JVM Manager (MJM). . . . . . . .12. . . . . . . .8. .4. . . . . Conexionado. . . . . . . . . . . . aJ-80: Un microcontrolador de Java para sistemas empotrados de tiempo real. . . . . . . . . . .4. . . . . 80 . . . . . . . . .5. . . . . 4. . 4. . . . . . . La debilidad de Java para las aplicaciones real. . . . . . . . . . . . .1. 4. . .1. . . . o ıa 5. . . . . . . . . . . . . . . . . . . . 57 . . . . . . . . . . . Principios a seguir. . . .4. Requisitos. .2.2. . . .4. . . . . . . . . . . . . . Charade . . . . . . .´ INDICE GENERAL 3. . . . . . . . . . . . . .1.4. iii . . . . Soporte hardware para hilos de Java en tiempo real. 3. . . . . . . . .4. . . . . . . . . . . 4. El procesador aJ-80. . . . .3. . . . . . . . . . Fundamentos del procesador ajile80 y JStamp 4. . . . ¿ Qu´ es JStamp ? . . . . . . .1. . . The JEM2 direct execution Java microprocesor core. . .2. n 5. 72 . . . .11. . . 4. . . 57 58 58 60 62 63 63 67 67 68 68 68 4. 5. . .3.4. . . 4. . . Real-Time Java.2. . . . . Acerca de Systronix Inc. . . . . . . . . 4. .2. . . . Dise˜ o. .10. .3. . . 57 .4.4. 75 . . . 73 73 74 74 74 75 . . . . . . . . . . . . . . . . . o 4. 4.4. . . .4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Software de desarrollo necesario para el JStamp. . . . . . . . .5. . . . .4. . . .4. . . . .4. Introducci´n. . .1. . . . . . . . .9. . . . . . . . . . . .4.3. . . . . . e 4.4. . Personalizaci´n del conjunto de instrucciones. . 69 .4. . . . Manejo de memoria. . . . . . o 4. . . o 4. 56 . . . . . . .

. .3. . Generaci´n del pulso de disparo. . Comportamiento del robot.3. . Datos del procesador aJ-80. Conexiones en el JStamp. . . .4. . . 132 133 Bibliograf´ ıa.1. . . . . . . . . . . . . . . . Calculo de la distancia. . . Planos del JStamp. .2. E. . . . . . . . . . . .2. . . . . . .3. . . . . . F. o 5. .6. . B. Lectura del eco de respuesta. . . . . Regulador de tensi´n MC7808C. . . . . . o o 5. . Descripci´n de la configuraci´n adoptada. . . . . . . . . . . . .3. 5. . . . . . . . . . . . .4. . . . . . . . . . . . . 5. . . . . . . . D. . .1.´ INDICE GENERAL 5. Planos del procesador aJ-80. .4. . 5. iv 91 91 92 94 94 95 96 97 97 97 V Ap´ndices e 99 100 104 107 113 120 125 A. . o 5. . . Alimentaci´n. . Datos del JStamp. . . . . 5. .4. . . . . . .3. . . Abreviaturas de Java. . .4.5. . . . . . . . . . . Programaci´n en JBuider8. . . . . . 5. .4. Programaci´n. . . . . . . . . o 5. Circuito auxiliar. . . . . . . . . . . . . . . . o VI Bibliograf´ ıa. . . o . . . . . . . . . . . C.

Carlos A. v . Garc´ ıa.Al final todo acaba funcionando.

compa˜eros.. ı Y GRACIAS tambi´n a todos aquellos (amigos.) e n que me han apoyado y ayudado durante todos estos a˜os. profesores..AGRADECIMIENTOS Ante todo agradecer a mis padres todo su apoyo y paciencia porque sin ellos nada de todo esto habr´a sido posible.. n vi .

alterando sus proo gramas en funci´n de las condiciones de contorno. Conforme la tecnolog´ se ıa ha ido desarrollando ha crecido en importancia el concepto de ”Autonom´ ıa” el cual sobrepasa el concepto de sistema autom´tico. Ellos procesan o se˜ales. e e o Los robots m´viles son una de las tecnolog´ que m´s inter´s ha despero ıas a e tado en la industria por cuanto su posible aplicaci´n a una gran diversidad o de tareas de forma cooperante con el ser humano. La autonom´ es un a ıa requerimiento adicional importante. ıa o o aceleraci´n. velocidad. fuerza.. toman decisiones en tiempo de ejecuci´n y n o adaptan sus planes de actuaci´n a las diferentes circunstancias externas... tama˜os y formas de objetos y temperatura. la informaci´n requerida es la posici´n. o e a o t´rmicos. Estas leyes les son suministradas o est´n a vii . establecen relacciones. Los robots aut´nomos son sistemas completos que operan dentro de eno tornos complejos sin la actuaci´n directa del ser humano. La cuantifio n caci´n de estas medidas se realiza a trav´s de sensores mec´nicos. Integran m´ltiples sensores y actuadores.. ultras´nicos. o La informaci´n que reciben les hace autoprogramables. En la mae yor´ de los casos. Se aplic´ por primera vez en la ano tigua Grecia para referirse a aquellas ciudades o estados que se reg´ por ıan leyes propias en lugar de vivir acorde al poder de un gobierno externo. Los ´ ıa a sistemas autom´ticos se autoregulan pero ellos no establecen las leyes que a sus reguladores intentan satisfacer. el par. Para definir la autonom´ podemos reıa. el´ctricos..PROLOGO Los sistemas aut´nomos son sistemas complejos dif´ o ıciles de desarrollar. tienen muchos grados de libertad y u deben reconciliar tareas de tiempo real con sistemas que no pueden cumplir con los tiempos de entrega. currir a definiciones suministradas por el et´logo Smithers que dice: ”La idea o central del concepto de autonom´ se identifica en la etimolog´ del t´rmino: ıa ıa e autos (propio) y nomos (ley o regla). ´pticos. Estos sistemas incluyen o ciertas t´cnicas de inteligencia artificial en sus comportamientos. Es util contrastar el concepto de autonom´ con el de sistema autom´tico.

PROLOGO viii inmersas en su construcci´n. Tambi´n es n e necesario percibir situaciones err´neas o peligrosas. Esta propiedad es la que permite al robot obtener datos sobre su entorno (sensaci´n) por medio de unos sensores y o elaborarlos para su utilizaci´n (percepci´n) por medio de procesos de fusi´n o o o m´s o menos elaborados. la cual a su vez decide su actuaci´n o interacci´n con todo lo que le rodea cerr´ndose todo el ciclo. Los sistemas autom´ticos son capaces de cono a ducirse a lo largo de un camino corrigiendo y compensando los efectos de las perturbaciones externas. Es cada vez m´s admitido e a entre la comunidad investigadora que la capacidad de percepci´n de un robot o construye o modifica su inteligencia computacional. Esto lleva a un bucle cerrado en el cual no hay un principio y un final. pero tambi´n es cierto que los a e . la inteligencia. Esto implica sentir el entorno y ejercer acciones a sobre ´l de manera beneficiosa para el agente y las tareas que debe desarrollar. Muy estrechamente ligada a la autonom´ est´ la capacidad de percibir el ıa a entorno y actuar sobre el mismo. el robot requiere una serie de capacidades que en gran medida se agrupan bajo el concepto de inteligencia. Por otro lado. a su vez. e Pero la autonom´ va m´s all´ que el automatismo. e Esta definici´n recoge la cuesti´n esencial. Es decir. con el objeto de o o medir el tiempo de vuelo de una se˜al o una cantidad de luz. Los sistemas aut´nomos son capaces de generar por o ellos mismos las leyes y estrategias con las que regularan su comportamiento: se autogobiernan y se autoregulan. porque se supone que ıa a a la base de autoregulaci´n se genera desde la propia capacidad del agente de o componer y adaptar sus principios de comportamiento. Para esto adem´s de la o a capacidad de sentir y percibir es necesaria una cierta inteligencia en forma de conocimiento. requiere de una capacidad de percepci´n para poder evolucionar y o adaptarse. Parece claro que a mayor capacidad de autonom´ a ıa . no hay un antes ni un despu´s. En el proceo o so de percepci´n no s´lo se ven involucrados los sensores. Para conseguir esto. mayor es la capacidad de percepci´n y actuaci´n necesaria. para ser aut´nomo primero o o o tiene que ser autom´tico. el proceso a u de construcci´n y adaptaci´n es algo que tiene lugar mientras el agente opera o o en su entorno. Determinan el camino a seguir y se conducen sobre ´l”. Se puede considerar que la inteligencia se centra en la ”habilidad de un sistema de mantenerse a s´ mismo mediante la creaci´n y uso de representaı o ciones”. M´s a´n. o o a Esta idea caer´ lejos de lo que en rob´tica aplicada a la industria podr´ ıa o ıamos definir como un control cl´sico de un robot. bien previo o aprendido.

o o . o Avances en percepci´n y su relaci´n con la inteligencia. o o Capacidad de trabajo en entornos cambiantes y din´micos como los a entornos al aire libre (outdoor). o Capacidad de cooperar en grupos de robots. Avances en los sistemas de visi´n artificial. por lo cual sus necesia dades de percepci´n y por tanto la inteligencia desarrollada es m´ o ınima. Capcidad de comunicaci´n entre el robot y el hombre de forma natural. Los grandes retos hoy por hoy de la rob´tica m´vil se encuentran en : o o Capacidad de construcci´n de representaciones del entorno aut´nomas.PROLOGO ix robots que hoy en d´ se utilizan en la industria. en el 90 % de las ocasiones ıa lo hacen en entornos estructurados y poco din´micos.

Adem´s en la fase de dise˜o se tuvo en cuenta la distribuci´n de todos a n o estos componentes para facilitar el cambio y mantenimiento de los mismos. a x .. bater´ procesadores. Se pretende o e o crear un robot que reaccione ante lo imprevisto. circuitos auxiliares. Este cerebro es un computador con procesamiento en paralelo y se comunica con el coche mediante una red inal´mbrica 802. capacidad de carga y potencia motriz.11b del IEEE. ıas.´ INTRODUCCION Este proyecto se engloba dentro de uno mucho m´s ambicioso cuyo fin es a la investigaci´n de las t´cnicas de control de sistemas aut´nomos. que aporta estabilidad. situado en el centro de c´lculo del Dea partamento de Ingenier´ de Sistemas y Autom´tica(DISAM) de la Escuela ıa a T´cnica Superior de Ingenieros Industriales de la Universidad Polit´cnica de e e Madrid.. Como plataforma de desarrollo se parte de un modelo de radio control de Tamiya. este cambio o es necesario debido al aumento de peso que va a experimentar el coche al dotarlo de sensores. Esta plataforma ha sufrido algunas modificaciones: Se le ha suprimido el control remoto. Se han cambiado los engranajes met´licos por otros que proporcionan a una mayor durabilidad. Se ha sustituido el servo de direcci´n por otro de par mayor. y es de peque˜o tama˜o lo que le dota de movilidad en n n interiores.. tipo ”Bigfoot”. Este sistema aut´nomo tiene un cerebro principal situado en un armario o de control de la firma Honeywell. Se le han eliminado los amortiguadores originales.

´ INTRODUCCION xi Figura 1: Plataforma. Dentro del coche se han incorporado dos procesadores: El procesador principal es una placa Wafer 5820. ethernet y todos los puertos necesarios ocupando un espacio m´ ınimo y con un consumo muy peque˜o. El objetivo de este proyecto ser´ dotar de informaci´n al sistema mediana o te la implantaci´n de sensores de ultrasonidos de BOSCH y programar el o . con factor de forma de 3. as´ como de conı trolar el servo instalado. La red inalambrica comunica esta placa Wafer con el cerebro principal. adem´s de la poca disipaci´n de calor n a o que produce. con el consecuente ahorro en cuanto a problemas de dise˜o n se refiere. Como procesador secundario se usa el aJ-80 dentro del entorno de desarrollo JStamp que tiene como principal caracter´ ıstica su arquitectura nativa Java y su peque˜o tama˜o (1 x 2 n n pulgadas).5 pulgadas. que ofrece un completo PC con procesador Pentium. Un procesador secundario que se encarga de gestionar la informaci´n o procedente de los sensores y actuar en consecuencia.

´ INTRODUCCION xii procesador para que act´e en funci´n de la informaci´n recibida. dotando u o o as´ de autonom´ al sistema. ı ıa .

Parte I FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS 1 .

Cap´ ıtulo 1 FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS 2 .

En la mayor´ de las implementaıa ciones. o Los sensores de ultrasonido est´n siendo utilizados de forma creciente a en los ultimos 10 a˜os por parte de los dise˜adores de robots aut´nomos. e Las caracter´ ısticas que definen un sensor son: Accesibilidad. que relaciona el valor de la magnitud f´ o ısica con el valor que ´ste suministra en su salida. que dichos sensores poseen. n Esta ser´ una definici´n bajo un punto de vista de bloques. a 1. De forma funıa o cional podemos decir que un sensor es un dispositivo que capta la magnitud de una variable f´ ısica en un sistema f´ ısico o entorno.CAP´ ITULO 1.. Introducci´n. ´ n n o Los principales motivos son la buena relaci´n precio-cantidad de informaci´n o o proporcionada. Procesador de se˜al : dispositivo que realiza una cierta operaci´n con n o una se˜al como un filtrado. Es la zona del entorno f´ ısico en la que las variaciones de la magnitud ´ medir afectan al sensor. n o Sensor : estar´ compuesto de uno o m´s transductores y alg´n procea a u sador de se˜al.2. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS 3 1. Cualquier dispositivo que es alterado por las variaci´nes de una manitud f´ o ısica de una forma predecible y medible es un sensor para esa magnitud. Es posin o ble. evitar obst´culos de forma a r´pida y sin interferencias entre los dispositivos.1. Entorno a los sensores conviene antes de entrar en profundidad en los mismos definir una terminolog´ ıa: Transductor : aquel dispositivo que transforma una magnitud f´ ısica de entrada (por ejemplo luz) en otra de salida (normalmente voltaje).o. mediante el uso de varios de estos sensores. a . la distancia a la que se encuentran los objetos se determina mediante el calculo del tiempo de vuelo de la se˜al (Time of Fligth ´ T. As´ un sensor viene caracterizado ı.).. por su funci´n de transferencia.F. luz ambiental) como en s´ mismo ı (nivel de las bater´ ıas.). o Los sensores van a ser en el robot la fuente de datos sobre los cambios tanto en el entorno (distancias a objetos. Definici´n de sensor. amplificaci´n etc.

El uso de sensores inteligentes permite o establecer un compromiso entre computaci´n y comunicaci´n. o Rango de operaci´n.. o o Sensibilidad. Segun el valor sea escalar. Formato de los datos. Las cao o pacidades de procesamiento local pueden reducir las necesidades de ancho de banda para una red de sensores. Se dice que un sensor es inteligente si tiene capacidades de procesamiento o decisi´n. En rob´tica m´vil se usan una gran variedad de sensores que miden distino o tas magnitudes. o Localizaci´n.CAP´ ITULO 1. o 1. ancho de banda. capacidades de compresi´n de la informaci´n. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS 4 Dimensi´n.. procesamientolocal. otros de los sensores utilizados para determinaci´n de distancias a objetos y o por tanto para la construcci´n de mapas de entorno.. n-dimensional. Estos han sido utilizados desde los primeros robots dedicados a la investigaci´n hasta las m´s recientes plataformas comerciales.3. Loa sensores operan s´lo en un determinado o o rango de valores de la magnitud a medir e incluso de otras magnitudes. Conceptos necesarios o terminolog´ neceıa saria Entorno a los sensores de ultrasonidos conviene antes de entrar en profundidad en ellos definir algunos conceptos: . Discretos o cont´ ınuos. Datos. con pocas o a variaciones en la tecnolog´ Junto con estos. los sensores basados en luz son ıa. Local o remoto al lugar de procesamiento. o Inteligencia. vectorial.. me estoy refiriendo a los sensores de ulo trasonidos. B´sicamente este problema se resuelve meo o a diante medidas relativas de posici´n o mediante sistemas absolutos de posio cionamiento. De todos ellos aquellos que m´s se utilizan son los orientados a a resolver uno de los problemas fundamentales de todo sistema aut´nomo: o la determinaci´n de la posici´n. De todos ellos hay uno que destaca por ser utilizado en gran parte de las plataformas m´viles. Especificaciones sobre exactitud y precisi´n.

CAP´ ITULO 1. . la se˜al ultras´nica puede chocar contra el objeto antes de que dicha n o se˜al haya dejado el transductor. Si el objeto est´ demasiado a cercano. puesto que ´ste est´ todav´ transe a ıa mitiendo y no recibiendo.3. Esta es la distancia entre la mema brana sensora y el m´ ınimo rango de sensibilidad. que el eco generado se refleje sobre la membrana sensora y viaje de nuevo hacia el objeto. Estos ecos m´ltiples pueden dar lugar a errores u cuando el objeto est´ dentro de la zona muerta. Los sensores de ultrasonidos tienen una zona muerta en la cual no pueden detectar exactamente el objeto u obst´culo. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS 5 1. Si el objeto est´ demasiado cerca puede ocurrir a otro problema. a Figura 1. la informaci´n del eco devuelta n o al sensor es ignorada por el transductor.1. por tanto. Zona muerta.1: Zona muerta.

M´ximo rango sensible. o . Figura 1.2: Cono de emisi´n.CAP´ ITULO 1. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS 6 1. a El rango m´ximo en el que se puede detectar cada objeto y cada aplicaci´n a o se determina mediante experimentaci´n.3.1 y 1.3 se muestran o las caracter´ ısticas de sensibilidad y las distancias sensibles t´ ıpicas para el sensor de ultrasonidos.2. En las figuras 1.

Te´ricamente. Normalmente los objetos son grandes. estos sensores son capaces de detectar objetos con un tama˜o m´ n ınimo de 0. para determinar . e 1.3.063”.4. Este cono debe n e determinarse experimentalmente y dentro de ´l pueden detectarse los objetos. a o El sensor de ultrasonidos emite un haz de sonido en forma de cono que elimina los l´bulos laterales. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS 7 Figura 1. el objeto m´s peque˜o n o a n detectable es aquel que mide la mitad de la longitud de onda de la se˜al del n sensor de ultrasonidos. Es importante el tama˜o del objeto respecto del o n tama˜o de la zona que abarca el haz.032”.3. Para 215KHz. Di´metro del cono de emisi´n.CAP´ ITULO 1. por lo que. o El ´ngulo del cono de emisi´n est´ formado por los puntos del espacio a o a en los que la se˜al del sensor es atenuada por lo menos 3dB. Fuera de este n cono la se˜al de ultrasonidos existe pero es bastante d´bil.3. ´ Angulo de emisi´n. la longitud de onda de la se˜al es de n 0. bajo condiciones ideales. 1. por lo que son detectados a varias distancias.3: Comparaciones.

5. la desviaci´n respecto a la normal puede n o . La m´xima frecuencia a la que un sensor es capaz de dispararse o pararse a depende de varias variables. Inclinaci´n del haz de ultrasonidos. parte de la se˜al es desviada o n n del sensor y la distancia de detecci´n disminuye.1) Donde Box es el di´metro del cono de emisi´n a la distancia X.6. choca contra ´l y vuelve n e hasta el sensor como un eco.) son m´s dif´ o a ıciles de detectar que el acero. Los materiales que absorben de sonido altas (algod´n. viaja hasta el objeto..3..3. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS 8 el ´rea que abarca el sensor de ultrasonidos a una determinada distancia a (di´metro del cono de emisi´n). La distancia del objeto al sensor es muy importante para determinar el m´ximo de frecuencia de disparo. para objetos o peque˜os situados cerca del sensor. a o X es la distancia del objeto (obst´culo) al sensor.CAP´ ITULO 1. El sensor manda una se˜al ultras´nica por a n o el aire. Sin embargo. la se˜al deja el sensor. ellos tienen tambi´n una menor m´xima de frecuencia a e a cambiante. 1. esponja. las m´s significativas son: a el tama˜o del objeto n el material del que est´ hecho a la distancia a la que se encuentra. De este modo. se usa la f´rmula: a o o Box − 2 ∗ X ∗ tan α 2 (1. a α es el ´ngulo del cono de emisi´n. a o 1. De este modo la m´xima frecuencia para un objeto peque˜o ser´ menor a n a que para un objeto grande. el cristal o el pl´stico. o Si un objeto liso es inclinado m´s de ±3o con respecta a la normal al eje a del haz de emisi´n de la se˜al de ultrasonidos.. Frecuencia de disparo.

as´ mismo se han empleado para la ubin ı caci´n de un objeto en el espacio.4. de construcci´n. o Las ondas de ultrasonido se han utilizado para la determinaci´n de la o distancia desde hace muchos a˜os. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS 9 aumentar hasta ±8o . n a La se˜al que choca contra un objeto de superficie rugosa (como un material n granulado) se difunde y refleja en todas las direcciones y parte de la energ´ ıa vuelve al sensor como un eco d´bil. o o control industrial y rob´tica.CAP´ ITULO 1. e Figura 1. o El funcionamiento b´sico del sensor de ultrasonidos se basa en la medida a del tiempo transcurrido entre la emisi´n de un ultrasonido y la recepci´n del o o eco correspondiente al mismo. Si el objeto est´ inclinado m´s de ±12o respecto a la a a normal. o 1. Conocido el tiempo.6 + 0.2) . toda la se˜al es desviada fuera del sensor y el sensor no responder´. Caracter´ ısticas f´ ısicas de la onda ultras´nica.4: Dependencia del rango de inclinaci´n. y siguiendo la velocidad de propagaci´n del sonido en el aire la expresi´n o o v = 331.6 ∗ T (1. en sistemas militares.

o Los sensores de distancia por emisi´n de ultrasonidos permiten modelar o el entorno en el que se mueven los robots m´viles bas´ndose en la forma en o a la que emiten y recogen las ondas de sonido. al contrario que las electromagn´ticas. es decir producen lecturas bastante aproximadas a la realidad. Esta caracter´ e ıstica permite emplearlas para la medida de distancias peque˜as. n La longitud de onda de un ultrasonido a 50KHz. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS10 (T en o C y v en m/s). medida que es mayor que la rugosidad de la mayor´ de las superficies. como se puede observar en la figura.6 ∗ T ) ∗ t 2 (1.6 + 0. la distancia a la que se encuentra el objeto que ha devuelto el eco se calcula seg´n la ecuaci´n : u o d = (331. que muestra los mapas que se reconstruyen en tiempo real de un mismo entorno de navegaci´n. pues la expresi´n de la onda emitida es en o o o realidad mas compleja. pero su repetibilidad es casi nula.CAP´ ITULO 1. La velocidad de transmisi´n de las ondas ultras´nicas es mucho menor o o que la de las electromagn´ticas (velocidad de la luz). La apertura del cono de emisi´n constituye en realidad una aproximaci´n o o del l´bulo central de emisi´n. como puede ser el aire.3) Donde t representa el tiempo transcurrido entre la emisi´n y la recepci´n.5. siguiendo un patr´n como el mostrado en la figura o [1.5] 1.8mm:. o o Este tiempo es dividido por 2 para calcular s´lo el tiempo que tarda en o llegar la onda al objeto. lo cual ıa permite que la reflexi´n que se produce en la mayor´ de los objetos o ıa sea especular y no difusa. es de 6. El empleo de ondas de ultrasonidos en lugar de ondas electromagn´ticas se justifica por los siguientes puntos: e Las ondas ac´sticas. en diferentes experimentos. requieren u e de un medio para transmitirse. Estudio de las restricciones de percepci´n: sensores de ultrasonidos o Los sensores de ultrasonidos no son ideales. .

CAP´ ITULO 1. Esta t´cnica e est´ bastante relacionada con la anterior. que necesitan una transmisi´n de se˜al cont´ o n ınua. o a Existen b´sicamente tres posibles aproximaciones al problema de la mea dida de la distancia a un objeto: Los sensores basados en el tiempo de vuelo de un pulso de energ´ ıa que viaja hacia un objeto en el que se refleja. para volver de nuevo al receptor. Los sensores basados en un radar de frecuencia modulada. en lugar de emitir pulsos. a .5: Energ´ emitida por la onda ultras´nica en todas las direcciones ıa o del entorno. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS11 Figura 1. Observar como el l´bulo central abarca un ´ngulo de ≈ 30o . Los sensores basados en la medida del desplazamiento de fase.

5. es a o muy importante la selecci´n del valor umbral. Algunos o las reflejan con una intensidad mayor que otros. los par´metros importantes para llevar a a cabo la medici´n son la velocidad del sonido en el aire. o por interacci´n de la onda con la superficie en la que debe reflejarse. El pulso de energ´ con e ıa el que se lleva a cabo la medida. est´ muy influenciada u a por la temperatura y en menor medida por la humedad. A continuaci´n se o o incluye una breve descripci´n de cada uno de estos problemas. y del hecho de que un mismo dispositivo puede actuar tanto como o generador. Sensores basados en el tiempo de vuelo La mayor parte de los sensores usan esta t´cnica. Por este motivo.1. o . puede provenir tanto de un generador de ultrasonidos. lo que hace que los sistemas de detecci´n respondan de forma m´s r´pida ante los primeros. puede ser totalmente ignorada. o uno de radiofrecuencia. a partir del cual se inicia la o detecci´n de la onda. o siempre y cuando el obst´culo que se analiza presente un eco fiable. o Velocidad de propagaci´n de la onda: Para las aplicaciones de rob´tica o o m´vil. La ventaja de estos sistemas. y el objeto que ha reflejado la onda. La distancia al objetivo. de las deficiencias en el circuito temporizador. Incertidumbre de la detecci´n: Estas variaciones vienen motivadas o por la distinta reflexi´n de las ondas en distintos tipos de objetos. estos sistemas mantienen una buena precisi´n.CAP´ ITULO 1. Sus desventajas. debido a esto. y la velocidad de la o luz. y por lo o a a tanto hagan que esos objetos parezcan m´s pr´ximos. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS12 1. El tiempo medido es un representaci´n de la distancia existente entre el o dispositivo medidor. en cualquier caso. a Las fuentes de errores en la medida. de las variaciones en la velocidad de onda o transmitida. como de uno de energ´ ´ptica. vienen fundamentalmente de la imprecisi´n de la medida del tiempo. ıa o Por lo tanto. donde la velocidad del sonido. ni sobre la orientaci´n existente entre estas o y el sensor. las variaciones en la velocidad de propagaci´n de las ondas electroo o magn´ticas. como receptor. puede obtenerse directamente de la salida del sensor. debido a la nula distancia existente entre emisor o y receptor. vienen del hecho de que no se puede llevar a cabo un esquema de triangulaci´n. Este no es el caso sin embargo de e los sistemas ac´sticos. y no es necesario realizar ninguna suposici´n o sobre si las superficies son planas. viene de su naturaleza directa de la medici´n.

A esto se lo conoce como habla cruzada. el o n desplazamiento de fase se puede medir multiplicando las dos se˜ales (entrante n y de referencia mediante un dispositivo electr´nico y hallando la media sobre o . n De esta expresi´n podemos obtener que : o d= Φ∗λ Φ∗v = 4∗π 4∗π∗f (1. Para obtener precisiones de tan solo 1cm.5. tienen unos requisitos de velocidad muy inferiores a los de u sus contrapartidas basadas en la luz. o es obserbida por la propia superficie.2. requiriendo circuiter´ que responda en ıa tiempos inferiores al nanosegundo. Conseguir ıa esto resulta muy caro. Sensores basados en desplazamiento de fase. El resto de la energ´ n o n ıa se refleja en otras direcciones. en comparaci´n con la de la luz. d es la distancia al objeto. o volver reflejada a un receptor que no corresponde con el lugar desde el que fue emitida.CAP´ ITULO 1. El desplazaı miento de fase puede expresarse en funci´n de la distancia como: o Φ= 4∗π∗d λ (1. obliga a imponer en los circuitos electr´nicos unos e o requisitos de velocidad muy fuerte. Interacci´n con las superficies: Cuando la onda se refleja en un objeto. 1.5) Donde f es la frecuencia de modulaci´n de la se˜al. Una peque˜a parte de la se˜al o o n n volver´ al detector. y aparta estos sistemas de medida de las aplicaciones normales.4) donde Φ es el desplazamiento de fase. pudiendo as´ medir la diferencia de fase entre ambas. se necesita una circuiter´ con temporizaciones de 3 nanosegundos. La velocidad a la que se transmiten las ondas electromagn´ticas. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS13 Incertidumbre en la medida del tiempo: Debido a la relativamente lenta velocidad del sonido en el aire. y llegar finalmente al receptor siguiendo una l´ a ınea que no es recta. o solo una peque˜a fracci´n de la se˜al vuelve al receptor. siendo comparada con una se˜al de referencia igual a la a n emitida. La energ´ reflejada en distintas direcciones puede. λ es la longitud de onda de la se˜al emitida. Para altas frecuencias. a su vez. los o sistemas ac´sticos. sino una se˜al de o n larga duracci´n hacia el objeto en cuesti´n. volver a reflejarse ıa en m´s objetos. En este caso no se emite un haz de onda ultras´nica.

por o lo que se har´ dif´ con una frecuencia de muestreo alta. o Figura 1. Este proceso de integraci´n puede ser costoso en tiempo. realizando dos medidas a distintas u frecuencias de modulaci´n. Este problema reduce el atractivo de n los sistemas de desplazamiento de fase.6: Efecto del desplazamiento de fase . Entre o las posibles soluciones se encuentra limitar la distancia m´xima medible a lo a permitido por el intervalo de ambig¨edad.6) esta formulaci´n para la obtenci´n de la distancia puede presentar un probo o lema de ambig¨edad de intervalo cuando la distancia medida excede la lonu gitud de onda de la se˜al modulada. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS14 dichos ciclos).CAP´ ITULO 1. Este proceso se a ıcil expresa matem´ticamente como a 1 ∗ T →∞ T l´ ım T (sin( o 2∗π∗v 4∗π∗d 2∗π∗v + ) ∗ sin( )) λ λ λ expresi´n que puede reducirse a: o Φ = A ∗ cos( 4∗π∗d ) λ (1. ya que se hace necesario mecanismos adicionales para eliminarla o bien asumir su posible aparici´n.

Para determinar la distancia a un objeto. o o n Esta amplificaci´n llevada a cabo en el receptor. ya que debe ser de caracter exponencial (al igual que lo es la atenuaci´n del sonido en el aire). y procesar la n a informaci´n obtenida de ´ste. Descripci´n general del sistema o La determinaci´n de distancias por medio de un sistema de medici´n de o o ecos es un proceso muy simple. El transductor. es necesario llevar a cabo correcciones. . y n e vuelve al transductor. al conocer la velocidad a a la que se transmite el sonido en el aire. se pueden obtener precisiones elevadas. se refleja en un objeto. es la parte m´s como a plicada del sistema. El sistema de medida m´s simple se compone tan solo de dos m´dulos. el intervalo transcurrido entre la emisi´n o y la recepci´n del pulso ultras´nico. el a o m´dulo electr´nico. Si se necesita una precisi´n muy alta. e El segundo m´dulo. contiene toda la circuiter´ necesaria para generar la o ıa se˜al que se transmitir´. y tiene que partir desde valores o de amplificaci´n peque˜os hasta subir la intensidad de la se˜al recibida en o n n varios ordenes de magnitud.6. o seg´n la temperatura del aire. recibir el eco. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS15 1. o El sistema se compone fundamentalmente de un transductor electrost´tico. a y de una peque˜a placa electr´nica en la que est´ la circuiter´ encargada de n o a ıa emitir los pulsos. Un pulso corto de energ´ ultras´nica se ıa o genera de forma electr´nica. puede determinarse por un circuito adicional que conozca la velocidad del sonido en el aire. como para recibir el eco. se amplifica y se env´ a un transductor. recibirlos.CAP´ ITULO 1. y el intervalo de tiempo transcurrido entre la emisi´n y la recepci´n de la se˜al. o o Con el uso de un reloj apropiado. Esta se˜al se recibe. La o ıa se˜al viaja a trav´s del medio 8 en general el aire). El tiempo que ha tardado en viajar la se˜al se puede usar o n para determinar la distancia a la que est´ el objeto. y procesarlos.6. se amplifica. o e La distancia del transductor al objetivo. y el transductor. se mide de forma externa.1. de tipo electrost´tico o o a o piezoel´ctrico. enviarla al transductor. El sistema ultras´nico. se usa tanto para emitir el pulso. u 1. y se procesa por el n sistema electr´nico.

a a Est´ compuesto por una membrana muy fina. Solo cuando a la salida del integrador se alcance n un nivel determinado se considera que se ha recibido un eco aut´ntico.7: Transductor del sensor de ultrasonidos La se˜al no se transmite de forma lineal en l´ n ınea recta. indican los instantes en los que se envi´ el pulso.2.CAP´ ITULO 1. por lo que resulta sencillo llevar a cabo funciones de control. Figura 1. es una l´mina recubierta de aluminio. as´ como medir el tiempo transcurrido entre ambos ı eventos. a partir del transductor. La parte m´s importante del sistema es el transductor electrost´tico. el sistema dispone de un integrador. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS16 Para minimizar el peligro de que peque˜os ruidos confundan al sistema y n ´ste no crea recibir falsos ecos.6. n o y el instante en el que se recibe el eco. 1. e Las se˜ales de salida. tivo. sino que en lugar de esto se genera una se˜al que se extiende formando n un cono. El transductor. . una l´mina recubierta de oro a a para formar el electrodo negativo de un diafragma de vac´ El electrodo posiıo. que tambi´n sirve como estructura a e resonante para el diafragma. en el que e se recibe la se˜al entrante.

La componente cont´ ınua se mantiene en el transductor. Mientras que el hecho de medir el eco recibido es relativamente simple. El transductor se bloquea durante unos pocos o microsegundos. y la mayor parte de los factores de atenuaci´n. reflexi´n. . La se˜al se amplifica en un transformador n incluido en la placa. pero afortuıa u e nadamente. a las frecuencias con las que se trabaja est´ bastante bien estua diada.6. En este instante. y si esta se˜al supera un n n nivel umbral m´ ınimo.3. o o o etc. adem´s de disminuir en n o a ancho de banda para disminuir los efectos del ruido. n n o Para medir el intervalo de tiempo transcurrido entre las dos se˜ales hay n que recurrir a un circuito externo. La propagaci´n de la e o energ´ ac´stica a trav´s de un medio fluido es muy compleja. Cuando se activa el sistema. y a partir de ese instante pasa a actuar como un micr´fono. 1. por medio de un condensador de almacenamiento. o o La electr´nica del sistema de sonar est´ reunida en un unico m´dulo. est´n unidos junto con los compoo a nentes discretos necesarios. mientras este act´a como u micr´fono para recibir el eco. pueden ser simplificados de una forma bastante satisfactoria. o Para compensar la p´rdida de energ´ de la se˜al al recorrer mayores e ıa n distancias. para evitar la recepci´n del eco que se genera al salir la se˜al o n del propio transductor. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS17 1. El m´dulo electr´nico.6. Estos dos circuitos integrados.CAP´ ITULO 1. y se genera una se˜al l´gica. refracci´n. en una peque˜a placa de tan solo 2cm de ancho n y 4 de largo. estos circuitos generan una serie de pulsos a frecuencias discretas distintas. Cuando una se˜al es recibida por el sistema. se va incrementando en funci´n del tiempo. se obtiene la distancia a la que se encuentra el objeto del transductor.2V. que va cargando un condensador hasta que alcance ´ste los 1. divin diendo entre dos. y teniendo en cuenta que la se˜al se ha recorrido dos veces. se activa una fuente de corriente. Medida del eco. o a ´ o usando circuitos integrados espec´ ıficos para realizar las funciones digitales y anal´gicas. la ganancia del amplificador que trabaja en la recepci´n de la o se˜al. se considera e que la se˜al recibida es el eco. algunos de los procesos involucrados en ´l no lo son.4. Al multiplicar este valor por la velocidad del sonido.

6. se activa una fuente de corriente que empieza la carga de un condensador. supera un umbral determinado. y la distancia m´xima a la que se desee llegar con las a medidas. o En general. diez veces superior a la velocidad de descarga. con un sistema de medida de ecos ultras´nicos. siempre y cuando el objetivo o est´ fijo respecto al sensor. a 1. Existe un drenaje continuo de la carga de este condensador.5. su a frecuencia de trabajo. La velocidad del sonido en el aire. se consigue un esquema que puede alcanzar una resoluci´n de aproximadamente unos 6mm. El efecto de atenuaci´n debido a o la humedad es m´ximo. Esta es o debida a la atenuaci´n que tiene cada frecuencia al viajar por el aire. humedad. dependiendo de factores tales como la temperatura. y se cumplan algunas otras restricciones.7) donde T es la temperatura en grados Kelvin y se ve que existe una fuerte dependencia de la temperatura. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS18 Los factores ac´sticos que m´s afectan al rendimiento del sistema de meu a dida por sonar est´n relacionados con el rendimiento del transductor. por supuesto. al trabajar con valores intermedios de la misma. o En estos sensores se usa una sencilla t´cnica de integraci´n. puede ser determinada de acuerdo con la expresi´n: o v = 331. y lo lleven al valor umbral en el que se identifica la se˜al como positiva. e Si se necesita alcanzar realmente esta precisi´n m´xima. n Usando una velocidad de carga de este condensador. etc. Resoluci´n. para garantizar que peque˜os picos de ruido n consecutivos no vayan cargando el condensador. Esto. .4 ∗ ( T 1 )2 273 (1. el aspecto que m´s interesa o a es la relaci´n existente entre el alcance y la frecuencia de trabajo. se puede llegar o a alcanzar una resoluci´n del orden de la longitud de onda de la se˜al que se o n transmite. El o mecanismo de esta perdida es bastante complejo. Dejando a un lado los aspectos electr´nicos. depende del tipo de sistema de detecci´n empleado.CAP´ ITULO 1. Cuando la se˜al e o n que se recibe. es necesario conoo a cer de forma precisa la velocidad del sonido en el aire.

CAP´ ITULO 1. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS19 Si se trabaja dentro de un margen de temperaturas de entre -30o C y 30o C, entonces esta expresi´n puede aproximarse por: o v = 331, 4 + 0,607 ∗ t donde t es la temperatura en grados cent´ ıgrados. Es f´cil ver que la dependencia de la temperatura es muy fuerte, y por a lo tanto si se desea obtener una precisi´n alta, es necesario llevar a cabo la o compensaci´n. En un entorno en el que la temperatura pueda oscilar en un o rango de 60o C, la variaci´n de la velocidad del sonido llega a un 5 %. La o correci´n de este valor puede llevarse a cabo bien por el sistema de medici´n, o o o bien por el procesador que vaya a analizar los datos obtenidos. (1.8)

1.7.

Funcionamiento del sensor.

El funcionamiento t´ ıpico de un sensor de ultrasonidos viene dado por un ciclo de operaci´n que sigue los siguientes pasos: o 1. El circuito de control dispara el transductor, quedando a la espera de una se˜al que confirme el comienzo de la transmisi´n. n o 2. El circuito de recepci´n es blanqueado durante un tiempo, para evitar o que ondas residuales de la transmisi´n puedan ser interpretadas como o falsos ecos. 3. Las se˜ales recibidas son amplificadas mediante un amplificador de n ganancia variable, el cual compense la atenuaci´n del medio en aquellas o se˜ales que han recorrido una mayor distancia. n 4. Las se˜ales recibidas que superen un determinado nivel son reconocidas n como ecos, calcul´ndose la distancia a la que se encuentra el objeto que a lo ha provocado. De los puntos anteriores se deduce que la distancia m´ ınima a la que un sensor responder´, vendr´ dada por el tiempo de blanqueo. Para el caso a a del sensor usado es de 2.38 ms sustituyendo este valor en la ecuaci´n [1.2] se o obtiene una distancia m´ ınima de ≈ 20cm. Por otro lado, la distancia m´xima a vendr´ dada por la atenuaci´n de la onda ultras´nica en el medio en el que a o o se propague (aire) y por la ganancia del amplificador que recoge los ecos. En

CAP´ ITULO 1. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS20 los sensores usados esta distancia es de 10.5cm. La se˜al emitida por cada n sonar tiene una duraci´n de 300µs., y consta de los siguientes pulsos: 8 a o 60KHz..8 a 57KHz.,16 a 53KHz. y 24 a 50KHz.. El hecho de transmitir pulsos a varias frecuencias tiene como objetivo reducir las perturbaciones que pueda inducir un objeto a una determinada frecuencia en una se˜al ultras´nica. n o Emitiendo a varias frecuencias se asegura que aunque una frecuencia se vea perturbada, las otras no lo ser´n. En la figura 1.10 se muestra un cronograma a del funcionamiento de este tipo de sonar. La apertura del cono de emisi´n de o la onda ultras´nica se calcula a partir de la expresi´n: o o ϑ = arcsin( 0,61 ∗ λ ) r (1.9)

Donde λ es la longitud de onda, y r el radio del anillo exterior del sensor. Los sensores de ultrasonidos tienen un transductor ac´stico que vibra a u frecuencias ultras´nicas . Los pulsos son emitidos en haz c´nico y apuntan o o a un objeto. Los pulsos se reflejan en el objeto y vuelven al sensor en forma de ecos. El instrumento de medida mide el tiempo de retraso entre cada emisi´n y el pulso de eco para determinar exactamente la distancia del seno sor al objeto. Los sensores de ultrasonidos detectan todos los objetos sean del material que sean e independientemente del color que tengan. Detectan objetos claros, transparentes y brillantes tan f´cilmente como los oscuros y a opacos. Esta habilidad permite a los sensores de ultrasonidos detectar todo el rango de materiales, desde una botella de cristal transparente hasta neum´ticos de goma negra. Si un material se cubre, el sensor puede deteca tar de manera exacta y repetidamente el material cubriente a pesar de lo brillante o claro que sea (no como ocurre con los sensores infrarrojos). Los sensores de ultrasonidos funcionan bien en ambientes toscos (humos, polvo, ruido).

1.8.
1.8.1.

Configuraciones.
Configuraci´n de un solo sensor. o

Se puede usar para detecar la presencia de un objeto o calcular su distancia respecto al sistema aut´nomo un s´lo sensor de ultrasonidos rotatorio. o o El sensor se va girando pasos peque˜os, tomando varias posiciones para la n o medici´n completa del entorno(360 ). Como se mencion´ anteriormente, la o o

CAP´ ITULO 1. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS21 intensidad de la se˜al va variando para diferentes ´ngulos respecto del centro n a del sensor y no supone que la detecci´n del objeto se lleve a cabo mediante o el l´bulo m´s sensible que es el central, puede producirse la medida por uno o a de los laterales. El problema en estas zonas es que la se˜al tiene la intenn sidad suficiente para activar el disparo por flanco y por tanto estimar una medida, pero no tiene la suficiente potencia como para hacerlo pronto, con lo cual se produce un incremento del tiempo en la estimaci´n del vuelo. Como o consecuencia de esto la estimaci´n de la distancia es mayor. En resumen, el o sensor de ultrasonidos tiene un cono de recepci´n ancho y puede sobrestimar o distancias si el eco es d´bil. e Con el objeto de determinar las medidas que pertenezcan al l´bulo ceno tral (ya que son m´s fiables) y desestimar en la medida de lo posible las de a los l´bulos laterales, se propone un modelo de sensor. Este modelo de intero pretaci´n de las medidas est´ basado en el concepto de ”Regi´n of Constant o a o Depth” (RCD), que permite eliminar las estimaciones de distancia originadas por ecos d´biles. El problema de este m´todo es el tiempo de medida, puesto e e que se requieren varios minutos para una prueba de 360o , lo cual es impracticable para un modo de operaci´n normal de un sistema aut´nomo. o o Por tanto se puede adoptar una variante al m´todo anterior. La base de e este modelo se encuentra en la siguiente idea: Con la cantidad de informaci´n o o generada por un barrido de todas las posiciones posibles para los 360 , es imposible eliminar los ecos d´biles. Si un objeto es detectado s´lo por un e o eco, no es posible discernir si se trata de eco fuerte o d´bil. Pero si el mismo e objeto se detecta en m´s de un eco, se puede incrementar la calidad de la a informaci´n que se genera. Se puede decrementar las medidas sobrestimadas o de ecos d´biles tomando todos los m´ e ınimos de los ecos de la misma RCD. Por otro lado, la incertidumbre angular tambi´n puede ser decrementada e haciendo que el objeto sea detectado en una zona donde los ecos de las lecturas se solapen. Un conjunto de ecos se considera que pertenecen al mismo objeto si son adyacentes en la lectura y adem´s su estimaci´n de la distancia a o al objeto no difiere m´s de un valor umbral de valor 3 cm. De esta forma se a define una lectura como el agrupamiento de uno o m´s ecos adyacentes, y su a valor de medida de distancia es la m´ ınima de todos los ecos que la componen. Cabe resaltar que los ecos d´biles se producen para ´ngulos mayores de 20o , e a siendo la diferencia entre dos ecos consecutivos de 18o , por tanto menor. Esto asegura que no suceda el que dos ecos consecutivos den una medida de distancia err´nea. En la figura 1.8 se puede ver cual es el m´todo de o e agrupamiento empleado y el cono efectivo que produce.

a en el mismo instante.CAP´ ITULO 1. Si se conectan en serie. o Se pueden conectar varios sensores de ultrasonidos a un s´lo amplificador. Multiplexaci´n de sensores.Como puede verse en la figura 1. se pueden conectar todos juntos.9. es posible que existan intera ferencias ac´sticas. Este sensor se deshabilita y se habilita el siguiente.2. El sensor m´s cercano al objeto proporcionar´ la a a distancia al amplificador. todos los sensores se disparar´n a la vez. o Cuando dos o m´s sensores se montan cerca. Si se evita la multiplexaci´n de los sensores.10. La informaci´n proveniente del resto de los o sensores es ignorada.8. o Ellos se pueden conectar en paralelo o en serie seg´n se muestra en las figuras. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS22 Figura 1. . Como m´ximo se pueden conectar seis sensores a en paralelo y se tienen que colocar diodos y una resistencia de pull-up como se muestra en la figura 1. Configuraci´n de varios sensores.8: Agrupaci´n de medidas. La multiplexaci´n en serie se hace con alimentao ciones externas al amplificador. solamente u o transmitir´ uno cada vez. Pero si se sincronizan todos los sensores para que a transmitan al mismo tiempo. solamente se dispara un sensor cada vez proporcionando la medida de la distancia. u Si se conectan en paralelo. o 1.

Anillos de sensores. o Todas las se˜ales entre el amplificador y los sensores pueden conectarse n en paralelo a excepci´n de la se˜al de START y la de STOP. Estos pulsos pueden ser multiplexados desde un sensor a otro mediante relevos o demultiplexando mediante circuitos integrados.CAP´ ITULO 1. u del robot formando un per´ ımetro. se reducir´ la probabilidad de choque dada la alta capacidad de a . El o problema principal que tienen que resolver estas configuraciones se encuentra en la eliminaci´n de interferencias y ruidos entre los transductores que posee o el robot y que est´n emitiendo se˜ales peri´dicamente.9: Conexi´n de sensores de ultrasonido en paralelo. El pulso de parada es generado por el sensor e indica que un eco ha sido recibido. El pulso o n de disparo es generado por el amplificador e inicia el ciclo del sensor. La configuraci´n en anillo es muy com´n en los robots m´viles hoy en o u o d´ Generalmente se trata de un n´mero de sensores dispuestos alrededor ıa. En la mayor´ de ellos el transductor es ıa de tipo POLAROID. con el objeto de detectar todo el entorno circundante sea cual sea la posici´n del robot. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS23 Figura 1. o bien su mismo sistema de determinaci´n del TOF. Cuantos m´s sensores a n o a se usen. Las configuraciones pueden o variar desde unos pocos sensores a 24.

Ruido por sensores del mismo robot (interferencias): Este tipo de ruido se da cuando un sensor de un robot recibe como eco la se˜al que ha n emitido otro transductor del mismo robot. se incrementa la cantidad de ruido en el entorno de dos formas: Ruido por sensores de otro robot: Cuando en el mismo entorno tenemos varios robots operando. lleguen en forma de eco a otro robot distinto. Estas interferencias suelen ser discretas en el tiempo y ocurren a distancias por encima de los 20 metros.11 se pueden ver dos casos de camino cr´ ıtico. pero por o o otro lado. En la figura o 1. Pero el segundo caso es un n camino cr´ ıtico indirecto ya que el eco se recoge por sensores no vecinos a quien emite la se˜al debido a reflexiones en el entorno.CAP´ ITULO 1. En el primer caso se produce camino cr´ ıtico directo ya que los sensores vecinos al que emite la se˜al recogen el eco.10: Conexi´n de sensores de ultrasonido en serie. Este ultimo caso es n ´ el m´s complejo de resolver. a . FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS24 Figura 1. puede darse la circunstancia de que se˜ales n de un transductor de un robot. Borestein defini´ ”c´mino o a cr´ ıtico” como aquel camino que lleva a cabo una se˜al de ultrasonidos n desde un sensor a otro u otros. diferente del que lo emiti´. o percibir informaci´n del entorno que posee el sistema aut´nomo.

Estas esperas alternadas no son m´s que tiempos a de espera introduccidos entre dos disparos consecutivos de un sensor con el objeto de desincronizar las interferencias en otros sensores y conseguir as´ que ı dos medidas consecutivas de sensor sean semejantes s´lo si son generadas por o el propio sensor y no por interferencias de otros.CAP´ ITULO 1. En principio o dos medidas consecutivas en ausencia de ruido deber´ ser id´nticas (no ıan e totalmente id´nticas por la naturaleza discreta de la medida). sin m´s que limitar su diferencia a un factor Tδ .11: Ejemplos de posibles caminos de la se˜al que provocan interfern encias en un anillo de ultrasonidos.espera.6 dos medidas consecutivas debidas a una interferencia tambi´n se diferenciaran en poco e en la mayor´ de los casos. La condici´n que deben o . La primera aproximaci´n para solucionar el problema de las interfereno cias consiste en la comparaci´n de dos medidas consecutivas. a Pero este m´todo no es util para solucionar el problemas de las intere ´ ferencias entre sensores. a Por eso se combina el m´todo de comparaci´n de medidas consecutivas e o con el de esperas alternadas. Como se puede ver en la figura 2. Por ello. ya que el camino seguido por la se˜al en ambas ıa n ocasiones ser´ el mismo.espera. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS25 Figura 1.a y Ti. De esta fore ma podemos rechazar medidas err´neas por causas externas mediante este o mecanismo. se escogen para todo sensor dos tiempos de espera Ti.b .

espera. Del estudio del comportamiento de los sensores se dedujo que para este tipo de interferncia los sensores afectados son los tres vecinos pr´ximos.espera. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS26 cumplir los tiempos seleccionados para los K sensores del sistema aut´nomo o es que: |Tx.30 y 45 ms. a sino solo en la parte delantera. Las pruebas realizadas demostraron que con la metodolog´ adoptada ıa se produc´ entre 1 % y 2 % de errores.espera.a | > 2Tδ Y tambi´n que: e |Tx.11) (1. frente al 30 % que se produc´ en ıan ıa plataformas donde no se ten´ en cuenta las interferencias. Por ultim´. Finalmente se simplifica la prueba con doce sensores justificando esto en la no necesidad de llevar a cabo medidas detr´s del robot. ıan .. Esto debe cumplirse ∀x.15.b | − |Tx.10) para permitir comenzar con cualquiera de los dos valores de espera. x = y.espera.CAP´ ITULO 1. A este periodo de disparo de cada sensor se le debe a˜adir un tiempo n de espera con valores a y b que se suman de forma alternativa a los tiempos de disparo.espera. Por este motivo los sensores se disparan en grupos de o cuatro emitiendo s´lo uno de ellos cada vez. y ∈ 1. Los siguientes grupos de cuatro sensores utilizan los mismos intervalos. la estrategia descrita anteriormente se mejora con un m´todo ´ o e alternado de disparo de los sensores.a | − |Tx.b − Ty.espera. Esto tiene como objeto evitar las interferencias por camino directo.a − Ty. o Finalmente el disparo de los sensores se produce de la siguiente forma: Los sensores 1 al 4 son disparados en los instantes 0. La selecci´n real de tiempos para la prueba se llev´ a cabo de acuerdo con o o los criterios matem´ticos que deb´ cumplir.a − Ty.a − Ty.espera. De esta forma un sensor se dispara cada 60 ms. las restricciones del hardware a ıan y el tiempo m´ ınimo que deb´ transcurrir en el disparo de un sensor de un ıa grupo de cuatro (15 ms).espera.k.a | > 2Tδ (1.

La aplicaci´n al reconocimiento geom´trico o e del entorno se lleva a cabo mediante la introducci´n en una red neuronal o del tiempo de vuelo de la se˜al estimado de cada uno de los tres transducn tores que forman un ”plane array”.CAP´ ITULO 1. llevando a cabo una adquisici´n y procesamiento o en paralelo de 5 medidas. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS27 Esta solucci´n fue aportada por Borestein. Configuraciones para extracci´n de caracter´ o ısticas. con el objeto de reconocer alguna caracter´ ıstica del entorno (planos. son las configuraciones o de varios sensores a distancias conocidas.8. La configuraci´n o hardware de este m´todo ser´ la siguiente. Este m´dulo de procesamiento de la se˜al puede o n trabajar como esclavo en un sistema VME o directamente conectado a un PC mediante un puerto RS-232. De esta forma el sensor en s´ ya no es un elemento aislado como se ha visto ı hasta ahora. o a Anillo de sensores para tratamiento geom´trico. se llama. Un sistema sensorial de 32 sene ıa sores de ultrasonidos con frecuencias que van desde los 40 kHz a los 200 kHz (tambi´n se puede hacer con un solo tipo de sensores). Cada sensor dispone e de una targeta de electr´nica propia. Son sensores formados por varios transductores y que operan como un todo en conjunto.3. que tiene una extensi´n para 3D e o (al medir en tres dimensiones se pueden cometer menos errores al fusionar con otros sensores). siempre que se quieran usar todos de forma simult´nea. devolviendo la red una estimaci´n de la o distancia y el ´ngulo que formaban con el sensor central. una estimaci´n ´ptima del instante de tiempo en que n o o se detecta un eco y por ultimo por el uso de plantillas para modelar la forma ´ . y da una idea de la complejidad y problemas que puede acarrear el usar un conjunto grande de sensores en un sistema aut´nomo. esquinas o vertices). a 1. EERPUF (Error o Eliminating Rapid Ultrasonic Firing). La se˜al de dichos sensores es manejada o n por un DSP TMS320C25. El conjunto de arquitecturas sensoriales para ultrasonidos tienen en com´n u su dise˜o orientado a detecci´n de caracter´ n o ısticas del entorno. e Una opci´n alternativa a los anillos de sensores. esquinas y v´rtices). sino un conjunto de dispositivos. Estos sensores consiguen una exactitud alta por medio de un gran ancho de banda de la se˜al. El sensor m´s b´sico dentro de a a este grupo es un sensor para la localizaci´n y clasificaci´n de caracter´ o o ısticas del entorno 2D (planos.

s´lo o cambia un 0.07 % para un cambio en la humedad relativa de 20 %. turbulencias. se pueden evitar las corrientes a ıa. Un eco puede ser producido y la se˜al debilo n itada o desviada y por tanto el eco no es recibido. o Presi´n del aire. de aire caliente y lograr la operaci´n satisfactoriamente. Un sensor interno de temperatura puede adaptar la frecuencia del reloj del contador y la frecuencia de la portadora para ayudar a compensar las variaciones de la temperatura del aire. El m´ximo rango sensible.9. Pero se aconseja no usar sensores de ultrasonidos con presiones de aire bajas o demasiado elevadas. la absorci´n del sonido aumenta con el aumento de la humedad.CAP´ ITULO 1. Matched filtering es el proceso de estimaci´n del tiempo de vuelo que se lleva a cabo o buscando la m´xima correlaci´n entre un eco recibido y un conjunto de plantillas previaa o mente almacenadas 1 . la m´xima distancia de medida es reducida muy poco. Si se quiere detectar un objeto caliente. y capas de distinta densidad causan refracci´n de la onda de sonido. Sin embargo. Incidencias del medio ambiente. a Turbulencias en el aire. Temperatura. a la precisi´n de medida y la estabilidad de medida pueden deteriorarse bajo o estas circunstancias. Humedad. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS28 de la se˜al de eco y una t´cnica de ”matched filtering 1 ”en su uso. Las corrientes de aire. El efecto de la humedad en la medida es virtualmente insignificante. Sin embargo. As´ o ı. n e 1. las fluctuaciones grandes de temperatura dentro del camino que recorre la onda ultras´nica pueden causar dispersi´n y o o refracci´n de la se˜al de ultrasonidos. La velocidad del sonido en el aire depende de la temperatura. o Los cambios normales en la presi´n atmosf´rica del aire no tienen efectos o e sustanciales en la exactitud de la medida. afectando negativamente a la exactitud o n y estabilidad de la medida. habr´ que a experimentar posicionando el sensor y el objeto en un plano vertical y apuntar a la parte del objeto m´s fr´ De esta manera.

Errores de origen natural La velocidad de propagaci´n del sonido en el aire depende de la o temperatura. Errores de medida con ultrasonidos. Seg´n sea la rugosidad de los objetos. (Ver ecuaci´n [1. estos ser´n reflectantes o u a difractantes. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS29 1. . La medida de distancias con ultrasonidos est´ sometida a diferentes fuentes a de error. o 1. Aunque este efecto se corrige en parte con la emisi´n o de un pulso de varias frecuencias. lo mas comunes son los detallados a continuaci´n. existen objetos que pueden atrapar la onda.10. devolviendo una distancia mayor de la que en realidad se encuentra.2]) o Figura 1. Se aprecia como se emiten o varios pulsos y son recibidos de igual manera varios ecos.12: Cronograma del proceso de emisi´n y recepci´n de una onda o o ultras´nica mediante el sensor de ultrasonidos.CAP´ ITULO 1.

a 3. Las secuencia de gr´ficos de la figura 1. que sea inapreciable. Los puntos de discontinuidad en esta gr´fica provocan un o a error en la correcci´n. Errores debidos a la posici´n relativa Sonar-Objeto Seg´n sea la posio u ci´n relativa de los s´nares frente a un objeto. Los ecos de objetos cercanos cargan este condensador en tres periodos. por lo que aparentar´n encontrarse a una distancia mayor. o El nivel que determina si un eco es reconocido como tal se realiza mediante la carga de un condensador. a . se pueden producir o o diferentes efectos que pueden hacer que un objeto que est´ mas cere cano aparezca como mas lejano o viceversa. Errores de origen electr´nico o El amplificador de ganancia variable que contrarresta el efecto de la atenuaci´n en el aire es aproximado por 16 niveles de amplifio caci´n. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS30 El patr´n de emisi´n de la onda no es completamente c´nico (Ver o o o figura 1. 2. sin embargo los ecos de objetos mas lejanos necesitan mas periodos.5)..13 muestra alguno de los errores a m´s comunes..CAP´ ITULO 1. si no que existen unos l´bulos laterales de emisi´n que o o pueden provocar un eco.

poroso. Area de detecci´n ancha: Mientras que algunos sensores fotoel´ctrio e cos pueden detectar a largas distancias. s´lido.CAP´ ITULO 1. l´ o o ıquido. 1. o o much´ ısimas aplicaciones requieren detecci´n a larga distancia. Gran rango de detecci´n: En la detecci´n industrial mediante sensores.11. Las ventajas de estos sensores con respecto a otros son: Miden y detectan distancias a objetos en movimiento. carecen de la habilidad de detectar sobre ´reas grandes sin usar un n´mero elevado de sensores.11. Los sensores o de ultrasonidos detectan a distancias superiores a los cuarenta pies. Permiten detectar todo tipo de materiales: S´lamente los sensores o de ultrasonidos est´n capacitados para detectar todo tipo de materiales. 1. Ventajas. La ventaja de a u los sensores de ultrasonidos es que pueden cubrir tanto ´reas anchas como a estrechas. o Los sensores de ultrasonidos proporcionan al mercado un m´todo de e detecci´n eficaz a bajo coste con unas propiedades unicas que no poseen o ´ otras tecnolog´ de detecci´n.05 %. y de cualquier color porque todos son detectados. un sensor de ultrasonidos o puede ser dise˜ado para resolver muchos problemas de aplicaci´n que no se n o pueden hacer por su coste elevado o simplemente porque no pueden resolverse mediante otros sensores.2. por lo e que la medida de la distancia es sencilla y exacta con un margen de error de 0. sea a cual sea su composici´n. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS31 1. madera. Usando un gran variedad de transductores ulıas o tras´nicos y varios rangos distintos de frecuencia. El material detectado puede ser claro. blando. .1. Miden distancias sin necesidad de contacto: Se mide el tiempo que tarda el sonido desde que deja el transductor hasta que vuelve a ´l. mientras que los sensores inductivos no lo pueden hacer. Aplicaciones. Introducci´n.11.

superficie y color del objeto a detectar.Las aplicaciones de detecci´n o o de proximidad incluyen la detecci´n de la presencia o ausencia de personas y o objetos de inter´s. La distancia cambiante se calcula cont´ a ınuamente.11. . Detectan objetos peque˜os a distancias grandes. radiacciones infrarrojas. al moverse. o No son afectados por el polvo. n La medida de la distancia: La distancia precisa a un objeto en movimiento del sensor se mide v´ el intervalo de tiempo entre la se˜al ultras´nica ıa n o transmitida y la recepci´n de la reflejada. La detecci´n de objetos situo o n o ados a grandes distancias requiere que el objeto sea grande o est´ orientado e de modo que la se˜al que refleja llegue al ultrasonido. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS32 Es independiente del tipo de material. suciedad o ambientes humedos. El punto de detecci´n es independiente del tama˜o del n o n objeto. n Son resistentes frente a perturbaciones externas tales como vibraciones. El sensor detectar´ el objeto que est´ dentro del cono de e a e emisi´n y reflexi´n de la se˜al de ultrasonidos.CAP´ ITULO 1. a est´ a 10 pulgadas. ruido ambiente y radiaci´n EMI. 1. El ejemplo muestra la detecci´n de o o un objeto que est´ a seis pulgadas de distancia del sensor y al rato. Diferencia entre detecci´n de proximidad y meo dida del rango. El sensor de ultrasonidos se puede usar para: La detecci´n de proximidad: Un objeto pasando por alg´n sitio deno u tro del rango de alcance presente del sensor puede ser detectado y generar una se˜al de salida. No es necesario que haya contacto entre el objeto a detectar y el sensor. de su material o del grado de reflexi´n.3.

est´n a punto de llenarse o vaciarse. del caucho. o o de los metales. impresi´n. s´lidos o materiales granulados. o Indicar cuando un objeto est´ cercano o en la posici´n debida. la textil y otras industrias de manufactura.4. el control del nivel o para dimensionar o detectar proximidad en m´quinas que se usan en construcci´n. Campos de aplicaci´n. Automatizaci´n: Los sensores de ultrasonidos reducen los costes de auo tomatizaci´n proporcionando m´todos de control de tama˜os y detecci´n de o e n o posici´n o proximidad de objetos en los procesos de producci´n. Para tomar decisiones sobre el camino que deben seguir los paquetes basandose en el tama˜o o posici´n.CAP´ ITULO 1. o M´quinas constructoras: Los sensores de ultrasonidos son usados para a el control del movimiento. La informao o ci´n proporcionada por los sensores es usada para: o Aceptar o rechazar objetos basandose en el tama˜o. a o Determinar tolerancias. o a . n o Controlar el flujo de l´ ıquidos. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS33 1. Proporcionar una se˜al de alarma cuando los objetos no est´n en la n a posici´n debida. posici´n o nivel de n o llenado.11. Estas son comunes en a o aplicaciones dentro de la industria de transformaci´n.

a . Derroche de agua: Se pueden medir los niveles de dep´sitos de agua o para controlarlos. Las alarmas pueden dispararse debido a un nivel bajo. Se puede dar cuenta de la medida del nivel de un tanque a una computadora mediante un red de datos. el procesado del acero. Esto o es usado en: La fabricaci´n de papel o tela.5. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS34 Para indicar la terminaci´n de un proceso. o para medida de la tensi´n de una tela. o controlar la cantidad de material dispersado desde un contenedor. para control de enrola lado o desenrrollado. o para el control del nivel de llenado de botellas o latas. la fabricaci´n de gomas o o o neum´ticos. o Control de procesos: Las aplicaciones comunes incluyen medida del nivel de materiales en un tanque o lata. El flujo de agua de un canal abierto se mide para dar informes y establecer un control.CAP´ ITULO 1. Para medida del di´metro de un arrollamiento. un nivel elevado u otras condiciones. o se puede controlar su distancia para establecer una determinada respuesta. qu´ ımica o de pl´sticos.Tambi´n se puede usar la detecci´n de personas y objetos en e o determinados juegos. Informaci´n y diversi´n: se puede detecar a gente que se aproxima a o o una cabina. un determinado nivel establecido.11. 1. Aplicaciones t´ ıpicas. Usado en la industria alimenticia. a Para el control de nivel de tanques (tanto de l´ ıquidos como de granulados).

Se usa n para el manejo de materiales o para trabajar con metales. o para detecci´n de partes o o claras o de cristal o vidrio. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS35 Para medida de distancia. Se usa en la n industria de la automatizaci´n. y para medida de tama˜o (dimensionamiento). .CAP´ ITULO 1. para el posicionamiento de piezas de trabajo en robots. Se usa en la industria alimenticia. Para medida de tama˜o o anchura o para el empaquetamiento. el trabajo con metales y en equipos de o ensamblaje. Para la detecci´n de presencia o ausencia. manejo de materiales o para equipos de ensamblaje.

detecci´n de personas.CAP´ ITULO 1. . FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS36 Para control de movimiento. seguridad y para o muchas otras cosas.

debido a que el eco producido se debe al extremo del cono. En la figura (d) se muestra un objeto inapreciable. La figura (a) muestra una medida de distancia correcta. ya que los ecos no regresan al punto de emisi´n.13: Posibles errores debido a la disposici´n relativa entre el sonar o y el objeto. no a la parte central.CAP´ ITULO 1. La figura (e) muestra el mismo problema para el caso de o una esquina. FUNDAMENTOS DEL SENSOR DE ULTRASONIDOS37 Figura 1. En la figura (c) se obtiene una distancia mas corta de la que en realidad existe al objeto. debido a la apertura del cono. . En la figura (b) se muestra el problema de no poder determinar el ancho del objeto que refleja la onda. En la figura (f ) la medida obtenida es mayor de la real debido a los falsos ecos producidos por sucesivos rebotes.

Parte II Sistemas empotrados. 38 .

Cap´ ıtulo 2 Sistemas empotrados. 39 .

No cuentan con o un sistema de interconexi´n capaz de producir una sinergia. La red de redes ha sido un revulsivo que ha puesto el concepto de conectividad por delante de muchos otros. por lo que un punto de estudio o discusi´n importante. que se lleva el 5 % restante (Art´ ıculo de Rick Lehrbaum publicado en la revista Linux Jornal de agosto del 2000 sobre sistemas empotrados). La computerizaci´n de dispositivos se encuentra en un estado muy avano zado si tenemos en cuenta que seg´n la IDC (International Data Corporation) u se fabrican 2000 millones de microprocesadores cada a˜o y que el 95 % de los n mismos va destinado a equipos electr´nicos en general y no a ordenadores o personales (PC). y posiblemente lo estemos desde hace bastante. donde el acceso. etc. Redes de ´rea local (LAN) inal´mbricas a a El aumento inevitable de los equipos con acceso a red esta demandado no solamente una arquitectura y calidad de red cada vez m´s potente y fiable a . se centra en o estimar si estos cinco pilares se encuentran es un estado de madurez ´ptimo o como para soportar el peso de una tecnolog´ global. estos dispositivos electr´nicos generales. equipos de aire acondicionado.La era Post-PC. una nueva era tecnol´giıa o ca.1. demanda cinco claves. como o autom´viles. demostrando las ventajas de un mundo global.CAP´ ITULO 2. Internet Pocos comentarios que no se hayan dicho ya caben en estas l´ ıneas. tanto a personas como sistemas (equipos) se ha transformado en un motor de crecimiento de la humanidad. cinco pilares sobre los que se sustenta. lavadoras.2. Tecnol´gicamente hablano do. o Desde ya hace un tiempo se han comenzado a oir noticias relativas al inminente inicio de una nueva era. Lamentablemente. Introducci´n. 2. tan dr´sticao a mente plasmada en el mundo del PC como lo es la red de redes: Internet. SISTEMAS EMPOTRADOS. es posible que ya nos econtremos en esta ”nueva era”. Los cinco pilares del crecimiento de los sistemas empotrados. La era Post-Pc. 40 2. la era Post-Pc.

o Poco a poco la tecnolog´ est´ logrando vencer estas barreras generando ıa a interfaces no solamente m´s sencillas sino unific´ndolas bajo un mismo asa a pecto: Interfaces WEB. si bien estos interfaces han facilitado mucho las cosas. su arquitectura ı abierta. Firmware vs Wired. nos obliga al aprendizaje de multitud de interfaces siendo muchos de ellos una barrera en el uso y adaptaci´n a los equipos. es . El que GNU/Linux no sea dependiente de la arquitectura debido a la multitud de adaptaciones realizadas. el crecimiento de soluciones inal´mbricas con el fin de evitar el a a problema f´ ısico del cableado. se fueron concentrando gracias al avance de la VLSI (Very Large Scale Integration). modularidad y flexibilidad. la licencia GPL se han transformado en una plataforma ideal para el desarrollo de sistemas empotrados. SISTEMAS EMPOTRADOS. etc. as´ como en el aumento de los recursos o n ı internos del dispositivo. no han tardado en aflorar. Las versiones de GNU/Linux orientadas a ejecutarse en SOCs (System On Chip). todav´ queda bastante por avanzar siendo uno de los objetivos a perseguir ıa el reconocimiento del habla como interfaz universal. han sido los principales culpables de este avance. GNU/Linux empotrado (sistemas abiertos empotrados) El sistema operativo GNU/Linux y su motor. Todas las decisiones arquitecturales como ıa RISC vs CISC.CAP´ ITULO 2. a basando esta potencia en una aumento de la velocidad (que trajo consigo la consiguiente disminuci´n del tama˜o). hasta llegar a ser decisiones internas a un solo chip. En los a˜os 80 un ´ n simple controlador de disquetera conten´ m´s del doble de los componentes ıa a que hoy en d´ tiene un ordenador. ya que en el mismo. su alto grado de escalabilidad. Sistemas en un chip Las compan´ dise˜adoras y fabricantes de circuitos integrados desde ıas n siempre han participado en la carrera por obtener dispositivos m´s potentes. siendo el avance en este campo uno de los mayores. as´ como su mayor ventaja. Tipos de interfaz La multitud de sistemas computarizados que poco a poco comienzan a convivir con nosotros. Hardvard vs Princeton. Respecto a esto ultimo. Peque˜os servidores web comienzan a ser un cl´sico n a dentro de los sistemas empotrados actuales. 41 sino adem´s. el avance ha sido vertiginoso. Por otra parte.

con o . de productos e como tel´fonos m´viles. tiene ya una frontera. Existen sistemas embebidos para realizar los m´s variados tipos de a aplicaciones usando una amplia gama de tecnolog´ diferentes. SISTEMAS EMPOTRADOS. reproductores de discos DVD. ıas 2. control. perif´ricos de comue nicaciones. potencia. control de f´bricas o sistemas de telecomunicaci´n a o complejos. Es decir. a menudo invisible. sistemas de tiempo real ya no se encuentran unicamente en sistemas de con´ trol de aviones o cohetes. a 2. Varios estudios de mercado estiman en unos 5000 millones de d´lares el mercado de los sistemas empotrados en el 2001.4. con el fin de abordar el problema del dise˜o de sistemas empon trados se han caracterizado por ofrecer soluciones con una mayor capacidad de interfaz en detrimento de la capacidad de procesador o c´lculo. El ıa abaratamiento del hardware ha hecho posible la extensi´n de los sistemas o de tiempo real empotrados. sino arquitectural. sino que tambi´n forman parte. televisores e incluso e o afeitadoras o aspiradoras. resulta significativo el hecho de que cada vez es mayor el n´mero y variedad de sistemas de tiempo real que toman la forma de sisu temas empotrados en todo tipo de sistemas de ingenier´ y de consumo. etc. los SOC.CAP´ ITULO 2. repetitivas o que requieran de tiempos de respuesta imposibles de alcanzar para los seres humanos.3. Sistemas empotrados. memorias. que hasta hace poco se limitaban a sistemas de alto coste y alta tecnolog´ a los productos de uso cotidiano. De todas maneras. ¿Para qu´ sirven? e Un sistema embebido est´ dise˜ado para realizar funciones que pueden a n ser peligrosas. siendo esta no funcional. son una realidad de nuestros d´ y los llamados miıas crocontroladores tienen gran culpa de ello. interfaz. ı. 42 posible encontrar recursos tales como CPU. el avance de los SOC. n ya que por motivos de optimizaci´n de recursos (redundantes o sobrantes) es o necesario dise˜ar en base a circuitos integrados aislados. En primer lugar. As´ los ıa. n Los SOC. Muchos de los dise˜os que se realizan no se pueden resolver con un SOC.

n o Los mercados con una tendencia al alza m´s significativa. y a o n que los sistemas empotrados de tiempo real ser´n cada vez m´s comunes y a a permitir´n construir sistemas cada vez m´s aut´nomos. resulta preocupante la visi´n. Es e de suponer que esta tendencia continuar´ durante los pr´ximos 25 a˜os.CAP´ ITULO 2. ıa El abaratamiento del hardware y el incremento de la densidad de integraci´n facilita la realizaci´n de sistemas de tiempo real cada vez m´s como o a plejos. ing´nua pero frecuente. a Ingenier´ de software. seg´n estos mismos a u estudios son. Esto se debe a que hay que considerar los requisitos temporales y de fiabilidad. todo hace pensar que en los sistemas del futuro converger´n a una serie de tecnolog´ cuya evoluci´n hay que tener en cuenta si queremos ıas. Es de esperar a o que esta tendencia contin´e y que en un futuro pr´ximo se generalicen los u o protocolos de comunicaci´n con comportamiento temporal previsible. e incluso en ocasiones la p´rdida de vidas n e humanas. junto o un mayor ancho de banda y tolerancia de fallos. a a o Por otro lado. n o o Aunque el motivo principal de estos desarrollos ha sido la necesidad de implementar sistemas de tiempo real distribuidos en la industria del autom´vil. Por este motivo. lo u o que hace necesario disponer de m´todos y herramientas adecuados para dee sarrollar sistemas de tiempo real complejos. facilitar´ previsiblemente el desarrollo o a a de sistemas empotrados port´tiles. o e . o tener al menos un atisbo de cuales ser´n sus caracter´ a ısticas m´s importantes. o se ha extendido r´pidamente a otros campos de aplicaci´n. a Algunos de estos campos son: Comunicaciones. ya que los fallos de estos sistemas pueden causar cuantiosos da˜os materiales. los de consumo dom´stico y telecomunicaciones avanzadas. SISTEMAS EMPOTRADOS. Esta realidad s´lo se a o o ha manifestado recientemente y ha dado lugar a la aparici´n en los ultimos o ´ a˜os de protocolos de comunicaci´n con tiempo de transmisi´n determinista. El desarrollo de protocolos de comunicaci´n por radio. Otros estudios cifran el mercado de sistemas empotrados conectados a Internet en el a˜o 2005 en unos 6500 millones de d´lares. adem´s. Los medios de comunicaci´n para sistemas de tiempo real tienen que o cumplir un requisito fundamental: es necesario poder predecir la duraci´n o m´xima del tiempo de transmisi´n de los mensajes. teniendo en cuenta adem´s que a la dificultad de desarrollar este tipo de sistemas es mayor que en el caso de sistemas convencionales. Es de preveer que esta tendencia contin´e en un futuro pr´ximo. 43 una tendencia creciente.

La necesidad de disponer de sistemas fiables y que puedan funcionar de . El desarrollo de t´cnicas e que permitan compatibilizar los m´todos de la inteligencia artificial con un e comportamiento temporal previsible dar´ todav´ trabajo a la pr´xima gena ıa o eraci´n de investigadores.CAP´ ITULO 2. e ıa Estas t´cnicas ya se utilizan en muchos tipos de sistemas inform´ticos. No obstante resulta preocupante el hecho de que en algunos desarrollos recientes de lenguajes de programaci´n o de sistemas o operativos se hayan ignorado casi completamente los avances tecnol´gicos o realizados en los ultimos a˜os en este campo. se dispone e ıa a de un buen bagaje de t´cnicas de dise˜o y an´lisis desarrolladas en su mayor e n a parte en los ultimos diez a˜os. SISTEMAS EMPOTRADOS. por la diso tribuci´n f´ o ısica de estos sistemas y por la necesidad de hacer que toleren una mayor cantidad y variedad de fallos. Problemas como la sincronizaci´n de los o relojes de los diversos procesadores. La complejidad de las aplicaciones de sistemas de tiempo real del futuro hace pensar que ser´ necesario emplear t´cnicas de inteligencia artificial para a e adaptar su comportamiento a los cambios del entorno. Es previsible que la mayor´ de los sistemas de tiempo real del futuro sean ıa distribuidos. o Sistemas distribuidos. 44 de que el desarrollo de sistemas empotrados se simplifica utilizando sin m´s a los m´todos de desarrollo de software que han dado buenos resultados en e otros campos de aplicaci´n. En este sentido. pero e a la satisfacci´n de requisitos temporales presenta dificultades adicionales que o no siempre se sabe resolver de manera adecuada. o que hacer sistemas de tiempo real consiste o unicamente en hacer sistemas m´s r´pidos o m´s eficientes. ´ a a a Para poder desarrollar este tipo de sistemas de forma que satisfagan los requisitos de determinismo temporal y fiabilidad que les son inherentes manteniendo unos costes razonables. el determinismo temporal y la distribuci´n din´mica de la carga son algunos aspectos que deber´n ser solucionados o a a de forma adecuada. y para aumentar su autonom´ y prestaciones. ´ n Inteligencia artificial. que se puede utilizar de manera efectiva para ´ n conseguir estos objetivos. es absolutamente necesario disponer de t´cnicas de ingenier´ de software m´s avanzadas. Tolerancia de fallos. La necesidad de utilizar diversos computadores estar´ motivada a por la necesidad de disponer de una gran potencia de c´mputo. aprender y emplear t´cnicas de toma de decisiones.

la complejidad es mayor en el caso de otros medios de transporte como los aviones. SISTEMAS EMPOTRADOS. que se analizan a continuaci´n con algo m´s de detalle. o en el funcionamiento autom´tico de o a los sistemas de control y circulaci´n de trenes. etc.CAP´ ITULO 2. o a Transporte. Uno de los campos de aplicaci´n m´s importantes de los sistemas de tiemo a po real ha sido tradicionalmente el control de los medios de transporte como aviones. Para ser a o capaces de realizar esta funciones. lo que les permitir´ comunicarse con los humanos. 2. las t´cnicas de tolerancia de fallos. sensores e inteligencia a o artificial permiten esperar un progreso notable en aplicaciones como el desprgue. o Los dispositivos generales descritos tendr´n una aplicaci´n espec´ a o ıfica en distintos campos. Para tal fin.5. seg´n sea necesario. n La previsi´n consiste en que los sistemas de tiempo real ser´n una teco a nolog´ de base para desarrollar sistemas de control empotrados con una serie ıa de caracter´ ısticas comunes. Una de las tendencias m´s interesantes en relacci´n con a o este tipo de sistemas es la de conseguir un funcionamiento aut´nomo de los o mismos. aterrizaje y navegaci´n de avione. Dispondr´n de capacidades de comunicaci´n u a o inal´mbricas. trenes o autom´viles. trenes. Los avances o que se est´n produciendo en sistemas de navegaci´n. deber´n tener en cuenta los requisitos tempoa rales. de forma que la recuperaci´n y el tratamiento de los fallos de hardware o y de software no impliquen una degradaci´n inadmisible del comportamiento o temporal del sistema. 45 manera cont´ ınua es cada vez m´s frecuente. Obviamente. Esto ya se ha conseguido en algunos trenes con recorridos sencillos y velocidad limitada. Aplicaciones de los Sistemas de Tiempo Real dentro de 25 a˜ os. Tendr´n capacidades de aprendizaje y de a adaptaci´n a entornos cambiantes. y es previsible que se acreciente a en el futuro pr´ximo. En cuanto a los autom´viles. Ser´n aut´nomos. tanto o e de hardware como de software. o en la actualidad se est´n investigando m´todos de navegaci´n que permitan a e o . en el sentido que tendr´n prefia o a jadas sus funciones y las realizar´n sin intervenci´n humana directa. entre ellos y a a con centros avanzados de control. como los que circulan en algunos aeropuertos o en algunas l´ ıneas de metro. ser´ imprescindible disponer de sistemas a sensoriales avanzados que les permitan conocer el estado de los elementos del entorno.

es dificil predecir c´mo ´ n o ser´ este cambio en los pr´ximos 25 a˜os. No parece descabellado n pensar en la conexi´n de c´maras de seguridad o de vigilancia del cuarto de o a los ni˜os que se conectan a una red de ´rea local y que permiten desde el n a televisor digital observar lo que captan. ´ CONCLUSION. De esta manera aumentar´ la flexibilidad de esta a instalaciones y ser´ posible el desarrollo de productos a la carta. Actualmente se trabaja en redes de comunicaci´n para el hogar. o con el objetivo de interconectar los dispositivos. Esto permitir´ avisar a ı a con tiempo de maniobras y adaptar el comportamiento de los veh´ ıculos a las circunstancias del tr´fico. SISTEMAS EMPOTRADOS. los sistemas empotrados en loscoches deber´n a de disponer de sensores inteligentes y muy eficaces para detectar cualquier desviaci´n del sistema. Teniendo en cuenta la velocidad con que los avances tecnol´gicos han o cambiado nuestras vidas durante los ultimos a˜os. La capacidad de adaptaci´n y reconfiguraci´n de estos compoo o nentes podr´ permitir cambiar las caracter´ ıa ısticas del producto fabricado en un tiempo muy reducido. ıa y el tipo de productos a fabricar. La aplicaci´n de robots aut´nomos en el o o o hogar podr´ resultar en obviar toda esa serie de labores tediosas y necesarias ıa que hay que realizar a diario en cualquier hogar. Aplicaciones dom´sticas. con objeto e corregirla a tiempo. e La configuraci´n de los hogares es previsible que cambie en este lapsdo o de tiempo. a Los componentes de una f´brica podr´ estar conectados a los centros de a ıan planificaci´n mundiales de la compa˜´ lo que permitir´ ajustar la cantidad o nıa. o a La utilizaci´n de las tecnolog´ descritas en la industria permite esperar o ıas el desarrollo de f´bricas autom´ticas. a o n . Para o a lograr este comportamiento. de forma que se muestre un mensaje de aviso en la televisi´n cuando tremine la lvadora o cuando el frigor´ o ıfico solicite la revisi´n de las 1000 horas. De la misma manera parece factible interconectar todos los elementos de la casa. a Fabricaci´n autom´tica. esta meta se puese conseguir en un espacio de tiempo peque˜o. Un conjunto de robots y m´quinas esa a a peciales se encargar´n de fabricar los productos con m´ a ınima intervenci´n de o operadores. 46 conseguir formas limitadas de conducci´n autom´tica en autopistas. En algunos casos. Los veh´ o ıculos estar´n interconectados entre s´ y con centros de control.CAP´ ITULO 2.

Parte III Fundamentos del procesador ajile80 y JStamp 47 .

Cap´ ıtulo 3 Java y el tiempo real. 48 .

2. con su sintaxis o similar al lenguaje C y su modelo de objetos simplificado. el modelo de objetos simplificado. El desarrollador de sistemas de tiempo real empotrados se encuentra tambi´n con un e entorno de trabajo extremadamente heterog´neo. los e ingenieros est´n cada vez m´s interesados y estudian m´s las tecnolog´ Jaa a a ıas va. y la o gran cantidad de librer´ de clases de ejecuci´n. Estas tecnolog´ incluyen el lenguaje a ıas de programaci´n orientado a objetos Java. control de hogao res. 49 3. La plataforma Java debut´ en 1995 como un entorno de trabajo y de o lenguaje server.poniendo especial inter´s y a e esfuerzo en el desarrollo de recursos puesto que son muy escasos.40 % m´s efectivo. con una gran cantidad de e procesadores.CAP´ ITULO 3. sistemas operativos y tipos de perif´ricos. las fuertes nociones de seguridad y garant´ y el soporte multihilos de la plataforma Java proporcionan muchas ıa. JAVA Y EL TIEMPO REAL. ventajas para una nueva generaci´n de sistemas empotrados de tiempo real o que funcionan a trav´s de la red. Los sistemas empotrados de tiempo real est´n llegando a ser comunes en mercados como a el de las telecomunicaciones. aunque fue originalmente desarrollado como un lenguaje de programaci´n orientado a objetos para sistemas empotrados. ıas o 3. e 3. sistemas autom´viles e instrumentaci´n m´dica.2. especialmente gracias a internet. La plataforma JAVA. y ha demostrado ser un 25 % . es m´s f´cil de a a dominar que C++. las Java Virtual Machines. La a inexistencia en Java de los punteros y el direccionamiento autom´tico de a memoria son puntos frecuentemente citados como factores clave en el progreso del software en cuanto a productividad y robusted se refiere. para proporcionar un entorno de desarrollo para sistemas empotrados de tiempo real m´s productivo y portable.1. o El mercado de los sistemas empotrados y de tiempo real ha estallado en la era ”POST-PC”.1. El contenido software o o e de estos aparatos est´ evolucionando y creciendo. la automatizaci´n industrial. Introducci´n. De este modo. La plataforma o neutral. El lenguaje de programaci´n Java. o El lenguaje de programaci´n orientado a objetos Java. El lenguaje .

JAVA Y EL TIEMPO REAL. m´s incluso a a que el conjunto de instrucciones de los computadores tradicionales como son la familia x86 de Intel y la familia 680x0 de Motorola.2. as´ como invocaci´n de u ´ ı o m´todos virtuales con detecci´n de bloqueo. limited Device Configuration (CLDC)” especifica un subconjunto de Java 2 para ocupar los recursos de memoria (menos de los 512 KB disponibles para el entorno Java) con baja velocidad y conectividad intermitente con la red. se a o este modo se aumenta la seguridad y garant´ del c´digo. 50 Java tambi´n soporta multihilos y la palabra sincronizaci´n proporciona un e o significado particular y elegante de ejecuci´n mutua y exclusi´n. JIT´s o requiere ´reas de memoria que var´ de tama˜o para soportan la traducci´n a ıen n o de c´digo y la ejecuci´n en un entorno de JIT sufre desde efectos de p´rdida o o e de memoria cach´ si se transfiere el control hasta bloqueos de c´digo no e o traducido. Sin embargo. En un entorno de ejecucci´n e o o Java t´ ıpico. o La ”J2ME Connected. las aplicaciones portables o applets compilados en c´digo de JVM o son interpretadas por una implementaci´n software JVM. Los interpretes de c´digo o o son lentos y requieren memoria para almacenar el c´digo del interprete. tales como tel´fonos m´biles y asistentes personae o les digitales.2. o o 3. el aparato donde se tiene a implementado el sistema est´ aislado de la propia aplicaci´n por la JVM. Un microprocesador Java es m´s eficiente desde el punto de vista del a espacio y el tiempo para ejecutar el c´digo Java. a La ejecuci´n de un programa Java es soportada por una m´quina virtual o a (JVM) estandar donde los programas son compilados. El ”Connected Device Configuration (CDC)” es tomado como . La m´quina virtual Java.2. 3.CAP´ ITULO 3. Adem´s. ıa o El conjunto de instrucciones de la JVM est´ basado en una arquitectura a de 32 bits con un n´mero de instrucciones unicas. Aplicaciones de Java en objetos m´biles. generar c´digo como un procesador no es una tarea o f´cil por eso el conjunto de instrucciones de la JVM es complejo. Just-In-Time (JIT) o compilando al c´digo m´quina nativo o directamente son ejecutados por un o a microprocesador Java.3. Este dise˜o permite n a Java ser portable puesto que los programas Java pueden ejecutarse en cualquier sistema que soporte una JVM.

4. Junto con estas configuraciones estandar. Conclusi´n. JAVA Y EL TIEMPO REAL. etc.1: Figura 3. sus fuertes nociones de seguridad as´ como su soporte de hilos m´ltiples. 51 punto de referencia para muchos aparatos. su modelo de objetos simplificado.2. con su plataforma neutral. que entre otras caracter´ ısticas importantes posee la de definir un conjunto m´ ınimo de API´s gr´ficas para aparatos de a informaci´n como por ejemplo los tel´fonos m´biles.1: Arquitectura Software del J2ME. Un perfil del J2ME particularmente importante es el ”Mobile Information Device Profile (MIDP)”. o El entorno Java. ı u . un numeroso grupo de perfiles de mercado verticales se pueden definir a partir de J2ME. 3. los asistentes digitales o e o personales. La arquitectura software de una aplicaci´n J2ME t´ o ıpica es la mostrada en la figura 3. tales como set-top boxes o aplicaciones de red ”plug-in-the-wall”.CAP´ ITULO 3.

que la descompresi´n y visualizaci´n de un fichero mpeg.CAP´ ITULO 3. aumentando la seguridad. el gran tama˜o. Tiempo Real. el comportamiento n no determinista y la pobre representaci´n de la primera generaci´n de imo o plementaciones Java en sistemas empotrados han influido negativamente en la aceptaci´nde Java en el mundo de los sistemas empotrados y de tiempo o real. en el segundo caso. as´ como el tradicional sistema operativo de tiempo ı real (RTOS). eliminando la necesidad de un interprete de Java o compilador ”‘Just-In-Time”. e e a sino el adecuado: el sistema tiene que asegurar el tiempo de respuesta. A los primeros se les llama sistemas de tiempo u real duro o estricto (hard real-time) y a los segundo sistemas de tiempo real blando (soft real-time). El tiempo necesario no tiene porqu´ ser el m´s corto. Esta tecnolog´ hardware de aJile soporta m´ltiples JVM ejecut´ndose al ıa u a mismo tiempo en la CPU. Un sistema de tiempo real puede ser definido como aquel sistema inform´tico en el que la correcci´n del sistema no s´lo depende de los resultaa o o dos l´gicos de los algoritmos. sino que tambi´n depende del momento en el o e que ´stos se producen.3. sencillamente se tiene una degradaci´n de la calidad del sistema (la imagen se queda congelada o o se pierde alg´n fotograma). aJile Systems ha desarrollado una implementaci´n hardware de bajo o coste de una m´quina virtual Java que hace una realidad el uso de Java en a sistemas empotrados y de tiempo real. En el o o o primer caso. no es lo mismo controlar el sistema de frenado ABS de un coche o la inyecci´n de combustible en el motor o de un avi´n. 52 proporcionan muchas ventajas para una nueva generaci´n de sistemas emo potrados y de tiempo real. Esto o combinado con la segunda edicci´n de Java (J2ME) y unas herramientas de o construcci´n. garantizando el espacio en memoria y porci´n de tiempo para las distintas aplicaciones Java. la perdida de alg´n plazo de ejecuci´n puede producir perdidas u o humanas o graves perdidas materiales. No todos los sistema de tiempo real son iguales. Obs´rvese que hemos definido un sistema ”de tiempo real” y no un sise . JAVA Y EL TIEMPO REAL. hacen de esta tecnolog´ una plataforma eficiente para el deo ıa sarrollo de aplicaciones empotradas de tiempo real desarrolladas enteramente en Java. Sin embargo. El hardware de aJile proporciona un soporte directo para el conjunto de instrucciones de la JVM y el modelo de hilos (threads). 3.

pero no resulta excesivamente importante. 53 tema ”en tiempo real”. vamos a diferenciar entre dos tipos de sistemas de tiempo real: 1.CAP´ ITULO 3. donde los plazos l´ ımite deben ser respetados o si no el cohete puede explotar.Sistemas de tiempo real blando Este tipo de sistemas deben mantener casi siempre la temporizaci´n. JAVA Y EL TIEMPO REAL. mejor para sus intenciones.. As´ que estos sistemas necesitan realizar sus plazos de ejecuci´n ı o con frecuencia. o sistemas de adquisici´n de datos. Una o p´rdida de alg´n plazo de ejecuci´n solamente puede causar una degradaci´n e u o o en la calidad ofrecida por el sistema. Con estas definiciones en mente. Un ejemplo t´ ıpico es la visualizaci´n de un fichero de video : si el sistema o pierde un plazo no es grave. entre otras m´quinas e instrumentos donde la temporizaci´n o a o sea un factor decisivo. plantas de procesado. Los sistemas de tiempo real estricto no pueden utilizar la mejou ra del rendimiento medio para compensar un mal rendimiento en el peor caso. robots. . Este e o tipo de sistemas debe garantizar todos los tiempos de respuesta. que necesita trabajar a intervalos ıa . Sistemas de tiempo real estricto 1. Sistemas de tiempo real blando 2. T´ a o ıpicamente todas las simulaciones y juegos interactivos pretenden dar sensaci´n o de continuidad en el tiempo de forma que cuantas m´s im´genes generen en a a menos tiempo. Otro ejemplo ser´ una cadena de montaje. s´lo provocar´ alg´n salto de imagen que puede o a u ser indetectable o a lo sumo inc´modo para el usuario. sistemas de telecoo municaci´n. . De hecho este tipo de sistemas requieren un buen rendimiento en promedio. Las aplicaciones que cubren van desde el control a la supervisi´n de motores. capaz de dar la impresi´n de realidad”. Como ejemplo pongamos una secuencia de lanzamiento de un cohete. o 2. Un sistema ”en tiempo real”es lo que normalmente se entiende por un sistema r´pido.-Sistemas de tiempo real estricto Se trata de sistemas cuyos plazos de ejecuci´n no pueden perderse de o ning´n modo. La p´rdida de un plazo de ejecuci´n puede causar un error irrecuperable.

La primera propuesta para que un computador trabajara en tiempo real.CAP´ ITULO 3. Fue supuesto que ser´ usaıan dos elementos de computaci´n anal´gicos pero los digitales no fueron excluio o dos. Por otro lado. desde el punto de vista de los sistemas de tiempo real blando. 3. Pero es diferente a todos ellos porque no es un sistema espec´ ıfico. como por ejemplo tratando separadamente las tareas de tiempo real estricto (de mayor prioridad) de las de tiempo real blando (de menor prioridad). 54 de tiempo precisos o en caso contrario el resultado pueden ser cientos de productos defectuosos. ¿Por qu´? Porque los ıa a e sistemas de tiempo real blando ”serios”deben dar soporte QOS (Quality Of Service: Calidad De Servicio). como un sistema de control. La clave podr´ estar en establecer distintos niveles de ıa prioridad. Trata de reducir la complejidad para as´ reducir la ı impredecibilidad del sistema. como hacen otros sistemas de tiempo real como VxWorks.3. fue publicada en 1950. RT-Linux est´ especialmente dise˜ado para trabajar como un sistema a n de tiempo real estricto. est´ basado en Linux. Esta propuesta mostr´ un o computador con bucles feeback y feed-forward. Por 1954 un computador digital e Digitrac fue usado con ´xito para proporcionar un vuelo autom´tico y para e a sistemas de control de armas. El primer computador digital desarrollado espec´ ıficamente para control en tiempo real fue para operaciones a´reas. OS/9 y tantos otros. Linx. Por contra. . JAVA Y EL TIEMPO REAL. de forma que aporten alg´n sistema de control u que permita regular la posibilidad de perder algunas iteraciones en las tareas de tiempo real blando. Tambi´n aparecieron los compiladores de proceso e fortran. En 1960 empezaron a emerger los sistemas operativos en tiempo real para aplicaciones industriales.1. Origen de los sistemas de tiempo real. La llegada del microprocesador en los 70´s y el aumento de la velocidad de la memoria empezaron a forzar el aumento de atenci´n en los o problemas de la escritura correcta y el control fiable por computador del software. RT-Linux todav´ no est´ preparado para ello. lo que le aporta a una compatibilidad mucho m´s variada con herramientas y programas ya a existentes.

” 3. una c´mara digital. Esto normalmente es. JAVA Y EL TIEMPO REAL. y la salida tiene que estar relacionada con ese movimiento.3. desarrolladores. desde estaciones de trabajo que se ejecutan bajo sistemas operativos UNIX donde el usuario espera obtener una respuesta dentro de pocos segundos. Algunas definiciones son las siguientes: Seg´n el diccionario de computaci´n Oxford:”Un sistema en el cual. o La definici´n de sistemas de tiempo real parece variar entre los distintos o grupos.” n Otra definici´n alternativa es: ”Los sistemas de tiempo real leen las eno tradas de una planta (sistema f´ ısico a controlar. Los procesos externos operan en sus propias escalas de tiempo y al computador se le exige que opere en tiempo real si las operaciones de los procesos externos se llevan al computador. etc. 55 3. ı El retraso entre la entrada y la salida debe ser suficientemente peque˜o n para que sea aceptable. porque la entrada corresponde con alg´n movimiento de munu do f´sico. por ejemplo: un robot. pranticantes.3.CAP´ ITULO 3. el u o tiempo en el que se obtiene la respuesta es significativo. Si las respuestas sobrepasan este tiempo es posible que se den degradaciones y funcionamientos extra˜os en los resultados. o Los sistemas de tiempo real y los computadores empotrados se interconectan con el entorno en el que trabajan mediante un amplio rango de interfaces de perif´ricos que reciben y env´ est´ e ıan ımulos. Definici´n de sistemas de tiempo real.) y a mandan se˜ales de control a la planta en tiempos determinados para n las consideraciones operativas de la planta. tales como: vendedores.3. e etc. . un proceso automatizado de una empresa.” Esta definici´n cubre diferentes tipos de siso temas. no a los tiempos limitado por las capacidades del sistema computador.2. Clasificaci´n. La definici´n del Journal of Systems and Control Engineering: ”Los o sistemas de tiempo real son aquellos que deben producir respuestas correctas dentro de un tiempo l´ ımite definido. acad´micos. hasta sistemas de control de aviones donde se debe obtener una respuesta en un tiempo determinado y cualquier fallo o retraso puede causar la p´rdida del control y la posibilidad de la muerte e de los pasajeros.

pero en respuesta de alg´n evento en cuyo caso es u llamado a ser ”event based”. o Un m´todo interactivo (”interactive based”) que consiste en definir de e una manera menos fuerte el parentesco entre las acciones del computador y el sistema. a 3. y entonces las operaciones llevadas a realizar al computador se realizan de acuerdo a un tiempo planificado. El requisito es que se complete en el ordenador un conjunto de operaciones dentro un tiempo predeterminado. Algunos sistemas o usan el polling.CAP´ ITULO 3. apagar un congelador cuando su temperatura baje de una m´ ınima establecida y encenderlo cuando la temperatura supere el m´ximo establecido. Los sistemas basados a en eventos(”event based”) emplean normalmente interrupciones para informar al computador de la acci´n que es requerida. Los sistemas de tiempo real se pueden dividir en dos categor´ principales ıas seg´n sus limitaciones de tiempo. que consiste en preguntar peri´dicamente a los sensores o si alguna acci´n es requerida. y esto debe de hacerlo dentro un o determinado tiempo l´ ımite(si no se obtiene ninguna respuesta por parte del usuario en 20 segundos. JAVA Y EL TIEMPO REAL. Esto se puede hacer por: El periodo de tiempo en el que se le dice al sistemaque responda que se base en el reloj(”clock based”). se le devolver´ la tarjeta). u Hard real-time: Soft real-time: .3.4. Acciones. que tienen que realizarse no en un tiempo determinado o intervalo establecido. Un cajero autom´tico tiene una sincronizaci´n interactiva puesto que requiere la a o respuesta interactiva del usuario que debe introducir su clave y operaciones que desea realizar para obtener informaci´n sobre el estado de o su cuenta o realizar una transacci´n. 56 Se debe definir la sincronizaci´n entre los procesos externos y las acciones o internas del computador. Por ejemplo. Las limitaciones de tiempo en los sistemas de tiempo real.

La debilidad de Java para las aplicaciones de tiempo real. Este requerimiento llevo a la formaci´n de un o grupo experto dentro de ”Java Community Process(JCP)” para realizar el proyecto de la especificaci´n de Java para tiempo real. JAVA Y EL TIEMPO REAL.1. a La planificaci´n de hilos. Los principales o problemas fueron: El controlador de eliminaci´n de basura de la memoria din´mica pod´ o a ıa interrumpir la ejecuci´n de aplicaciones por intervalos de tiempo imo predecibles. Los sistemas de tiempo real se encuentran en aplicaciones de sistemas empotrados y en otras aplicaciones que requieren un determinado comportamiento en el tiempo. que pod´ elegir donde borrar los objetos de la ıa memoria din´mica y en un orden arbitrario. Esto era debido al comportamiento no determinista del recolector de basura.4. Introducci´n. 3.2.4. paro ticularmente el comportamiento no determinista del recolector de basura y el manejo de hilos. Como la JVM usa el planificador del servidor o del sistema operativo. el sistema operativo debe ser capaz de planificar en tiempo real. o Algunas de las caracter´ ısticas de la especificaci´n del lenguaje Java. a . pero esto no lo cumplen todos los servidores donde est´ disponible la JVM. Hab´ algunos puntos en la especificaci´n del lenguaje Java que frenaron ıa o su adopci´n dentro de la industria del control de tiempo real. o 3. Real-Time Java. han impedido la adopci´n de Java en la industria de los o sistemas de tiempo real y aplicaciones software.CAP´ ITULO 3. 57 3. por eso se e organiz´ un grupo de trabajo dentro del Instituto Nacional de Estandares y o Tecnolog´ (NIST) para discutir y proponer un proyecto: ”Real-Time Specıa ification for Java (RTSJ)”.4. Esta limitaci´n fue entendio da tanto por la industria como por las instituciones acad´micas.

n o Hay siete ´reas funcionales en las que Real-Time Java presenta intensificaa ciones: planificaci´n y despacho de hilos (thread Scheduling and dispatching).R.A(Write Once Run All) deben ser perseguidos en la mayor medida posible. o o Cualquier modificaci´n no debe incluir una extensi´n del lenguaje que o o conduzca a un requerimiento de modificaci´n del compilador y de aqu´ a o ı un aumento de la probabilidad de descargas frecuentes.4. terminaci´n de hilos y acceso o a la memoria f´ ısica. bajo ninguna circunstancia.4. o manejo de memoria. sincronizaci´n y reparto de recursos. El ”Real-Time Java Expert Group (RTJEG)” estableci´ un conjunto de o principios a seguir por los dise˜adores de la RTSJ. JAVA Y EL TIEMPO REAL. . versi´n o entorno Java en particular. Principios a seguir. en cualquier implementaci´n de una JVM. Estos son: n RTSJ no debe incluir ning´n requerimiento que limite su implementaci´n u o a una plataforma.4. 3. impedir o la ejecuci´n del software que no est´ escrito correctamente en tiempo o e real. o Incluso cuando la dificultad en la especificaci´n de los par´metros de o a tiempo real para una plataforma independiente sea reconocida.CAP´ ITULO 3. no que lo haga de manera indeterminada. Dise˜ o e implementaci´n. manejo de eventos o as´ ıncronos. La especificaci´n debe tambi´n incluir las caracter´ o e ısticas actuales de los sistemas de tiempo real y permitir la inclusi´n de otras m´s avanzadas o a en el futuro. los principios de W. no debe. o Cualquier modificaci´n. 3.O. transferencia de control as´ ıncrono. El riesgo asociado a estos dos aspectos superaba las otras ventajas de Java.3. La principal caracter´ ıstica que debe perseguirse es la previsi´n incluso o en el costo de una actuaci´n de prop´sito general. 58 Es vital en las aplicaciones de tiempo real tener un planificador de eventos totalmente determinista.

JAVA Y EL TIEMPO REAL. o Manejo de memoria: Tanto las ventajas como los inconvenientes del sistema de recolecci´n de basura son conocidos. a o tanto que. Es un servicio de colocaci´n de recursos. Por defecto se proporciona la herencia de prioridades con una prioridad m´xima opcional. Usa el mecanismo de sucesos as´ o ıncronos . Adem´s. se a˜ade una excepci´n de interrupci´n as´ n o o ıncrona para especificar donde puede un m´todo recibir esta excepci´n. Estos objetos son entonces mapeados por controladores de eventos as´ ıncronos para que puedan ejecutarse siempre que ocurra un suceso. dos o m´todos simult´nmeos son usados para cubrir los inconvenientes : se e a introduce un nuevo r´gimen de memoria sin recolecci´n de basura y e o tambi´n se dispone de interfaces estandar para instalar recolectores de e basura de tiempo real. La creaci´n o de hilos es lenta. y los prograo madores de tiempo real evitan la colocaci´n de recursos cuando est´n o a interesados en el tiempo. Sincronizaci´n y reparto de recursos: La emulaci´n de m´xima prio o a oridad y los protocolos de herencia de prioridad son establecidos para obligar las inversiones de prioridad en los controles usados para implementar keywords sincronizadas. cada suceso es atendido por un hilo creado por ese suceso particular y planifica los atributos para cada suceso ayundando as´ al ı planificador. Estos controladores son ejecutados como hilos de tiempo real.CAP´ ITULO 3. o a un conjunto de de caracter´ ısticas y una API son definidas para soportar una variedad de otras pol´ ıticas y mecanismos de planificaci´n. First Output) se define como base de la politica de planificaci´n. El control de e o transferencia as´ ıncrono es un mecanismo que permite a un hilo lanzar una excepci´n en otro hilo. Por lo tanto. Es f´cil programar un sistema estructurado de conducci´n de eventos. o o Por tanto. o Terminaci´n de hilos: Se define un medio para permitir la termio naci´n ordenada de un hilo. 59 La planificaci´n y despacho de hilos: Un esquema fijo y previsor o con una prioridad de orden de entrada tipo FIFO(First Input. El tiempo desde que ocurre un suceso hasta que ´ste es e atendido es un overhead en la sensibilidad de tiempo real. a Manejo de eventos as´ ıncrono: Los objetos de sucesos as´ ıncronos son a˜adidos para representar eventos as´ n ıncronos que se espera que ocurran. Transferencia de control as´ ıncrona: La sem´ntica del m´todo de ina e terrupci´n (interrupt()) se expande permitiendo que ocurra en cualquier o lugar del c´digo en vez de s´lamente en ciertos bloques de llamadas.

and Zucotto Wireless. the RTSJ was just finalized in November 2001. 60 para ejecutar el m´todo interrupt() del hilo. scheduling. 3. The exception is aJile Systems – aJile participated in the RTSJ expert group and is currently working on an RTSJ implementation for its aJ-80 and aJ-100 chips. interruptible nonblocking I/O (input/output). but most are waiting to see market demand before committing to this new API. and timers. Whether RTSJ survives and where it will fit in with other Sun offerings remains to be seen. etc.CAP´ ITULO 3. o Acceso a la memoria f´ ısica: Se define un nueva ´rea de memoria a que puede ser mapeada en una direcci´n f´ o ısica fija. La naturaleza din´mica del entorno de ejecuci´n Java es una de las m´s a o a potentes dentro de los entornos de trabajo tradiccionales y el servidor mundial. NewMonics. RTSJ joins the ranks of aborted efforts such as EmbeddedJava. they see no compelling reason to immediately support the new RTSJ. o e The Real-Time Specification for Java (RTSJ) holds the distinction of being the first Java Specification Request (JSR 1) of the 171 submitted to the Java Community Process (JCP) so far. But order of submission doesn’t imply order of completion. Sin embargo el no determinismo introducido por la recolecci´n y elimio naci´n de basura.5. Although many companies offer real-time solutions for Java – aJile Systems. JAVA Y EL TIEMPO REAL. access to physical memory. esmertec. RTSJ includes such features as real-time threads. although many other specifications have passed through the JCP. Past experiences in this area suggest that Sun has a tough hill to climb to succeed with RTSJ. One of many Sun attempts to address embedded applications. Micro Edition). Sun is not providing a reference implementation of the specification – that task was delegated to TimeSys. asynchronous events. o o o . Esto permite la comunicaci´n directa entre hilos y perif´ricos en Java de tiempo real. and PicoJava as well as successful efforts such as J2ME (Java 2 Platform. for example – none of these vendors support RTSJ in their products. PersonalJava. la resolucci´n de las clases en tiempo de ejecucci´n. La nueva definici´n sem´ntie o a ca del hilo permite la correcta terminaci´n del hilo. La ”Real Time Specification for Java”. Since these companies already support some real-time capabilities. most embedded VM and hardware vendors seem to focus most of their efforts on J2ME and have no plans to immediately jump on the real-time Java bandwagon. Many are considering RTSJ support for the future (in the next 12-18 months).4. In fact.

Los hilos de Real-Time pueden crear objetos en estas a ´reas de memoria de la misma manera que en otras (con el operador ”new”). terminaci´n de hilos y acceso a la memoria f´ o ısica. o . incluyendo la ”InmortalMemory” y a a la ”ScopedMemory”. Como ejemplo de estas intensificaciones. transferencia de control as´ ıncrono. La RTSJ proporciona o intensificaciones para la especificaci´n del lenguaje Java y la especificaci´n o o de la JVM en siete ´reas clave: programaci´n y despacho de hilos (thread a o Scheduling and dispatching). Por eso. sincronizaci´n y reparto o de recursos. JAVA Y EL TIEMPO REAL. el acceso a los objetos no sufre de las pausas debidas al no determinismo por recolecci´n de basura.CAP´ ITULO 3. la RTSJ define nuevos tipos de ´rea de memoria separados a del ´rea de memoria din´mica de Java. pero desde que estos objetos no residen en el ´rea de memoria din´mica de a a Java. manejo de memoria. manejo de eventos as´ ıncronos. 61 es un verdadero problema para los desarrolladores de tiempo real. el grupo de expertos de Real-Time for Java (del que aJile es miembro) fue formado en Marzo de 1999 bajo el ”Java Community Process” para crear la especificaci´n de Java para tiempo real (RTSJ).

Cap´ ıtulo 4 Fundamentos del procesador ajile80 y JStamp 62 .

RAM. tiene una CPU. En programas grandes donde el c´digo Java es traducido v´ la m´quina virtual.. es el c´digo o o de bits producido por el compilador de Java en un archivo . Aparte de esto. y un bloque de entrada/salida. La mayor desventaja es el factor velocidad. Como la mayor´ de los computadores. a o a El c´digo de bytes es b´sicamente el lenguaje de 0´s y 1´s que constituye el o a unico nivel de comunicaci´n que entiende el hardware de una m´quina. Las ventajas son que incluye una m´quina y una plataforma independiente del computador en el que se use el a programa. ıa ROM.CAP´ ITULO 4. el c´digo a o Java ser´ interpretado por esa m´quina virtual y el programa se ejecutar´ sin a a a ning´n tipo de problema.1. ¿ Qu´ es JStamp ? e JStamp es un nuevo producto de Systronix.class. es un e computador. Esto significa que el c´digo Java es directamente interpretado por el procesador. en este o caso. o Este c´digo en lenguaje ensamblador es proporcionado al ensamblador que lo o transforma r´pidamente en c´digo de bytes y ser´ ejecutado por el hardware. cuando se tiene la a m´quina virtual espec´ a ıfica para la computadora que se est´ usando.2. FUNDAMENTOS DEL PROCESADOR AJILE80 Y JSTAMP63 4. u Para cualquier programa dado. La mayor diferencia es obviamente el a . en simples t´rminos. Pero esto no es pr´ctico porque o a entonces se necesitar´ distintas m´quinas virtuales para distintas aplicaıan a ciones. Este paso podr´ eliminarse si el procesador fuera capaz ıa de interpretar el c´digo Java directamente. la ca´ de velocio ıa a ıda dad es significativa. el microprocesador aj-80. que es traducido m´s tarde en c´digo binario por el programa JemBuilder y cargado a o en la placa JStamp usando otro programa llamado Charade. ´ o a El hecho de que exista un paso intermedio como es la m´quina virtual a tiene sus ventajas y sus inconvenientes. alimentaci´n. JStamp o es distinto que los dem´s computadores. Esto es lo que hace a Java una m´quina y plataforma independiente. o Java es un lenguaje que necesita ser interpretado por una m´quina virtual a local para poder ser ejecutado en un computador. 4. el compilador basicamente toma el programa escrito en lenguaje de alto nivel y lo traduce en c´digo ensamblador. En el JStamp. Introducci´n a Java. el c´digo de bits usado por el procesador ajile.. Por eso.

real Java. En JStamp. FUNDAMENTOS DEL PROCESADOR AJILE80 Y JSTAMP64 tama˜o (1 pulgada por 2 pulgadas). El aJ-80 se programa enteramente en Java. Este incluye: u dos UARTs. aunque se ejecuta en el nivel nativo.72MHz.Esto o o o a lleva al Slogan del JStamp. tres con- . No es necesario la existencia de memoria n extra para almacenar el interprete de Java. La potencia de uso del a a JStamp es proporcional a esta velocidad y la m´ ınima potencia que consuma depender´ de lo lento que se pueda programar los contadores. ni de generaci´n. Esto significa que en JStamp se ejecuta real Java (JStamp ejecuta el c´digo byte de Java).CAP´ ITULO 4. o ıas El aJ-80 tiene un n´mero de entradas/salidas configurables. tan lento como 7. ni de ejecuci´n o cualquier tiempo o o o de traducci´n del c´digo Java en c´digo ensamblador de la m´quina. No existe o tiempo de compilaci´n. El c´digo de la m´quina virtual de Java o a estandar es el conjunto de instrucciones nativo. Este no debe ser confundido con los sistemas que obligan a programar en Java. la m´xima velocidad del reloj interno ser´ de 73. un controlador de interfaces perifericas en serie (SPI). real small. El hecho de que Java sea el nivel nativo hace que JStamp sea muy r´pido. Figura 4. esto es una a caracter´ ıstica a tener en cuenta frente a la duraci´n de las bater´ usadas. pero quizas su diferencia m´s significativa n a es que se programa enteramente en Java. El aJ-80 puede trabajar a una frecuencia m´xima de operaci´n de 80MHz. Java es el nivel nativo. o La CPU del JStamp es el procesador aJ-80 de aJile Systems. Es posible configurar el JStamp a o para funcionar a distintas velocidades del reloj.372MHz.1: El M´dulo del JStamp. Esto o permite al JStamp ser muy peque˜o. Debido a a a o que el material usado en el JStamp tiene una frecuencia de 7. que dice: JStamp is real fast. a no existe una capa interprete entre el c´digo Java escrito y el procesador.3728MHz o tan r´pido como la m´xima frecuencia de operaci´n (80MHz).

Esta memoria extra es la unica diferencia entre el JStamp y el JStamp´ Plus. Debido a esto. El JStamp tiene 512 Kbytes de memoria ROM flash. Normalmente se carga el programa en la memoria ROM flash. los programas no tienen que ser cargados en la o RAM excepto durante los procesos de desarrollo. Otra versi´n del o JStamp. Tambi´n e se usa para almacenar ficheros del sistema local. Es r´pido y potente proporcionando la habilidad de depurar el programa a mientras se ejecuta en un circuito.CAP´ ITULO 4. contiene 2MB de memoria ROM flash. o tadores de 16 bits muy vers´tiles. FUNDAMENTOS DEL PROCESADOR AJILE80 Y JSTAMP65 Figura 4. El aJ-80 hace del JStamp su propio due˜o n en un circuito emulador.2: La estaci´n de desarrollo JStamp. la variante llamada JStamp-Plus. El JStamp tiene 512 Kbytes de memoria RAM est´tica. La fuente de alimentaci´n y el JStamp son un regulador de tensi´n camo o . y puertos de entrada/salida de prop´sito a o general. Esta RAM no a tiene bater´ propia y su contenido se pierde cada vez que se retira la aliıa mentaci´n. El aJ-80 tambi´n incluye una interfaz de texto estandar conocido como la e interfaz JTAG. Esta es usada para cargar y depurar programas en el JStamp.

aunque por defecto se comporte como un indicador de alimentaci´n. El regulador de tensi´n cambiante genera 3. o biante.3: Esquema de la estaci´n de desarrollo JStamp. El m´dulo JStamp tiene tambi´n un LED. se puede controlar este LED via software. Estos pines de entrada/salida son conectados con las patillas de entrada/salida del aJ-80. o JStamp es un procesador con una caracter´ ıstica distintiva: Java es el nivel nativo.CAP´ ITULO 4. En la primera versi´n o e o del JStamp. o Casi todos los 40 pines del JStamp pueden ser usados como entrada/salida. La alimentaci´n del JStamp puede variar entre 5 y 14 voltios de o cont´ ınua. Esto significa que no existe un interprete entre el c´digo Java escrito o .3 voltios de tensi´n continua para ser usados por el circuito de salida.3 voltios para el ciro cuito de la placa de desarrollo y proporciona 100 miliamperios de 3. FUNDAMENTOS DEL PROCESADOR AJILE80 Y JSTAMP66 Figura 4. este LED era solamente un indicador de alimentaci´n. En las o versiones posteriores.

Para ello se necesitan dos herramientas que son proporcionadas por aJile: JEMBuilder y Charade. Cada aplicaci´n se ejecuta de manera determin´ o ıstica . El JStamp se puede configurar como se o desee mediante esta herramienta. Esto es lo que hace el JEMBuilder. e Para cargar los programas previamente escritos usando Java en otro computador o estaci´n de trabajo. Software de desarrollo necesario para el JStamp. Aunque el JEMBuilder se usa tambi´n para configurar varias opciones e del hardware dentro del aJ-80. 4. es su principal tarea. FUNDAMENTOS DEL PROCESADOR AJILE80 Y JSTAMP67 para ´l y el silicio. El desarrollo software para el JStamp implica escribir programas en Java.3. deben por lo tanto. Los programas cargados en los procesadores aJile. en su propio hilo de ejecuci´n y con sus propios ”event handlers”. 4. o JStamp puede ejecutar m´s de tres millones de bytes de c´digo Java por a o segundo a 74MHZ. tener todas sus clases linkadas previamente antes de ser ejecutados. y por tanto en a el JStamp. Adem´s puede funcionar durante 24 horas con una bater´ a ıa de 9V. Estas dos son unas herramientas muy sofisticadas que est´n en cont´ a ınuo proceso de integraci´n y o mejora. Lo que se obtiene del JEMBuilder es un . e El aJ-80 soporta la ejecuci´n de m´ltiples aplicaciones a trav´s de ”m´ltio u e u ples JVM´s”. Al contrario que con la mayor´ de PC´s y estaciones de desarrollo. JEMBuilder Las librer´ de los procesadores aJile no soportan la carga y linkado ıas din´micos. el proceso a seguir es el mismo que se sigue con cualquier computador que use un procesador aJile. Puesto que el JStamp usa como microprocesador el aJ80.3. Esto implica la necesidad de otro u e computador para escribir los programas en Java y posteriormente cargarlos en ´l. el JStamp ıa no tiene teclado ni ning´n otro perif´rico. como la de donde se carga el programa y c´mo se va a reiniciar el sistema. en el JStamp hay que seguir un proceso que o consta de dos pasos.1.CAP´ ITULO 4.

El procesador aJ-80. o ıa o desde el ´rea de trabajo a aparatos remotos y m´biles. monitorenter. basada en tecnolog´ Java. FUNDAMENTOS DEL PROCESADOR AJILE80 Y JSTAMP68 fichero binario apropiado para ser cargado en el JStamp. 4. e incorporando las o primitivas de threads de Java.2. monitorexit. A este cable se le llama. 4.4. las primiıa o a tivas de threads de Java (como: wait. Al contrario que los microprocesadores tradicionales que deben consumir potencia de computaci´n para convertir el c´digo de instrucciones Java en o o el lenguaje nativo del procesador. ´ .) son implementadas como extensi´n del c´digo del aJ-80. cable JTAG.1. o o a Charade se comunica con el sistema aJile mediante un cable especial conectado entre un puerto paralelo del sistema que se est´ usando para el desarrollo e del programa y el puerto JTAG del JStamp. Charade La herramienta Charade es usada para transferir el fichero binario generado por el JEMBuilder al JStamp. Introducci´n. Usando el c´digo Java como conjunto nativo de instrucciones. el aJ-80 requiere menos memoria y menos tiempo de ejecuci´n en computaci´n que un microprocesador convencional o o que ejecute una aplicaci´n en c´digo Java. yield.CAP´ ITULO 4. 4. varios otros ficheros utiles para la depuraci´n y el gui´n que debe seguir el Charade para cargar ´ o o el fichero en el JStamp. o o Esto muestra la ilimitada extensi´n de la tecnolog´ Java en computaci´n. Adem´s. la l´ ınea de procesadores aJile. lo que puede ser eficientemente actualizado y realizado su mantenimiento desde una unica fuente. o El aJ-80 es un procesador de bajo consumo basado en tecnolog´ Java. opera directamente desde el c´digo Java. ıa Ha sido dise˜ado especialmente para portar c´digo Java para aplicaciones en n o el mercado de sistemas empotrados. Tambi´n es usada para una depuraci´n e o simb´lica y a muy bajo nivel del c´digo que se est´ ejecutando en el JStamp. notify.3. ejecut´ndose en todos a o a ellos las mismas aplicaciones. etc. eliminando la o o necesidad de un sistema tradicional que opere en tiempo real (RTOS).4.

el suministro de alimentaci´n y otro o circuiter´ adiccional confinado en un peque˜o espacio (JStamp) y f´cil de ıa n a usar. Ha sido desarrollado por Systronix e integra un procesador aJ-80 con 512 Kbytes de memoria SRAM externa y 512 Kbytes de memoria Flash externa en una placa m´ ınima de 1 × 2 pulgadas. con un n bajo consumo y ejecuta Java como conjunto de instrucciones nativo.4.2. los procesadores basados en Java. aumentan el rango de aplicaci´n de Java para dise˜os empotrados. proporciona a los dise˜adores de sistemas un procesador de 32 bits a un bajo coste. presentan como atractivo especial una m´quina de procesamiento Java de 32 bits que implementa una ”Java a Virtual Machine”de tiempo real. el JStamp. aJile Systems fue formado para satisfacer la necesidad del desarrollo de aplicaciones orientadas a objetos para sistemas empotrados de tiempo real de bajo consumo.CAP´ ITULO 4. PDA´s. El aj-80. El procesador tambi´n integra 48 Kbytes e de memoria RAM on-chip. es decir. En resumen... El aJ-80 ha sido incorporado dentro de un m´dulo de tecnolog´ Java o ıa en tiempo real. al igual que su hermano el aJ-100. o Los procesadores aJile basados en tecnolog´ Java soportan la versi´n ıa o actual de ”‘Real -Time Specification for Java (JSR-001)”desarrollada por la ”Java Community Process”. junto con la SRAM y memoria Flash . La arquitectura Java para sistemas Java empotrados de tiempo real eficientes. o n 4. tres timer/counters de 16 bits y veintidos entradas/salidas de prop´sito general. Esto. FUNDAMENTOS DEL PROCESADOR AJILE80 Y JSTAMP69 El aJ-80 hace posible una de las primeras metas del tiempo real 100 %. Esta soluci´n aumenta las oportunidades para los desarrolladores de software para o disfrutar de las ventajas del entorno Java y hace posible que las aplicaciones de tiempo real basadas en tecnolog´ Java se ejecuten en gran cantidad de ıa productos de bajo coste y bajo consumo como: tel´fonos m´biles. e o juegos. o . sin necesidad de interprete. el aJ-80 es un procesador revolucionario. y un controlador de memoria. La arquitectura Java de aJile fue dise˜ada con un enfoque n hacia sistemas empotrados y de este modo maximizar la cantidad de datos de ejecucci´n que puedan estar en la memoria ROM y eliminar la modificaci´n o o de la corriente de instrucciones de ejecuci´n (quickizing). dual UARTs.

4. a La arquitectura aJile tambi´n define un conjunto de instrucciones extendido e por la intrefaz hardware f´ ısica y otras tareas de programaci´n de sistemas. producciendo el cambio extremadamente r´pido entre hilos. 16 y 32 bits y proporciona una inerfaz de test estandar IEEE 1149.4: aJ-80. The JEM2 direct execution Java microprocesor core. JEM2 soporta buses de datos externos de 8. o Esta extensi´n de instrucciones no est´ disponible para el c´digo bajado o a o din´micamente y que es poco fiable. La CPU de aJile soporta directamente el modelo de hilos de Java en su hardware. Con el JEM2. los desarrolladores de sistemas empotrados y de tiempo real pueden .1 (JTAG). Su dise˜o como n pacto y su bajo consumo le hacen muy conveniente como microcontrolador en ´reas de aplicaci´n tales como las telecomunicaciones. automatismos y a o veh´ ıculos industriales.3. a 4. FUNDAMENTOS DEL PROCESADOR AJILE80 Y JSTAMP70 Figura 4.CAP´ ITULO 4. El aJile System JEM2 es un microprocesador de bajo consumo(1MW/MHz) de segunda generaci´n que se ejecuta directamente en Java.

Obviamente. o usar el lenguaje orientado a objetos Java. para crear aplicaciones que sean tan eficientes en espacio y tiempo como si estuvieran escritas en lenguaje C para otras plataformas microcontroladoras. FUNDAMENTOS DEL PROCESADOR AJILE80 Y JSTAMP71 Figura 4. la ejecuci´n o o de c´digo como invokevirtual es hecha como una unica instrucci´n JEM. La arquitectura del J2ME es la mostrada en la figura 4. el JEM2 es 20 veces m´s eficiente desde el punto de a a vista del consumo por unidad de ejecuci´n Java que otras implementaciones o empotradas Java. con sus probadas ventajas en productividad. Los unicos dos c´digos que atrapan inmediatamente al software ´ o son multianewarray y athrow. Adem´s.5: Asignaci´n de pines en el aJ-80. pero se ha obtenido una soluci´n. operaciones como carga de clases son manejadas en software.6: El JEM2 core implementa todo el conjunto de instrucciones de la JVM en el silicio.CAP´ ITULO 4. o ´ o incluyendo la detecci´n de bloqueos. o .

6: La arquitectura del J2ME core. El uso de control concurrente est´ profundamente arraigado en la especificaci´n de la m´quina virtual Java a o a (JVM).Thread es una sola instrucci´n.CAP´ ITULO 4. Con esto obtenemos varios beneficios.4.Esto significa.lang. FUNDAMENTOS DEL PROCESADOR AJILE80 Y JSTAMP72 Figura 4. el primero. De este modo. Una de las caracter´ ısticas especiales de la arquitectura aJile es el soporte hardware para hilos Java en tiempo real. Soporte hardware para hilos de Java en tiempo real. 4. la CPU del ajile implementa las rutinas de sincronizaci´n y programaci´n b´sicas de los hilos en el microc´dio o a o go. que la primitiva yield() de la java. por ejemplo. o . Las operaciones elementales como la llamada a los m´todos de las e instrucciones requiere la adquisici´n de un bloqueo si el m´todo del objeto es o e declarado como synchronized.4.

e o Con este adelanto. . de este modo es m´s sencillo el mantenimiento y comprobaci´n. Adicionalmente. La especificaci´n de la m´quina virtual de Java incluye varias instruco a ciones para el manejo de memoria.CAP´ ITULO 4. u a el tiempo requerido para ejecutar un yield() y reanudar un hilo diferente es aproximadamente de 500 nanosegundos en una CPU de aJile de 100MHz. implementa instrucciones de localizaci´n de memoria o e implementa un recolector de basura muy simple en su software. el hardware de aJile soporta la consulta peri´dica de hilos o y tambi´n implemente la inversi´n de prioridades para el control de estos. incluye los sustitutos para la mayor´ de los m´todos nativos del sistema de ejecuci´n ıa e o Java. Sin embargo. Adem´s el uso de a hilos m´ltiples es extremadamente r´pido en la CPU del aJile. FUNDAMENTOS DEL PROCESADOR AJILE80 Y JSTAMP73 que la CPU del aJile no requiere el kernel de un sistema operativo de tiempo real (RTOS).4. El resultado es que todo el c´digo ejecutable est´ eso o a crito en Java. lo que implica un ahorro de memoria. Por a a tanto. adem´s el reclamo de memoria es autom´tico.5.4. e o 4. Esto se puede hacer gracias a la herramienta de generaci´n de aplio caciones JEMBuilder.6. dura menos de a un microsegundo para el aj-100 a 100MHz. Una caracter´ ıstica especial unica del entorno de ejecucci´n de aJile es ´ o que este procesador es programado enteramente en lenguaje Java. que proporciona la sustituci´n de ciertas llamadas a o m´todos con c´digo aJile. El recolector de basura es implementado como un hilo y usa la sincronizaci´n de Java para asegurarse que lo que recoge para eliminar no proo duce errores. el entorno aJile. El hilo del recolector de basura es muy r´pido. Un entorno de ejecuci´n Java escrito enterao mente en Java. a o 4. no es necesario el uso de un ensamblador. el entorno de desarrollo Java no tiene la primitiva free. Manejo de memoria. y los desarrolladores pueden crear implementaciones Java con las clases del aJile en un entorno de simulaci´n. Por ejemplo.

4. el hecho de o que el usuario defina las instrucciones a seguir se puede hacer gracias al JEMBuilder llamando a la sustituci´n de m´todos est´ticos. el controlador devuelve el control al programa. que se ejecutan en una pila ejecutora o supervisora. Por eso. los arquitectos del aJile han proporo a cionado una implementaci´n propia. si las interrupci´nes se habilitan en el c´digo puesto que por o o defecto est´n deshabilitadas. No se requieren o e a cambios en el compilador para esto. e Como se puede esperar. El poder de las instrucciones personalizadas se refleja o en el cambio de instrucciones de hilos del J2ME. Por ejemplo: el resultado de una instrucci´n yield() en el paso de un hilo a otro es de un microsegundo o mientras que en un RTOS tradicional escrito en lenguaje de alto nivel puede tomar varios milisegundos.7. 4.4. y que estos a m´todos son los controladores de los distintos bloqueos e interrupciones. 4.8.CAP´ ITULO 4. En relacci´n con el tema de escribir o o todo el c´digo software en Java. los controladores de m´scara de las interrupciones a pueden ser apropiados de antemano por la ocurrencia de otra interrupci´n de o prioridad mayor. o La CPU del aJile permite generalmente escribir el control de almacenamiento de datos. Las nuevas instrucciones pueden o aumentar la rapidez de actuaci´n de los algoritmos usados m´s frecuenteo a mente en esa aplicaci´n. las interrupciones y bloqueos son manejados o por m´todos est´ticos. Varias m´quinas virtuales de Java concurrentes. Personalizaci´n del conjunto de instrucciones.9. Como con otros c´digos extendidos. Manejo de interrupciones y bloqueo. Cuando un controlador de prioridad m´s alta a a es invocado. una nueva pila se ejecuta. Cuando haya acabado.4. FUNDAMENTOS DEL PROCESADOR AJILE80 Y JSTAMP74 4. permitiendo as´ crear un conjunto de instrucciones perı sonalizado para cada aplicaci´n particular. La naturaleza virtual de la especificaci´n de la JVM implica que los o mecanismos de bajo nivel como son las interrupciones y el bloqueo de la ejecuci´n est´n especificados. a La arquitectura del aJile proporciona un soporte hardware para la ejecuci´n simult´nea de varias m´quinas virtuales independientes en una aplio a a . e a El modo ejecutor del procesador puede ser pensado como un solo hilo de m´xima prioridad que tiene su propia pila y zona de memoria.

8: Esto permite a los desarrolladores disfrutar de las ventajas y beneficios del entorno Java en un paquete muy compacto y de bajo consumo con el .11. Las caracter´ ısticas especiales de las multiples JVM del aJ-80 permiten llevar a cabo dos aplicaciones Java independientes que se ejecutan de una programaci´n y reparto de tiempo totalmente determinado y con protecci´n o o de la memoria. Adicionalmente. cada m´quina virtual a tiene su propio modo de ejecutarse. Multiple JVM Manager (MJM).4. El MJM es el representado en la figura 4. El aJ-80 de aJile Systems es un microcontrolador de Java para sistemas empotrados de tiempo real basado en el JEM2 core que integra el c´digo de o ejecuci´n de la m´quina virtual de Java. cada entorno de aplicaci´n puede desarrollar o sus propias reglas de atenci´n a hilos y manejo de memoria sin que esto pero judique al resto de las aplicaciones. las primitivas de hilos para tiempo o a real de Java.10. o El controlador de multiples JVM (MJM) proporciona recursos de tiempo e interrupciones l´gicas para asegurar que otras JVM que se est´n ejecutando o e en ese momento no interfieran en las aplicaciones que est´ realizando una e JVM determinada. cada entorno JVM puede emplear sus propia pol´ ıtica de manejo de hilos m´ltiples y utilizaci´n u o de memoria sin la intervenci´n erronea de otras aplicaciones o hilos. e 4. e La arquitectura del chip aJ-80 es la mostrada en la figura 4. aJ-80: Un microcontrolador de Java para sistemas empotrados de tiempo real. y el soporte necesario para el uso de varias JVM. El controlador de JVM proporciona un contador para controlar la porci´n de tiempo que le corresponde a cada JVM. Dentro de su espacio de memoria limitado.4. esto permite a la JVM asignar sus propias interrupciones que no se atenderan mientras que la JVM est´ suspendida. Dentro de estos intervalos de ejecuci´n seo o guros y espacio de memoria.7: 4. FUNDAMENTOS DEL PROCESADOR AJILE80 Y JSTAMP75 caci´n programando el reparto de tiempo de la memoria determinista con o protecci´n total de la memoria. junto con perif´ricos comunes de los sistemas empotrados. Tambi´n o e se tiene un contador individual para cada JVM (en total hay cuatro) para controlar los hilos dentro de esa JVM.CAP´ ITULO 4.

cumplimiento del procesamiento necesario para los sistemas empotrados. Proporcionando un ”System on-chip”. Para minimizar la carga del bus y el consumo . y controladores de los displays LCD.7: Multiple JVM Manager (MJM). El aJ-80 usa una arquitectura de bus dual: el bus del procesador y el bus de los per´ ıfericos. es e id´nea para peque˜os aparatos m´biles. memoria a FLASH.9. memoria on-chip y un conjunto de perif´ricos. aparatos de consumo. incluyendo los drivers necesarios para todos los perif´ricos del aJ-80 e y los drivers externos m´s comunes como por ejemplo: Ethernet. Esto viene acompa˜ado del paquete de ejecuci´n J2ME n o CLDC. el aJ-80 permite a los desarrolladores proporcionar f´cilmente la funcionalidad de los sistemas empotrados a Java a sus productos. FUNDAMENTOS DEL PROCESADOR AJILE80 Y JSTAMP76 Figura 4. aplicaciones o n o automotrices y controladores industriales de red. esta plataforma microcontroladora de Java en tiempo real.CAP´ ITULO 4. Con un ”Java core” de bajo consumo de 32 bits. La arquitectura del system-on chip(SOC) del aJ-80 es la mostrada en la figura 4.

o La interfaz externa de Bus (EBI). asociado. datos.CAP´ ITULO 4. se˜ales de control para conectar directamente con o n la mayor´ de perif´ricos. FUNDAMENTOS DEL PROCESADOR AJILE80 Y JSTAMP77 Figura 4. el bus del procesador es limitado a aquellos perif´ricos que requieren e un ancho de banda elevado (CPU.8: Bloque de control del aJ-80. La EBI proporciona 8 selectores de . La interfaz externa de bus (EBI) genera las se˜ales de control de acceso n a la memoria externa y los perif´ricos. Adem´s se puede extender este espacio de a memoria mediante l´ ıneas de direcciones. La interfaz externa del bus e genera la direcci´n. El bus de los perif´ricos proporciona acceso a los p´rif´ricos on-chip y es aislado del bus e e e del procesador gracias al puente de perif´ricos. El aJ-80 proporciona 48 Kbytes de memoria interna que no tiene la necesidad de esperar. memoria. extensiones de c´digo e instrucciones personalizadas. Los 32 Kbytes de RAM son normalmente usados para almacenar la pila de procesamiento del JEM2. Los 16 Kbytes restantes son usados para implementar el kernel de Real-Time. interfaz externa). se carga directamente. La EBI puede acceder directamente a e 256 Mbytes de memoria externa. ıa e Memoria interna.

CAP´ ITULO 4. Las se˜ales de control de memoria son proporcionadas n para habilitar conexiones directas con la memoria externa y la memoria mapeada de los perif´ricos de entrada/salida. La EBI puede ser configurada para soportar perif´ricos de 8. 16 y hasta e 32 bits de memoria. El aJ-80 proporciona una interfaz flexible y segura para interactuar con la memoria externa y los perif´ricos. FUNDAMENTOS DEL PROCESADOR AJILE80 Y JSTAMP78 Figura 4. El aJ-80 proporciona las operae . chip.9: Arquitectura del aJ-80. Las transacciones son controladas e con el generador de estados de espera con una se˜al externa de espera pron porcionada para facilitar el acceso a los perif´ricos lentos.10: Bus Interface Timeing. La EBI se muestra e en la figura 4.

10: External Bus interface. Cae da salida del selector de chip tiene asociada un registro de configuraci´n o para especificar el tiempo de establecimiento. el tiempo de trabajo. La transferencia de e datos fundamental es la mostrada en la figura 4. La interfaz de bus del aJ-80 permite que las transacciones puedan ser prolongadas gracias a la se˜al externa de espera de transaciones n (WAITn). e . Los registros de configuraci´n son cargados como parte del proceso de inicializaci´n del reset.CAP´ ITULO 4.12 se muestra la WAITn: Acceso a perif´ricos con interfaces ISA. ciones de tiempo necesarias para acceder a los perif´ricos externos. En la e figura 4. FUNDAMENTOS DEL PROCESADOR AJILE80 Y JSTAMP79 Figura 4. los estados de espera y el ancho de memoria.11 : Tiempos de transferencia extendidos. o o Una se˜al de espera externa se proporciona para extender la transfen rencia externa a perif´ricos lentos o buses globales. Los ciclos prolongados son utiles para acceder a recursos ´ que tienen tiempos de respuesta variables o perif´ricos lentos.

Las caracteristicas principales de los timer/counters de proposito general son: Tres contadores de 16 bits. Las funciones de los timer/counters incluyen medida de frecuencia. medida de intervalo. contabilizar retrasos.12. Los timers pueden ser empleados como un o intervalo o como un contador c´ ıclico. o Un generador flexible de interrupciones. control de disparo y de puerta. donde 0≤ PRL≤ 65535. Timer/Counter (TC).CAP´ ITULO 4. Dos moduladores de ancho de pulso y dos m´dulos wave-form.15. Encadenamiento de los tres contadores para conseguir un rango m´s a amplio de resoluciones. El aJ-80 incluye tres timer/counters 16 bits (TC) que pueden realizar un rango amplio de funciones.4.5. Acerca de Systronix Inc. El prescaler divide el reloj de entrada seleccionado por PRL+1. la entrada del reloj interno y el reloj externo (TCLK0). Reloj externo. y modulacion de anchura de pulso. 4. FUNDAMENTOS DEL PROCESADOR AJILE80 Y JSTAMP80 Muchos perif´ricos tienen interfaces que soportan mediante un bus ISA. Se pueden usar como fuentes para el TC dos fuentes de reloj .13: 4. El timer/counter Programable (TC) comprende un prescaler de 16-bits y tres timer/counters muy vers´tiles de 16 bits como se puede ver en la figura a 4. e Para soportar perif´ricos con este tipo de interfaz el aJ-80 habilita el e CS4n y CS5n para operar como se˜ales MEMRN y MEMWN (o IORN n y IOWN). contador de eventos. y proporciona la habilitaci´n usada por los timers. Systronics es una empresa que lleva algo m´s de 15 a˜os creando sistemas a n de control de tiempo real empotrados de peque˜o tama˜o para mercados tan n n . Un preescalador de 16 bits. Un acceso a un perif´rico mrdiante un Bus ISA se ilustra en e la figura 4.

Est´ desarrollando un ıa a numeroso grupo de productos sobre los controladores de tiempo real aJ-80 y aJ-100.CAP´ ITULO 4. Durante los ultimos a˜os ha estado metida de lleno en la industria emergente ´ n de los sistemas empotrados que usan tecnolog´ Java. . FUNDAMENTOS DEL PROCESADOR AJILE80 Y JSTAMP81 distintos como reproductores DNA o equipos de test para vuelos militares.

FUNDAMENTOS DEL PROCESADOR AJILE80 Y JSTAMP82 Figura 4.11: Transferencia de datos (lectura y escritura) .CAP´ ITULO 4.

FUNDAMENTOS DEL PROCESADOR AJILE80 Y JSTAMP83 Figura 4.12: Extended Bus Transaction (WAITn). .CAP´ ITULO 4.

FUNDAMENTOS DEL PROCESADOR AJILE80 Y JSTAMP84 Figura 4.CAP´ ITULO 4. .13: ISA-Oriented Peripheral Accesses.

14: ISA-Oriented Peripheral Accesses2.CAP´ ITULO 4. FUNDAMENTOS DEL PROCESADOR AJILE80 Y JSTAMP85 Figura 4. .

CAP´ ITULO 4. . FUNDAMENTOS DEL PROCESADOR AJILE80 Y JSTAMP86 Figura 4.15: Diagrama de bloques del Timer / Counter.

Parte IV Dise˜ o. n

87

Cap´ ıtulo 5 Dise˜ o. n

88

˜ CAP´ ITULO 5. DISENO.

89

5.1.

Requisitos.

Implantaci´n de los sensores de ultrasonidos de BOSCH facilitados en o un sistema aut´nomo de tiempo real. o Usar como procesador para gesti´n de la informaci´n proporcionada o o por los ultrasonidos el aJ-80 de Systronix, y la estaci´n de desarrollo o JStamp.

5.2.

Descripci´n de la tecnolog´ usada. o ıa

El ultrasonidos usado es de control manual, es decir, se debe generar externamente el pulso de transmisi´n y medir el tiempo que tarda en recibirse o la se˜al de eco. El pulso de disparo se genera mediante un programa escrito n en Java y ejecutado por el JStamp, dicho pulso debe tener una duracci´n o m´ ınima de 300µs como puede verse en la figura 5.1. Una vez introduccido

Figura 5.1: Pulso de disparo el pulso de disparo en el sensor y tras unos microsegundos, se produce la r´faga ultras´nica, es decir, las se˜ales ultras´nicas que emite el sensor para a o n o detectar si hay o no obst´culos. a Tras unos microsegundos que tarda el sensor en estabilizar su membrana,

˜ CAP´ ITULO 5. DISENO.

90

empieza a funcionar como receptor esperando el eco produccido al chocar la r´faga ultras´nica en un objeto. a o Se disparar´ el ultrasonido de nuevo despu´s de un tiempo de rearme a e necesario para que se estabilice de nuevo la membrana. Debido a que este sensor tiene un unico m´dulo que funciona como emisor y receptor, el tiempo ´ o de rearme es mayor.

Figura 5.2: Salida del sensor.

5.3.

Conexionado.

El conector hembra de USS 3.X es el mostrado en la figura 5.3 El pin 1 es el pin de entrada y salida del ultrasonido, por lo que para conectarlo al JStamp, habra que hacer una construcci´n auxiliar con un diodo o en la entrada. El diodo empleado es el 1N4148. El pin 2 es el pin que se conecta a tierra. El pin 3 es la salida anal´gica. o El pin 4 es el pin que se conecta a la alimentaci´n, a una fuente de tensi´n o o de 8V de cont´ ınua. De este modo la conexi´n queda como se puede ver en la figura 5.4. o

˜ CAP´ ITULO 5. DISENO.

91

Figura 5.3: Conector Hembra de USS 3.X

5.3.1.

Conexiones en el JStamp.

El puerto IOE3 se usa como salida del pulso de disparo que se genera mediante un programa Java. Por tanto se unir´ con en pin 1 del a conector hembra del ultrasonidos 3.X mediante un cable y usando un diodo 1N4148 como se mostr´ en la figura 5.4. Adem´s es necesario o a un peque˜o circuito auxiliar puesto que el JStamp proporciona unas n salidas de 3,3V y para el disparo del sensor son necesarios 8V. El puerto IOE4 se usa como entrada de la se˜al de eco que recibe n el ultrasonidos. Por tanto se unir´ con el pin 1 del conector hembra a mediante un cable.

5.3.2.

Circuito auxiliar.

Para poder conectar la salida del JStamp que produce el pulso de disparo (El puerto IOE3 con la entrada del sensor de ultrasonidos, es necesario adaptar la tensi´n puesto que el JStamp produce salidas de 3,3V y el ultrasonidos o necesita 8V. Para ello, se dispone de un regulador de tensi´n MC7808C, que o proporciona una salida de 8V y 1A. Dicho regulador necesita dos condensadores para su conexi´n en el circuito o como se muestra en la figura 5.6.

la elecci´n se o o limita a bater´ recargables como fuente de potencia. o La alimentaci´n usada para el JStamp y por tanto para los sensores o ser´ distinta de la usada para el servo puesto que ´ste introduce ruidos en la a e alimentaci´n y requiere grandes picos de corriente intermitentes que podr´ o ıan afectar a los componentes electr´nicos. DISENO.3.4: Conexiones en el ultrasonidos. Son unas pilas cil´ ıas ındricas con terminales de soldadura en la parte superior e inferior para su montaje en lotes.˜ CAP´ ITULO 5. Alimentaci´n. Por tanto se van a usar ıas bater´ recargables de Ni-Cd de alta capacidad. 5. .3. o Puesto que estamos hablando de un sistema aut´nomo. 92 Figura 5.

Adem´s soportan altas corrientes de descarga continuas y a presentan baja resistencia interna.˜ CAP´ ITULO 5. . DISENO. Estas pilas proporcionan altas capacidades para tiempos de descarga ampliados y tienen la capacidad de realizar m´s de 700 ciclos completos de a carga/descarga.5: Pines del JStamp. 93 Figura 5.

94 Figura 5.6: Regulador de tensi´n MC7808C. que se configura con una entrada (line A) y una salida (line B) para que corra libremente. 5. se recargue autom´ticamente. n En este programa el timer1 realiza una acci´n cada 33ms (aproximadao mente). tendremos que determinar el valor de la granularidad . o 5. DISENO. Wafer. o Hay que establecer la granularidad del contador. JStamp. a La salida es la encargada de disparar el ultrasonidos y la entrada espera la se˜al de eco del ultrasonidos. Generaci´n del pulso de disparo.˜ CAP´ ITULO 5. el timer1. o Se ha realizado un paquete compuesto de 12 pilas en serie lo que proporciona 15V de tensi´n. se usa un convertidor de tensi´n CC/CC de 30W.1.4. con o salida triple de +12V /-12V /+5V. Para transformar la potencia de las bater´ en o ıas tensiones utilizables. Programaci´n. Estas tres salidas fueron llevadas a una placa de conexi´n con conectores para: ESC. esto permite al JStamp guardar el resultado sin prisas ni problemas. como se precisa un pulso de disparo de 300µs.4. Servo. o Tanto para generar el pulso de disparo como para medir el eco de respuesta se usa un contador.

se tiene una frecuencia de 36. introducir´ un valor de 11060.2. Una vez se ha enviado el pulso de disparo y tras unos microsegundos. 95 Figura 5.˜ CAP´ ITULO 5. Como se quiere una granularidad de 300 µs se deber´ introducir en el prescaler un valor de a 11059.127 ns.4.1.864 MHz. Lectura del eco de respuesta. 5. He escogido el reloj interno. es decir. cuya frecuencia para el JStamp es de 73. proporciona una granularidad de 27. DISENO.7: Circuito del regulador de tensi´n. e Establecida la granularidad se crea un pulso de diparo como el mostrado en la figura 5. Como el Internal peripheral Clock (este es el reloj escogido como fuente del prescaler) tiene una frecuencia igual a la mitad de la del reloj fuente. el sensor funciona como receptor esperando una se˜al de eco.728 MHz. o en funci´n de este valor. Para que esto sea n . El reloj interno del procesador. este valor divide la frecuencia del reloj tomado como fuente dandonos as´ la granularidad.127 ns.2. por lo tanto. El prescaler del aJ-80 puede tomar cualquier valor o comprendido entre 2 y 65535. que proporciona un periodo de 27. Las fuentes posibles para el reloj ı del contador son dos: Una fuente externa.

˜ CAP´ ITULO 5. Por eso no se vuelve a disparar el ultrasonidos hasta que no ha pasado un tiempo suficiente (33ms en este caso). Esta rutina recupera el valor almacenado en el Sample o Value Register y el n´mero de veces que se ha recargado el contador para u as´ poder sacar el tiempo de vuelo con operaciones (de esto se encarga el ı programa principal). se calcula la distancia a la que se encuentra el objeto con la siguiente f´rmula: o distancia = (340 ∗ tiempodevuelo) siendo 340 la mitad de la velocidad del sonido en el aire en cm/sg . La interrupci´n que se habilita es la del puerto IOE4. pero esto a no es ning´n problema siempre y cuando no se vuelva a disparar el u sensor hasta que se haya obtenido este valor. n En el momento que llega la se˜al de eco ocurren dos cosas: n Se almacena el valor que tiene el timer en ese momento en un registro del procesador (en el Sample Value Register ). (5.3. se hace de manera o autom´tica. Calculo de la distancia.1) . obteniendo as´ el tiempo de vuelo de la se˜al. por lo que ocurre instant´neamente. DISENO. el resultado de esta operraci´n se suma al resultante ıa e o de multiplicar el valor de recarga del contador por el n´mero de veces que se u ha recargado. 5. Se dispara un evento programado para que se pueda leer ese valor almacenado en el registro. no es instant´neo. Para que se realice esta acci´n no es necesario incluir ninguna l´ o ınea de c´digo. 96 posible se habilitan las interrupciones para que el sensor est´ a la escucha y e en el momento que llegue una se˜al se interrumpa el timer. La distancia a la que se encuentra el obst´culo del robot se calcula a partir a de los datos obtenidos en la rutina de interrupci´n (el valor del contador en o ese momento y el n´mero de veces que se hab´ recargado) con un sencillo u ıa c´lculo consistente en restar el valor obtenido del contador al valor con el que a se hab´ recargado ´ste. de manera que o cuando se reciba por ´l un flanco de bajada se ejecute la rutina de la intee rrupci´n programada.4. la unica limitaci´n de a a ´ o tiempo es la granularidad del timer. ı n A partir de este valor de tiempo de vuelo. lleva un tiempo. Como esto ocurre a partir de unas instrucciones de software programadas.

Una vez calculado el valor de la distancia al objeto u obst´culo. por lo que no me extender´ m´s en este apartado. Crear y compilar el programa con JBuilder Crear proyecto (. o Los pasos a seguir desde que se empieza a programar en Java hasta que se ejecuta en el JStamp son los siguientes: 1. Para ello se ha escrito otro programa Java que determine la velocidad a la que puede ir el robot y la desviaci´n de la trayectoria de ´ste.4. Se expusieron mostrando sus ventajas e inconvenientes de cada una de ellas. En el apartado 1. se opera a en consecuencia. e a Teniendo en cuenta dichas ventajas e inconvenientes y teniendo en cuenta los objetivos del proyecto se lleg´ a la conclusi´n de adoptar la configuraci´n o o o en anillo de sensores usando el m´todo de medidas consecutivas combinado e con el de esperas alternadas (ambos expuestos en dicho apartado 1. Todo esto es posible a gracias a la capacidad de Java de ejecutar hilos m´ltiples. el giro del servo. o e es decir.5.8 del presente proyecto se expusieron las distintas alternativas de configuraci´n posibles para implantar los sensores de ultrasonidos o de manera eficiente en el robot de tiempo real objeto del proyecto.4. Programaci´n en JBuider8.jpr) .8) para solucionar los problemas de ruidos e interferencias con otros sensores. Comportamiento del robot. aunque se puede usar cualquier otro paquete de programaci´n comercial. 5. o Para este proyecto he elegido como entorno de programaci´n Java el o JBuilder. cuando comenc´ su desarrollo us´ la versi´n JBuilder 5 y actuale e o mente estoy usando la JBuilder 8.6. DISENO. 97 5.jpx o . Descripci´n de la configuraci´n adoptao o da. u 5. para esquivar el obst´culo.˜ CAP´ ITULO 5.

ae Elegir configuraci´n flash de memoria en el siguiente paso (JSo tampFlashConfiguration) y como runtime :Runtime CLDL . Usar Charade para bajar el programa al JStamp. 98 En ”Propiedades de proyecto -¿Vias de acceso -¿Bibliotecas necesaria” a˜adir aJile CLDC y J2ME CLDC (necesarias puesto que n necesitamos la especificaci´n de tiempo real. Eligiendo archivo y dentro de este load. Recordar que el jumper JP1 en la JStamp Development Station selecciona donde se almacenar´ el programa.class a partir del . Usar JEMBuilder para tomar las clases compiladas y crear el byte-code para el JStamp. en este caso TIMER y PORT E. se elige el archivo . y por tanto se perder´ cuando se desconecte la alimentaci´n.class generado por el JEMBuilder al procesador para que pueda ser ejecutado... Con este programa se baja el fichero . a o Si el jumper no esta instalado el programa se cargar´ en memoria FLASH.bin que entiende el aJ-80. (recordar poner o quitar el jumper JP1 en la placa de desarrollo) Crear una nueva JVM: por defecto JVM0 Nombre de la clase que contiene el ”main”de esa JVM: en este caso ”Ultrasonidos” Indicar el Classpath a seguir para encontrar la clase anterior: por ejemplo . Con estos pasos se genera el fichero .˜ CAP´ ITULO 5.bin y se carga el el JStamp. DISENO.java .) o Compilar As´ se obtiene un fichero . ı 2. Elegir directorio donde se crear´ ´ste. Posteriormente se selecciona Run y se ejecuta.soad. 3./blink/class Available drivers: elegir los necesarios. Crear proyecto. Para ejecutarlo. Hay que tener en cuenta el elegir como ”Device” el aJ-80 port 378 (por defecto escoge el aJ-100) cuando el Jtag esta conectado en el puerto COM1 del PC. se elige archive-¿execute y se elige el archivo . a . Si el jumper esta instalado se cargar´ en la a a memoria RAM.

Parte V Ap´ndices e 99 .

100 .Ap´ndice A e Abreviaturas de Java.

CLDC: Connected Limited Device Configuration. DUART: Dual Universal Asynchronous Serial Port. MIDP: Mobile Information Device Profile. J2ME: Java 2 Micro Edition. JSR: Java Specification Request. GPIO: General Port Input/Output. JCP: Java Community Process. JVM: Java Virtual Machine. JIT: Just-In-Time. 101 . JAM: Java Applications Manager. ABREVIATURAS DE JAVA. IDE: Integrated Development Enviroment. AIE: Asynchronous Interrupt Exception. EBI: External Bus Interface.´ APENDICE A. ATC: Asynchronous Transfer Control.

SOC: System-On-Chip. RTJEG: Real-Time Java Expert Group. SPI: Serial Peripheral Interface. MJM: Multiple Java Virtual Machine Manager. RTOS: Real-Time Operating System. NIST: National Institude of Standards and Technology. SDE: Software Development Enviroment. RTJG: Real-Time for Java Expert Group. PWM: Pulse Widw modulator. 102 . RMI: Remote Method Invocation. ABREVIATURAS DE JAVA. RTJVM: Real-Time Java Virtual Machines. PRL: Prescaler.´ APENDICE A. TC: Timer/Counter. PLL: Phase Locked Loop.

´ APENDICE A. 103 . WAITn: External transation wait signal. ABREVIATURAS DE JAVA. UART: Universal Asynchronous Serial Port.

Ap´ndice B e Datos del procesador aJ-80. 104 .

´ APENDICE B. DATOS DEL PROCESADOR AJ-80. 105 .

106 .´ APENDICE B. DATOS DEL PROCESADOR AJ-80.

107 .Ap´ndice C e Planos del procesador aJ-80.

´ APENDICE C. 108 . PLANOS DEL PROCESADOR AJ-80.

2: I/O.´ APENDICE C. 109 Figura C. . PLANOS DEL PROCESADOR AJ-80.

´ APENDICE C. 110 . PLANOS DEL PROCESADOR AJ-80.

´ APENDICE C. PLANOS DEL PROCESADOR AJ-80.4: Memory . 111 Figura C.

´ APENDICE C. 112 . PLANOS DEL PROCESADOR AJ-80.

113 .Ap´ndice D e Datos del JStamp.

DATOS DEL JSTAMP.´ APENDICE D. 114 .

115 . DATOS DEL JSTAMP.´ APENDICE D.

´ APENDICE D. DATOS DEL JSTAMP. 116 .

117 . DATOS DEL JSTAMP.´ APENDICE D.

´ APENDICE D. DATOS DEL JSTAMP. 118 .

DATOS DEL JSTAMP. 119 .´ APENDICE D.

Ap´ndice E e Planos del JStamp. 120 .

121 .´ APENDICE E. PLANOS DEL JSTAMP.

PLANOS DEL JSTAMP.´ APENDICE E. 122 .

PLANOS DEL JSTAMP. 123 .´ APENDICE E.

PLANOS DEL JSTAMP.´ APENDICE E. 124 .

Ap´ndice F e Regulador de tensi´n o MC7808C. 125 .

´ ´ APENDICE F. REGULADOR DE TENSION MC7808C. 126 .

´ ´ APENDICE F. REGULADOR DE TENSION MC7808C. 127 .

. Energ´ emitida por la onda ultras´nica en todas las direcıa o ciones del entorno. . . . . . . . . . . . . . . . Conexi´n de sensores de ultrasonido en paralelo. . . . . . . Efecto del desplazamiento de fase . . . . .6. . . . . . Posibles errores debido a la disposici´n relativa entre el sonar o y el objeto. . . . . . . . . . . . . . . .7. . . . . . . . . . . . . . . . . . . Conexi´n de sensores de ultrasonido en serie. . . . . .10. . 22 o 1. . . . . . . . . . . . . . . Ejemplos de posibles caminos de la se˜al que provocan intern ferencias en un anillo de ultrasonidos. . . . . . . . . . 24 o 1. . . . . . . . 25 1. . . . . . . . . . .1. . . . Agrupaci´n de medidas. . . . . . . . . . . 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cronograma del proceso de emisi´n y recepci´n de una onda o o ultras´nica. 14 1. . 23 o 1. . Dependencia del rango de inclinaci´n. . . . . . . . . 11 1. . . . . . . . . . . . . . . Plataforma. . . . . . . . Zona muerta. . . . . . . . o 1. . . . . 1. . . . .´ Indice de figuras 1. . . . . . . . .11. . . o 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1. . .5. . . . . . . .8. . . . . 37 128 . . . . . . . .4. Cono de emisi´n. .3. Transductor del sensor de ultrasonidos .13. 29 o 1. . Comparaciones. . .9. . . . . . . xi 5 6 7 9 1. .12. . . . . . . . . . . . . .2. . .

. . . . . . . .7. . . 90 5. . . . . . . . . . . . . Multiple JVM Manager (MJM). . . . . . . . . . . . . . . . . . . . . . . . 93 5. . Circuito del regulador de tensi´n. . . . . . . . . . . . . El M´dulo del JStamp. . . . . . .5. . .3. . . . . . . . . . . . . . . . 76 4. 66 o 4. . Pulso de disparo . .5. .´ INDICE DE FIGURAS 129 3. . . . 70 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 4. . . . . Arquitectura Software del J2ME. . . . . . . . . . . . aJ-80. . . . . .13.1. . . . . . . . . . . . . .6.3. 64 o 4. . . .10. . . 82 4. . .9. . . 91 5. . . . . . . . Conexiones en el ultrasonidos. . . . . . . . . . . . Asignaci´n de pines en el aJ-80. . . . . . . . La estaci´n de desarrollo JStamp. . . . . . 84 4. . . . . . . .12. . . . . . . . . . . . Pines del JStamp. .1. . . . . . . 51 4. . Salida del sensor. . . . . . . . . .X .4. . . . . 89 5. . . . . . . 85 4. . . . . Transferencia de datos (lectura y escritura) . . . . . . . . . . . . . . . . Regulador de tensi´n MC7808C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11. . . . La arquitectura del J2ME core. . Esquema de la estaci´n de desarrollo JStamp. . . . . . . . . . . . . . . . . Bloque de control del aJ-80. 65 o 4. . . . External Bus interface. . . . . . . . .1. 94 o 5. . . 92 5. . . . . .15. . . . .7. . . . . . . . . . 78 4. . . . . . . . . . . Arquitectura del aJ-80. 71 o 4. . . . . . . . Diagrama de bloques del Timer / Counter. 72 4. . . . . . .8. ISA-Oriented Peripheral Accesses. . . 86 5. . . . . . . . . . . . . . . . . . . .14.6. . 79 4. . . ISA-Oriented Peripheral Accesses2. 77 4.4.2. . . . . . Conector Hembra de USS 3. . 95 o . . . . . Extended Bus Transaction (WAITn). .2. . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 C. . . . . Power and Reset. . . . . .2. . . Procesador . . . . . . . . . . . . 109 C. . . . 111 C. aJ-80 Test Board. . . . . . . . . Memory . . . . . . . . . . . . . . . . . . . .4. . . . 112 . . . . . . . . . . . . . . . .3. . . . . . . . . . . . . . . . . . . . . . . . . 108 C. .1.5. . . . . . .´ INDICE DE FIGURAS 130 C. . . I/O. . . . . .

54 131 .´ Indice alfab´tico e RT-Linux.

132 .Parte VI Bibliograf´ ıa.

IEEE Transactions on robotics and automation.J Leonard. H.2000. Y.org [4] ”Direct sonar sensing for mobile robot navigation” J. Kluwer Academic Publishers. [3] ”The Real-Time specification for Java”. [7] ”Mobile information device profile” Version 1. McGill Research Centre for Intelligents Machines. ME. JSR-37 Expert Group. [2] ”reflections on modelling a sonar range sensor” Gregory Dudek.rtj. [1] ”Error eliminating rapid ultrasonic firing for mobile robot obstacle avoidance” Johan Borestein.Bibliograf´ ıa. James Gosgling. No 1. Inc 133 . Java 2 Platform. Vol11. Durrant-Whyte. Addison Wesley. www. [8] ”The Java Community Process” Sun Microsystems. [5] ”aJile Systems: Low Power Direct-Execution Java Microprocesro for Real-Time and Networked Embedded Applications” David S. Dvid Holmes.Koren. Hardin [6] ”The Java programing language” Ken Arnold.F.0. McGill University of Montreal.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->