UART, SPI, I2C : pourquoi ils sont toujours importants
Un module Bluetooth peut parler à 2,4 GHz à l’antenne, mais sur le PCB, il discute via du cuivre à l’ancienne : UART pour les confessions de console, SPI pour les registres à grande vitesse, I2C pour les potins des capteurs. Ces bus sont la langue maternelle du module ; choisissez le mauvais et votre projet « sans fil » devient un casse-tête filaire.
UART : la ligne série paresseuse
TX et RX, généralement à 3,3 V, 115 200 bauds par défaut. Un bit de démarrage, huit bits de données, pas de parité, un bit d’arrêt, c’est fait. UART est parfait pour les ponts de commande AT : envoyez « AT+ADVSTART » et le module répond « OK » sans que vous écriviez une seule ligne de C. Inconvénients ? Pas de sélection de puce, pas de contrôle de flux et de dérive du débit en bauds si les deux côtés ne partagent pas le même cristal. Utilisez-le lorsque la vitesse est secondaire et que la lisibilité humaine compte.
SPI : le démon de la vitesse
Quatre fils (MOSI, MISO, SCLK, CS) cadencés jusqu’à 32 MHz sur les modules modernes. Les registres éclatent en images de 8 bits, parfaits pour diffuser les données des capteurs ou piloter un TFT 320 × 240. Le problème : un maître, un esclave par sélection de puce et un nid de rats si vous chaînez trop d’appareils. Choisissez SPI lorsque vous avez besoin d’un débit brut et cela ne vous dérange pas de dédier un GPIO à chaque périphérique.
I2C : le bus social
Deux fils (SDA et SCL) transportent l’adressage, les données et l’établissement de liaison pour un maximum de 127 appareils. Il est idéal pour les capteurs de température, les EEPROM ou les RTC qui n’ont besoin que de quelques kilobits par seconde. La pénalité : bus partagé signifie collisions partagées ; un seul esclave qui se comporte mal peut maintenir la ligne basse et faire échouer toute la conversation. Conservez I2C pour les réseaux multipoints à faible débit où la simplicité du câblage l’emporte sur la vitesse brute.
Scénario réel 1 : groupe de fitness UART
Un module nRF52832 se trouve à l’intérieur d’un groupe de fitness à 40 $. UART à 921 600 bauds diffuse les données brutes de l’accéléromètre vers le téléphone ; le téléphone envoie des commandes AT pour démarrer/arrêter la collecte de fréquence cardiaque. Pas de firmware personnalisé sur le module, juste un pont. Cinq fils au total : TX, RX, VCC, GND et une ligne de réinitialisation. Le groupe dure cinq ans sur une cellule de 220 mAh car la radio dort entre les rafales.
Scénario réel 2 : SPI Smart Lock
Un module nRF52840 alimente une serrure intelligente à 120 $. SPI à 16 MHz communique avec un écran OLED et un capteur d’empreintes digitales. Le module agit en tant que maître, cadencé à 320 kbit/s de données d’affichage tout en échantillonnant simultanément des trames d’empreintes digitales à 128 kbit/s. AES-256 est accéléré matériellement sur le 52840, de sorte que le verrou se déverrouille en <200 ms tandis que la radio annonce « ouvert » pendant 30 s. Le même bus SPI diffuse également un nouveau micrologiciel par liaison radio, prouvant que vitesse et sécurité peuvent partager le même cuivre.
Choisir votre autoroute
Choisissez UART lorsque vous avez besoin d’un pont rapide et que vous ne vous souciez pas de la vitesse. Choisissez SPI lorsque vous disposez d’un périphérique rapide et de nombreux GPIO. Choisissez I2C lorsque vous avez de nombreux capteurs lents et que vous souhaitez un câblage minimal. Quel que soit votre choix, n’oubliez pas : le bus constitue le goulot d’étranglement bien avant l’interface radioélectrique de 2,4 GHz.
