martes, 15 de marzo de 2011

Retroinformática: MOS KIM-1 (1976)




MOS Technology Inc
, obligada por una demanda legal impuesta por Motorola, debió modificar la distribución de pines de su producto estrella, convirtiéndolo en un trozo de plástico, metal y silicio incompatible con los ordenadores que utilizaban el Motorola 6800. Así fue como nació el “Keyboard Input Monitor” o KIM-1, un pequeño ordenador de una sola placa destinado a servir como entrenador a los diseñadores de hardware. Inesperadamente, KIM-1 fue muy bien acogido por los entusiastas y se convirtió en un éxito. Hoy te contamos la historia del bisabuelo del Commodore 64.

La semana anterior te contamos como Woz, con la ayuda de Jobs, convirtió un montón de chips sueltos en el Apple I, creando además una de las empresas del sector informático mas importantes e influyentes del mundo. Pero antes de seguir avanzando y presentando modelos de ordenadores similares al de Apple, le vamos a dedicar un poco de tiempo a una clase de microcomputador que tecnológicamente puede situarse entre los del tipo del Altair 8800 o el IMSAI 8080 y los que siguieron al Apple I. Pensados como “kits de desarrollo”, estos pequeños sistemas eran muchas veces producidos por los mismos fabricantes de chips, como una herramienta para que los ingenieros pudiesen evaluar y probar sus productos. Pero la sed de conocimientos y el entusiasmo de los usuarios de la época convirtieron a muchos de esos kits en verdaderos éxitos comerciales. El caso más emblemático es el del MOS KIM-1.

KIM-1, creado en 1975 y presentado en las tiendas en 1976. (Vern Graner ) KIM-1, creado en 1975 y presentado en las tiendas en 1976. (Vern Graner )

En los primeros años de la década de 1970, la empresa MOS Technology recibió con agrado la incorporación a su plantilla de personal de un grupo de ingenieros que había abandonado a su competidor Motorola. Este grupo de especialistas, encabezados por Chuck Peddle, habían sido los responsables de crear el famoso microprocesador Motorola 6800. Una vez instalados en MOS, pusieron manos a la obra y en pocos meses repitieron el trabajo creando un clon del 6800 llamado MOS 6801. El chip era indistinguible del fabricado por Motorola -al fin y al cabo, habia sido creado prácticamente por el mismo equipo de trabajo- y era 100% compatible con aquel, pero un poco más barato. Esto le permitió a MOS ganar buena parte del mercado, ya que su producto podía ser directamente enchufado en una placa madre diseñada para el chip de Motorola. Obviamente, esta situación le gustó muy poco a los abogados de la creadora del 6800, que empapeló a MOS Technology con una serie de demandas legales.

Tarjeta de ampliación del KIM-1. (Vern Graner ) Tarjeta de ampliación del KIM-1. (Vern Graner )

Como suele ocurrir en estos casos, la justicia tuvo un comportamientos más bien extraño, y permitió a MOS salir del embrollo en que se había metido simplemente modificando la distribución de los pines de su chip. El nuevo modelo, llamado MOS 6502, seguía siendo un “6800”, pero las patitas metálicas del microprocesador se ordenaban de una forma diferente. Esto provocó que ya no fuese posible el reemplazo directo entre chips, y las ventas de MOS comenzaron a resentirse. Era necesario convencer a los desarrolladores de que el MOS 6502 era un micro útil, y para ello hacia falta proporcionarles una plataforma económica y flexible con la que pudiesen “jugar” hasta familiarizarse con el producto. Así fue como el mismo Chuck Peddle tuvo a su cargo el desarrollo de un kit destinado a suplir esta demanda. El resultado fue el “Keyboard Input Monitor” o KIM-1, creado en 1975 y presentado en las tiendas en 1976.

El usuario disponía de un teclado compuesto por 24 teclas El usuario disponía de un teclado compuesto por 24 teclas

El KIM-1 era un pequeño microcomputador cuyos componentes se alojaban en una sola tarjeta de circuito impreso. Resultaba muy fácil de montar, ya que a diferencia de otros kits anteriores solo empleaba unos pocos chips. El usuario disponía de un teclado compuesto por 24 teclas -10 dígitos, letras de “A” a “F” y algunas teclas de control- y una “pantalla” formada por 6 digitos LED de 7 segmentos. A pesar de lo rudimentario que esto pueda parecer, era infinitamente mejor que el sistema de llaves y LEDs utilizados por MITS o IMSAI. Pero lo que más gustó a los interesados en los ordenadores en forma de KIT fue su precio: 245 dólares. Por ese dinero, el comprador se llevaba a su casa un computador funcional (o al menos, “funcional” luego de haberlo ensamblado) con 1KB de RAM completo. Para tener una idea del valor que tenia para un programador esa “enorme cantidad” de memoria, basta con recordar que para llegar a ese monto, MOS empleó 8 chips MOS 6102, cada uno con 1024 bits.

No era muy difícil copiar este PCB. (Vern Graner ) No era muy difícil copiar este PCB. (Vern Graner )

Una de las características más interesantes del KIM-1 era su posibilidad de expansión. Peddle había utilizado dos chips MCS6530 “Peripheral Interface/Memory Device”, capaces de gestionar más memoria o periféricos. Dos conectores situados en el borde izquierdo de la placa permitían agregar dispositivos al sistema, y rápidamente la comunidad comenzó a desarrollar interfaces para grabadores de cassettes, terminales de vídeo, ampliaciones de memoria y mucho más. El mercado rápidamente se inundó de libros dedicados al KIM-1. En ellos se podia encontrar información indispensable sobre su hardware, pequeños ejemplos de software, y guías para escribir programas utilizando el lenguaje ensamblador del 6502. Entre los agregados más comunes se encontraba uno con un pequeño altavoz, que gracias a un programa permitía al KIM-1 generar sonidos y melodías. Una versión de BASIC, el Tiny BASIC, también fue adoptada por muchos usuarios, a pesar de que requería de 4BK de RAM adicionales. Leer esos 4KB desde una cinta de cassette demoraba aproximadamente 15 minutos.

Compleja tarjeta de expansión, de 1979. (Vern Graner ) Compleja tarjeta de expansión, de 1979. (Vern Graner )

Cuando el KIM-1 ganó cierta popularidad, ocurrió lo inevitable: surgieron los clones. Irónicamente, la empresa que había sido obligada a rediseñar su producto por ser la copia de otro, comenzó a ser copiada más o menos descaradamente. La sencillez del KIM-1 permitía que prácticamente cualquier aficionado realizase un proceso de “ingeniería inversa” sobre la placa de circuito impreso de dos caras, obtuviese un volcado de la ROM y -en pocos días- tuviese un nuevo ordenador. Muchos lo hicieron, y algunos -como el KIN-1, de KIN Computers- fueron utilizados como “ordenadores de vestir”, disimulados bajo la ropa y utilizados en los casinos para “contar cartas” en las mesas de juego. Pero la competencia más fuerte surgiría de Rockwell International y Synertek.

Rockwel AIM 65, algo más completo que el original. (oldcomputers.net) Rockwel AIM 65, algo más completo que el original. (oldcomputers.net)

Rockwell International, un fabricante de semiconductores, disponía de una licencia para comercializar su propia versión del microprocesador 6502, y sus responsables viendo el éxito que estaba teniendo el KIM-1, no dudaron en crear su propia “tarjeta de evaluación”. Así fue como en 1976 nació el Rockwel AIM 65, un microcomputador dotado de un teclado ASCII completo, una pantalla compuesta por 20 caracteres LED alfanuméricos de 14 segmentos y una pequeña impresora. Era mucho más atractivo que el KIM-1, y los chips opcionales de ROM conteniendo un programa ensamblador o un intérprete BASIC de Microsoft ofrecidos por Rockwel lo convirtieron en el favorito de muchos usuarios.

ynertek apostó por su SYM-1. (oldcomputers.net) ynertek apostó por su SYM-1. (oldcomputers.net)

Synertek tampoco quería quedar fuera del negocio, por lo que puso a sus ingenieros a trabajar contra reloj, y pocas semanas despues presentó el SYM-1, un sistema algo mejor que el KIM-1 pero no tan completo como el AIM 65. Disponía de una pantalla como la del primero, pero un teclado -de membrana- con 29 teclas bastante más completo que el original de MOS. Sus desarrolladores lo dotaron de los mismos conectores de expansión que el original, por lo que las placas diseñadas para el KIM-1 podían utilizarse sin cambios en el producto de Synertek. En la placa madre también había una interfase RS-232 “de verdad” (es decir, con los voltajes exactos requeridos por la norma), lo que decidió a muchos usuarios a elegir este modelo y no otro. Pero la historia del KIM-1 estaba lejos de terminar.

El “KIM-2” se convirtió en el “Commodore PET 2001” (Bill Bertram) El “KIM-2” se convirtió en el “Commodore PET 2001” (Bill Bertram)

MOS Technology fue comprada por la ascendente Commodore International, una empresa propiedad de Jack Tramiel que comenzó fabricando máquinas de escribir, más tarde había incursionado (con mucho éxito) en el mercado de las calculadoras electrónicas y que había decidido probar suerte con la venta de ordenadores personales. Commodore comercializó durante algún tiempo el KIM-1 con su marca, pero puso a Chuck Peddle a trabajar en una versión ampliada del sistema. El nuevo KIM debía contar con un teclado QWERTY completo (como el que tenían las máquinas de escribir), un grabador de cassette, un BASIC en ROM listo para utilizarse ni bien se encendiese el ordenador, y una pantalla de vídeo. Para entrar con fuerza en el mercado de los ordenadores, Commodore necesitaba algo de la talla del Apple I, y Peddle era el indicado para proporcionárselo. Cuando el producto estuvo listo, en 1977, fue comercializado como “Commodore PET 2001”, antecesor del Commodore VIC20 y -por lo tanto- “abuelo” del Commodore 64, ordenadores a los que sin duda dedicaremos un artículo en las próximas semanas.

http://en.wikipedia.org/wiki/KIM-1

Fuente:
http://www.neoteo.com/retroinformatica-mos-kim-1-1976

miércoles, 9 de marzo de 2011

LM92: Termómetro I2C de 12Bits

LM92 es un sensor de temperatura digital que posee conectividad I2C, una exactitud de hasta 0,33°C en la medición y 12 bits de resolución. Esto representa variaciones de temperatura de tan solo 0,0625°C. Estas cualidades lo transforman en un termómetro ideal para sistemas de alta precisión donde la temperatura es un factor crítico a monitorear. Junto a un sistema de “ventana” de comparación térmica, posee alarmas por baja temperatura, alta y hasta por temperatura crítica. Los ajustes de estos valores son programables de manera muy sencilla y creemos que ya no podemos seguir contándote las bondades de este dispositivo; es momento de que ingreses al artículo y te asombres con este montaje didáctico, sencillo y profesional.

Un medidor de temperatura sencillo puede admitir errores de acuerdo al ámbito donde se utilice y según las necesidades que la aplicación requiera. No será lo mismo un sensor de temperatura para un termómetro domiciliario que para un equipo médico, por ejemplo, una incubadora de bebés. Tampoco será igual el empleado en el letrero luminoso de una esquina de la ciudad que el utilizado en un invernadero, es decir, para cada aplicación las exigencias pueden cambiar de manera radical. National Semiconductor nos ofrece, en el LM92, un producto de la más alta calidad para desarrollos donde las exigencias sean rigurosas, donde los rangos de temperaturas a medir tengan una extensión considerable (-55°C a +150°C) y cuando debamos obtener un desempeño destacado. Muchas características te hemos adelantado en el encabezado del artículo, pero en el desarrollo de este texto podrás comprobar lo sencillo que es acceder a un sistema de control térmico de calidad profesional.

Termómetros de toda clase y calidad

El LM92, como comentamos antes, brinda la posibilidad de trabajar con lo que se llama una “ventana térmica”. El circuito integrado posee un registro (programable) que almacena un valor mínimo de temperatura por debajo del cual, una alarma se activa. Es decir, podemos programar el registro mencionado para que haga sonar una alarma si la temperatura del criadero de aves descendió de una determinada temperatura y los animales corren riesgo. Así, el sistema avisará con un alerta que la temperatura ha descendido por debajo de un nivel prefijado. A este registro se lo conoce como T_LOW y por supuesto, también existe otro registro similar que ofrecerá un aviso al superar un nivel alto de temperatura: el registro T_HIGH. De este modo, por debajo de un valor térmico programable y por encima de otro, las alarmas se activan. Eso es la “ventana térmica”: los valores que quedan comprendidos entre T_LOW y T_HIGH. Asociado a estos niveles existe un tercero que es la lógica histéresis que debe tener la activación o no de las alarmas para evitar situaciones confusas o disparos intermitentes.

Diagrama en bloques del LM92

Las salidas de estas alarmas se presentan al usuario en un mismo pin (5) con el nombre INT. Esto es lógico debido a que la alarma avisará cuando la temperatura esté fuera de los valores de “ventana”. La salida es Open Drain y en consecuencia su habilitación producirá un estado lógico bajo en el mencionado pin del dispositivo. Recordemos que Open Drain es la analogía al Open Colector (Colector Abierto) pero realizado con transistores MOSFET tal como se puede ver en el diagrama superior. Allí se puede observar también que existe un cuarto registro que activa una alarma cuando ya las lecturas térmicas superan un valor crítico. El registro T_CRIT también programable y de manera habitual se ajusta con la finalidad de preservar estructuras físicas, evitar daños al propio sistema electrónico y, como decíamos, se suele ajustar a valores altos de lectura. De todos modos, puedes moverte dentro de lo que el rango de medición que el LM92 te permite. Esto es, puedes ubicar la temperatura crítica por debajo de la ventana térmica y disparar una alarma cuando la temperatura descienda a niveles demasiados peligrosos (congelación). Es importante que tengas en claro este concepto. La temperatura crítica no sólo es aplicable a valores altos sino que también puede actuar a niveles muy bajos. Mientras ubiques ese valor fuera de la ventana térmica, el trabajo de esta alarma tendrá sentido y del mismo modo que la anterior, se presenta como Open Drain en el pin 3.

Vista ejemplo de cómo una variación de temperatura atraviesa los límites establecidos por los registros

Los valores que adopta el dispositivo al iniciar su trabajo cada vez que se le aplica energía es el siguiente:

  • Histéresis de temperatura (T_HYST) = 2°C
  • Temperatura Baja (T_LOW) = 10°C
  • Temperatura Alta (T_HIGH) = 64°C
  • Temperatura Crítica (T_CRIT) = 80°C

Luego, estos valores pueden ser cambiados al inicializar el funcionamiento mediante el programa del microcontrolador. De este modo, el LM92 ahorra muchas líneas de código al programador evitando tener que utilizar pines del microcontrolador para las alarmas o para organizar la secuencia de trabajo de la ventana térmica, la temperatura crítica y la histéresis de activación/desactivación. El ahorro del tiempo de programación, al igual que los recursos de hardware han sido muy bien pensados y ejecutados por la gente de National Semiconductor en el diseño del LM92. Eso nos permite utilizar estructuras básicas para trabajar. Por ejemplo, en nuestro caso hemos utilizado nuestro clásico hardware Amicus para llevar a cabo el montaje. Aprovechando el mismo diseño base que hemos empleado para otros montajes, nos apoyamos en el PIC 18F25K20 que es un procesador muy versátil y confiable, ideal para este tipo de desarrollos. El circuito adoptado, por lo tanto, es el siguiente:

Circuito propuesto con el PIC18F25K20 y el LM92

Gracias a que el LM92 permite una alimentación que puede ser de 3,3Volts o de 5Volts (2,7V a 5,5V) aprovecharemos la misma alimentación que el PIC para realizar el trabajo. Las líneas SDA y SCL utilizan resistencias “pull-up” de 1K y las salidas Drain abierto de las alarmas se conectan de manera muy sencilla con un LED y una resistencia limitadora a la línea de tensión de 3,3Volts. El LED amarillo que se observa en el diagrama está colocado para ayudarnos en el trabajo de programación. La idea básica de su uso es hacerlo encender al principio de alguna rutina “importante” y apagarlo al final de la misma. Es una de las mil formas que puedes tener para ayudarte en la programación. Si el LED destella es porque el ciclo de programa se completa, si no lo hace es porque se interrumpe en algún sitio y de acuerdo al estado puedes descubrir donde se detiene la ejecución del programa. En nuestro ejemplo, su funcionamiento se encuentra antes de la toma de datos y al finalizar la presentación en el LCD siguiendo un orden muy sencillo de programa:

  • Declaro las variables a utilizar.
  • Escribo los registros de temperaturas a los valores que voy a utilizar.
  • Comienzo un lazo infinito y enciendo el LED.
  • Leo por Bus I2C el registro de temperatura.
  • Realizo el proceso sobre la información obtenida y la presento en el LCD.
  • Apago el LED y espero un tiempo hasta volver a iniciar el lazo.

Eso es todo el programa necesario para hacer funcionar al LM92 y aprovecharlo en sus funciones más importantes. Luego de observar este video donde hacemos una introducción al funcionamiento de nuestro desarrollo veremos la forma en que se organiza la estructura de los registros y cómo podemos trabajar con ellos.






Como todo dispositivo I2C, el LM92 posee un protocolo de comunicaciones que, mediante una estructura determinada, se comunica con el PIC intercambiando todos los datos necesarios para un funcionamiento apropiado. En este caso, la estructura está explicada en la hoja de datos del LM92 (Pág. 13, Fig.6) y haremos un pequeño repaso de cómo es el funcionamiento que hemos utilizado para ayudarte a que comprendas de manera más rápida los pasos a seguir y no pierdas el tiempo valioso que puedes emplear en el desarrollo del resto de la aplicación. Comenzamos entonces con “abrir” el bus I2C mediante la instrucción HBSTART. En Amicus, este formato de instrucción indica que utilizaremos el módulo MSSP del PIC para realizar la comunicación. Dicho de otro modo, usaremos los pines dedicados por hardware para facilitar el trabajo del PIC. Luego de abrir el canal de diálogo, nos abocaremos a escribir los registros internos del LM92, si es que deseamos cambiar los límites de trabajo de las alarmas respecto a los valores que el dispositivo trae programado por defecto al momento de inicializar su funcionamiento. Por este motivo, si deseamos trabajar con valores diferentes a los que trae el LM92 por “default”, dentro de la estructura de nuestro programa en el PIC, debemos escribir nuestros valores de trabajo.

Estructura de cómo se lee o escribe utilizando el "puntero" y los bytes de datos

La escritura es muy sencilla y se divide en dos partes. Primero se le indica al “puntero” (Pointer) del LM92 el registro sobre el cual vamos a trabajar. Este trabajo se realiza “escribiendo” con la instrucción HBUSOUT seguida de la dirección (Address Byte) del LM92 dentro del bus y posteriormente del número de registro. Por ejemplo: para indicarle al puntero que trabajaremos sobre el registro T_LOW, escribiremos una instrucción {HBUSOUT Address Byte, [N° de Registro]}. De este modo, el LM92 se prepara para recibir una actividad en ese registro que puede ser de escritura o de lectura. En este caso será de escritura, pero del mismo modo podemos proceder para tomar lectura del valor almacenado en el registro cuando realicemos desarrollos más complejos con ventanas dinámicas de trabajo. Es decir, cuando el sistema se encargue de adecuar en forma automática los valores de la “ventana térmica” en función de las necesidades del diseño y del desarrollo del programa ejecutado por el PIC.

Fragmento donde se programan los registros

Luego, escribimos el valor adecuado con el siguiente formato: {HBUSOUT Address Byte, N° de Registro, [Dato a escribir]}. De este modo, y como puedes ver en la imagen superior, se modifican los registros internos del LM92. Al descargar y leer el listado que forma el programa observarás que donde dice “Escribo” en la imagen superior significa que el programa está indicando la dirección del LM92 dentro del Bus con el último bit (R/W) en cero para indicar escritura. Luego, cuando realicemos una lectura este bit cambiará a un uno lógico y la etiqueta cambiará de nombre. Por último, cuando todos los registros sean escritos, según nuestro criterio, cerraremos la comunicación I2C mediante la instrucción HBSTOP. De este modo, ya estamos en condiciones de comenzar a leer la temperatura obtenida mediante el LM92 y presentarla en un LCD o procesarla de acuerdo a las necesidades del hardware que estamos desarrollando. Este trabajo es tan sencillo como el anterior. La estructura es la misma y pasamos a leer el registro donde se almacena el valor obtenido mediante la instrucción HBUSIN. En el ejemplo mostrado abajo, “LEO” es la dirección (Address Byte) con el último bit habilitando el proceso de lectura.

Así de sencillo es el protocolo I2C para leer el LM92

Veamos ahora como se organizan los dos bytes de datos y cómo haremos para extraer la información de temperatura o, en el proceso inverso, como hacemos para escribir un valor útil en cualquiera de los registros. Los datos vienen organizados en una palabra de dos bytes que vistos en forma lineal se presentan de la siguiente manera:

La palabra de dos Bytes que contienen la información intercambiada entre el 18F25K20 y el LM92

En cualquiera de los registros encontramos que el bit de la posición D15 nos indicará el signo de la temperatura observada. Es decir, si es sobre cero D15 tendrá un valor bajo y si es bajo cero el LM92 nos devolverá en esa posición un uno lógico. Por otro lado, las posiciones D0, D1 y D2 nos devuelven el estado (Status) de las alarmas al momento de la lectura mientras que no intervienen al momento de la escritura de cualquiera de los demás registros. Luego de utilizar y descartar estos tres bits iniciales observamos que los bits útiles nos quedan comprendidos entre D3 (Bit 0) y D14 (Bit 11) y de esta manera queda alojada en 12 Bits la información de temperatura. Dentro de esta estructura, los cuatro bits de menos peso (LSB) se procesan de manera separada obteniendo de ellos los decimales de la medición. Recordemos que el LM92 ofrece “pasos” de 0,0625°C y por este motivo 15 pasos (4 bits) significarán 0,9375°C. Esto te permite apreciar la calidad de medición que nos ofrece el LM92. Finalmente, sobreviven las posiciones D7-D14 las que se tratan como un byte convencional y su valor expresado en decimal será el valor entero de la temperatura. Combinando la parte decimal con la entera llegamos al resultado final que mostramos en el LCD.

Manejo de los datos obtenidos para leer un valor útili en el LCD

Los términos TEMP, T6, T3, T1, T4 y T5 son las variables usadas para cargar los valores que el programa necesita y se declaran al inicio del mismo. Observando la imagen encontramos que existe un condicional IF que se encarga de determinar el valor que toma D15 (el bit del signo). Por su peso, D15 equivale a un decimal igual a 256, por lo tanto, si la variable supera el valor 255 será indicación de que el LM92 está registrando temperaturas bajo cero. Recuerda: si D15 adopta un valor igual a uno, la temperatura es bajo cero. A partir de esto, la presentación se transforma a lo que se conoce como “complemento a dos”. Al ver la hoja de datos puede parecer que todo el sistema enloquece y hay que reprogramar todo de diferente manera, sin embargo, la forma de manejar un “complemento a dos” es invirtiendo el valor obtenido y sumándole una unidad. Por ejemplo, si el byte 11100111 está expresado en “complemento a dos”, debemos invertirlo (00011000) y sumarle una unidad obteniendo el número 00011001. En lenguaje BASIC esto es muy sencillo de realizar con una única instrucción (T6 = ~T6 + 1). De este modo entonces, el LM92 nos ofrece los valores de temperatura bajo cero.

La temperatura "bajo cero" se ofrece en formato "complemento a dos"

Esta es la manera en que podemos escribir y leer los registros en el LM92. Sólo debemos comprender y aprovechar el uso de las herramientas que nos ofrece el lenguaje de programación utilizado y de este modo, sacaremos el mejor provecho del sistema. La última aclaración que vale indicar, y que es importante a la hora de realizar un proyecto con este dispositivo es saber que, mientras el microcontrolador “lee” el registro de temperatura, los indicadores de alarmas dejan de funcionar. Por más rápido que sea el bus I2C, o el lenguaje compilador utilizado, existe un vacío de indicación durante la adquisición del dato de temperatura. Para evidenciar este fenómeno, en nuestro programa de ejemplo, asignamos al LED amarillo una duración de encendido/apagado para que, contrastándola con la duración de la interrupción en la indicación de la/las alarma/s del LM92, se note la diferencia. Es decir, se observe este proceso de manera clara y se interprete mejor el funcionamiento. De este modo llegamos al fin al video donde te mostramos al LM92 en acción activando todas las alarmas y haciendo gala de sus características. No te lo pierdas:





Existen muchos circuitos integrados en el mercado que ofrecen la posibilidad de brindarnos su funcionamiento como medidores de temperatura, pero muy pocos ofrecen tantas funciones en un mismo encapsulado como lo hace el LM92. Un dispositivo muy útil para infinitas aplicaciones donde la precisión, exactitud y el control estricto de la temperatura deben ser los factores fundamentales del diseño. Te esperamos en el Foro de Electrónica de NeoTeo para que nos cuentes tus experiencias con el LM92. ¡Visítanos!

NIS5112: Fusible Electrónico Programable

En todo diseño electrónico, los sistemas de protección poseen un papel muy importante. Los accidentes e imprevistos son habituales en equipos industriales o en aquellos que son operados por muchas personas. Un cortocircuito o una sobrecarga no deseada (ni esperada) pueden destruir un sistema de alimentación y, en el peor de los casos, puede ocasionar graves accidentes. El circuito integrado NIS5112 es un fusible electrónico (electronic fuse) ideal para aplicaciones en automóviles y para toda aquella utilidad que necesite una alimentación de 12Volts. A pesar de tener un encapsulado SOIC8, la tecnología SENSEFET le permite al NIS5112 trabajar con corrientes de hasta 5A. en desarrollos donde el espacio, la confiabilidad y el costo reducido son muy importantes.

La aplicación y el desarrollo de sistemas de protección en equipos electrónicos no son tan sencillos como la gente puede creer. Casi a diario suceden problemas de funcionamiento en productos domésticos (TV, DVD Player, Videogames, etc) y las personas siempre están convencidas de que es un fusible lo que se ha roto o “algún cablecito suelto” que anda por allí. El clásico fusible que viene encapsulado en una ampolla de vidrio con dos casquetes metálicos que le sirven de conexión se rompe en ocasiones muy puntales y poco frecuentes. Es necesario que dentro del equipo exista un cortocircuito muy importante para que el fusible se deteriore y proteja así el circuito de alimentación; de lo contrario, se rompen muchas cosas dentro de cualquier aparato antes de que se destruya un fusible. Podríamos agregar, además, que las fallas que se provocan en el interior del equipo rompen componentes. Y cuando se llega al punto de una destrucción masiva donde los cortocircuitos son graves, hace su ingreso a escena el fusible salvador para que el equipo no se prenda fuego ni explote (porque la rotura ya se produjo). Es decir, el fusible clásico, en la mayoría de los casos, brinda una protección limitada. La verdadera acción preventiva la realizan los circuitos inteligentes que todo equipo elaborado posee y, por supuesto, aquellos que podrás diseñar a partir del uso del NIS5112.

Aplicación típica que ofrece el fabricante del NIS5112

El NIS5112 es un circuito integrado de ON Semiconductor que se comercializa en un encapsulado SOIC8. Las características destacadas de este componente son muchas y las intentaremos describir en el texto de este artículo junto a los videos que lo acompañan. Entre esas cualidades, la primera es la posibilidad que te brinda el NIS5112 de ajustar la corriente de trabajo o de acción y protección mediante una simple resistencia de poca potencia de disipación y de un preset (resistor ajustable). En el circuito mostrado arriba, que se encuentra en las hojas de datos del componente, puedes observar la resistencia de 56 Ohms que el fabricante ofrece como referencia de demostración en el circuito planteado. En función del valor que adopte esta resistencia, se obtendrá la corriente de trabajo o de acción del fusible electrónico. En las hojas de datos no se encuentran fórmulas ni cálculos para determinar el valor apropiado (de la resistencia) en función de la corriente de trabajo (de protección) que se quiera adoptar. Sólo se encuentra una gráfica (Fig.2, Pág. 4) donde se muestran dos curvas específicas. Una, “Ilimit_SS”, indica la corriente de acción del fusible en función de la resistencia limitadora o de “sensado”. La otra, “Ilimit_OL”, indica la corriente de sobrecarga a la que actuará el fusible.

Gráfico que aparece en las hojas de datos del NIS5112 para determinar (de manera aproximada) el valor de R_Limit

La comprensión de este gráfico nos permitirá acceder a todas las posibilidades que nos brinda el NIS5112. Ilimit_OL es la curva que representa la corriente a la cual el circuito detectará un sobre-consumo excesivo y actuará en consecuencia. Esto es, un valor comprendido entre 3,5A y 5,5A, en función de la resistencia limitadora. Es decir, por lo que muestra el gráfico, con una resistencia limitadora de 75 Ohms el fusible actuará a los 4 Amperes desconectando la alimentación a la carga. Esta desconexión (como se aprecia en el segundo video) puede ser temporal o permanente. Es decir, si el lapso de tiempo en que se produce el inconveniente es de duración breve, el fusible se repone de manera automática. Por el contrario, si nos encontramos ante un problema prolongado en el tiempo, el fusible cortará la alimentación a la carga de manera permanente y solo podremos restablecer la alimentación desconectando el circuito y volviendo a conectarlo (el clásico “apagar y volver a encender”).

Por otro lado, la curva Ilimit_SS nos ofrece información sobre cuál será la corriente de arranque (de inicio) que podremos obtener en función de la resistencia limitadora. Es decir, de acuerdo al valor que le asignemos a la resistencia limitadora, el fusible permitirá alimentar al circuito o impedirá esta acción por encontrar una carga (consumo al momento de la conexión) fuera de los valores ajustados al inicio del diseño. Al igual que en la curva anterior, podemos deducir entonces que: con una resistencia limitadora de 330 Ohms, el NIS5112 sólo permitirá alimentar circuitos que consuman 500mA de manera aproximada. Si la corriente inicial supera este valor, el fusible electrónico no permitirá el paso de la alimentación proveniente desde la fuente conectada a la red o desde una batería. De este modo, se deben razonar las curvas para comprender el funcionamiento del NIS5112 y poder sacar el máximo provecho de él. Veamos ahora cómo se comporta ante un cortocircuito directo.





Continuando con la descripción de las características del NIS5112, nos encontramos con la posibilidad de trabajar con tensiones comprendidas entre 9 y 18 Volts para una operación apropiada, con valores transitorios (en picos de tensión) de hasta 25Volts (1mS). La tensión máxima que el fusible entregará al circuito con el que trabajará será de 15Volts. Y todas las excursiones por sobre este valor serán “recortadas” a ese nivel. Esta propiedad lo hace ideal para aplicaciones automotrices, donde la alimentación de 12Volts sea un común denominador entre los circuitos operativos. Por otro lado, la corriente máxima nominal que el NIS5112 permitirá drenar sobre un circuito será de 5,3A, según su hoja de datos, y los picos transitorios podrán alcanzar valores de hasta 25A. El siguiente circuito es el que te mostramos en el video, con la diferencia de que en nuestro caso, por trabajar con entrada de tensión desde una batería de 12Volts, no incluimos a C4 y C3 en el montaje. Además, el tipo de carga con la que hicimos el ensayo no ameritaba la inclusión necesaria de estos capacitores. Siempre aconsejamos colocarlos; por lo tanto, no debes dejar de instalarlos donde indica el esquemático.

Diagrama esquemático del circuito utilizado en nuestro ensayo con el NIS5112

Gracias a la tecnología SENSEFET, se puede contar con un transistor MOSFET de potencia con protección por temperatura que, en ese aspecto, tiene la capacidad de protegerse a sí mismo. Dotado con una resistencia de conducción muy baja (30 miliOhms), este transistor le brinda al NIS5112 la ventaja de interrumpir su funcionamiento cuando la temperatura ha cruzado un límite de riesgo. En el segundo video puedes observar una secuencia donde se plantea esta situación. Cuando la resistencia de carga pone al fusible al límite de su ajuste de corriente, la temperatura comienza a aumentar, el MOSFET comienza a disminuir su rendimiento, los LEDs encienden menos, y la temperatura alcanza en pocos instantes el nivel suficiente como para que el NIS5112 active su sistema de auto- protección. Esta temperatura máxima es de 135°C. Y sólo si baja 40°C, el circuito integrado volverá a estar operativo para continuar con su trabajo. Es decir, si la situación del circuito no cambia, el dispositivo estará auto-protegiéndose de manera indefinida hasta que nos demos cuenta de que una situación de sobrecarga está ocurriendo en el circuito al momento de energizar la carga útil que deseamos alimentar. Observa el video, en especial cuando los LEDs intentan encender y terminan apagándose.




Por último, encontramos el pin Enable/Timer que hace que el NIS5112 se comporte como una verdadera llave de encendido. Con un estado lógico alto, nos asegura la habilitación del circuito integrado. Y con un estado lógico bajo, deshabilita su funcionamiento colocándolo como una llave abierta. En el caso de que no se le aplique algún tipo de estado lógico y se coloque allí un capacitor, se obtendrá un retardo de tiempo hasta activar la salida de tensión. Este retardo estará asociado al valor del capacitor allí conectado. Es decir, si todas las virtudes que destacamos hasta aquí del NIS5112 te parecieron pocas, también puedes utilizarlo como llave de encendido para activar (o no) sub-sistemas que trabajen con 12Volts. Y hasta puedes programar un pequeño retardo de activación. El pin dV/dt (asociado en el funcionamiento al pin Enable/Timer) lleva conectado un capacitor que determina la velocidad en que el SENSEFET pasa a un estado de conducción plena. Observa en las hojas de datos que esto está expresado como una pendiente de subida ante el impulso escalón de entrada de tensión. El capacitor colocado en este pin determina la velocidad de crecimiento de esta rampa.

Vista del ensayo realizado con el NIS5112 sobre un protoboard

Realizar desarrollos de circuitos cuidados, bien estudiados y optimizados constituye la idea general y básica de todo buen diseñador. Esta búsqueda de los detalles que “marquen la diferencia” implica la inclusión de un apropiado sistema de protección ante desperfectos que puedan sacar de operación a toda una línea de producción o a toda una sección de instrumentación de una planta fabril. Los perjuicios provocados por un diseño que falla en el momento menos esperado pueden ser evitados con protecciones adecuadas. NIS5112 es un circuito integrado diseñado para este propósito. Y las ventajas que ofrece son, además de importantes, vitales para cuidar y mantener bajo protección todo tipo de circuitos. Un fusible electrónico que puedes programar en su capacidad de corriente y que puedes utilizar como llave interruptora es el corazón de este circuito integrado y lo transforma en un elemento muy preciado dentro de cualquier desarrollo. Te invitamos a contar tus experiencias sobre fusibles y tu impresión sobre este IC en el Foro de Electrónica de NeoTeo.


Fuente:
http://www.neoteo.com/Portada/tabid/54/id/21737/pg/0/cp/1/Default.aspx

Retroinformática: Apple I (1976)

Si bien no se lo puede considerar como “el primer ordenador personal”, el Apple I posee el honor de haber sido uno de los primeros sistemas personales en incorporar -de serie- conexiones para un teclado y un monitor. Diseñado y construido por Steve Wozniak, este ordenador de 666,66 dólares incluía además 4KB de memoria RAM y un microprocesador MOS Technology 6502 funcionando a aproximadamente 1 Mhz. Fue presentado en público por primera vez en abril de 1976, en el Homebrew Computer Club, y determinó el nacimiento de Apple Computer.

Apple I (Christie’s)

El mundo había cambiado. A mediados de la década de 1970 ya era posible adquirir ordenadores personales a un precio razonable. Sin embargo, quedaba aún mucho camino por recorrer. Las máquinas basadas en el bus S-100, como el Altair 8800 o el IMSAI 8080, disponían de pocos recursos “de serie” (aunque su diseño permitía ampliarlas de muchas maneras) y su programación se hacía mediante un panel frontal compuesto por llaves y LEDs. A mucha gente, aunque dispuesta a gastar algunos cientos de dólares en un ordenador, este tipo de interfaz le resultaba absolutamente incomprensible. Pero estaba a punto de producirse otro cambio importante.

Wozniak y Jobs sostienen la placa madre de un Apple I (Apple)

Bill Fernandez era un hombre de muchos amigos. En 1971 presentó entre sí a dos de ellos, ambos llamados “Steve”. Se trataba de Steve Jobs, de 16 años, y Steve Wozniak -”Woz” para los amigos- de 21. Wozniak siempre se había sentido atraído por la electrónica en general y por los ordenadores en particular, y quienes lo conocían bien -no muchos- sabían que desde muy pequeño pasaba horas dibujando circuitos en papel, intentando optimizarlos al máximo. Tal era su pasión, que todo el tiempo estaba enseñando los rudimentos de esta ciencia a otros chicos, como su amigo Fernandez o, a partir de ese momento, Steve Jobs. Durante meses, Woz se dedicó a diseñar un ordenador personal. No fue una tarea fácil, y muchas veces debió dar marcha atrás y recomenzar su trabajo. Sin embargo, sus esfuerzos se vieron coronados por el éxito, y luego de que su amigo Steve vendiese su camioneta y el su calculadora programable HP, dispuso del dinero necesario para construir un prototipo del ordenador que había diseñado. Había nacido la máquina que más tarde el mundo conocería como “Apple I”.

El usuario debía proveer su propia carcasa. (Ed Uthman)

Wozniak era uno de los personajes que frecuentemente visitaba el Homebrew Computer Club (HCC) de Palo Alto (California), una fraternidad de usuarios de computadoras que servía de espacio para intercambiar ideas, programas y diseños. Cuando en abril de 1976 tuvo listo su ordenador, eligió ese sitio para presentarlo en público. Como era natural, los integrantes del HCC quedaron encantados con el invento de Woz. Era un ordenador que podía construirse por relativamente poco dinero, que no necesitaba de una terminal para utilizarlo, en el que las órdenes podían introducirse mediante un teclado, y -lo mejor de todo- su creador estaba dispuesto a compartir con ellos los detalles de su diseño, de forma que todos pudiesen tener el suyo. Sin embargo, Jobs solo necesitó de unos pocos días para darse cuenta que detrás del invento de su amigo había una excelente oportunidad de negocio, y que era mucho mejor vender entre los aficionados del Homebrew Computer Club y las tiendas de electrónica digital el ordenador listo para usar.

Página del manual del Apple 1, con partes escritas de puño y letra por Steve Wozniak. (Alison)

Para llevar adelante la idea de Jobs hacía falta dinero, ya que los chips que hacían funcionar el aparato eran caros. Con sus recursos pudieron armar y vender algunos, y con esos ingresos construir algunos más. Pero pronto se encontraron con decenas de pedidos entre manos que sus pobres recursos no podían manejar. Se hacía indispensable conseguir financiación, y así fue como Steve Jobs se contactó con Mike Markkula. Markkula era un empresario joven que había ganado mucho dinero con las acciones de Intel y Fairchild Semiconductor, que sabia bíen el potencial que podía tener la máquina diseñada por el otro Steve. Así fue como accedió a invertir 250 dólares en el proyecto, y con ese capital nació en 1976 “Apple Computer”.

Anuncio aparecido en octubre de 1976 en Interface Age magazine (Apple)

El ordenador no era, comparado con los que vinieron después, demasiado potente. Pero en ese momento era simplemente fantástico. Por 666.66 dólares, el Apple 1 ponía a disposición de su dueño 4KB de RAM completos (ampliables a 8KB internamente, o hasta 48KB con tarjetas de expansión fabricadas por terceros), 256 Bytes de ROM en la que se alojaba su sistema operativo -en realidad, un pequeño programa escrito en lenguaje ensamblador que permitía ingresar el programa del usuario- y un microprocesador MOS Technology 6502 funcionando a aproximadamente 1 Mhz. A diferencia de otros, el ordenador de Apple tenía una salida de vídeo, en la que se desplegaba texto en 24 filas de 40 caracteres. El sistema disponía de un sistema de “scroll vertical” rápido, implementado por hardware, y una conexión para el teclado. Si bien otros ordenadores -como los de Altair o IMSAI- contaban con periféricos similares, había que comprar las tarjetas aparte y costaban cientos de dólares.

Placa interna del Apple 1 (Genni)

El Apple I estuvo disponible comercialmente entre julio de 1976 y agosto de 1977. Su precio de venta inicial fue de 666.66 dólares, determinado por los 500 dólares en que se los vendían a sus distribuidores y el 33% de beneficio que estos obtenían por sus ventas. Además, dicen, a Woz le atraían los dígitos repetidos, así que todos esos seis parecían un buen número. A pesar de todas sus innovaciones, el Apple I aún no era un “ordenador personal” como los que se se venderían poco más tarde. La placa principal, en la que se alojaban unos sesenta circuitos integrados, se entregaba “desnuda”, y el usuario debía dotarlo de una carcasa adecuada, una fuente de alimentación, un interruptor de encendido, un teclado ASCII, y una pantalla de vídeo compuesto que hacia las veces de monitor. Si querías guardar tus programas en una cinta, para no tener que escribirlos cada vez que encendías el ordenador, podías comprar una interfaz para cassettes por 75 dólares adicionales.

Este lote se vendió en más de 155 mil euros. (Christie's)

El Apple I, como veremos la semana próxima, fue reemplazado por el Apple II, una máquina presentada en abril de 1977 que la superaba ampliamente y que fue un verdadero éxito de ventas. Pero durante su corta vida se estima que en total se vendieron unas doscientas unidades, entre 30 y 50 de las cuales aún existen. Obviamente, los pocos ejemplares de Apple I disponibles son sumamente apreciados por los coleccionistas, que pagan verdaderas fortunas por ellos. En 2010, por ejemplo, se pagaron más de 155 mil euros por uno de ellos, en una subasta realizada en la casa Christie's de Londres. El ordenador incluía la expansión a 8KB de RAM, los manuales y una carta firmada por Steve Jobs y Steve Wozniak estuvo presente en la sala. Ordenadores como el Apple I, a pesar de sus limitaciones, constituyen los cimientos de la informática moderna. ¿No te parece?


Fuente:
http://www.neoteo.com/retroinformatica-apple-i-1976.neo

viernes, 4 de marzo de 2011

Microchip amplía su línea de microcontroladores CAN con micros económicos PIC®

http://www.elektor.es/Uploads/2011/3/037.jpg

Microchip anuncia los microcontroladores CAN de 8 bit PIC18F “K80”, que trabajan entre 1,8 y 5,5V, incorporan la tecnología eXtreme Low Power (XLP) y ofrecen el consumo de corriente en modo dormido más bajo de la industria, menos de 20nA. Los nuevos microcontroladores también integran un convertidor A/D de 12 bit y un periférico para interfaces de usuario de sensado táctil capacitivo mTouch™. Los nuevos microcontroladores son ideales para aplicaciones en el automóvil, como módulos de control de la carrocería, iluminación, controles de puerta/asiento/dirección/ventana y climatización; aplicaciones de automatización de edificios como ascensores, iluminación, sensores y controles de aire acondicionado; así como aplicaciones industriales como sistemas de seguridad, controles de alarma y monitores remotos.

La familia PIC18F K80 ha sido desarrollada para diseñadores que necesiten incorporar comunicación CAN de forma económica a sus aplicaciones junto con un consumo extremadamente bajo de energía en los modos dormido y activo, así como un funcionamiento robusto hasta 5,5V. Los nuevos microcontroladores también ofrecen una vía de migración a la conocida familia PIC18F4680 CAN de Microchip.

Para aplicaciones en el automóvil y la industria, los microcontroladores PIC18F K80 CAN permiten un control de menor tamaño, más económico y robusto utilizando el periférico CAN integrado. Para aplicaciones que exijan un bajo consume y precisión, los microcontroladores ofrecen los mejores valores de corriente del mercado para prolongar la vida de la batería, así como un convertidor A/D de 12 bits integrado y periférico de sensado táctil para sensores avanzados.

Ya se encuentran disponibles los módulos enchufables (Plug-In Modules, PIM) para la Tarjeta PIC18 Explorer para el desarrollo rápido de los microcontroladores PIC18F K80 con un precio de 25 dólares por unidad; el MA180031 PIM ofrece soporte al microcontrolador PIC18F46K80 de 44 patillas, mientras que el MA180032 PIM ofrece soporte al PIC18F66K80 de 64 patillas. Para implementación y evaluación de CAN se puede utilizar la Tarjeta Hija CAN/LIN PICtail™ (Plus) de Microchip (AC164130-2), con un precio de 45 dólares, junto con las tarjetas de desarrollo PIC18 Explorer o Explorer 16.

Los nuevos microcontroladores PIC18F45K80, PIC18F46K80, PIC18F65K80 y PIC18F66K80 están disponibles en encapsulados TQFP y QFN de 44 y 64 patillas, mientras que los modelos PIC18F45K80 y PIC18F46K80 están disponibles en un encapsulado PDIP de 40 patillas. Los microcontroladores PIC18F25K80 y PIC18F26K80 ofrecen la posibilidad de escoger entre encapsulados QFN, SOIC, SPDIP y SSOP de 28 patillas.

Para mayor información visite el sitio Web de Microchip en http://www.microchip.com/get/TK9F.

más info.

Fuente:
http://www.elektor.es/noticias/microchip-amplia-su-linea-de-microcontroladores.1731211.lynkx?utm_source=ES&utm_medium=email&utm_campaign=news

miércoles, 2 de marzo de 2011

Retroinformática: Xerox Star (1981)

A principios de la década de 1980, la tecnología había alcanzado el punto de madurez necesario como para que los ordenadores comenzasen a ser más amigables con el usuario. El "8010 Star Information System", una estación de trabajo más conocida como “Xerox Star” revolucionó la informática, siendo el primer sistema comercialmente disponible en contar con una interfase gráfica de usuario que utilizaba ventanas, iconos y carpetas, manejados con un ratón, en lugar de las crípticas pantallas basadas en texto. Además, poseía conexión de red Ethernet, servidor de ficheros, servidor de impresoras y correo electrónico. ¡En 1981!.

Mucha agua corrió por debajo del puente entre 1975 y 1980. La tecnología informática avanzó tanto, que fue posible pasar de ordenadores con 256 bytes de memoria que utilizaban llaves y LEDs para comunicarse con sus dueños a una maravilla como el “Xerox Star”, una estación de trabajo de Xerox Corporation que contaba con una interfaz gráfica no muy diferente de las actuales. El Xerox Star marcó un hito en la historia informática, ofreciendo algunas características que solo estarían disponibles en otros ordenadores 10 o 15 años más tarde. Pero comencemos por el principio.

Así eran las tripas de Dolphin, el primer hardware del Xerox Star (DigiBarn)

El Centro de Investigación Xerox Palo Alto (PARC, por Palo Alto Research Center) fue creado por la Xerox Corporation en 1970. Tenia como objetivo proporcionar a la empresa un entorno de trabajo que les permitiese desarrollar nuevas tecnologías que -eventualmente- se convirtiesen en productos comerciales. En PARC no existía la clásica presión por desarrollar el producto “A” en un tiempo “X”. Sus investigadores disponían de un enorme grado de libertad, y podían experimentar casi sin restricciones con conceptos y tecnologías novedosas. Así fue como nació el “Alto”, una estación de trabajo desarrollada inicialmente como un ordenador para ser utilizado internamente en Xerox pero que pronto se distribuyo entre algunas universidades. El Alto era revolucionario. En lugar de utilizar una terminal de texto para comunicar datos al usuario, empleaba una interfaz basada en mapas de bits. Este es el sistema que utilizan todos los sistemas operativos modernos, que al igual que el Alto utilizan iconos, ventanas y un ratón para interactuar con el usuario. Este ordenador era genial -hasta disponía de una interfaz de red llamada “Ethernet” para compartir datos con otros- pero no estaba lo suficientemente maduro como para convertirse en un producto comercial.

Xerox Star tenía una interfaz basada en mapas de bits. (DigiBarn)

En primer lugar, no tenía uniformidad. Cada programa había sido escrito por un grupo de programadores diferente, y a pesar de que funcionaban muy bien, el conjunto carecía de una interfaz común. Y dado que había nacido como una máquina para ser operado por el personal de Xerox, hacían falta sólidos conocimientos técnicos para utilizarlo. A pesar de contar con un procesador de textos (“Bravo”), un sistema de correo electrónico (“Hardy”), un programa de dibujo vectorial (“Sil”) y un editor de mapas de bits (“Markup”), el Alto no era precisamente amigable con el usuario, y estaba lejos de poder ser utilizado en una empresa. Además, carecía de algunos programas indispensables para ese tipo de trabajo, como un gestor de bases de datos o una hoja de cálculo. Pero Xerox sabía que este ordenador podía convertirse en una verdadera estrella, así que en 1977 creó el Departamento de Desarrollo de Sistemas (SDD, por System Development Departament), lo “vistió” con unos 200 desarrolladores -muchos de ellos provenientes de PARC- y le asignó la tarea de diseñar un ordenador con las características del Alto pero que fuese útil en una oficina corriente.

WYSIWYG era “palabra santa” en el SDD. (DigiBarn)

El reto era enorme. Xerox quería automatizar la mayor parte de las tareas de una empresa, y bajo la dirección de David Liddle nació el proyecto "The Office of the Future" (La Oficina del Futuro). Liddle debía crear un ordenador como el Alto, que dejase de lado las típicas “terminales bobas” basadas en texto y que llevasen la informática a todo el mundo. Durante aproximadamente un año, los responsables del proyecto celebraron innumerables reuniones, en las que se fueron definiendo las características que debía tener el sistema. De allí salio el Red Book, una especie de hoja de ruta en la que se detallaba cada pieza del puzzle, incluida la interfaz gráfica y sus principales elementos. A partir de ese momento, cualquier cambio en las especificaciones contenidas en el “libro rojo” necesitaba ser aprobada un equipo de revisión encargado de mantener la coherencia del conjunto. La idea era reproducir en la pantalla un entorno de oficina típico, para que una secretaria sin formación especial pudiese trabajar con el ordenador intuitivamente. WYSIWYG, el acrónimo de “What You See Is What You Get” ("lo que ves es lo que obtienes") pasó a ser palabra santa en el SDD.

Pasarían 10 años antes que un PC pudiese hacer esto. (appuntidigitali.it)

WYSIWYG era la clave de todo. Hasta ese momento, el usuario no “veia” en su pantalla el aspecto que tendría una vez que fuese impreso el texto que estaba escribiendo. El ordenador de Xerox utilizaba letras negras sobre un fondo blanco -imitando una hoja de papel- que gracias a un software denominado “interpress” era duplicado exactamente por la impresora. Interpress era un lenguaje de descripción de página desarrollado previamente en PARC, en el que más tarde se basó Postscript. El resto de la interfaz era muy similar a lo que usamos actualmente: iconos que representaban recursos o documentos, que podían ser abiertos en ventanas utilizando el ratón, y los programas adecuados aparecían automáticamente cuando el usuario hacia “click” sobre el icono de un documento. El parecido con las interfaces actuales no es casualidad. Tanto Apple como Microsoft -como veremos en algún artículo futuro- se inspiraron en el trabajo de Xerox para desarrollar sus productos.





El concepto de “objeto” era el corazón del Star. En este ordenador, todo era considerado un objeto. Desde un documento hasta un carácter, todo se trataba de la misma manera: cuando el usuario hacia clic sobre un elemento, se desplegaba una lista de las acciones -Abrir, Mover, Borrar, Copiar, etc- que podía aplicar sobre él. Estos comandos también podían ser invocados mediante el teclado, casi de la misma manera y con las mismas teclas que lo hacemos hoy, 30 años más tarde. Gracias al Red Book todos los programas utilizaban las mismas teclas y comandos para hacer las mismas cosas, algo que nos parece una obviedad pero que hasta ese momento nadie se había preocupado por estandarizar. Las aplicaciones del Star se programaron con un lenguaje de programación orientado a objetos llamado Mesa, en el que más tarde se basarían Modula-2 y Modula-3. Cada módulo tenia dos ficheros. En uno se especificaban las estructuras de datos, métodos y eventos de cada objeto, y en el segundo se implementaba el código que actuaba sobre ellos. Un rígido sistema de control establecido por Xerox obligaba a los programadores a documentar exhaustivamente cada módulo, y cualquier cambio que se hiciese sobre un módulo requería de la aprobación de los directores del proyecto.






El software desarrollado para el Star planteó un duro desafío al equipo encargado de proyectar el hardware. Dolphin, el nombre en código de la plataforma inicial, pronto resultó inadecuada. A mitad del proyecto, el software era tan exigente que el Star demoraba más de media hora en arrancar. El equipo desarrollo una nueva versión llamada Dandelion, equipado con 384KB de memoria RAM (expandible a 1.5MB), un disco duro de 10MB (posteriormente de hasta 40MB), disquetera de 8 pulgadas, monitor monocromo (blanco y negro) de 17 pulgadas, ratón y conexión Ethernet. Para tener una idea de la potencia de este equipo, basta con recordar que el IBM PC, presentado en Agosto de 1981, con su interfaz basada en texto, disponía de solo 64KB de RAM y -eventualmente- un disco duro de 5MB. Por supuesto, todo esto tenia un precio.

Cualquier parecido con MacOs, Linux o Windows no es coincidencia (Marcin Wichary)

El "8010 Star Information System" se vendía en 16 mil dólares, aproximadamente el triple de lo que costaba un PC. Pero no había sido diseñado para trabajar “en soledad”, ya que su esquema basado en servidores de archivos, servidores de impresión y conexiones Ethernet implicaba que cumplir el sueño de disponer del "sistema de oficina personal" costase bastante más. Un sistema típico equipado con dos o tres Xerox Star, un servidor de archivos y un servidor de impresión costaba cerca de 100 mil dólares. Y si ponías algunas monedas más, podías incluir una impresora láser Xerox y convertir tu oficina en la más geek de la calle. Lamentablemente, el Star no se convirtió en un éxito de ventas. Los motivos fueron varios, pero quizás los más importantes hayan sido su precio y la falta de experiencia de Xerox como proveedor de equipos informáticos. La empresa era líder en el mercado de las máquinas copiadoras, pero según algunos no tenia demasiada idea de como vender ordenadores. Se estima que solamente se vendieron unos 25 mil Xerox Star antes que fuesen retirados del mercado.

Solamente se vendiendo 25 mil unidades. Y algunos coleccionistas tienen dos de ellas. (DigiBarn)

Pero a pesar de este fracaso comercial, el Xerox Star fue un ordenador impresionante. Buena parte de la tecnología que han disfrutado los usuarios de ordenadores durante las últimas tres décadas tuvo su origen en esta máquina. El Lisa de Apple, el sistema GEM de Digital Research, la interfaz del Atari ST o el Commodore Amiga, el PostScript de Adobe Systems y hasta el mismísimo Windows se “inspiraron” en el trabajo de Xerox. Cientos de abogados se enriquecieron gracias a los juicios y contra juicios relacionados con los derechos y patentes de estas tecnologías, y casi siempre -debido a la falta de jurisprudencia que había sobre la protección legal de elementos como el software o una GUI- Xerox perdió las batallas. Sin embargo, logró algo muy importante: sentar las bases de la informática moderna. Y eso no es poca cosa. ¿No te parece?

Fuente:
http://www.neoteo.com/retroinformatica-xerox-star-1981.neo