O Que São Computadores em Módulo? Deixe um comentário

Computadores em Módulo, ou CoMs (Computer on Modules). O que fazem? Onde vivem? Como se alimentam? Hoje no FilipeFlop!

Com o aumento da demanda por funcionalidades em sistemas embarcados, capacidade de processamento, armazenamento, interfaces, protocolos e etc, é comum também que o hardware tenha um aumento em sua complexidade. E com um hardware mais complexo, com mais detalhes, o projeto também fica mais complexo.

Pensando nesse problema, os Computadores em Módulo foram desenvolvidos. A ideia aqui é, a grosso modo, terceirizar a complexidade do projeto do hardware, e de leva, deixar seu projeto “modularizado”. Ficou confuso? 🤔 Abaixo você vai entender melhor! Confira!

Computadores em Módulo

Um computador em módulo é, em suma, um computador completo em uma placa de circuito impresso, com processador, RAM, memória de armazenamento, controles de I/O e o mínimo de componentes necessários para fazer estes funcionarem.Você deve estar pensando: Ok, mas isso me parece muito familiar. Qual a diferença entre uma Single Board Computer e um Computador em Módulo? Para exemplificar na prática note a Raspberry Pi 3B+, single board computer, e seu respectivo computador em módulo, o Raspberry Pi Compute Module 3+. Note as áreas destacadas em vermelho:

Detalhe da área do processador
Imagem 01 – Detalhe da área do processador

Essa área destacada na imagem é a parte aonde está localizado o processador BCM2837. Essa é umas das partes em comum entre os dois. Essa também é parte da PCB mais complexa de projetar, pois devemos considerar as altas frequências, impedâncias, várias camadas e etc.

Pela imagem acima você já deve ter percebido também a diferença. Geralmente, um computador em módulo não tem interfaces para periféricos, apenas contatos, pinos ou sockets para se conectarem a uma placa base. Na Raspberry Pi 3B+, single board computer, temos um computador completo, com todos os componentes necessários, mais interfaces, conectores para periféricos e mais componentes necessários para funcionamento desses. As interfaces e conectores dos computadores em módulo devem ser implementadas nas placas base.

Carrier Board (Placa Base)

Computadores em Módulo são inúteis sem uma placa base. São as placas base que “transformam” o CoM (sigla em inglês para Computer on Module) em dispositivos que irão executar a aplicação final do hardware. Vamos pensar assim: o computador em módulo tem tudo o que “N” aplicações precisam, ele é genérico, mas não implementam as interfaces para o seu uso. Já a placa base é projetada para ser de uso específico, ela vai implementar apenas as interfaces que serão necessárias para a uma certa aplicação.

Exemplo: A Raspberry Pi 3B, single board computer, tem 27 GPIOs que podem ser usadas, que foram externadas do processador para os pinos da PCB. Só que o processador BCM2837, da Rasp 3B, tem 54 GPIOs. São mais 27 GPIOs que não são externados. No caso do Computer On Module, eles estão todos externados nos contatos para uso genérico. Dessa forma, se você quiser utilizar todas as 54 GPIOs ou apenas 1 GPIO, para uso específico, na sua placa base, você escolhe. Geralmente as placas base implementam apenas o mínimo para resolução de um problema específico, simplificando o projeto e baixando o custo de material.

Exemplos de Computadores em Módulo

Tenho aqui quatro computadores em módulo, para mostrar para vocês:

Computadores em módulo - Intel Edison
Imagem 02 – Intel Edison
Computadores em módulo - Raspberry Pi Compute Module 3
Imagem 03 – Raspberry Pi Compute Module 3
Computadores em módulo - Caninos Labrador v2
Imagem 04 – Caninos Labrador v2
Computadores em módulo - Toradex Colibri iMX8X
Imagem 05 – Toradex Colibri iMX8X

De relance podemos ver que o Raspberry Pi Compute on Module 3, Labrador V2 e o Colibri iMX8X são “parecidos”. Mas que fique claro, que eles são parecidos só em seu formato, porque em configurações são beeeem diferentes.

O formato desses três seguem o padrão SO-DIMM (small outline dual in-line memory module). São placas com pequenos contatos dos dois lados, o número de contatos podem variar, que externam os pinos do processador, VCC e GND do circuito. Esses contatos são encaixados em um conector SO-DIMM. É muito comum ver esse padrão em placas e pentes de memória RAM. Mas aqui no nosso caso, as nossas plaquinhas, não só tem memória RAM mas todo o hardware de um computador completo.

Já o Intel Edison tem um formato diferente com edge connector. A ideia desse formato é bem parecida com o SO-DIMM, mas os contatos são ainda menores, para miniminizar a área utilizada: ​​​​​​

Detalhe do edge connector do Intel Edison
Imagem 06 – Detalhe do edge connector do Intel Edison

Exemplos de Placas Base

Exemplos dos computadores em módulo apresentados acima conectados a suas placas base de desenvolvimento:

Placa base - Intel Edison Arduino Breakout
Imagem 07 – Intel Edison Arduino Breakout

Essa placa base é bem interessante, pois transforma o módulo do Edison em um dispositivo compatível com os headers do Arduino UNO R3. Com isso a placa poderia ser utilizada com uma grande gama de shields disponíveis para o Arduino.

Placa base - Raspberry Pi Compute Module 3
Imagem 08 – Raspberry Pi Compute Module 3

Essa é a placa base de avaliação do Raspberry Pi Computer on Module. Ela é compatível com toda a família de módulos da Raspberry Pi, externa todos os 54 pinos de I/O do processador.

Placa base - Caninos Labrador Base-M
Imagem 09 – Caninos Labrador Base-M

O Labrador é um Computer on Module projetado e fabricado aqui no Brasil pelo pessoal da Caninos Loucos LSI Tec. A sua placa base de avaliação implementa as saídas de I/O, um header de 40 pinos compatível com Raspberry Pi,WiFi e Bluetooth, entre outras funcionalidades.

Placa base - Toradex Viola Plus
Imagem 10 – Toradex Viola Plus

Essa é a Viola Plus, a placa base compatível com toda a família Colibri da Toradex. É uma placa base para transformar os módulos em uma single board computer pronta para o uso.

O bacana dos computadores em módulo é que, se a fabricante do CoM tem cuidado com a compatibilidade, entre os módulos de uma mesma família, você pode projetar uma placa base para um módulo, com recursos específicos. E caso no futuro você tenha outro problema, ou o seu problema evolua para algo, que precisa de mais processamento, mais memória, você pode simplesmente reutilizar sua placa base e apenas trocar o módulo por uma opção mais parruda 💪😎.

Outro ponto positivo é que em caso de falha ou defeito do hardware, o módulo pode ser trocado. Além de ser a parte mais complexa de ser projetada, geralmente são os componentes mais difíceis de serem retrabalhados. No caso em que o CoM apresente defeito, ao invés de retrabalho, ou perder todo o hardware, você pode apenas trocar o módulo por um novo em folha.

Conclusões

Computadores em Módulo foram projetados para terceirizar a complexidade do projeto do hardware. Você pode projetar seu próprio single board computer, baseado em computador em módulo, para resolver um problema específico, agilizando o projeto e abaixando seu custo!

O material desse artigo também está disponível em vídeo, no canal do Youtube do nosso Maker Hero Matheus Castello:

Gostou de aprender o que são Computadores em Módulo? Conte para a gente o que achou deixando um comentário aqui embaixo! Para ter acesso a mais conteúdos como esse, visite nosso blog.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *