Raspberry Pi Compute Module 4 vs Compute Module 3

Raspberry Pi ha lanciato il Compute Module 4, come successore del Compute Module 3B+. Il Compute Module 4 (CM4) è un cosiddetto System on Module (SoM), che contiene le parti fondamentali che compongono un Raspberry Pi 4, per esempio, e in aggiunta a ciò eMMC Flash in diverse dimensioni (che vanno da nessuna per la versione Lite del modulo a 32 GB).

Il CM4 permette ai progettisti di integrare una potente soluzione di calcolo nei loro prodotti embedded, senza dover firmare NDA con Broadcom, impegnarsi in alti volumi di acquisto di SoC. Essi beneficiano anche dell'esperienza di progettazione del team di progettazione hardware e software Raspberry Pi, e naturalmente della comunità Raspberry Pi e della vasta gamma di supporto software per la piattaforma Raspberry Pi.

Un modulo di calcolo 4

Le principali differenze nella nuova generazione di moduli Compute

nuovo fattore di forma

Invece di essere meccanicamente compatibile con DDR2-SODIMM, come tutti i precedenti moduli di calcolo (1, 3, 3+), il nuovo CM4 si collega alla scheda carrier del modulo di calcolo utilizzando due connettori Hirose ad alta densità a 100 pin.

Questo permette di avere un ingombro minore (55 mm x 40 mm x 4,7 mm, con 4 fori di montaggio M2,5), e di fornire nuove interfacce ad alta velocità. (Raspberry Pi avrebbe altrimenti esaurito i pin con l'approccio DDR2-SODIMM!)

nuove capacità e interfacce

Il nuovo CM4 ha delle interfacce aggiuntive:

  • una porta HDMI aggiuntiva; entrambe le porte HDMI sono capaci di uscita 4K e supportano HDMI 2.0
  • Interfaccia PCI Express (Gen 2 x1 = corsia singola)
  • Interfaccia Ethernet GBit (Broadcom BCM54210PE PHY è incluso a bordo del modulo di calcolo) - tutto quello che dovete aggiungere nel vostro progetto è un MagJack!
  • supporto WLAN a bordo (nelle versioni WiFi), con antenna tracciata sul PCB e antenna esterna opzionale!
L'immagine mostra l'antenna esterna (un'opzione fornita da Raspberry Pi, pre-certificata!)

design dell'alimentazione significativamente semplificato

Sarete scioccati da quanto sia semplice progettare per il nuovo modulo di calcolo Raspberry Pi: una singola alimentazione +5V è tutto ciò che serve, e fornirà anche fino a 600 mA a 3,3V e 1,8V alle periferiche per voi.

Non è più necessario aggiungere diversi binari di alimentazione e metterli in sequenza con cura - questo semplificherà enormemente la progettazione della vostra scheda portante.

La scheda CM4IO di Raspberry Pi vi aiuterà a iniziare rapidamente con la CM4

Differenze di pinout tra il modulo di calcolo 4 e il modulo di calcolo 3

Ci sono diversi gruppi di pin sui moduli Compute, guarderemo ognuno di loro e le loro differenze tra le versioni a turno.

Differenze di pin GPIO tra i moduli di calcolo

Nella tabella qui sotto, ho elencato i pin GPIO disponibili sul modulo di calcolo 4 (CM4), sul modulo di calcolo 3 (cm3) e sul Raspberry Pi 4, con i loro rispettivi numeri di pin.

I pin GPIO sono divisi per banchi GPIO, sul Raspberry Pi SoC, i pin GPIO0 - GPIO27 sono in GPIO Bank 1, mentre i pin da GPIO28 a GPIO45 sono su GPIO Bank 2. I banchi GPIO, su CM3, possono essere pilotati con tensioni indipendenti (GPIO0-27_VREF e GPIO28-45_VREF).

Su CM4 e Pi 4 solo il primo banco GPIO (GPIO0 - GPIO27) sono esposti. Inoltre, la CM4 espone GPIO44 e GPIO45, che di solito sono usati per pilotare la fotocamera ufficiale del Raspberry Pi e il display da 7". Alla CM4 mancano quindi 16 pin GPIO rispetto alla CM3!

GPIO ID BCMCM4 Pin#CM3 Pin#Pi 4 Pin#Nota
GPIO036 (ID_SD)327ID_SD = SDA0
GPIO135 (ID_SC)528ID_SC = SCL0
GPIO25893SDA1
GPIO356115SCL1
GPIO454157GPCLK0
GPIO5341729GPCLK1
GPIO6302131GPCLK2
GPIO7372326SPI0_CE1_N
GPIO8392724SPI0_CE0_N
GPIO9402921SPI0_MISO
GPIO10443319SPI0_MOSI
GPIO11383523SPI0_SCLK
GPIO12314532PWM0
GPIO13284733PWM1
GPIO1455518TXD0 / TXD1
GPIO15515310RXD0 / RXD1
GPIO16295736
GPIO17505911
GPIO18496312PCM_CLK
GPIO19266535PCM_FS
GPIO20276938PCM_DIN
GPIO21257140PCM_DOUT
GPIO22467515
GPIO23477716
GPIO24458118
GPIO25418322
GPIO26248737
GPIO27488913
GPIO2828SDA0
GPIO2930SCL0
GPIO3034
GPIO3136
GPIO3246GPCLK0
TXD0 / TXD1
GPIO3348RXD0 / RXD1
GPIO3452GPCLK0
GPIO3554SPI0_CE1_N
GPIO3658SPI0_CE0_N
TXD0
GPIO3760SPI0_MISO
RXD0
GPIO3864SPI0_MOSI
GPIO3966SPI0_SCLK
GPIO4070PWM0 / TXD1
SPI2_MISO
GPIO4172PWM1 / RXD1
SPI2_MOSI
GPIO4276GPCLK1
SPI2_SCLK
GPIO4378GPCLK2
SPI2_CE0_N
GPIO4482 (SDA0)82cam / disp
SDA0 / SDA1
GPCLK1
SPI2_CE1_N
GPIO4580 (SCL0)84cam / disp
SCL0 / SCL1
SPI2_CE2_N
Pinout GPIO a confronto tra CM4, CM3, Raspbery Pi 4

Ci sono due bus I2C speciali - uno su GPIO0 e GPIO1, che è usato per le EEPROM HAT (ID_SD / ID_SC), e uno su GPIO44 e GPIO45, che è tipicamente usato per collegare la fotocamera e il display.

Si noti inoltre che sulla CM4 si ha la possibilità di impostare la tensione di uscita GPIO, utilizzando GPIO_VREF - questo può essere collegato a +1.8V o +3.3V per la segnalazione di 1.8V o 3.3V rispettivamente. Dal datasheet, non è chiaro, tuttavia, come questo influenzerà GPIO44 e GPIO45, dato che sono nel GPIO Bank 1!

Su CM4, GPIO2 e GPIO3 (usati per I2C) hanno resistenze di pull up da 1.8K.

Il Compute Module 3+ permette l'accesso al bus SPI2, che non è esposto da nessun'altra parte - su CM4, avrete accesso solo a SPI0 e SPI1.

CM4 sarà non permettono l'accesso simultaneo alla UART0 (TXD0, RXD0) e alla miniUART, UART1 (TXD1, RXD1). Qui entrambi sono esposti su GPIO14 e GPIO15 come alternative.

CM4, tuttavia, come il Raspberry Pi 4, include UART aggiuntive (fino a 6 UART in totale), porte SPI (fino a 6 porte SPI in totale, cinque delle quali sono esposte su Pi 4 e CM4) e porte I2C (fino a 6 x I2C). Queste sono disponibili come opzioni pin mux aggiuntive sul GPIO Bank 0.

Ulteriori letture