Os sistemas embarcados que utilizam sistemas operacionais de propósito geral (GPOS, como distribuições Linux) estão cada vez mais presentes em uma ampla gama de soluções e dispositivos eletrônicos ao nosso redor. Desde eletrodomésticos até a área automotiva, esses sistemas são amplamente usados em interfaces multimídia e sistemas de infotainment dos veículos mais modernos. Um exemplo dessa tecnologia é o Compute Module 4.
Os motivos para isso são diversos, mas giram em torno da praticidade e versatilidade que um sistema operacional destes pode oferecer. Tais sistemas operacionais são robustos, bastante conhecidos dos desenvolvedores (inclusive para aqueles que não trabalham diretamente com sistemas embarcados) e já possuem muitos drivers e interfaces de comunicação/conectividade prontas para uso, otimizando portanto o tempo de desenvolvimento e minimizando o tempo de debug.
Para comportar tais sistemas embarcados, existem diversas opções de Single-Boards Computer (SBC) no mercado, dentre elas as Raspberry Pi. Para soluções que necessitam operar em ambientes mais severos (como ambiente industrial, por exemplo), uma opção bastante interessante é a Raspberry Pi CM4, a qual é detalhada neste artigo.
O que é o Compute Module 4?
O Raspberry Pi Compute Module 4 – ou, também comumente chamado, Raspberry Pi CM4 – é uma versão compacta e modular da conhecida SBC Raspberry Pi 4, feita no formato de SoM (System-on-Module). O Compute Module 4 pode ser visto na figura 1.
Figura 1 – Raspberry Pi Compute Module 4
Dessa forma, a Raspberry Pi CM4 pode ser encaixada/soquetada em uma placa base que contém os periféricos desejados para o uso específico de uma solução (conectores HDMI, USBs, Ethernet, etc.).
Sendo assim, é possível projetar uma placa base somente com os periféricos e recursos de hardware desejados na solução específica, encaixando o Compute Module 4 nela para que este opere como o “cérebro” (central lógica) da solução.
Esta estratégia é bastante utilizada atualmente na indústria, uma vez que permite utilizar um SoM padrão de mercado (dos fabricantes Toradex, Raspberry Pi, etc.) e, assim, desenvolver uma placa base customizada e confidencial da solução.
Um exemplo de placa base é a Compute Module 4 IO Board, distribuída pela Raspberry Pi Foundation, a qual tem como objetivo compor um kit de desenvolvimento completo para aprendizado do Compute Module 4. Esta placa base pode ser vista na figura 2.
Figura 2 – Compute Module 4 IO Board
É muito importante informar que o COMPUTE MODULE 4 NÃO DEVE SER USADO SOZINHO, ou seja, sem uma placa base. Inclusive, é possível observar que, nela, não existem conectores de uso geral como USB, Ethernet, HDMI, P2 e afins, mas sim existem soquetes em sua parte inferior para a conexão física dela com uma placa base, como mostra a figura 3.
Figura 3 – Soquete do Compute Module 4
A Raspberry Pi CM4 é um módulo feito para funcionar como um “computador modular” em aplicações diversas, deixando a especificidade da solução para a placa base.
Pelo fato da estratégia de uso de um SoM + placa base deixar a parte periférica (conectores USB, Ethernet e HDMI, por exemplo) a cargo da placa base, o tamanho do Compute Module 4 é significativamente menor se comparado a uma Raspberry Pi 4 convencional, possuindo apenas 55 mm × 40 mm de dimensões físicas, contra as dimensões físicas de 85 mm x 56 mm da Raspberry Pi 4 comum.
Entretanto, a solução total pode ter um tamanho final de hardware grande, a depender dos periféricos desejados e do projeto e fabricação da placa base feito para uma solução específica.
Especificações técnicas do Compute Module 4
Uma das características mais marcantes do Compute Module 4 é o grande número de variantes disponíveis para compra. Atualmente, o RPI CM4 possui 32 variantes, com diferentes opções de conectividade Wireless (presente / não-presente), tamanho de eMMC e tamanho de memória RAM.
Os preços destas variantes são diferentes, sendo correspondentes à variante escolhida. Estas variantes podem ser vistas na tabela abaixo:
Código | Wireless | RAM | eMMC |
CM4001000 | Não | 1 GB | 0GB (Lite) |
CM4001008 | 8GB | ||
CM4001016 | 16GB | ||
CM4001032 | 32GB | ||
CM4002000 | Não | 2 GB | 0GB (Lite) |
CM4002008 | 8GB | ||
CM4002016 | 16GB | ||
CM4002032 | 32GB | ||
CM4004000 | Não | 4 GB | 0GB (Lite) |
CM4004008 | 8GB | ||
CM4004016 | 16GB | ||
CM4004032 | 32GB | ||
CM4008000 | Não | 8 GB | 0GB (Lite) |
CM4008008 | 8GB | ||
CM4008016 | 16GB | ||
CM4008032 | 32GB | ||
CM4101000 | Sim | 1 GB | 0GB (Lite) |
CM4101008 | 8GB | ||
CM4101016 | 16GB | ||
CM4101032 | 32GB | ||
CM4102000 | Sim | 2 GB | 0GB (Lite) |
CM4102008 | 8GB | ||
CM4102016 | 16GB | ||
CM4102032 | 32GB | ||
CM4104000 | Sim | 4 GB | 0GB (Lite) |
CM4104008 | 8GB | ||
CM4104016 | 16GB | ||
CM4104032 | 32GB | ||
CM4108000 | Sim | 8 GB | 0GB (Lite) |
CM4108008 | 8GB | ||
CM4108016 | 16GB | ||
CM4108032 | 32GB |
Em resumo, todas as variantes dos CM4 disponíveis cobrem as seguintes especificações técnicas:
- SoC e processamento: Broadcom BCM2711 (quad-core Cortex-A72, ARM v8), de 64 bits e com frequência máxima de operação igual a 1.5GHz.
- Memória RAM: do tipo LPDDR4-3200 SDRAM, oferecida com os seguintes tamanhos: 1GB, 2GB, 4GB ou 8GB.
- Vídeo: trabalha com vídeo com resolução até 4K a 60fps em H.265 (HEVC) e, para H.264, trabalha com resolução de até 1080p a 60fps.
- Memória Flash: oferecida sem memória Flash embarcada (versão CM4 Lite, para casos de uso de memória de armazenamento externa / fora do Compute Module 4), ou oferecida com as seguintes opções de memória Flash embarcada (CM4 eMMC): 8GB, 16GB ou 32GB.
- Conectividade Wi-Fi: suporta Wi-Fi nas frequências de 2,4GHz e 5,0GHz.
- Conectividade bluetooth: suporta Bluetooth 5.0 e BLE.
A Raspberry Pi CM4 – assim como outras Single-Boards Computer disponíveis no formato de SoM – possui como característica a possibilidade de ser incorporada em sistemas e aplicações de uso mais severos, como é o caso de aplicações industriais, por exemplo.
Também por esse motivo, o Compute Module 4 conta com a opção de ser comercializado com memória Flash embarcada do tipo eMMC, eliminando o uso dos cartões micro-SD, que com certeza seriam grande fonte de problemas operacionais em aplicações rodando em ambiente de grande vibração mecânica, por exemplo.
Além disso, o uso de um CM4 com eMMC garante maior velocidade no acesso aos dados gravados, se comparado ao tempo de acesso de um micro-SD, sendo a memória Flash do tipo eMMC, portanto, bastante adequada em casos de uso que requerem baixo tempo de boot/inicialização.
Vantagens de uso do Compute Module 4
As vantagens de uso do CM4 são:
- Modularidade: é possível deixar todas as especificidades de hardware de uma solução na placa base e, logo, usar o Compute Module 4 como central lógica dela. Assim, se a placa base ou a Raspberry Pi CM4 apresentarem falhas de hardware, a substituição é facilitada, reduzindo o tempo de manutenção.
- Robustez: o Compute Module 4 é feito para uso em ambiente industrial, onde as condições de operação são mais severas quanto à vibrações mecânicas e temperatura ambiente. Logo, utilizar o RPi CM4 garante robustez à solução.
- Redução de complexidade de hardware: o projeto de placas base é muito mais simples de ser feito e fabricado do que o projeto de uma placa com um SoC (como é o caso do Compute Module 4). Desta forma, o custo final de um projeto que faz uso de um SoM (como a Raspberry Pi CM4, por exemplo) em conjunto de uma placa base é bastante competitivo se comparado ao custo de uma placa única com tudo integrado.
- Tamanho compacto: em soluções que não exigem muitos periféricos de hardware, a placa base tenderá a ter pequenas dimensões físicas. Como o Compute Module 4 já possui dimensões físicas pequenas, é possível ter como resultado soluções robustas e com tamanho final de hardware compacto.
- Mais personalização e menor consumo de energia elétrica: muitas vezes, as SBCs tradicionais possuem uma série de periféricos que não serão utilizados numa solução final. Isso contribui para um hardware final maior que o necessário e, ainda, contribui para um maior consumo de energia elétrica, devido a presença de periféricos não utilizados porém alimentados. Com a Compute Module 4, é possível projetar uma placa base somente com o que é realmente necessário na solução final em termos de periferia de hardware, permitindo que seja atingido um tamanho final de hardware menor, assim como um consumo de energia elétrica menor.
- Expansibilidade: se for necessário adicionar novas interfaces para comunicação com mais periféricos (sobretudo àquelas compatíveis com PCI express), o esforço e tempo para o retrabalho de hardware em uma placa base é pequeno se comparado à situação de uma solução que possui uma placa única com tudo integrado.
Usos sugeridos para o Raspberry Pi CM4
Os usos sugeridos para o Compute Module 4 são diversos, podendo ser aplicada tanto em soluções em ambientes mais “caseiros”, quanto em ambientes industriais. De forma geral, é listado abaixo algumas possibilidades interessantes de uso da RPi CM4 com uma placa base adequada para cada uso:
- Uso educacional, para aprendizado de programação e desenvolvimento de sistemas embarcados que utilizam Linux como sistema operacional embarcado.
- Uso como dispositivo de chão-de-fábrica, como por exemplo em uma IHM (Interface Homem-Máquina) ou em um controlador de periféricos (motores, iluminação, leitura de sensores, etc.).
- Uso como gateway para conectividades diversas, tais como: wi-fi, LoRaWAN (inclusive suportando um LNS embarcado na própria Raspberry Pi CM4, como o ChirpStack, por exemplo).
- Uso em automação residencial, como central de controle de periféricos diversos, como iluminação, aquecedores, ar condicionado, cortinas automáticas e afins.
- Uso em quiosques de informação / totens que operam em ambientes mais severos e precisam de alta resolução de vídeo.
Na MakerHero, você pode encontrar diversas variantes do Compute Module 4, além de adquirir a Compute Module 4 IO Board.