Articulo de referencia

Apple Desktop Bus

(~10 kbit/s actual)"},"data_devices":{"wt":"16 maximum (~5 actual, 3 supported)"},"data_style":{"wt":"Serial"},"physical_connector":{"wt":"[[Mini-DIN]]"},"num_pins":{"wt":"...

Apple Desktop Bus (ADB) es un bus periférico serie de bits propietario [ 1 ] que conecta dispositivos de baja velocidad a ordenadores. Se introdujo en el Apple II GS en 1986 como una forma de admitir dispositivos de bajo coste como teclados y ratones, permitiendo que se conectaran en cadena sin necesidad de concentradores u otros dispositivos. Apple Desktop Bus se introdujo rápidamente en modelos posteriores de Macintosh , en modelos posteriores de ordenadores NeXT , y también tuvo algunos otros usos de terceros. Al igual que el conector PS/2 similar utilizado en muchos PC compatibles en ese momento, Apple Desktop Bus fue rápidamente reemplazado por USB cuando ese sistema se popularizó a finales de la década de 1990; el último puerto externo Apple Desktop Bus en un producto de Apple fue en 1999, aunque siguió siendo un bus interno en algunos modelos de Mac hasta la década de 2000.

Historia

AppleBus

Al principio del desarrollo del ordenador Macintosh, el equipo de ingeniería seleccionó el bastante sofisticado Zilog 8530 para gestionar las comunicaciones serie. Esto se hizo inicialmente para permitir la conexión de varios dispositivos a un único puerto, utilizando protocolos de comunicación sencillos implementados en el 8530 para que pudieran enviar y recibir datos con el ordenador anfitrión. La idea era permitir la conexión de varios dispositivos a un puerto, eliminando la necesidad de utilizar diferentes tipos de puertos o ranuras de expansión . [ 2 ]

Durante el desarrollo del sistema AppleBus, la conectividad en red se convirtió en una característica fundamental de cualquier sistema informático. Al carecer de ranuras para tarjetas, el Macintosh no podía incorporar fácilmente compatibilidad con Ethernet ni con estándares de red de área local similares . El trabajo en AppleBus se reorientó hacia la conectividad en red y se lanzó en 1985 como el sistema AppleTalk . Esto dejó al Mac con los puertos originales de un solo propósito para ratón y teclado, y sin un sistema de propósito general para dispositivos de baja velocidad. [ 2 ]

Apple Desktop Bus

El primer sistema en utilizar Apple Desktop Bus fue el Apple II GS de 1986. Se utilizó en todas las máquinas Apple Macintosh a partir del Macintosh II y el Macintosh SE . Apple Desktop Bus también se utilizó en modelos posteriores de computadoras NeXT. [ 3 ] La gran mayoría de los dispositivos Apple Desktop Bus son para entrada, incluyendo trackballs , joysticks , tabletas gráficas y dispositivos similares. Los usos de propósito especial incluyeron dongles de protección de software e incluso el módem TelePort .

Mover a USB

El primer Macintosh que dejó de usar el protocolo Apple Desktop Bus fue el iMac en 1998, que lo sustituyó por USB . El último ordenador de Apple con puerto Apple Desktop Bus fue el Power Macintosh G3 (azul y blanco) en 1999. Los PowerBook e iBook basados ​​en PowerPC seguían utilizando el protocolo Apple Desktop Bus en la interfaz interna con el teclado y el panel táctil integrados . Los modelos posteriores utilizan un panel táctil USB.

Diseño

Físico

En consonancia con la filosofía general de diseño industrial de Apple, el Apple Desktop Bus se diseñó para ser lo más sencillo posible de usar, a la vez que económico de implementar. Se encontró un conector adecuado en el mini-DIN de 4 pines , que también se utiliza para S-Video . De hecho, muchos cables S-Video pueden usarse con éxito en lugar de sus equivalentes ADB. Sin embargo, en algunos cables (principalmente de gama baja), los pines uno y dos están puenteados, lo que puede provocar daños graves en el sistema o en el dispositivo ADB. Los conectores son pequeños, fáciles de conseguir y solo se pueden insertar de la forma correcta. No se bloquean en su posición, pero incluso con un ajuste por fricción, son lo suficientemente firmes para tareas sencillas como ADB.

El protocolo ADB requiere solo un pin para datos, etiquetado como Apple Desktop Bus . La señal de datos se autosincroniza enviando un 0 como bajo durante 65 microsegundos y alto durante 35 μs, mientras que el envío de un 1 utiliza la temporización opuesta. [ 4 ] Es un diseño de colector abierto multidrop con pull-ups a 5  V y utiliza detección de colisiones para evitar conflictos de ID de dispositivo, así como estiramiento de reloj en el bit de parada para indicar que un dispositivo requiere una solicitud de servicio. [ 4 ] Dos de los otros pines se utilizan para alimentación de +5 V y tierra. El pin de +5 V garantiza al menos 500 mA y requiere que los dispositivos utilicen solo 100 mA cada uno. ADB también incluye el pin PSW (Power Switch), que se conecta directamente a la fuente de alimentación del ordenador host. Esto se incluye para permitir que una pulsación de tecla en el teclado inicie la máquina sin necesidad de que el software ADB interprete la señal. En los diseños más modernos, un microcontrolador auxiliar se mantiene siempre en funcionamiento, por lo que resulta económico utilizar una orden de encendido a través del canal USB estándar.

El circuito integrado específico de aplicación (ASIC) del transceptor de decodificación , así como las patentes asociadas , estaban bajo el control de Apple; esto obligaba a los proveedores a trabajar con Apple. En el Macintosh SE, el bus de escritorio de Apple se implementa en un microcontrolador Microchip PIC16CR54 de la marca Apple.

ADB está implementado en un microcontrolador Microchip PIC antiguo en el Macintosh SE.

Comunicación

El sistema Apple Desktop Bus se basa en la capacidad de los dispositivos para decodificar un único número (la dirección ) y almacenar pequeñas cantidades de datos (sus registros ). Todo el tráfico en el bus es gestionado por el ordenador anfitrión, que envía comandos para leer o escribir datos: los dispositivos no pueden usar el bus a menos que el ordenador lo solicite previamente.

Estas solicitudes se presentan como cadenas de un solo byte . Los cuatro bits superiores contienen la dirección, el ID de uno de los dispositivos en la cadena. Estos cuatro bits permiten hasta 16 dispositivos en un solo bus. Los dos bits siguientes especifican uno de cuatro comandos, y los dos últimos indican uno de cuatro registros. Los comandos son:

  • talk- Indica al dispositivo seleccionado que envíe el contenido de un registro al ordenador.
  • listen- indica al dispositivo que configure el registro con el siguiente valor.
  • flush- Borrar el contenido de un registro seleccionado
  • reset- Indica a todos los dispositivos del bus que se reinicien.

Por ejemplo, si se sabe que el ratón está en la dirección $D, el ordenador enviará periódicamente un mensaje de 1 byte por el bus que tendrá un aspecto similar a este:

1101 11 00

Esto indica que el dispositivo $D (1101) debe comunicarse (11) y devolver el contenido del registro cero (00). Para un ratón, esto significa "indícame los últimos cambios de posición". Los registros pueden contener entre dos y ocho bytes. El registro cero suele ser el canal de comunicación principal. Los registros uno y dos no están definidos y generalmente se utilizan para que desarrolladores externos almacenen información de configuración. El registro tres siempre contiene información de identificación del dispositivo.

Enumeración e identificación

Las direcciones y la enumeración de los dispositivos se restablecen a sus valores predeterminados al reiniciarse. Por ejemplo, todos los teclados se configuran en $2 y todos los ratones en $3. Al encender el equipo por primera vez, el controlador de dispositivo ADB envía talkcomandos solicitando a cada una de estas direcciones predeterminadas conocidas, una por una, el contenido del registro tres. Si no se recibe respuesta de una dirección en particular, el equipo la marca como inactiva y no intenta consultarla posteriormente.

Si un dispositivo responde, lo hace indicando que se está moviendo a una nueva dirección superior seleccionada aleatoriamente. El ordenador responde entonces enviando otro comando a esa nueva dirección, solicitando al dispositivo que se mueva a otra nueva dirección. Una vez completado este proceso, el dispositivo se marca como activo y el sistema continúa consultándolo periódicamente. Cuando todos los dispositivos se han enumerado de esta manera, el bus está listo para su uso.

Aunque no era común, es posible que el bus de escritorio de Apple tenga más de un dispositivo del mismo tipo conectado, como dos tabletas gráficas o adaptadores de protección anticopia de software . En este caso, cuando solicita dispositivos en esa dirección predeterminada, ambos responderán y podría producirse una colisión. Los dispositivos incluyen una pequeña variación de tiempo que les permite evitar este problema. Tras recibir un mensaje del host, los dispositivos esperan un breve tiempo aleatorio antes de responder, y solo lo hacen después de comprobar que el bus no esté ocupado.

Por ejemplo, con dos dongles conectados, cuando el bus se está configurando y consulta esa dirección, uno de ellos responderá primero debido al temporizador de espera aleatorio. El otro detectará que el bus está ocupado y no responderá. El host enviará entonces otro mensaje a la dirección original, pero como un dispositivo se ha movido a una nueva dirección, solo el otro responderá. Este proceso continúa hasta que ningún dispositivo responde a la solicitud en la dirección original, lo que significa que no hay más dispositivos de ese tipo para enumerar.

La velocidad de transmisión de datos en el bus es teóricamente de hasta 125  kbit/s. Sin embargo, el rendimiento real es, en el mejor de los casos, la mitad, debido a que solo se comparte un pin entre el ordenador y los dispositivos. En la práctica, el rendimiento es aún menor, ya que todo el sistema dependía de la velocidad de sondeo del bus por parte del ordenador. El sistema operativo Mac OS clásico no es especialmente adecuado para esta tarea, y el bus suele ralentizarse hasta unos 10  kbit/s. Los primeros módems Teleport, que funcionaban a 2400  bit/s, no tenían problemas para usar el bus de escritorio de Apple, pero los modelos posteriores se vieron obligados a utilizar los puertos RS-422, más caros , a medida que las velocidades aumentaban a 14,4  kbit/s o más.

Problemas

Si bien los conectores Mini-DIN no se pueden enchufar de forma incorrecta, es posible tener dificultades para encontrar la correcta sin mirar dentro de la carcasa circular del conector. Apple intentó facilitar la tarea utilizando agarres de plástico blando en forma de U alrededor de los conectores para guiar tanto los enchufes como las tomas, de modo que el lado plano tenga una relación específica con la ranura de la carcasa, pero algunos fabricantes de terceros ignoraron esta característica. Además, existen cuatro formas de orientar la toma receptora en un dispositivo como un teclado; varios teclados de Apple utilizan al menos tres de estas posibles orientaciones.

El conector mini-DIN solo está clasificado para 400 inserciones y es fácil doblar un pin si no se inserta con cuidado; además, el zócalo puede aflojarse, lo que provoca un funcionamiento intermitente.

Algunos dispositivos Apple Desktop Bus carecen de un conector de paso, lo que imposibilita conectar en cadena más de uno a la vez sin utilizar adaptadores poco comunes. Pocos ratones o trackballs los incluyen.

A pesar de ser eléctricamente inseguro para el intercambio en caliente en casi todas las máquinas, ADB cuenta con todas las capacidades básicas necesarias para el intercambio en caliente (como los buses modernos) implementadas en su software y hardware. En prácticamente todos los sistemas Apple Desktop Bus originales, no es seguro conectar un dispositivo una vez que el sistema está encendido. Esto puede provocar que se abra un fusible soldado en la placa base. Si se lleva a un distribuidor autorizado, esto puede resultar en un reemplazo de la placa base con un costo significativo. La alternativa más sencilla es obtener un fusible a un costo mínimo y conectarlo en paralelo al fusible abierto de la placa base (no necesariamente requiere soldadura ).

Patentes

  • 4.875.158 Ashkin; Peter B. (Los Gatos, CA), Clark; Michael (Glendale, CA)
  • 4.910.655 Ashkin; Peter B. (Los Gatos, CA), Clark; Michael (Glendale, CA)
  • 4.912.627 Ashkin; Peter B. (Los Gatos, CA), Clark; Michael (Glendale, CA)
  • 4.918.598 Ashkin; Peter B. (Los Gatos, CA), Clark; Michael (Glendale, CA)
  • 5.128.677 Donovan; Paul M. (Santa Clara, CA), Caruso; Michael P. (Sudbury, MA)
  • 5.175.750 Donovan; Paul M. (Santa Clara, CA), Caruso; Michael P. (Sudbury, MA)
  • 5.828.857 Scalise; Albert M. (San José, California)

Véase también

Referencias

  1. "ADB - La historia no contada: los extraterrestres se comieron mi ratón", sección "Licencias" archivada el 27 de diciembre de 2016 en Wayback Machine ; véase también la sección de Patentes de esta página.
  2. 1 2 Oppenheimer, Alan (enero de 2004). "Una historia de las redes Macintosh" . MacWorld Expo . Archivado del original el 16 de octubre de 2006.
  3. ""NetBSD/next68k: Preguntas frecuentes"" . Archivado del original el 29 de octubre de 2013 . Recuperado el 25 de octubre de 2013 .
  4. 1 2 Apple Computer, Inc. (1990). "Guía de hardware de la familia Macintosh, segunda edición" . págs. 317-320. ISBN  0-201-52405-8.
  • Acerca del gerente del ADB
  • Documentación de Apple sobre el protocolo ADB
  • Documentación de Apple sobre el puerto ADB
  • Especificación completa del hardware de los dispositivos y el protocolo ADB (Guía de Apple para el hardware de la familia Macintosh)
  • Nota de aplicación de Microchip sobre el desarrollo de dispositivos ADB
Obtenido de " https://en.wikipedia.org/w/index.php?title=Apple_Desktop_Bus&oldid=1358042496 "