BONSOIR
est ce que quelqu'un peut me faire une comparaison entre les interfaces de communication UART,SP,I2C ????
Merci d'avance
-----
BONSOIR
est ce que quelqu'un peut me faire une comparaison entre les interfaces de communication UART,SP,I2C ????
Merci d'avance
10 secondes de gogol : https://www.swarthmore.edu/NatSci/ec...(10)Serial.pdf
Bonsoir
UART (Universal Asynchronous Receiver Transmitter) = interface série asynchrone
- une ligne véhiculant un signal d'un émetteur (TX) vers un récepteur (RX)
- deux lignes indépendantes pour une liaison bidirectionnelle
- full-duplex possible
- pas d'horloge, la synchronisation de l'émetteur et le récepteur repose sur une fréquence de transmission fixe assez précise, et sur l'émission d'un bit de START au début de chaque octet (ou mot) de donnée transmis
- au moins un bit de STOP pour l'espacement entre octets (ou mots) de donnée transmis
- un bit de parité optionnel pour le contrôle de transmission
- possibilité d'y adjoindre des lignes véhiculant des signaux de contrôle matériel (handshake), par exemple DTR, RTS, CTS, DCD, DSR et RI pour le protocole RS232
- utilisable sur de longues distances.
SPI (Serial Peripheral Interface) = interface série synchrone
- liaison entre un maître (master) et un esclave (slave)
- au moins deux lignes, l'une véhiculant un signal de donnée (MOSIm-->MISOs pour maître vers esclave, ou MISOs-->MOSIm pour esclave vers maître) et l'autre un signal d'horloge (SCLK) émis par le maître et permettant l'échantillonnage des bits de données
- au moins trois lignes (MOSIm-->MISOs, MISOs-->MOSIm et SCKm-->SCKs) pour une liaison bidirectionnelle
- full-duplex
- possibilité pour le maître de communiquer avec un esclave parmi plusieurs branchés en parallèle, grâce à un signal de sélection optionnel (SS) propre à chaque esclave
- limité à de courtes distances du fait de la synchronicité entre les lignes.
I2C (Inter-Integrated Circuit) = bus informatique série, synchrone
- bus partagé par un ou plusieurs maîtres et un ou plusieurs esclaves,
- bifilaire : une ligne véhicule le signal d'horloge issu d'un maître (SCL), l'autre ligne véhicule les données (SDA)
- bidirectionnel half-duplex : un seul émetteur (maître ou esclave) "parle" sur la ligne de données à la fois
- un protocole gérant les collisions permet le partage du bus entre plusieurs maîtres
- une adresse unique est attribuée a priori à chaque esclave
- un maître sélectionne un esclave en commençant par envoyer sur le bus l'adresse de ce dernier et le type d'opération réalisée (lecture ou écriture)
- chaque mot d'information transmis est acquitté par son destinataire à l'aide d'un bit retourné immédiatement
- limité à de courtes distances
- débit de transmission plus réduit que SPI.
[EDIT : grillé par DAUDET78]
Merci beaucoup
Oups... il faut lire :
- au moins deux lignes, l'une véhiculant un signal de donnée (MOSIm-->MOSIs pour maître vers esclave, ou MISOs-->MISOm pour esclave vers maître) ...
- au moins trois lignes (MOSIm-->MOSIs, MISOs-->MISOm et SCKm-->SCKs) pour une liaison bidirectionnelle
vous pouvez scp m'explique le Synoptique d'une liaison SPI Maître-Multi-Esclaves???
Le SPI ne connait qu'un périphérique . Donc si tu as plusieurs périphériques, il faut indiquer au maitre quel est le périphérique avec lequel il doit dialoguer en validant l'horloge vers le périphérique concerné et en bloquant l'horloge vers les autres périphériques.
c'est quoi en fait le but de ta question ? Un cas réel ou simplement de l'info ?
pour le moment c juste pour l'info
ma question est par exemple si je suis dans le cas d'un seul maitre et plusieurs esclave ;comment le maitre va savoir avec quel esclave va communiquer ?est ce grace a l'horloge ?
Oui, il sait avec quel périphérique il doit dialoguer, donc il valide le clock vers celui qu'il veut.
Certains périphériques SPI ont une entrée enable qui permet de les sélectionner.
D'accord
Merci bien
tu peux m'explique ça ???
Le maître sélectionne un seul et unique esclave avec lequel il veut rentrer en communication par la mise àniveau logique zéro de /SS 1 2 3, puis, après 8 fronts
d'horloge, l'octet de donnée est transféré.
Le maître sélectionne un seul et unique esclave avec lequel il veut rentrer en communication par la mise à niveau logique zéro de /SS 1 2 3, puis, après 8 fronts d'horloge, l'octet de donnée est transféré.
La patte MISO de l'esclave non sélectionné est à l'état haute impédance.
La seule limite au nombres d'esclaves est en fait la possibilité de broches SS du maître.
c'est ce que j'ai trouver concernant Synoptique d'une liaison SPI Maître-Multi-Esclaves
???
Non
Avec un 74HC138, avec 3 sorties µC, tu commandes la sélection de huit esclaves
Avec deux 74HC138, avec 4 sorties µC, tu commandes la sélection de seize esclaves
Sauf que tous les esclaves SPI n'ont pas forcément une entrée /enable. Par exemple un registre 74HC595c'est ce que j'ai trouver concernant Synoptique d'une liaison SPI Maître-Multi-Esclaves ???
Ce schéma illustre parfaitement le fonctionnement d'une configuration avec un maître et plusieurs esclaves dans le cas d'une véritable interface SPI complète. Je ne vois pas trop quoi rajouter à cette explication.Pièce jointe 357895
Le maître sélectionne un seul et unique esclave avec lequel il veut rentrer en communication par la mise à niveau logique zéro de /SS 1 2 3, puis, après 8 fronts d'horloge, l'octet de donnée est transféré.
La patte MISO de l'esclave non sélectionné est à l'état haute impédance.
La seule limite au nombres d'esclaves est en fait la possibilité de broches SS du maître.
On trouve des registres à décalage compatibles SPI (le 74HC589 notamment).
Mais, on peut aussi tirer partie de l'interface SPI pour piloter des circuits qui, à la base, ne sont pas réellement compatibles avec ce protocole.
Par exemple, on peut tout-à fait piloter plusieurs registres à décalage de type 74HC595 ou 74HC165 selon le principe décrit ci-dessus en rajoutant quelques portes logiques (... mais il s'avère généralement beaucoup plus intéressant de chaîner ces registres afin de n'avoir aucun signal SS, et de piloter leur entrée de latch avec un seul signal issu du micro-contrôleur).