Módulo informático 4 de Raspberry Pi frente al Módulo informático 3
Raspberry Pi lanzó el Compute Module 4, como sucesor del Compute Module 3B+. El Compute Module 4 (CM4) es el llamado System on Module (SoM), que contiene las partes principales que componen una Raspberry Pi 4, por ejemplo, y además de eso eMMC Flash en diferentes tamaños (que van desde ninguno para la versión del módulo Lite hasta 32 GB).
El CM4 permite a los diseñadores integrar una potente solución informática en sus productos embebidos, sin tener que firmar acuerdos de confidencialidad con Broadcom ni comprometerse con grandes volúmenes de compra de SoC. También se benefician de la experiencia de diseño del equipo de diseño de hardware y software de Raspberry Pi y, por supuesto, de la comunidad Raspberry Pi y la amplia gama de soporte de software para la plataforma Raspberry Pi.
Principales diferencias en la nueva generación de módulos informáticos
nuevo factor de forma
En lugar de ser compatible mecánicamente con DDR2-SODIMM, como todos los módulos informáticos anteriores (1, 3, 3+), el nuevo CM4 se conecta a la placa base del módulo informático mediante dos conectores Hirose de alta densidad de 100 pines.
Esto le permite tener una huella más pequeña (55 mm x 40 mm x 4,7 mm, con 4 agujeros de montaje de M2,5), y proporcionar nuevas interfaces de alta velocidad. (De lo contrario, Raspberry Pi se habría quedado sin pines con el enfoque DDR2-SODIMM).
nuevas capacidades e interfaces
El nuevo CM4 dispone de interfaces adicionales:
- un puerto HDMI adicional; ambos puertos HDMI son capaces de dar salida a 4K y son compatibles con HDMI 2.0
- Interfaz PCI Express ( Gen 2 x1 = un carril)
- Interfaz GBit Ethernet (Broadcom BCM54210PE PHY incluido en el módulo informático): ¡sólo tiene que añadir un MagJack a su diseño!
- Soporte WLAN a bordo (en las versiones WiFi), con antena de trazado de PCB y antena externa opcional
diseño de la fuente de alimentación significativamente simplificado
Te sorprenderá lo sencillo que es diseñar para el nuevo módulo de computación Raspberry Pi: una sola alimentación de +5V es todo lo que se necesita, e incluso suministrará hasta 600 mA a 3,3V y 1,8V a los periféricos por ti.
Ya no es necesario añadir diferentes raíles de alimentación y secuenciarlos cuidadosamente: esto simplificará enormemente el diseño de tu propia placa base.
Diferencias de conexión entre el módulo informático 4 y el módulo informático 3
Hay diferentes grupos de pines en los módulos Compute, vamos a ver cada uno de ellos y sus diferencias entre las versiones a su vez.
Diferencias de pines GPIO entre los módulos de cálculo
En la siguiente tabla, he enumerado los pines GPIO disponibles en el módulo de computación 4 (CM4), en el módulo de computación 3 (cm3) y en la Raspberry Pi 4, con sus respectivos números de pin.
Los pines GPIO están divididos por bancos GPIO, en el SoC Raspberry Pi, los pines GPIO0 - GPIO27 están en el banco GPIO 1, mientras que los pines GPIO28 a GPIO45 están en el banco GPIO 2. Los bancos GPIO, en el CM3, pueden ser manejados con voltajes independientes (GPIO0-27_VREF y GPIO28-45_VREF).
En CM4 y Pi 4 sólo el primer banco GPIO (GPIO0 - GPIO27) están expuestos. Además de eso, el CM4 expone GPIO44 y GPIO45, que normalmente se utilizan para manejar la(s) cámara(s) oficial(es) de la Raspberry Pi y la pantalla de 7". ¡Por lo tanto, el CM4 carece de 16 pines GPIO en comparación con el CM3!
GPIO BCM ID | CM4 Pin# | CM3 Pin# | Pi 4 Pin# | Nota |
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 |
Hay dos buses I2C especiales - uno en GPIO0 y GPIO1, que se utiliza para HAT EEPROMs (ID_SD / ID_SC), y uno en GPIO44 y GPIO45, que se utiliza normalmente para conectar la cámara y la pantalla.
Tenga en cuenta también, que en CM4 tiene la capacidad de establecer el voltaje de salida GPIO, utilizando GPIO_VREF - esto puede ser conectado a +1,8V o +3,3V para 1,8V o 3,3V de señalización, respectivamente. De la hoja de datos, no está claro, sin embargo, cómo esto afectará a GPIO44 y GPIO45, ¡ya que están en el Banco GPIO 1!
En el CM4, GPIO2 y GPIO3 (utilizados para I2C) tienen resistencias pull up de 1,8K.
El Compute Module 3+ permite el acceso al bus SPI2, que no está expuesto en ningún otro lugar - en el CM4, sólo tendrá acceso a SPI0 y SPI1.
El CM4 no permiten el acceso simultáneo a la UART0 (TXD0, RXD0) y a la miniUART, UART1 (TXD1, RXD1). Aquí ambas están expuestas en GPIO14 y GPIO15 como alternativas.
CM4, sin embargo, al igual que la Raspberry Pi 4, incluye UARTs adicionales (hasta 6 UARTs en total), puertos SPI (hasta 6 puertos SPI en total, cinco de los cuales están expuestos en Pi 4 y CM4) y puertos I2C (hasta 6 x I2C). Estos están disponibles como opciones adicionales de pin mux en el Banco 0 de GPIO.