Icon about-block-ico-1 Icon about-block-ico-2 Icon about-block-ico-3 Icon about-block-ico-4 Icon announcement-close Icon arrow-left Icon arrow-right Icon arrow-sm Icon asterisk Icon banner-transparent-vector Icon btn-callback-ico Icon careers-item-location Icon careers-item-time Icon careers-item-type Icon careers-mail-ico Icon careers-phone-ico Icon careers-search-ico Icon careers-single-hero-vector Icon careers-single-more-vector Icon careers-vector Icon check Icon close Icon dfm-image-left-vector Icon dfm-image-right-vector Icon document Icon download-popup-vector Icon dropdown Icon envelope Icon facebook Icon faq-banner-bg Icon faq-title-ico-active Icon faq-title-ico Icon featured-links-block-bg Icon figure-1 Icon figure-10 Icon figure-11 Icon figure-12 Icon figure-13 Icon figure-14 Icon figure-15 Icon figure-2 Icon figure-3 Icon figure-4 Icon figure-5 Icon figure-6 Icon figure-7 Icon figure-8 Icon figure-9 Icon file-upload Icon form-sidebar-back Icon form-step-done Icon gmap-marker-group-icon Icon gmap-marker-icon Icon header-profile-ico Icon instagram Icon link Icon linkedin Icon loader Icon mail Icon phone Icon play-yt Icon play Icon post-nav-arr-left Icon quote-banner-vector Icon quote-block-aside-vector Icon quote-contact-phone-ico Icon quote-contact-position-ico Icon sidebar-location Icon sidebar-phone Icon technology-banner-nav-left-vector Icon technology-banner-nav-right-vector Icon twitter Icon webinar-item-date-vector Icon whitepaper-img-ico-left Icon whitepaper-img-ico-right Icon whitepapers-listing-banner-ico Icon whitepapers-single-aside-vector Icon youtube Icon yt-play-button
header-top-card Votre connexion à la fabrication avancée de PCB
Télécharger une brochure
FR

Protocoles de communication

Les **données série** circulent dans un circuit, de la **source à la destination**, sous forme de **tensions variables**.
L’émetteur **initie le changement** sur la ligne de signal, et le récepteur **détecte la modification du potentiel**.

Il existe **de nombreux protocoles** couramment utilisés dans l’industrie, notamment :
**ATA, SCSI, CAN, I²C, SPI, UART, RS232, RS485, USB, Ethernet, Microwire, 1-wire, etc.**
Cependant, les **capteurs commerciaux utilisent principalement I²C et SPI**.

Communication synchrone

La communication **synchrone** nécessite **au minimum deux lignes de signal** :
– Une ligne pour **les données**
– Une ligne pour **le signal d’horloge**

Communication asynchrone

La communication **asynchrone** nécessite **au moins une ligne de signal**.
Cependant, l’**émetteur et le récepteur doivent se mettre d’accord** sur la **fréquence d’horloge** avant d’établir la communication.

I²C

Le **RTC, le BNO055 et le BME280** communiquent avec **l’ATMega328 via I²C**.

Le protocole **Inter-Integrated Circuit (I²C)** utilise **deux lignes de données** :
– **SCL (Serial Clock Line)** : transmet l’information d’horloge
– **SDA (Serial Data Line)** : transmet les données

Le **maître** et l’**esclave** peuvent **déclencher la ligne de données**, mais **seul le maître contrôle l’horloge**.
Cela permet une communication **semi-duplex** entre le maître et l’esclave.

Avantages

L’un des **grands avantages** du protocole **I²C** est qu’il permet une communication **multi-maître, multi-esclave**.
Plusieurs **microcontrôleurs** peuvent être connectés au bus et lire les mêmes **données de capteurs**, tant qu’ils ne **contrôlent pas l’horloge simultanément**.
Cependant, **I²C est généralement utilisé** par un **seul microcontrôleur** pour communiquer avec plusieurs **périphériques esclaves** (EEPROM, capteurs, écrans, etc.).

Inconvénients

Conflits d’adresses

De nombreux **périphériques I²C** utilisent des **adresses sur 7 bits**.
Avec seulement **128 adresses possibles (2⁷ = 128, mais toutes ne sont pas utilisées)**, il est possible que **deux appareils aient la même adresse**.

Pour contourner ce problème, la plupart des fabricants ajoutent une **broche d’adresse (ADDR)** ou une **broche multifonction (MP)**, permettant de **modifier l’adresse** en changeant le **niveau logique** de la broche.

Capacitance

Un autre inconvénient du bus I²C est que **la haute capacité parasite** réduit la **vitesse de transmission**.
I²C est conçu pour une communication **relativement lente sur de courtes distances** (sur une même carte).
Bien qu’il puisse parfois être utilisé pour **relier deux cartes par fils**, il n’est **pas conçu pour cela**, surtout **à haute vitesse**.

Considérations d’ingénierie pour I²C

Les **dispositifs maîtres I²C** **tirent directement** le signal logique à la **masse** et permettent aux **résistances de tirage** de ramener le signal au potentiel **Vcc**.

– La **transition de l’état haut à l’état bas** est **rapide** et ressemble à un **signal carré** sur un oscilloscope.
– La **transition de l’état bas à l’état haut** est influencée par **la capacité parasite du bus** et le choix des **résistances de tirage**.

Dans le bus **I²C**, la **constante de temps RC** de la **transition logique haute** **limite la vitesse du bus**.
– **La résistance** est fournie par les **résistances de tirage** et la **faible résistance des pistes**.
– **La capacité parasite** est **la somme** des **capacités des pistes**, des **broches des composants** et des **autres sources de capacitance**.

Selon la **spécification I²C**, la **capacitance maximale** autorisée est :
– **400 pF** en mode **Standard (100 kHz)** et **Fast (400 kHz)**
– **500 pF** en mode **Fast Plus (1 MHz)**

**400 pF est une valeur relativement faible**.
Par exemple :
– Une **broche d’entrée/sortie** a une capacitance d’environ **2-10 pF**.
– Une **piste de 6 mils sur un PCB FR-4** ajoute environ **2 pF par pouce** de longueur.

Logique binaire

La **logique binaire** a **deux états** : **haut** et **bas**.
– L’état **haut** correspond à une tension entre **70% et 100% de Vcc**.
– L’état **bas** correspond à une tension entre **0 et 30% de Vcc**.
– Entre **30% et 70% de Vcc**, l’état logique est **indéfini**.

(Ces seuils ne sont pas universels, mais constituent un bon point de départ.)

SPI

L’**ATMega328 communique avec l’écran via le bus SPI**.

Le **Serial Peripheral Interface (SPI)** est un protocole de **transfert de données synchrone bidirectionnel**.
Ce protocole nécessite **au moins trois lignes de données** :
– **MISO (Master In Slave Out)**
– **MOSI (Master Out Slave In)**
– **CLK (Clock)**

Une ligne supplémentaire appelée **Slave Select Not (SS̅)** est utilisée pour **activer/désactiver la transmission** sur un ou plusieurs circuits intégrés.
Le **trait supérieur (SS̅)** indique que **l’entrée numérique est inversée** :
– L’esclave est **activé** lorsque le **signal est bas**.
– Dans de nombreux cas, cette entrée peut être **connectée à la masse** pour **activer le bus en permanence**.

Cette image montre la configuration Daisy-Chain où les données sont transmises d'un microcontrôleur à l'autre. Une option de sélection de plusieurs esclaves est également disponible. Image reproduite avec l'aimable autorisation de AllAboutCircuits.com

Les données stockées dans un registre à décalage linéaire sont déplacées bit par bit à chaque cycle d'horloge. SPI est un protocole full-duplex : l'émetteur et le récepteur peuvent transférer des données simultanément.

Transaction SPI avec l'aimable autorisation de AllAboutCircuits.com

La spécification du bus série universel (USB) s'appuie sur la signalisation par paires différentielles pour transférer des données à haut débit. Une paire différentielle est constituée de deux lignes de signaux numériques de même amplitude mais de polarité opposée.

Règles de conception

Pour qu'une paire différentielle fonctionne comme prévu, les traces individuelles doivent avoir une largeur constante et un espacement constant par rapport aux autres conducteurs, et les deux traces doivent rester aussi identiques que possible, en suivant un chemin identique et en ayant la même longueur. L'idée générale est qu'une transition Low→Haut doit se propager le long du fil parallèlement et en même temps qu'une transition High→Low. Les champs électriques sont étroitement confinés entre les deux traces si les deux signaux parcourent la même distance sur le même diélectrique.

Si les pistes/fils ne sont pas de même longueur, ou si l'impédance du milieu environnant varie, la symétrie entre les deux fils est perdue, et une transition est en avance ou en retard sur l'autre. Lorsque les deux fils ont la même polarité, les champs électriques se repoussent et peuvent se propager plus loin.

Les interférences électromagnétiques sont le résultat de champs électromagnétiques à évolution rapide. Si les lignes de champ de la première animation changent pour ressembler à celles de la deuxième animation, ou inversement, la perturbation du champ électromagnétique se propagera de vos traces vers d'autres zones de votre circuit ou dans un environnement plus large. Le routage par paires différentielles a donc pour but de garantir que les deux fils restent aussi symétriques que possible sur une distance aussi égale et aussi courte que possible.

UART

Le protocole de réception et de transmission asynchrones universels permet une communication en duplex intégral entre deux nœuds. La seule condition est que les deux nœuds conviennent d'un débit de transmission commun (débit en BAUDs).

Contrairement aux autres protocoles de communication utilisés dans notre conception, UART nécessite une connexion croisée. Transmettre→Recevoir et Recevoir→Transmettre.

La connexion Uart de CircuitBasics.com montre une connexion croisée entre les deux circuits intégrés.

Étant donné qu'il présente un taux de transmission relativement lent, les lignes de données UART peuvent parcourir toute la longueur d'un panneau PCB entier et hors carte via plusieurs mètres de câblage sans trop de problèmes.

Les nœuds de communication asynchrone tolèrent généralement une légère différence de synchronisation. Cependant, si les débits de transmission sont trop différents des débits de réception, les informations finissent par être brouillées. Si vous voyez des caractères aléatoires ou aucun caractère sur un écran de débogage série, le problème est généralement dû à une différence de synchronisation.

Avant de concevoir un circuit imprimé, il est généralement recommandé de bien **comprendre son schéma électrique**.
Et avant d’élaborer un schéma, il est essentiel de **comprendre son diagramme fonctionnel**.

Vue d’ensemble

Ci-dessous se trouve le **diagramme fonctionnel de base** d’un circuit.
Le rôle de l’**ingénieur en électronique** est de déterminer **comment chaque bloc et chaque bus de données doivent fonctionner correctement** sans interférer avec les autres parties du circuit.

Chaque **bloc** du diagramme est ensuite **converti en schéma électrique**.

Pouvoir

L'alimentation du schéma de circuit ci-dessus est fournie par des piles. Les piles alimentent un régulateur linéaire à faible chute de tension (LDO) qui fournit 5 V pour alimenter les LED RVB adressables ainsi qu'un LDO 3,3 V qui alimente le reste du circuit. Un traducteur de niveau logique convertira les sorties logiques 3,3 V du Mega en entrées logiques 5,0 V.

Bus de données série

Quatre bus de données série sont présents dans notre exemple de circuit et sont utilisés pour transférer des informations.

Broches GPIO

Interaction des blocs

Les blocs doivent être conçus et connectés indépendamment au microcontrôleur principal. Il existe plusieurs méthodes courantes pour ce faire, notamment les réseaux globaux, les ports de connexion et les blocs hiérarchiques. Avec les blocs hiérarchiques, chaque bloc de circuit est conçu indépendamment sur une page hiérarchique, puis connecté au niveau supérieur via des connecteurs hiérarchiques. Dans une disposition hiérarchique, seules les connexions entre les blocs sont affichées au niveau supérieur (entrées, sorties, lignes de commutation, etc.). Les connexions d'alimentation sont souvent également incluses.

Cette vue hiérarchique par blocs montre les connexions entre les différentes parties du schéma. Chaque bloc représente une page distincte du schéma.

Comme vous pouvez l’imaginer, rien ne se passe. Les MOSFET à canal P se comportent comme un commutateur normalement fermé (conducteur) qui s’ouvre (non conducteur) lorsqu’une tension est présente sur la grille. Étant donné qu’aucune tension n’est présente sur la grille de Q1, Q2, Q3 ou Q4, les « commutateurs » sont tous fermés et tout courant qui arrive sera facilement conduit.

Option 2 : Seule la batterie est connectée

Avec la batterie attachée et l'interrupteur allumé, le courant circule vers le LDO 5,0 V et via Q3 et Q4 vers le LDO 3,3 V et vers le reste du circuit. R3 maintient le potentiel de grille de Q3 et Q4 à 0 V. En même temps, les grilles de Q1 et Q2 sont alimentées, ce qui arrête la conduction inverse du courant à travers le circuit.

Option 3 : Connexion USB uniquement

Lorsque l'alimentation USB est connectée, R2 maintient la grille de Q1 et Q2 et le potentiel de masse, ce qui permet à Q1 et Q2 de conduire le courant entre la source et le drain. Dans le même temps, les grilles de Q3 et Q4 sont connectées au réseau qui relie Q1 et Q2, fermant les chemins conducteurs entre le drain et la source de Q3 et Q4, ce qui empêche le retour du courant.

Option 4 : Les deux sources jointes

Lorsque les deux sources sont sous tension, le LDO 5,0 V génère une différence de potentiel aux portes de Q1 et Q2, coupant le chemin de conduction à travers le drain et la source, arrêtant le courant USB_VBUS avant qu'il n'ait la possibilité d'entrer dans le reste du circuit.

MSIRobot