Raspberry Pi Compute Module 4 vs Compute Module 3
Raspberry Pi a lancé le Compute Module 4, qui succède au Compute Module 3B+. Le Compute Module 4 (CM4) est ce que l'on appelle un System on Module (SoM), qui contient les éléments de base qui constituent un Raspberry Pi 4, par exemple, et en plus de cela des eMMC Flash de différentes tailles (allant de zéro pour la version Lite du module à 32 Go).
Le CM4 permet aux concepteurs d'intégrer une solution informatique puissante dans leurs produits embarqués, sans avoir à signer des accords de confidentialité avec Broadcom, ni à s'engager sur des volumes d'achat élevés de SoC. Ils bénéficient également de l'expérience de conception de l'équipe de conception matérielle et logicielle de Raspberry Pi, et bien sûr de la communauté Raspberry Pi et de la large gamme de support logiciel pour la plateforme Raspberry Pi.
Principales différences dans la nouvelle génération de modules Compute
nouveau facteur de forme
Au lieu d'être compatible mécaniquement avec les DDR2-SODIMM, comme tous les Compute Modules précédents (1, 3, 3+), le nouveau CM4 se connecte à la carte porteuse de votre Compute Module à l'aide de deux connecteurs Hirose haute densité à 100 broches.
Cela lui permet d'avoir un encombrement réduit (55 mm x 40 mm x 4,7 mm, avec 4 trous de montage M2,5) et de fournir de nouvelles interfaces à haut débit. (Le Raspberry Pi aurait autrement manqué de broches avec l'approche DDR2-SODIMM).
nouvelles capacités et interfaces
Le nouveau CM4 dispose d'interfaces supplémentaires :
- un port HDMI supplémentaire ; les deux ports HDMI sont capables d'une sortie 4K et prennent en charge la norme HDMI 2.0.
- Interface PCI Express ( Gen 2 x1 = single lane)
- Interface Ethernet GBit (Broadcom BCM54210PE PHY est inclus à bord du Compute Module) - tout ce que vous devez ajouter dans votre conception est un MagJack !
- Support WLAN embarqué (dans les versions WiFi), avec antenne sur circuit imprimé et antenne externe en option !
conception de l'alimentation électrique considérablement simplifiée
Vous serez étonné de voir à quel point il est simple de concevoir un module de calcul pour le nouveau Raspberry Pi : une seule alimentation +5V est tout ce qu'il faut, et il fournira même jusqu'à 600 mA à 3,3V et 1,8V aux périphériques pour vous.
Il n'est plus nécessaire d'ajouter différents rails d'alimentation et de les séquencer avec soin - cela simplifiera grandement la conception de votre propre carte porteuse.
Différences de brochage entre le Compute Module 4 et le Compute Module 3
Il existe différents groupes de broches sur les modules Compute, nous allons examiner successivement chacun d'entre eux et leurs différences entre les versions.
Différences de broches GPIO entre les modules de calcul
Dans le tableau ci-dessous, j'ai listé les broches GPIO disponibles sur le module de calcul 4 (CM4), sur le module de calcul 3 (cm3), et sur le Raspberry Pi 4, avec leurs numéros de broches respectifs.
Les broches GPIO sont divisées par banques GPIO, sur le SoC Raspberry Pi, les broches GPIO0 - GPIO27 sont dans la banque GPIO 1, tandis que les broches GPIO28 à GPIO45 sont sur la banque GPIO 2. Les banques GPIO, sur CM3, peuvent être pilotées avec des tensions indépendantes (GPIO0-27_VREF et GPIO28-45_VREF).
Sur CM4 et Pi 4, seule la première banque de GPIO (GPIO0 - GPIO27) est exposée. En plus de cela, le CM4 expose GPIO44 et GPIO45, qui sont généralement utilisés pour piloter la ou les caméras officielles du Raspberry Pi et l'écran 7". Le CM4 manque donc de 16 broches GPIO par rapport au CM3 !
GPIO BCM ID | CM4 Pin# | CM3 Pin# | Pi 4 Pin# | Note |
GPIO0 | 36 (ID_SD) | 3 | 27 | ID_SD = SDA0 |
GPIO1 | 35 (ID_SC) | 5 | 28 | ID_SC = SCL0 |
GPIO2 | 58 | 9 | 3 | SDA1 |
GPIO3 | 56 | 11 | 5 | SCL1 |
GPIO4 | 54 | 15 | 7 | GPCLK0 |
GPIO5 | 34 | 17 | 29 | GPCLK1 |
GPIO6 | 30 | 21 | 31 | GPCLK2 |
GPIO7 | 37 | 23 | 26 | SPI0_CE1_N |
GPIO8 | 39 | 27 | 24 | SPI0_CE0_N |
GPIO9 | 40 | 29 | 21 | SPI0_MISO |
GPIO10 | 44 | 33 | 19 | SPI0_MOSI |
GPIO11 | 38 | 35 | 23 | SPI0_SCLK |
GPIO12 | 31 | 45 | 32 | PWM0 |
GPIO13 | 28 | 47 | 33 | PWM1 |
GPIO14 | 55 | 51 | 8 | TXD0 / TXD1 |
GPIO15 | 51 | 53 | 10 | RXD0 / RXD1 |
GPIO16 | 29 | 57 | 36 | |
GPIO17 | 50 | 59 | 11 | |
GPIO18 | 49 | 63 | 12 | PCM_CLK |
GPIO19 | 26 | 65 | 35 | PCM_FS |
GPIO20 | 27 | 69 | 38 | PCM_DIN |
GPIO21 | 25 | 71 | 40 | PCM_DOUT |
GPIO22 | 46 | 75 | 15 | |
GPIO23 | 47 | 77 | 16 | |
GPIO24 | 45 | 81 | 18 | |
GPIO25 | 41 | 83 | 22 | |
GPIO26 | 24 | 87 | 37 | |
GPIO27 | 48 | 89 | 13 | |
GPIO28 | 28 | SDA0 | ||
GPIO29 | 30 | SCL0 | ||
GPIO30 | 34 | |||
GPIO31 | 36 | |||
GPIO32 | 46 | GPCLK0 TXD0 / TXD1 | ||
GPIO33 | 48 | RXD0 / RXD1 | ||
GPIO34 | 52 | GPCLK0 | ||
GPIO35 | 54 | SPI0_CE1_N | ||
GPIO36 | 58 | SPI0_CE0_N TXD0 | ||
GPIO37 | 60 | SPI0_MISO RXD0 | ||
GPIO38 | 64 | SPI0_MOSI | ||
GPIO39 | 66 | SPI0_SCLK | ||
GPIO40 | 70 | PWM0 / TXD1 SPI2_MISO | ||
GPIO41 | 72 | PWM1 / RXD1 SPI2_MOSI | ||
GPIO42 | 76 | GPCLK1 SPI2_SCLK | ||
GPIO43 | 78 | GPCLK2 SPI2_CE0_N | ||
GPIO44 | 82 (SDA0) | 82 | cam / disp SDA0 / SDA1 GPCLK1 SPI2_CE1_N | |
GPIO45 | 80 (SCL0) | 84 | cam / disp SCL0 / SCL1 SPI2_CE2_N |
Il existe deux bus I2C spéciaux - un sur GPIO0 et GPIO1, qui est utilisé pour les EEPROMs de la HAT (ID_SD / ID_SC), et un sur GPIO44 et GPIO45, qui est généralement utilisé pour connecter la caméra et l'écran.
Notez également que sur CM4 vous avez la possibilité de définir la tension de sortie GPIO, en utilisant GPIO_VREF - cela peut être connecté à +1.8V ou +3.3V pour une signalisation de 1.8V ou 3.3V respectivement. Dans la fiche technique, il n'est pas clair, cependant, comment cela affectera GPIO44 et GPIO45, car ils sont dans la banque GPIO 1 !
Sur CM4, GPIO2 et GPIO3 (utilisé pour I2C) ont des résistances pull up de 1.8K.
Le Compute Module 3+ permet d'accéder au bus SPI2, qui n'est exposé nulle part ailleurs - sur le CM4, vous n'aurez accès qu'à SPI0 et SPI1.
CM4 va pas permettent un accès simultané à UART0 (TXD0, RXD0) et au miniUART, UART1 (TXD1, RXD1). Ici, les deux sont exposés sur GPIO14 et GPIO15 comme alternatives.
CM4, cependant, comme le Raspberry Pi 4, inclut des UARTs supplémentaires (jusqu'à 6 UARTs au total), des ports SPI (jusqu'à 6 ports SPI au total, dont cinq sont exposés sur Pi 4 et CM4) et des ports I2C (jusqu'à 6 x I2C). Ceux-ci sont disponibles en tant qu'options supplémentaires de pin mux sur la banque GPIO 0.