Accueil » Archives pour Commercial

Commercial

Découvrez comment l’algorithme PID (Proportionnel-Intégral-Dérivé) optimise la précision des systèmes dans divers domaines.

Découvrez comment un processeur exécute un programme.

Obtenez quelques conseils sur le routage efficace des composants BGA.

Fonctionnalités de la démo Proteus 9

La démonstration de Proteus Professional est destinée aux clients potentiels qui souhaitent évaluer nos produits de niveau professionnel. Elle inclut toutes les fonctionnalités offertes par le système professionnel, y compris la conception de PCB basée sur des netlists avec placement automatique, routage automatique et simulation basée sur des graphes.

  • La durée d’évaluation n’est pas limitée relativement à la conception d’une PCB, alors que la simulation des microcontrôleurs est limitée à 14 jours;
  • De très nombreux exemples sont inclus pour vous aider à évaluer tous les aspects du logiciel;
  • Vous pouvez écrire votre propre logiciel sur les exemples existants afin d’évaluer toutes les possibilités offertes;
  • L’impression est uniquement possible pour les schémas et les circuits des exemples;
  • La sauvegarde de votre travail n’est pas autorisée;
  • La simulation de vos projets basés sur des microcontrôleurs n’est pas autorisée.

Communication SPI

Introduction

SPI, ou Serial Peripheral Interface, est un des plus populaires protocoles de communication implémenté sur les microcontrôleurs. Il est couramment utilisé pour interagir avec des périphériques (capteurs, afficheurs, etc).

SPI est un protocole de communication synchrone, ce qui signifie qu’il existe une ligne horloge dédiée (voir les protocoles de communication synchrones/asynchrones). Les liens de communications du SPI sont :

  • MISO = Master In Slave Out
  • MOSI = Master Out Slave In
  • SS = Slave Select
  • SCK ou SCLK = Serial Clock

A la lecture des noms on voit qu’il existe un composant maître (MASTER) et un composant esclave (SLAVE). Le maître est le composant qui contrôle le lien horloge, donc c’est lui qui contrôle la communication.

SPI est un protocole « full duplex », car deux liens de données existent – un pour chaque direction de communication (master vers slave et slave vers master). Il est ainsi possible d’envoyer et de recevoir des données en même temps.

Le bus SPI

Plusieurs modules esclaves peuvent être connectés au même maitre avec les mêmes liens de communication SCK, MISO et MOSI (appelés bus SPI). Un lien distinct « Slave select » (SS) est toutefois nécessaire pour chaque esclave ; le maitre active les liens Slave Select (qui est actif à l’état bas – c.a.d. bas pour sélectionner et haut pour désélectionner) en fonction de l’esclave avec lequel il souhaite communiquer.

En pratique il est rare que des données soient à la fois transmises et reçues en même temps (le scénario habituel est qu’une instruction soit suivie d’une réponse, ou juste que le maître lise l’état de l’esclave). Cependant un des avantages du SPI est qu’il est simple à déboguer et dépanner (avec un oscilloscope par exemple) car on dispose de liens de communication dédiés. Les protocoles tels que I2C nécessitent moins de lignes mais sont plus difficiles à dépanner du fait leur complexité.

Un autre avantage du SPI est que toutes les lignes de communication sont actives à l’état haut ou bas. Par opposition, par exemple, à l’I2C dont les liens de communication sont uniquement pilotées à l’état bas et des résistances de tirage sont utilisées pour les mettre à l’état haut lorsqu’elles ne sont pas actives (voir notre article sur le bus I2C). Comme les lignes sont toujours actives, cela signifie qu’il est possible d’obtenir des débits de données supérieurs.

Dual et Quad SPI

Il existe des variations du SPI appelées Dual et Quad SPI, lorsque plus d’un lien de données est utilisé pour transmettre des données dans une direction en même temps (techniquement en parallèle), ce qui accroit le débit (la vitesse de communication). Ces variantes sont populaires, par exemple dans les composants mémoire FLASH qui nécessitent un débit important. Dans un Dual SPI la communication débute Off comme pour le Single SPI, cependant elle peut passer en Dual mode après qu’une commande soit envoyée au module esclave (voir la documentation du composant esclave). En mode Dual, les liens MISO et MOSI (half duplex) deviennent bidirectionnels, de nom SIO0 (Serial I/O 0) et SIO1. Pour chaque octet, les bits pairs sont transmis sur SIO0 et les bits impairs sur SIO1.

Le Quad SPI est similaire, excepté qu’il existe deux liens de communication supplémentaires (SIO2 et SIO3), et que la moitié d’un octet est transmis à la fois.

Configuration SPI

Certains paramètres du protocole SPI sont configurables, tels que la façon dont la donnée est émise/reçue ou si l’horloge est inactive à l’état haut ou bas. Il est aussi possible de configurer si la donnée est transmise avec le LSB ou le MSB en premier – habituellement le MSB en premier est utilisé.

Si vous n’êtes pas familiers avec les termes LSB et MSB, lisez notre article Signification de bit & Endian.

Regardez la bibliothèque des exemples de projets Proteus pour charger des exemples sur la communication avec des capteurs SPI ainsi que sur l’utilisation générale du protocole avec divers microcontrôleurs.


Copyright Labcenter Electronics Ltd. 2024

Traduction française

Copyright Multipower France 2024

Entrées flottantes et sorties drain ouvert

Tout d’abord, considérons le cas d’un interrupteur à deux voies (interrupteur unipolaire double).

Lorsque le bouton est pressé, l’entrée du microcontrôleur sera connectée à 0 V, ce qui signifie un niveau logique bas. Cependant, lorsque le bouton n’est pas pressé, l’entrée du microcontrôleur n’est pas vraiment connectée à quoi que ce soit :

C’est comme si rien n’était connecté :

Dans ce cas, quel serait le niveau d’entrée ? Haut ou bas ? En effet, comme l’entrée du microcontrôleur n’est pas réellement connectée à quelque chose, elle peut être influencée par des phénomènes tels que l’électricité statique, les rayonnements électromagnétiques de l’environnement ou même agir comme une antenne et capter des ondes radio. Cela peut entraîner des fluctuations entre des états faiblement définis de haut et de bas.

Cet état, où l’entrée du microcontrôleur n’est pas bien définie et pourrait être n’importe quoi (aléatoire), est appelé « flottant ».

Résistances de pull-up et de pull-down

Afin de résoudre ce problème, ce qui est fait est d’ajouter une résistance de tirage vers le haut (pull-up resistor) ou une résistance de tirage vers le bas (pull-down resistor) à l’entrée (résistance de tirage vers le haut illustrée ci-dessous) :

Lorsque le bouton n’est pas pressé, la résistance de tirage vers le haut tire l’entrée du microcontrôleur vers le haut à +3,3 V, fournissant un niveau logique haut bien défini. Lorsque le bouton est pressé, l’entrée du microcontrôleur sera directement connectée (court-circuitée) à la masse (0 V), fournissant un niveau logique bas bien défini. Un certain courant circulera à travers la résistance de tirage vers le haut dans ce cas, cependant, il sera de faible intensité en raison de la valeur relativement élevée de la résistance.

Le symbole de la résistance ressemble à un petit ressort, et c’est exactement ainsi qu’elle fonctionne dans ce cas. Nous avons tous utilisé des portes à fermeture automatique, comme on en trouve couramment dans les lieux publics : à moins que vous ne mainteniez activement la porte ouverte, il y a un mécanisme qui la refermera automatiquement. Sans le mécanisme de fermeture automatique (et en imaginant pour l’instant que la porte n’a pas de mécanisme de verrouillage), la porte serait poussée par le vent ou déplacée par les personnes qui entrent et sortent, et elle ne reviendrait à aucune position particulière. Une résistance de tirage vers le haut (ou de tirage vers le bas) est similaire au mécanisme de fermeture automatique de ces portes, car elle maintient l’entrée à un niveau particulier lorsqu’elle n’est pas activement pilotée. Ainsi, la résistance de tirage vers le haut est semblable à un ressort sur une porte à fermeture automatique – à moins que quelqu’un assez fort vienne pousser la porte ouverte, la porte reviendra par défaut à la position fermée.

La situation pourrait évidemment être inversée, de sorte que le bouton pourrait être connecté à +3,3V (niveau haut), et une résistance de tirage vers le bas pourrait être utilisée pour maintenir l’entrée basse autrement :

La configuration avec résistance de pull-up est la plus couramment utilisée.

Sorties à drain ouvert

Certaines sorties de microcontrôleur peuvent être configurées en mode à drain ouvert (ou sont uniquement disponibles en mode à drain ouvert). Une sortie à drain ouvert est une sortie qui ne peut être amenée qu’à un niveau bas, pas à un niveau haut ; la sortie est soit basse, soit en état flottant. Fondamentalement, la sortie est simplement connectée à la broche de drain d’un transistor (d’où le terme à drain ouvert).

Certaines méthodes de communication, telles que l’I2C et le CAN, utilisent ce schéma pour permettre à plusieurs appareils de communiquer sur les mêmes lignes de communication sans risque de court-circuit (collision, où un appareil essaie de tirer la ligne vers le haut et l’autre vers le bas) ; dans ces cas, une résistance de tirage est utilisée pour maintenir la ligne à un niveau haut lorsqu’elle n’est pas activement tirée vers le bas.


Copyright Labcenter Electronics Ltd. 2024

Traduction française

Copyright Multipower France 2024

Comprendre la différence entre les protocoles synchrones et asynchrones.

Cet article traite des avantages d’ajouter des composants actifs pour filtrer un signal.

Découvrez des conseils essentiels pour éviter les problèmes d’EMI et EMC tout en optimisant la performance de vos conceptions PCB.

Retour en haut