Apple Desktop Bus 227586 28426057 2008-04-07T15:48:36Z Alexbot 327431 robot Modifie: [[fi:ADB (tietotekniikka)]] {{voir homonymes|ADB}} [[Image:Prise_ADB.jpg|200px|right|Prise ADB]] L''''Apple Desktop Bus''' (ou '''ADB''', que l'on peut traduire « bus de bureau Apple ») est un bus série conçu pour connecter des [[Périphérique informatique|périphérique]]s bas débit à un ordinateur. ==Ordinateurs compatibles== Le premier système à avoir utilisé l'ADB était l'[[Apple II]]gs en [[1986]]. Par la suite, il a été utilisé sur tous les [[Macintosh]] d'[[Apple, Inc.|Apple]] à partir du [[Macintosh II]] et du [[Macintosh SE]], avant qu'il soit remplacé par l'[[USB]] à la fin des [[années 1990]] dans l' [[iMac]] et les [[Macintosh]] lui succédant. L'ADB a aussi été utilisé dans les dernières séries d'[[ordinateur]]s NeXT, machines surnommées « Turbo ADBs ». Plus aucun nouvel ordinateur n'utilise l'ADB pour connecter des [[Périphérique informatique|périphérique]]s, mais jusqu'en février [[2005]], les [[PowerBook]] et les [[iBook]] utilisaient toujours un port ADB interne comme interface de communication avec le [[clavier informatique|clavier]] et le [[trackpad]] embarqués. La connexion interne est maintenant en interface [[USB]]. ==L'invention== Le système a été créé par [[Steve Wozniak]] (co-fondateur d'[[Apple, Inc.|Apple]]), qui se cherchait au milieu des [[années 1980]] un projet ; on lui a proposé de créer un nouveau système de connexion pour les [[Périphérique informatique|périphérique]]s tels que les [[souris (informatique)|souris]] et les [[clavier informatique|claviers]], se branchant à la chaîne avec un seul câble ainsi que bon marché. On raconte qu'il serait parti durant un mois et revenu avec l'ADB. ==Fonctionnement== Comme la plupart des inventions de [[Steve Wozniak]], l'ADB est un système très ingénieux. Il utilise une seule broche pour les données, ce qui en faisait l'un des [[bus informatique|bus]] les meilleurs marchés. Le système complet est basé sur des dispositifs capables de décoder un seul nombre (l'adresse) et de mémoriser quelques bits de données (les [[Registre (informatique)|registre]]s). l'ADB peut être implémenté pour moins d'un centime, le connecteur coûtant plus cher que l'électronique. [[Image:Broches_prise_ADB.jpg|thumbnail|300px|right|Prise ADB]] Tout le trafic du [[bus informatique|bus]] est contrôlé par l'[[ordinateur]] hôte, qui envoie les ordres de lecture et d'écriture de données : les [[Périphérique informatique|périphérique]]s ne sont pas autorisés à utiliser le bus à moins que l'[[ordinateur]] ne le leur demande préalablement. Ces requêtes prennent la forme d'un seul octet : les 4 bits de poids fort contiennent l'adresse, c'est-à-dire l'identifiant du [[Périphérique informatique|périphérique]] sur la chaîne, permettant donc de connecter jusqu'à 16 périphériques sur un seul bus ; les deux bits suivants spécifient une commande parmi quatre, et les deux derniers bits indiquent un [[Registre (informatique)|registre]] parmi quatre. Les commandes sont : * <code>talk</code> (parle) - envoie le contenu d'un [[Registre (informatique)|registre]] à l'ordinateur * <code>listen</code> (écoute) - définit la valeur du [[Registre (informatique)|registre]] à la valeur succédant * <code>flush</code> (nettoie) - efface le contenu du [[Registre (informatique)|registre]] * <code>reset</code> (réinitialise) - signifie à tous les [[Périphérique informatique|périphérique]]s du bus de se réinitialiser Par exemple, si la [[souris (informatique)|souris]] possède l'identité $3, l'[[ordinateur]] va périodiquement envoyer un mesage sur le [[bus informatique|bus]] qui ressemblera à : <code>0011 11 00</code> [[Image:Apple-ADB-mouse.jpg|thumbnail|300px|right|Une souris ADB Apple]] Ceci signifie que le [[Périphérique informatique|périphérique]] numéro trois (<code>0011</code>) doit parler (<code>11</code>), donc retourner le contenu du registre zéro (<code>00</code>). Pour une [[souris (informatique)|souris]] ceci signifie « Dis-moi si le bouton a été cliqué ». Ce qui est habituellement suivi de deux commandes supplémentaires demandant le contenu des registres 1 et 2, les déplacements en x et en y (horizontal et vertical). Le registre 3 contient toujours les informations du [[Périphérique informatique|périphérique]]. Une [[souris (informatique)|souris]] pourrait de cette façon être implémentée avec 4 octets de [[Mémoire informatique|mémoire]] et un contrôleur très simple. L'adressage du [[Périphérique informatique|périphérique]] et l'énumération est tout autant astucieuse : les adresses des [[Périphérique informatique|périphérique]]s prennent une valeur par défaut en cas de réinitialisation. Par exemple, tous les [[clavier informatique|claviers]] prennent la valeur $2 et toutes les [[souris (informatique)|souris]] prennent la valeur $3. Quand l'[[ordinateur]] est mis sous tension, le driver ADB scanne toutes ces adresses par défaut, leur demandant respectivement le contenu de leur [[Registre (informatique)|registre]] 3. S'il n'y a pas de réponse pour une adresse particulière, l'[[ordinateur]] le considère inexistant sur le [[bus informatique|bus]] et ne le considère pas par la suite. Si un [[Périphérique informatique|périphérique]] répond, il dit qu'il se place à une nouvelle adresse aléatoire. L'[[ordinateur]] répond à cette nouvelle adresse par une commande qui lui demande de se déplacer vers une autre adresse. Cette technique de bootstrap permet d'être sûr que le [[Périphérique informatique|périphérique]] en question fonctionne correctement, pour l'[[ordinateur]] de constituer une liste de [[Périphérique informatique|périphérique]]s, et enfin d'utiliser plusieurs [[Périphérique informatique|périphérique]]s du même type simultanément. Étant donné que tous les [[clavier informatique|claviers]] sont en $3, et que l'on n'a généralement qu'un [[clavier informatique|clavier]] branché à l'[[ordinateur]], aucun problème se pose dans ce cas-là ; il répond donc à cette adresse. Mais les [[Périphérique informatique|périphérique]]s sont activés après un petit laps de temps, permettant d'éviter le problème de multiples réponses simultanées : après avoir reçu le message de l'hôte, les [[Périphérique informatique|périphérique]]s attendent une durée aléatoire courte avant de répondre tout en vérifiant que le [[bus informatique|bus]] n'est pas employé à ce moment-là. Si vous branchez deux [[clavier informatique|claviers]], ou plus simplement deux [[tablette graphique|tablettes graphiques]], à la première initialisation un des deux répondra sur le [[bus informatique|bus]], alors que les autres remarqueront que le [[bus informatique|bus]] est utilisé et ne répondront pas. L'hôte répondra un aure message à cette adresse d'origine, mais puisqu'un des deux [[Périphérique informatique|périphérique]]s s'est déplacé à une nouvelle adresse, l'autre répondra alors. Ce procédé continue jusqu'à ce que plus aucun [[Périphérique informatique|périphérique]] ne réponde ; C'est ainsi que l'[[ordinateur]] construit sa liste de [[Périphérique informatique|périphérique]]s. Étant donnée la simplicité du système, il n'est pas surprenant que le câblage soit simple. La broche unique de données est appelée ADB, et est doublée d'une alimentation +5 V et masse. La broche +5 V garantit au moins 500 mA et les périphériques ne doivent pas consommer plus de 100 mA chacun. Curieusement, le câble ADB comprend une broche PSW qui est directement connectée à l'alimentation électrique de l'[[ordinateur]], ceci afin de permettre d'allumer l'[[ordinateur]] à l'aide d'une touche du [[clavier informatique|clavier]], et ceci sans avoir besoin de [[logiciel]] pour interpréter le signal. Les câbles employés sont les mêmes que les câbles S-Video. ==Débit== Le débit théorique du [[bus informatique|bus]] est 125 kbit/s. Cependant le débit réel est au maximum deux fois moindre, puisqu'une seule broche est partagée entre les émissions et les réceptions. Dans les cas réels, le débit est encore bien inférieur, puisque c'est à l'[[ordinateur]] de piloter le [[bus informatique|bus]]. ==Inconvénients== [[Mac OS]] n'est pas particulièrement adapté à la tâche d'émission-réception constante, et le [[bus informatique|bus]] se traîne souvent à 10 kbit/s. Un autre problème est l'absence de reset sur le [[bus informatique|bus]], qui ne permet pas aux [[Périphérique informatique|périphérique]]s de signaler un changement sur la chaîne, interdisant ainsi le branchement à chaud de [[Périphérique informatique|périphérique]]s. == Lien externe (en anglais) == * http://developer.apple.com/techpubs/mac/Devices/Devices-205.html {{Portail|Apple Macintosh}} [[Catégorie:Connectique]] [[Catégorie:Apple]] [[de:Apple Desktop Bus]] [[en:Apple Desktop Bus]] [[es:Apple Desktop Bus]] [[et:Apple Desktop Bus]] [[fi:ADB (tietotekniikka)]] [[it:Apple Desktop Bus]] [[ja:Apple Desktop Bus]] [[pl:Apple Desktop Bus]] [[ru:Apple Desktop Bus]]