Bus de escritorio de Apple

Toma ADB

El Apple Desktop Bus (o ADB , que puede traducirse como " Apple Desktop Bus ") es un bus en serie diseñado para conectar periféricos de baja velocidad a una computadora.

Computadoras compatibles

El primer sistema en utilizar ADB fue el Apple IIgs en 1986 . Más tarde, se usó en todos los Macintosh de Apple desde Macintosh II y Macintosh SE , antes de ser reemplazado por USB a fines de la década de 1990 en el iMac y el sucesor de Macintosh . ADB también se usó en la serie posterior de computadoras NeXT, máquinas denominadas "Turbo ADB". Ya no hay computadoras más nuevas que usen ADB para conectar periféricos , pero hasta febrero de 2005 , PowerBooks e iBooks todavía usaban un puerto ADB interno como interfaz de comunicación con el teclado y el trackpad integrados. La conexión interna ahora es una interfaz USB .

La invención

El sistema fue creado por Steve Wozniak (cofundador de Apple ), quien a mediados de los 80 estaba buscando un proyecto; Se propuso crear un nuevo sistema de conexión para periféricos como ratones y teclados , enchufándolos a la cadena con un solo cable además de económico. Se dice que se fue por un mes y regresó con el ADB.

Operación

Utiliza un solo pin para los datos, lo que lo convierte en uno de los buses más baratos. Todo el sistema se basa en dispositivos capaces de decodificar un solo número (la dirección) y almacenar algunos bits de datos (los registros ). ADB se puede implementar por menos de una moneda de diez centavos, y el conector cuesta más que la electrónica.

Todo el tráfico del bus está controlado por la computadora host, que envía comandos de lectura y escritura de datos: los dispositivos no pueden usar el bus a menos que la computadora les pida que lo hagan primero. Estas solicitudes toman la forma de un solo byte: los 4 bits más significativos contienen la dirección, es decir el identificador del dispositivo en la cadena, lo que permite conectar hasta 16 dispositivos en un solo bus; los dos bits siguientes especifican uno de los cuatro comandos y los dos últimos bits indican uno de los cuatro registros . Los comandos son:

Por ejemplo, si el mouse tiene la identidad $ 3, la computadora enviará periódicamente un mensaje en el bus que se verá así:

0011 11 00

Esto significa que el dispositivo número tres ( 0011) debe hablar ( 11), devolviendo así el contenido del registro cero ( 00). Para un mouse, esto significa "Dime si se hizo clic en el botón". Esto suele ir seguido de dos comandos adicionales que solicitan el contenido de los registros 1 y 2, los desplazamientos en x y en y (horizontal y vertical). El registro 3 siempre contiene información del dispositivo . De esta manera, se podría implementar un mouse con 4 bytes de memoria y un controlador muy simple.

El direccionamiento y la enumeración de dispositivos son igual de inteligentes: las direcciones de los dispositivos adquieren un valor predeterminado cuando se restablecen. Por ejemplo, todos los teclados toman el valor de $ 2 y todos los ratones toman el valor de $ 3. Cuando la computadora está encendida, el controlador ADB escanea todas estas direcciones por defecto, preguntándoles respectivamente por el contenido de su registro 3. Si no hay respuesta para una dirección en particular, la computadora la considera inexistente en el bus y no considérelo después.

Si un dispositivo responde, dice que se está moviendo a una nueva dirección aleatoria. La computadora responde a esta nueva dirección con un comando que le pide que se mueva a otra dirección. Esta técnica de bootstrap permite tener la certeza de que el periférico en cuestión está funcionando correctamente, que el ordenador constituya una lista de periféricos y finalmente utilizar varios periféricos del mismo tipo simultáneamente.

Dado que todos los teclados tienen la dirección $ 2 y, por lo general, solo tiene un teclado conectado a la computadora , no surge ningún problema aquí; por tanto, responde a esta dirección. Pero los dispositivos se activan después de un pequeño período de tiempo, evitando el problema de múltiples respuestas simultáneas: después de recibir el mensaje del host, los dispositivos esperan un breve período de tiempo aleatorio antes de responder mientras verifican que el bus n no se usa en esta vez. Si conecta dos teclados , o más simplemente dos tabletas gráficas , en la primera inicialización uno de los dos responderá en el bus , mientras que los demás notarán que el bus está en uso y no responderá. El anfitrión responderá otro mensaje a esa dirección original, pero como uno de los dos dispositivos se ha movido a una nueva dirección, el otro responderá. Este proceso continúa hasta que no responden más dispositivos ; Así es como la computadora crea su lista de dispositivos .

Dada la simplicidad del sistema, no sorprende que el cableado sea sencillo. El pin de datos único se llama ADB y está respaldado por una fuente de alimentación de +  5V y tierra. El pin +  5V garantiza al menos  500 mA y los dispositivos no deben consumir más de  100 mA cada uno. Curiosamente, el cable ADB incluye un pin PSW que se conecta directamente a la fuente de alimentación del ordenador , para permitir que el ordenador se encienda mediante una tecla del teclado , y esto sin necesidad de software para interpretar la señal.

Los cables utilizados son los mismos que los cables S-Video.

Débito

La velocidad teórica del bus es de 125 kbit / s. Sin embargo, el rendimiento práctico es como mucho dos veces menor, ya que solo se comparte un pin entre transmisiones y recepciones. En casos reales, el rendimiento sigue siendo mucho menor, ya que depende de la computadora controlar el bus .

Desventajas

Mac OS no es particularmente adecuado para la tarea constante de transmisión y recepción, y el bus a menudo avanza a 10 kbit / s.

Otro problema es la falta de reset en el bus , que no permite que los periféricos señalen un cambio en la cadena, evitando así la conexión en caliente de los periféricos .

Sucesor

En el caso de los ratones, USB reemplazó a ADB. El Apple USB Mouse fue el primer mouse en hacer esta transición.

Enlace externo