Table des matières:

BASES DU PROTOCOLE DE COMMUNICATION SPI : 13 étapes
BASES DU PROTOCOLE DE COMMUNICATION SPI : 13 étapes

Vidéo: BASES DU PROTOCOLE DE COMMUNICATION SPI : 13 étapes

Vidéo: BASES DU PROTOCOLE DE COMMUNICATION SPI : 13 étapes
Vidéo: [Electronique] Comprendre le bus SPI (Serial Peripheral Interface) 2024, Juillet
Anonim
BASES DU PROTOCOLE DE COMMUNICATION SPI
BASES DU PROTOCOLE DE COMMUNICATION SPI

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

SÉRIE VS. COMMUNICATION PARALLÈLE
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:

Image
Image

Étape 4: INTRODUCTION À LA COMMUNICATION SPI

INTRODUCTION À LA COMMUNICATION SPI
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:

Image
Image

É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:

Image
Image

*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:

Image
Image

É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:

Image
Image

Si une seule broche de sélection d'esclave est disponible, les esclaves peuvent être connectés en guirlande comme ceci:

Étape 12:

Image
Image
Image
Image
Image
Image
Image
Image

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é: