jueves, 17 de mayo de 2012

Ambientes inteligentes (AML)


El tema de los ambientes inteligentes ha ido creciendo exponencialmente como un tema de interes que ha permitido a muchas áreas de investigación tener diferentes buenas influencias en nuestra sociedad. 

La idea detrás de esto es que si enriquecemos nuestro ambiente y ecositema con tecnología (principalmente sensores y dispositivos interconectados por redes), un sistema puede ser construido para tomar decisiones que beneficien a los usuarios del ambiente establecido.


La inteligencia ambiental es una forma de conectar temas de suma importancia en la actualidad, tales como redes, sensores, interacción humano-computadora, inteligencia artificial, entre otros. 



Para ser sensible, un sistema debe ser inteligente, como un asistente previamente entrenado se comporta comunmente. Ser sensible y entrenarse se refiere a reconocer al usuario, conocer sus preferencias y la capacidad de tener empatía con el caracter del usuario en ciertas situaciones.

Un aspecto de suma importancia para los ambientes inteligentes consiste en el principio de las 5Ws (En inglés Who, Where, What, When and Why):

1. Who (Quién): Aquí se debe identificar al usuario del sistema y el papel que este tiene en relación con otros usuarios y con el sistema.

2. Where (Dónde): Tenemos que tener identificada la ubicación geográfica de un usuario o de algún objeto del sistema.

3. When (Cuando): Tenemos que asociar diferentes actividades a realizar con el tiempo requerido para realizarlas y para construir una imagen realista de la dinámica del sistema.

4. What (Qué): Es el reconocimiento de actividades y tareas que los usuarios realizan.

5. Why (Porqué): Es la capacidad de entender o inferir las intenciones y metas de las actividades programadas. Permite al sistema anticipar necesidades o herramientas y servir a los usuarios de la mejor manera posible.

Un claro ejemplo de ambiente inteligente es una casa equipada para brindar servicios avanzados a sus usuarios. Esta casa puede entrenarse para conocer las necesidades de los usuarios y cumplir con el principio y reglas mencionados anteriormente.

Por ejemplo, podríamos tener un cuarto con sensores de movimiento para saber si el residente se encuentra dentro o fuera de algún cuarto y manejar las luces, alarma, música, clima, entre otras cosas. 


En esta figura se pueden observar diferentes sensores y características que ayudan a que la casa sea una casa inteligente y se pueda adecuar al usuario perfectamente.

Los ambientes inteligentes también podrían implementarse en lugares como:

Hospitales

Se podría monitorear la salud de un paciente, su progreso, o realizar análisis más precisos desde sus habitaciones. También podría mejorar la seguridad ayudando, por ejemplo, a controlar el acceso a personal no autorizado a ciertas áreas.

Transporte Público

Esto podría ayudar a reducir de tráfico en la ciudad, se podrían obtener rutas más precisas y cortas a un lugar utilizando navegadores GPS, también podría ayudar en el rastreo de vehículos o de personas. 

Educación

Los ambientes inteligentes podrían ayudar a las instituciones a obtener tecnología que permita  y facilite el acceso a librerías, bibliotecas, estacionamientos, cafeterías, dormitorios, etc. 

Esta tecnología se podría utilizar también para monitorear o rastrear el progreso de ciertos alumnos en las materias.


Bibliografía









Sensores



Un sensor es un dispositivo que detecta magnitudes físicas o químicas, llamadas variables de instrumentación, y las transforma en variables eléctricas. Estas variables de instrumentación pueden ser la temperatura, intensidad lumínica, distancia, inclinación, presión, fuerza, etc.


Existen diferentes tipos de sensores.

Sensores de luz

LDR o Fotorresistores



Un LDR es un resistor que varía su valor de resistencia eléctrica dependiendo de la cantidad de luz que incide sobre él. También es llamado fotorresistor o fotorresistencia. El valor de resistencia eléctrica de un LDR es bajo cuando hay luz incidiendo en él  y muy alto cuando está a oscuras.








Fotoceldas o celdas foto voltaicas


A la conversión directa de luz en electricidad en nivel atómico se le llama generación fotovoltaica. La propiedad llamada efecto fotoeléctrico hace que se absorban fotones de luz y emitan electrones. Al capturarse estos electrones, el resultado es una corriente eléctrica que se puede utilizar para alimentar circuitos, así como también para producir la detección y medición de la luz.







Fotodiodos


Diodos semiconductores que se exponen a la luz a través de una cobertura cristalina, en algunos casos en forma de lente que son sensibles a la incidencia de la luz visible o infrarroja. 







CCD y cámaras de video




CCD (Charge-Couple-Device) es un circuito integrado. Tiene una matriz de celdas con sensibilidad a la luz alineadas de forma que permite "empaquetar" en una superficie pequeña un enorme número de elementos sensibles y maneja una cantidad de información de imagen.







Sensores de presión y fuerza

Microinterruptores




Sensores de presión




Existen muchos sensores de presión, la mayoría se orientan a medir la presión de un fluido sobre una membrana. Se puede utilizar para mediciones sobre fluidos hidráulicos aunque también se pueden utilizar como sensores de fuerza.








Sensores de contacto



Para detectar contacto por ejemplo de un robot con un obstáculo se utilizan interruptores que se ponen en funcionamiento a través de actuadores físicos. En ingles se le llaman "whiskers" relacionandolos con los bigotes sensibles de los animales.






Sensores de sonido

Micrófonos y sensores de sonido

Se puede aplicar en un sistema de medición a distancia en donde el micrófono recibe sonidos emitidos desde el robot después de que este rebota en un obstáculo. También se aplica en un sistema de sonido para grabar el sonido ambiente y utilizar esto para algo como por ejemplo para recibir órdenes por medio de palabras o incluso para determinar la dirección de estos sonidos.



Sensores medidores de distancia

Rangers (medidores de distancia) ultrasónicos





Un emisor lanza un tren de pulsos ultrasónicos y espera el rebore, midiendo el tiempo entre la emisión y el retorno, esto da como resultado la distancia entre el emisor y el objeto donde se produjo el rebote. 



Medidores de distancia por haz infrarrojo




Detectan objetos a distintos rangos de distancia y en algunos casos nos brindan información de la distancia en algunos modelos. El método de detección de la distancia de estos sensores es por medio de triangulación. 




Sensores de gravedad

Acelerómetros, sensores de vibración


Dispositivos que permiten medir el movimiento y las vibraciones, así como la inclinación con respecto a la gravedad. 







Sensores pendulares (Inclinómetros)
Mide la inclinación, la diferencia de este sensor y el anterior es que este sensor es de pequeó tamaño, sólida integración y es fácil de conectar con microcontroladores. 


Giroscopio


Esta basado en un fenómeno físico de hace mucho tiempo, una rueda girando se resiste a que se le cambie la dirección del eje de rotación. A esto en física se le llama principio de conservación del momento angular. Estos sensores se utilizan en helicópteros y robots , las piezas cerámicas en vibración son sujetas a una distorsión que se produce por el efecto Coriolis.



Sensores de temperatura

Termistores

Un termistor es un resistor cuyo valor varía en función de la temperatura. Existen dos tipos de termistores: NTC (Negative Temperature Coefficient) que es una resistencia cuyo valor se reduce cuando aumenta la temperatura y PTC (Positive Temperature Coefficient) cuya valor de resistencia aumenta cuando aumenta la temperatura. 





Termorresistencias


Los sensores RTD se utilizan para medir temperaturas por contacto o inmersión y en especial para un rango de temperaturas elevadas donde no se pueden utilizar semiconductores o materiales sensibles. 





Sensores de humedad

Sensores de humedad



La detección de humedad es importante en un sistema integrado, una humedad excesiva puede dañar a los circuitos. 








Referencias:



lunes, 14 de mayo de 2012

Sistemas operativos integrados y aplicaciones

Un sistema operativo integrado es un sistema operativo para los sistemas embebidos. Estos sistemas operativos están diseñados para ser compactos, eficientes y confiables, dejando atrás muchas de las funciones que los sistemas operativos no integrados. También son frecuentemente sistemas operativos en tiempo real.

Una diferencia de los sistemas operativos integrados y los no integrados es la aplicación, el sistema operativo integrado no carga y ejecuta aplicaciones, esto quiere decir que solo es capaz de correr una aplicación.


OS/2 (eComStation)










  • ¿Dónde lo encuentro?. Este sistema operativo está en desuso, pero cuando lo estuvo lo podías encontrar en cualquier cajero automático.
  • Fue desarrollado entre Microsoft e IBM como un posible sucesor de PC DOS. Su orientación a sistemas integrados fue bastante aceptado en los 90 y hoy en día aún se implementa en expendedores públicos en su versión original o en la derivada, eComStation.

Windows CE



  • ¿Dónde lo encuentro?. Cajeros automáticos en desuso y sistemas de navegación para el coche o videoconsolas como Dreamcast.
  • Windows CE se diseñó como un núcleo totalmente nuevo diferente a los demás sistemas y optimizado para dispositivos con limitaciones técnicas. Dio lugar a sistemas operativos para Pocket PC. Actualmente, ya no se utiliza ahora se utiliza Windows XP Embedder y Windows Embedded Standard, los cuales se utilizan en la mayoría de los cajeros y terminales públicos.

Windows Embedded Automotive 


  • ¿Dónde lo encuentro?. En varios automóviles de las marcas FIAT, Nissan o Ford.
  • Sistemas operativos para automóviles son cada vez más frecuentes. Hoy en día existen muchos sistemas de comunicación por Bluetooth integrados (manos libres, GPS, reproductor de música). 

OSEK


  • ¿Dónde lo encuentro?. En algunos automóviles de las marcas BMW, Chrysler, Opel o Renault.
  • OSEK hace referencia a un grupo de empresas y a un estándar abierto de sistema operativo e interfaz de comunicaciones básicos. La portabilidad de OSEK hace que se pueda llevar a sistemas con un microprocesador de 8 bits.

vxWorks




  • ¿Dónde lo encuentro?. En muchos dispositivos, desde aviones hasta fotocopiadoras, desde navegadores GPS hasta routers.
  • Desarrollado por Wind River Systems, es un sistema operativo en tiempo real que ha sido utilizado en muchos dispositivos. Incluso ha controlado el cerebro de varios vehículos espaciales como el Sojoumer, rastreador que se envió a Marte, y esto lo convirtió en el sistema operativo que más lejos ha viajado en la historia de la informática.

FreeBSD 


  • ¿Dónde lo encuentro?. En televisores, routers, sistemas de seguridad, entre otros.
  • Es un sistema operativo completo. Es la base sobre la que se apoya CellOS, el sistema que rige PlayStation 3 y su Cross Media Bar (XMB).

ThreadX


  • ¿Dónde lo encuentro?. Impresoras, cámaras digitales, módems, sondas espaciales.
  • Es un sistema operativo en tiempo real, HP es una de las empresas que lo ha utilizado para la mayoría de modelos de sus impresoras de tinta y láser.

Android


  • ¿Dónde lo encuentro?. Móviles, microondas y lavadoras.
  • La empresa Touch Revolution desarrolló hace meses el panel Nimbre NIM1000, el cual puede ponerse en todo tipo de electrodomésticos desde teléfonos fijos hasta microondas y lavadoras.




Dispositivos Periféricos

Los procesadores actuales son capaces de manejar los datos producidos por los dispositivos, el problema principal que se puede tener es la transferencia de datos entre el procesador y el periférico.

Para solucionar esto existen diferentes maneras:
  • Uso de cachés y almacenamientos intermedios
  • Buses de interconexión de mayor velocidad y con estructuras más elaboradas
  • Uso de configuraciones multiprocesador 


Periférico:
Es el dispositivo que hace posible la interacción del microprocesador con el entorno.

Interfaz: 
Conjunto de módulos electrónicos que hacen posible el control de un periférico adaptando las diferentes velocidades y modos de funcionamiento del microprocesador y los periféricos.

Bus:
Conjunto de señales con la que se comunica el microprocesador con el entorno ya sea memoria o periféricos a través de las interfaces.


Las razones principales del uso de una interfaz son:
  • Hay gran variedad de periféricos con normas de funcionamiento diferentes y sería imposible implementar en el procesador esa diversidad de controladores.
  • Las diferencias de velocidad de los dispositivos hace que no sea práctico comunicarse con ellos directamente por medio del bus del sistema.
  • Los periféricos usan datos con formatos y tamaños de palabra diferentes de los del microprocesador al que se conectan. 
Funciones de la interfaz de E/S


  • Control y temporización de la transferencia de datos entre el dispositivo y el procesador; si el sistema utiliza en cada interacción, un bus de la interfaz de E/S con el procesador puede necesitar uno o más arbitrajes del bus
  • Comunicación con el procesado
         Decodificador de órdenes: la interfaz admite órdenes del procesador.
         Datos: intercambi de datos a través del bus
         Información de estado: conocer si el dispositivo está preparado para transferir datos.
  • Comunicación con los dispositivos
         Intercambio de órdenes, información de estado y datos.
  • Almacenamiento temporal de datos
  • Detección de errores

Conexión de las interfaces de E/S

Conexión mapeada en memoria. El circuito se conecta como si fuera memoria, se accede a los registros leyendo o escribiendo una variable en una posición de memoria determinada.


Conexión mediante puertos de entrada/salida. El circuito se conecta mediante líneas especiales. Se accede a los registros mediante instrucciones especiales, especificando el número de puerto.




Tipos de E/S


Entrada /Salida por consulta. La CPU ingresa a los registros desde un programa, para saber si el dispositivo está listo, se hace una consulta cada cierto tiempo.


La operación de E/S se controla mediante la CPU. Antes de realizar la operación se comprueban los registros de estado para verificar que el dispositivo se encuentre listo. 


Entrada/Salida por interrupciones. El dispositivo avisa a la CPU cuando esté listo, la entrada/salida se hace a través de una rutina de servicio de interrupción.


Permite que el dispositivo determine cuando se hace la transferencia de datos, el mecanismo de interrupción se encuentra en casi todos los computadores.


Entrada/Salida por acceso directo a memoria. El dispositivo accede directamente a la memoria y avisa a la CPU cuando inicia o finaliza una operación.


El ritmo de transferencia es mejor que el de los demás. 




Clasificación de periféricos


Entrada. Teclado, ratón, lápiz óptico, lector óptico, lector de caracteres, lector de bandas magnéticas, lector de tarjetas inteligentes, lector de marcas, lector de códigos de barras, reconocedores de voz, digitalizador o tabla gráfica, scanner.


Salida. Impresora, pantallas, trazador de gráficos o plotter, monitor, instrumentación científica o industrial.


Unidades de memoria masiva auxiliar. Cinta magnética, disco magnético, disco óptico, CD-ROM, DVD.


Mixtos. Terminal interactivo, terminal teletipo lectora/perforadora de tarjetas, módem.








Referencia:


Periféricos




jueves, 3 de mayo de 2012

Microprocesadores, microcontroladores, memorias

Arquitectura de computadores



Este es un esquema de un sistema básico de un computador con sus funciones principales, ALU (Arithmetic Logic Unit), unidad de control, unidad de I/O y memoria central.

Los demás elementos agregados al sistema se llaman periféricos, y vinculan al sistema con el exterior con el fin de intercambiar y visualizar datos.

Los datos que se agregan en el computador se utilizan como base para realizar operaciones de todo tipo ya sean aritméticas, lógicas, estas funciones las realiza la ALU que también contiene registros especiales de uso general donde se procesa la información antes y después de su uso. Después se almacena en la memoria central, que es el área de almacenamiento con mayor capacidad.

El sistema es controlado por la unidad de control, la cual genera señales de temporización y sincronización de todo el sistema.

Los programas que son un conjunto de operaciones denominadas instrucciones normalmente se encuentran en la memoria central. Cada una de las celdas que forman parte de la memoria central debe ser elegida por la memoria central para poder ordenar la información que se encuentra almacenada y así poder transformar los datos en una secuencia determinada para obtener el resultado deseado.

A esta selección se le llama direccionamiento y es realizado por la unidad de control a través del registro de direccionamiento cuya función es almacenar la dirección que se ejecutará en el sistema.



La comunicación entre la unidad central y el resto del sistema se realiza por medio de una estructura donde se muestran conjuntos de líneas denominadas bus. Se pueden encontrar generalmente tres indispensables en cualquier tipo de estructura de datos, datos (data), direcciones (address) y control.

Microprocesadores




En el diagrama de bloques puede observarse la estructura de un microprocesador, es una unidad de proceso. Consiste en el agrupamiento de elementos integrados, funciones de la unidad central de proceso, ALU, unidad de control, registros, etc.

La capacidad de proceso se define por su set de instrucciones.

Arquitectura basada en buses

El sistema que se mencionó anteriormente está compuesto por un bus principal y varios dispositivos conectados a él. Existen gran cantidad de buses, dependiendo de la potencia de direccionamiento y de los datos que puedan almacenar.

Bus de direcciones: conjunto de líneas de un bit de dato cada una, forman la capacidad de direccionamiento del dispositivo.

Bus de datos: conjunto de líneas de un bit, forman la capacidad de transmisión de datos del sistema. 

Bus de control: conjunto de líneas que se encargan de la gestión del sistema, lectura, escritura, etc.


Interrupciones

Son los trabajos realizados por medio de una intervención al funcionamiento del microprocesador, se originan del exterior del sistema.

Existen dos principales tipos de interrupciones, las de hardware y las de software. Todas las interrupciones que intervienen poseen una jerarquía precisa, dependiendo de las circunstancias se pueden producir dos interrupciones al mismo tiempo.

Memorias

Memoria se dice que es cualquier dispositivo que tenga la capacidad de "recordar" información almacenada anteriormente. 

Las memorias se pueden clasificar de diferentes maneras:

  • Dependiendo del modo de acceso
Memorias secuenciales: el acceso a los elementos de información se realiza en un orden específico, por lo cual el tiempo que se requiere para obtener la información depende de la ubicación dentro de la memoria. Ejemplo. Registro de desplazamiento.

Memorias de acceso aleatorio: el tiempo de acceso es independiente de la ubicación de la información dentro de la memoria. La información que se almacena tiene una dirección precisa.

Memorias asociativas: la información es obtenida a través de una comparación entre lo que contiene la memoria y una palabra binaria que se encuentra en la entrada de la memoria.
  • Dependiendo de la persistencia de la información que se almacena.
En esta clasificación se pueden establecer dos categorías dependiendo de que se tome como referencia i la tensión de alimentación o la reacción de la memoria a la lectura.

En el primer caso se tiene memoria volátil o perennes. Perennes son aquellas donde la información que se almacena no se pierde aunque desaparezca la fuente de alimentación, en las volátiles se pierde completamente.

Si este análisis se realiza dependiendo de lo que sucede después de la lectura, se clasifican en memorias de lectura destructiva o no destructiva.

La memoria de lectura destructiva es cuando la lectura de la información que está almacenada produce la pérdida de la misma, por lo tanto debe reescribirse después de ser leída. 
  • Dependiendo del principio de funcionamiento.
Memorias estáticas: son celdas que pueden permanecer en alguno de los dos estados permitidos durante todo el tiempo que permanezca la tensión de alimentación. 

Memorias dinámicas: la información es almacenada como carga de un condensador, por lo que no se requiere tanta potencia.
  • Dependiendo del tipo de tecnología utilizada.
  • Dependiendo de la utilización
Lecturas de lectura/escritura y sólo lectura.

RAM (Random Access Memory)
ROM (Read Only Memory)
PROM (Programmable Read Only Memory)
EPROM (Eraseable Programmable Read Only Memory)
EEPROM (Elecrically Ereaseable Programmable Read Only Memory)

Características de las memorias

Tiempo de acceso: tiempo que transcurre en una lectura o escritura de memoria, desde que es direccionada, hasta que se completa el proceso de acceso de información a la memoria.

Tiempo de ciclo: es el tiempo mínimo que se requiere entre dos accesos consecutivos

Velocidad de transferencia: cantidad de información que se puede transferir en una unidad de tiempo.

Capacidad de almacenamiento: cantidad de información medida en bits.

La estructura general tiene un ordenamiento de tipo matricial de n filas x m columnas. La capacidad sería n*m. El acceso a una celda de información requiere que se establezca una dirección que se representa por un número de fila y un número de columna, además de elegir la operación que se realizará ya sea lectura o escritura. 

Líneas de I/O, son las líneas por las que entra y sale la información de la memoria.

Líneas de dirección, son las líneas que permiten elegir la celda de memoria.

Líneas de control, líneas que permiten elegir la modalidad de trabajo de un acceso determinado.

Memorias de acceso secuencial
LIFO (Last in First Out)
FIFO (First in First Out)




Referencias:
Microprocesadores