Table des matières:
- Étape 1: SÉRIE VS. COMMUNICATION PARALLÈLE
- Étape 2:
- Étape 3:
- Étape 4: INTRODUCTION À LA COMMUNICATION SPI
- Étape 5:
- Étape 6:
- Étape 7:
- Étape 8: COMMENT FONCTIONNE SPI
- Étape 9:
- Étape 10:
- Étape 11:
- Étape 12:
- Étape 13: AVANTAGES ET INCONVÉNIENTS DU SPI
Vidéo: BASES DU PROTOCOLE DE COMMUNICATION SPI : 13 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
Lorsque vous connectez un microcontrôleur à un capteur, un écran ou un autre module, pensez-vous déjà à la façon dont les deux appareils communiquent entre eux ? Que disent-ils exactement ? Comment sont-ils capables de se comprendre ?
La communication entre appareils électroniques est comme la communication entre humains. Les deux parties doivent parler la même langue. En électronique, ces langages sont appelés protocoles de communication. Heureusement pour nous, il n'y a que quelques protocoles de communication que nous devons connaître lors de la construction de la plupart des projets électroniques de bricolage. Dans cette série d'articles, nous aborderons les bases des trois protocoles les plus courants: l'interface périphérique série (SPI), le circuit inter-intégré (I2C) et la communication pilotée par le récepteur/émetteur asynchrone universel (UART). Tout d'abord, nous allons commencer par quelques concepts de base sur la communication électronique, puis expliquer en détail le fonctionnement de SPI. Dans le prochain article, nous discuterons de la communication pilotée par UART, et dans le troisième article, nous plongerons dans I2C. SPI, I2C et UART sont un peu plus lents que les protocoles comme USB, Ethernet, Bluetooth et WiFi, mais ils sont beaucoup plus simples et utilisent moins de ressources matérielles et système. SPI, I2C et UART sont idéaux pour la communication entre les microcontrôleurs et entre les microcontrôleurs et les capteurs où de grandes quantités de données à grande vitesse n'ont pas besoin d'être transférées.
Étape 1: SÉRIE VS. COMMUNICATION PARALLÈLE
Les appareils électroniques communiquent entre eux en envoyant des bits de données via des fils physiquement connectés entre les appareils. Un bit est comme une lettre dans un mot, sauf qu'au lieu des 26 lettres (dans l'alphabet anglais), un bit est binaire et ne peut être qu'un 1 ou un 0. Les bits sont transférés d'un appareil à un autre par des changements rapides de tension. Dans un système fonctionnant à 5 V, un bit 0 est communiqué sous forme d'impulsion courte de 0 V, et un bit 1 est communiqué par une impulsion courte de 5 V.
Les bits de données peuvent être transmis sous forme parallèle ou série. Dans la communication parallèle, les bits de données sont envoyés tous en même temps, chacun via un fil distinct. Le schéma suivant montre la transmission parallèle de la lettre « C » en binaire (01000011):
Étape 2:
Dans la communication série, les bits sont envoyés un par un via un seul fil. Le schéma suivant montre la transmission série de la lettre « C » en binaire (01000011):
Étape 3:
Étape 4: INTRODUCTION À LA COMMUNICATION SPI
SPI est un protocole de communication commun utilisé par de nombreux appareils différents. Par exemple, les modules de carte SD, les modules de lecteur de carte RFID et les émetteurs/récepteurs sans fil 2,4 GHz utilisent tous SPI pour communiquer avec les microcontrôleurs.
Un avantage unique de SPI est le fait que les données peuvent être transférées sans interruption. N'importe quel nombre de bits peut être envoyé ou reçu dans un flux continu. Avec I2C et UART, les données sont envoyées par paquets, limités à un nombre spécifique de bits. Les conditions de démarrage et d'arrêt définissent le début et la fin de chaque paquet, de sorte que les données sont interrompues pendant la transmission. Les appareils communiquant via SPI sont dans une relation maître-esclave. Le maître est le dispositif de contrôle (généralement un microcontrôleur), tandis que l'esclave (généralement un capteur, un écran ou une puce mémoire) reçoit les instructions du maître. La configuration la plus simple de SPI est un système à maître unique et esclave unique, mais un maître peut contrôler plus d'un esclave (plus de détails ci-dessous).
Étape 5:
Étape 6:
MOSI (Master Output/Slave Input) – Ligne permettant au maître d'envoyer des données à l'esclave.
MISO (Master Input/Slave Output) – Ligne permettant à l'esclave d'envoyer des données au maître.
SCLK (Clock) – Ligne pour le signal d'horloge.
SS/CS (Slave Select/Chip Select) – Ligne permettant au maître de sélectionner à quel esclave envoyer les données
Étape 7:
*En pratique, le nombre d'esclaves est limité par la capacité de charge du système, ce qui réduit la capacité du maître à basculer avec précision entre les niveaux de tension.
Étape 8: COMMENT FONCTIONNE SPI
L'HORLOGE
Le signal d'horloge synchronise la sortie des bits de données du maître sur l'échantillonnage des bits par l'esclave. Un bit de données est transféré à chaque cycle d'horloge, de sorte que la vitesse de transfert des données est déterminée par la fréquence du signal d'horloge. La communication SPI est toujours initiée par le maître puisque le maître configure et génère le signal d'horloge.
Tout protocole de communication où les appareils partagent un signal d'horloge est appelé synchrone. SPI est un protocole de communication synchrone. Il existe également des méthodes asynchrones qui n'utilisent pas de signal d'horloge. Par exemple, dans la communication UART, les deux côtés sont réglés sur un débit en bauds préconfiguré qui dicte la vitesse et la synchronisation de la transmission des données.
Le signal d'horloge dans SPI peut être modifié en utilisant les propriétés de polarité d'horloge et de phase d'horloge. Ces deux propriétés fonctionnent ensemble pour définir quand les bits sont sortis et quand ils sont échantillonnés. La polarité de l'horloge peut être définie par le maître pour permettre la sortie et l'échantillonnage des bits sur le front montant ou descendant du cycle d'horloge. La phase d'horloge peut être réglée pour que la sortie et l'échantillonnage se produisent soit sur le premier front, soit sur le deuxième front du cycle d'horloge, qu'il soit montant ou descendant.
SELECTION ESCLAVE
Le maître peut choisir à quel esclave il veut parler en réglant la ligne CS/SS de l'esclave sur un niveau de tension bas. Dans l'état inactif, sans transmission, la ligne de sélection esclave est maintenue à un niveau de tension élevé. Plusieurs broches CS/SS peuvent être disponibles sur le maître, ce qui permet de câbler plusieurs esclaves en parallèle. Si une seule broche CS/SS est présente, plusieurs esclaves peuvent être câblés au maître par chaînage.
ESCLAVES MULTIPLES SPI
peut être configuré pour fonctionner avec un seul maître et un seul esclave, et il peut être configuré avec plusieurs esclaves contrôlés par un seul maître. Il existe deux manières de connecter plusieurs esclaves au maître. Si le maître a plusieurs broches de sélection d'esclaves, les esclaves peuvent être câblés en parallèle comme ceci:
Étape 9:
Étape 10:
MOSI ET MISO
Le maître envoie des données à l'esclave bit par bit, en série via la ligne MOSI. L'esclave reçoit les données envoyées par le maître sur la broche MOSI. Les données envoyées du maître à l'esclave sont généralement envoyées avec le bit de poids fort en premier. L'esclave peut également renvoyer des données au maître via la ligne MISO en série. Les données renvoyées de l'esclave au maître sont généralement envoyées avec le bit le moins significatif en premier. ÉTAPES DE LA TRANSMISSION DE DONNÉES SPI 1. Le maître émet le signal d'horloge:
Étape 11:
Si une seule broche de sélection d'esclave est disponible, les esclaves peuvent être connectés en guirlande comme ceci:
Étape 12:
MOSI ET MISO
Le maître envoie des données à l'esclave bit par bit, en série via la ligne MOSI. L'esclave reçoit les données envoyées par le maître sur la broche MOSI. Les données envoyées du maître à l'esclave sont généralement envoyées avec le bit de poids fort en premier.
L'esclave peut également renvoyer des données au maître via la ligne MISO en série. Les données renvoyées de l'esclave au maître sont généralement envoyées avec le bit le moins significatif en premier.
ÉTAPES DE TRANSMISSION DES DONNÉES SPI
* Remarque Les images sont répertoriées hautbois que vous pouvez facilement distinguer
1. Le maître émet le signal d'horloge:
2. Le maître commute la broche SS/CS sur un état basse tension, ce qui active l'esclave:
3. Le maître envoie les données un bit à la fois à l'esclave le long de la ligne MOSI. L'esclave lit les bits au fur et à mesure qu'ils sont reçus:
4. Si une réponse est nécessaire, l'esclave renvoie les données bit par bit au maître le long de la ligne MISO. Le maître lit les bits au fur et à mesure qu'ils sont reçus:
Étape 13: AVANTAGES ET INCONVÉNIENTS DU SPI
L'utilisation de SPI présente certains avantages et inconvénients, et si vous avez le choix entre différents protocoles de communication, vous devez savoir quand utiliser SPI en fonction des exigences de votre projet:
AVANTAGES
Pas de bits de démarrage et d'arrêt, de sorte que les données peuvent être diffusées en continu sans interruption temps
DÉSAVANTAGES
Utilise quatre fils (I2C et UART en utilisent deux) Aucune reconnaissance que les données ont été reçues avec succès (I2C a ceci) Aucune forme de vérification d'erreur comme le bit de parité dans UART ne permet qu'un seul maître Espérons que cet article vous a donné une meilleure compréhension de SPI. Passez à la deuxième partie de cette série pour en savoir plus sur la communication pilotée par UART, ou à la troisième partie où nous discutons du protocole I2C.
Si vous avez des questions, n'hésitez pas à les poser dans la section commentaires, nous sommes là pour vous aider. Et assurez-vous de suivre
Cordialement: M. Junaid
Conseillé:
Communication sans fil SmartHome : les bases extrêmes de MQTT : 3 étapes
Communication sans fil SmartHome : les bases extrêmes de MQTT : Les bases de MQTT : ** Je vais faire une série de domotique, je vais suivre les étapes que j'ai suivies pour apprendre tout ce que j'ai fait à l'avenir. Ce Instructable est la base de référence sur la façon de configurer MQTT pour une utilisation dans mes futurs Instructables. Cependant
Décodeur de protocole de contrôle à distance RC5 sans bibliothèque : 4 étapes
Décodeur de protocole de contrôle à distance RC5 sans bibliothèque : avant de décoder rc5, nous discutons d'abord de ce qu'est la commande rc5 et de sa structure. Donc, fondamentalement, la commande rc5 utilisée dans les télécommandes utilisées dans les téléviseurs, les lecteurs de CD, les d2h, les systèmes de cinéma maison, etc
Horloge Internet : afficher la date et l'heure avec un OLED à l'aide de ESP8266 NodeMCU avec protocole NTP : 6 étapes
Horloge Internet : afficher la date et l'heure avec un OLED à l'aide de ESP8266 NodeMCU avec le protocole NTP : Salut les gars dans ces instructables, nous allons construire une horloge Internet qui obtiendra l'heure d'Internet afin que ce projet n'aura besoin d'aucun RTC pour fonctionner, il n'aura besoin que d'un connexion internet fonctionnelle Et pour ce projet vous avez besoin d'un esp8266 qui aura un
Communication sans fil utilisant le module émetteur-récepteur NRF24L01 pour les projets basés sur Arduino : 5 étapes (avec photos)
Communication sans fil à l'aide du module émetteur-récepteur NRF24L01 pour les projets basés sur Arduino : il s'agit de mon deuxième tutoriel instructable sur les robots et les micro-contrôleurs. C'est vraiment incroyable de voir votre robot vivant et fonctionner comme prévu et croyez-moi, ce sera plus amusant si vous contrôlez votre robot ou d'autres choses sans fil avec rapidité et
BASES DE LA COMMUNICATION UART : 16 étapes
BASES DE LA COMMUNICATION UART : Vous vous souvenez quand les imprimantes, les souris et les modems avaient des câbles épais avec ces énormes connecteurs maladroits ? Ceux qui ont littéralement dû être vissés dans votre ordinateur ? Ces appareils utilisaient probablement des UART pour communiquer avec votre ordinateur. Alors que l'USB a presque