|
|||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||
| Embedded systems |
|||||||||||||||||||||||||||||||||||||||||
| (por Nahuel Lofeudo) - 5/Julio/2007 - Permalink | |||||||||||||||||||||||||||||||||||||||||
Entonces… ¿cuántas computadoras hay a nuestro alrededor? Hagamos una lista de las más obvias: ¿Televisor? Salvo los modelos más sencillos, todos tienen una CPU que recibe las órdenes del control remoto y comanda todos los sistemas internos. De los celulares no vamos a hablar porque ya son un caso aparte. Los más sofisticados son verdaderas computadoras portátiles y seguramente van a seguir evolucionando en los próximos años. Lo mismo va para las PDAs (Palm, PocketPC o Smartphones varios). Y las no tan obvias… ¿Tenés un microondas digital? ¿Radio-reloj? ¿Calculadora? ¿Aire acondicionado? ¿Videocassettera? ¿Reloj digital? ¿Alarma en el auto o en la casa? ¿Sistema minicomponente? ¿Tomás el micro y le pagás a la maqui? TODOS ellos están controlados por sistemas informáticos. Si contaste cada una de las veces en las que dijiste “sí”, seguramente vas a tener alrededor de 10 cosas controladas por computadora en tu casa o alrededor tuyo. Mirá bien: están por todos lados. Señoras y señores, les presento a…. el microcontrolador.
De afuera no parece gran cosa, sólo otra cucarachita negra, a veces cuadrada a veces rectangular, llena de patas. Lo importante, como decía la propaganda del Tofi, es lo que lleva dentro. El hardware Las diferencias entre un microcontrolador y una computadora común son pocas. Una de las fundamentales es la forma en que manejan la memoria. Como son sistemas que tienen que sobrevivir a cortes de energía (que los desenchufen o les saquen las pilas, por ejemplo) no pueden tener el software guardado en memoria RAM así que tienen uno o más bancos de memoria Flash, que son regrabables y retienen el contenido aún sin alimentación (para que sirva de comparación, la memoria flash es la misma que usan los pen-drives o reproductores de MP3 para guardar archivos, aún cuando no tienen pilas). Por otro lado sería una locura guardar las variables y el estado del programa en la misma memoria que es lentísima a la hora de escribir, así que tienen que tener un puñado de bytes de RAM para todos los datos dinámicos. Esto hace que haya dentro del chip como mínimo dos bancos de memoria completamente distinta (volátil vs. no volátil, rápida vs. lenta) y sería muy complejo manejar ambos tipos de memoria como una sola, por lo que se usa una arquitectura distinta a la de las computadoras más grandes. Esta arquitectura, donde distintos tipos de memoria tienen diferentes usos, se llama Arquitectura Harvard:
Otra de las diferencias fundamentales, que también se da en el caso de las PDAs y celulares, es que los programas se desarrollan en una PC de escritorio y luego en la PC se genera el código ejecutable para el microcontrolador en cuestión (a este proceso se le llama compilación cruzada). Por las limitaciones de espacio y velocidad, se trata de usar lenguajes lo más livianos posibles, como C o dialectos muy simplificados de Java usando compiladores especiales. ¿Y a qué viene todo esto? En el grupo de Context-Aware del Lifia estamos trabajando con microcontroladores para crear software que pueda reaccionar a su entorno, sensando su posición en el espacio y actuando en consecuencia. Estamos usando un modelo de microcontrolador que tiene incorporado un “modem wireless” que le permite enviar y recibir información por radio, y sensar su ubicación.
Nuestra idea es utilizar estos microcontroladores para formar “placas de red inteligentes” para PDAs y localizadores autónomos, que formen una red inalámbrica propia para que todos los integrantes de la red puedan intercambiar información y saber su posición actual. Seguimos la próxima… |
|||||||||||||||||||||||||||||||||||||||||
| sobre nosotros | investigación | publicaciones | transferencia de t. | capacidades | |||||||||||||||||||||||||||||||||||||||||