Chapitre 5 : PROTOCOLE I2C Permet la communication entre différentes technologi

Chapitre 5 : PROTOCOLE I2C Permet la communication entre différentes technologies Peut marcher sur 5V et 3.3V SDA le port qui transmet des données Abonné= tt élément du bus Maitre tout abonné qui prend l’initiative de transmettre des données Le maitre applique l’horloge sur SCL Esclave adressé par un maitre Adresse= numéro attribué à un esclave CABLAGE Les lignes SCL et SDA sont à VDD si personne ne parle. Pour mettre 1 sur SCL on applique une résistance infinie entre l’abonné 1 et SCL, la résistance Rp infiniment petit devant l’autre, on aura VDD à peu près égale à SCL. Donc la ligne est à 1. Pour mettre 0 on force SCL à la masse. Initialement scl et sda sont à 1. Pour envoyer des données, le maitre met SDA à 0 avant SCL. Ainsi on sait que y’a quelqu’un qui veut parler. En même temps, l’esclave ne fait rien. C’est le start. Maintenant tt le monde attend l’adresse Le maitre change SDA si nécessaire pendant l’état bas de SCL et est stable pendant l’état haut de SCL. On envoie les 7 bits d’adresse. Et le maitre précise si on est en lecture ou en écriture en mettant respectivement R/W à 1 ou à 0. Apres ca l’esclave fait un acquittement pour montrer qu’il a reçu l’info. Ensuite on l’envoi de l’info par le maitre en écriture ou par l’esclave en lecture. A B C Adresse à 7 bits Consigne à 8 bits Écriture Lecture Adresse Consigne e Pour la lecture et l’écriture, l’esclave ne réagit pas sur SCL. Cependant pour l’état d’attente, l’esclave force SCL à 0 le temps necessaire pour faire le traitement avant d’envoyer l’info au maitre ou de recevoir l’info via le maitre. Quand on force SCL à 0, la ligne est bloquée. Condition de stop SCL passe à 1 avant SDA. ARBITRAGE ENTRE LES MAITRES Si deux maitres tentent de démarrer un échange simultanément, le premier qui dit 1 sur SDA a perdu. Car qd on met la ligne à la masse, il est tjrs à 0 meme si un autre le met à 1, c’est le 0 qui l’emporte. Quand toute la ligne est à 1 on peut supposer qu’elle est libre. L’esclave n’a qu’une seule information à donner. On veut réaliser un programme qui lorsqu’on passe devant une maison détecte notre présence et allume la lampe Matériels Detecteur de mvt, lampe, cablerie, microcontroleur, transformateur 230/5V Const device sert à présicer le module de cubloc utilisé ‘’Do … loop’’ nous permet de créer une boucle. ‘’Input numéroport’’ pour declarer un port d’entrée ‘’Output numéroport’’ pour declarer un port de sortie Delay pour la temporisation ‘’in(numéroport)=valeur’’ pour affecter une valeur à une entrée ‘’Out numéroport,valeur’’ pour affecter une valeur à une sortie Pour commenter on met une apostrophe. La programmation de cette application par le basic n’est pas la meilleure solution car si on avait plusieurs ligne de code il pouvait y avoir des confusions. Avec le ladder c’est plus intéressent du fait que y’a une execution simultanée de toutes les lignes de code. Pour activer le ladder, on le précise au basic en mettant ‘’set ladder on’’ Et on précise sur le basic quel port utiliser sur le ladder avec ‘’usepin numéroport, in or out , nom(exemple detmvt)’’ F8 permet une automaintien Pour nommer notre lampe, on utilise ‘’setout lampe’’ uploads/Litterature/ protocole-i2c-chapitre-5 1 .pdf

  • 34
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager