Protocole de communication boîtier/objectif
Les boîtiers et objectifs AF possèdent 5 ou 8 contacts électriques au niveau de la baïonnette, selon leur âge chez Minolta/Sony
Les 5 contacts étaient de mise lorsque seuls les objectifs envoyaient des informations aux boîtiers.
Les 3 contacts supplémentaires sont apparus avec les objectifs motorisés xi (l’information focale était donnée à l’objectif par exemple), les puces D ainsi que le SSM.
Il s’agit d’un port série, type SPI (je crois que c’est Motorola qui en est à l’origine), dont le détail des fonctions est :
MISO (Master In Slave Out) = ligne d’envoi des informations de l’objectif vers le boîtier.
Vcc = +5 V d’alimentation du microprocesseur de l’objectif
Clock = signal d’horloge qui bat la mesure en quelque sorte pour indiquer quand l’information doit être lue.
SS = c’est une ligne qui indique quand l’échange a lieu et que les informations qui passent doivent être lues. Cette ligne pourrait être supprimée car plutôt utile en cas de multiprocesseur. D’ailleurs, Canon n’utilise pas cette ligne, considérant que les 2 communiquent tout le temps.
GND = bien sûr, la masse.
MOSI (Master out Slave In) = l’inverse de MISO, c’est par là que passent les informations venant du boîtier vers l’objectif.
Vcc objectif = c’est l’alimentation séparée + 5V pour le moteur de l’objectif.
Les informations sont envoyées en binaire, soit une série de 0 et de 1. 0 = 0V et 1 = 5V.
Le principe est le suivant :
La ligne SS passe à 0V. Cela indique que l’échange d’informations aura lieu.
Clock passe à 1 (donc +5V, vous avez suivi…) pendant quelques μs puis retombe à 0. C’est exactement à ce moment que les informations sur les lignes MISO et MOSI seront lues : 0V pour 0 et +5V pour 1. Vous avez tout compris.
Un octet est composé de plusieurs bits, 8 en l’occurrence.
C’est le boîtier qui pilote tout ça, l’objectif ne fait qu’obéir aux ordres.
Pour faciliter la compréhension, les données binaires sont transformées en données hexadécimales. Ainsi par exemple 10110101 est noté aussi B5 ou 0xB5 pour ne pas confondre avec le décimal (10 en hexa = 16 en décimal…).
Le premier octet envoyé par l’objectif est 0xFF, soit en binaire 11111111. Il indique la présence d’un objectif.
Donc le signal aura cette tête là au début (vous pouvez le vérifier plus haut sur l'exemple du 20 2,8 old) :
Chaque octet a sa signification.
Le premier est donc toujours 0xFF.
Le second indique le type de puce (nombre d’octet,…)
Le 3ème donne l’ouverture maxi et le 4ème la mini.
Le 5ème octet donne la valeur du glissement de l’ouverture.
La focale se retrouve sur l’octet 9.
Le bit 3 de l’octet 11 indique si le bouton de certains objectifs est appuyé ou non.
Le fonctionnement des SSM, puces D et autres xi se base sur une série d’échanges. C'est là qu'interviennent les 3 contacts supplémentaires.
On va imaginer que le boîtier pose une question sur un octet et l’objectif lui répond sur l’autre. Cette question peut être un ordre. Par exemple, de faire un pas de mise au point vers l’infini ou l’inverse.
Donc sur le premier octet, l’appareil envoie un ordre via la ligne MOSI (qui peut être tout simplement : identifie-toi, donne-moi la suite des 33 ou 46 octets de base). La réponse de l’objectif arrive sur l’octet 2 via MISO. Le boîtier envoie en même temps un 2ème ordre sur la ligne MOSI (toujours sur l’octet 2). La réponse arrivera donc sur l’octet 3, ainsi de suite.
Ces séquences d’ordre ne prennent que quelques octets, moins de 10.
Ca peut être schématisé ainsi :
Commentaires
A quand un article qui explique le fonctionnement de la puce D ?
merci d'avance.
Pour être honnête, je n'ai pas plus de soucis d'expo avec les objectifs à 5 contacts qu'avec ceux à 8... qui peut le plus peut le moins... :wink:
Sur mon objectif je n'ai que 5 contacts cela signifie que mon moteur est dans le boitier ?
S’abonner au flux RSS pour les commentaires de cet article.