Intel Galileo - Placa Arduino

Intel Galileo

 

A placa Intel Galileo é a primeira placa com pinagem padrão Arduino que possui um processador de arquitetura Intel. Anunciada na Maker Faire Roma do ano passado, essa placa de desenvolvimento traz como principal atração o processador Intel Quark SoC X1000, o primeiro produto dessa linha, desenhada para aplicações que demandam baixo consumo e alta performance, além da já conhecida facilidade de prototipagem da plataforma Arduino. É bem fácil de usar e foi pensada para iniciantes que queiram fazer projetos rápidos, que podem até ter um nível de complexidade mais alto. Chega ao mercado com um preço bem atraente, o que permite que hobbyistas e curiosos possam também se arriscar a trabalhar com ela em seus pequenos projetos ou descobertas.

 

Essa placa é um projeto completamente open-source, com todo o esquema eletrônico e os detalhes da placa disponíveis para download. Provavelmente o primeiro hardware completamente open-source da Intel.

 

Veja uma foto da placa abaixo:

 

Intel Galileo

Essa placa suporta shields Arduino, além de seu ambiente de desenvolvimento (Arduino Software Development Environment (IDE)) e as bibliotecas de código livre. A placa de desenvolvimento roda o sistema operacional Linux, que já vem previamente instalado e configurado e as bibliotecas de software do Arduino, possibilitando o uso de tudo que é feito para esse padrão de sucesso. A Galileo, no entanto, pode ser programada de qualquer PC com Windows, Mac ou Linux via USB device. Poderíamos dizer, de maneira simplificada, que a placa Intel Galileo possui um Linux mínimo e um simulador de Arduino UNO R3 por software, com um processamento bem mais alto. A distribuição linux que vem instalada na placa é o Poky 9.0.2 (Yocto Project 1.4 Reference Distro). É possível instalar uma distribuição linux no SD card externo e bootar a placa para rodar com suporte a diversos módulos externos, que poderiam ser conectados aos barramentos extras, por exemplo.

 

O processador Intel Quark SoC X1000, primeiro da família Quark, possui uma arquitetura de 32 bits, é single core e single thread e, claro, suporta o instruction set Pentium (ISA)-compatível, ou seja, é binário compatível com programas Linux compilados em PCs x86 32 bits não havendo necessidade de cross compilação, e pode operar a 400 MHz.

 

 

Abaixo é apresentado um diagrama completo da Galileo, desenhada de maneira intuitiva. 

 

Intel Galileo

 

 

A Intel promete distribuir gratuitamente 50 mil placas Galileo para 1000 universidades em diversas partes do mundo até abril de 2015, conforme disse Brian Krzanich, CEO da empresa. Esta é uma grande ideia da Intel, uma vez que se a comunidade usar seu novo processador e estudantes se familiarizarem desde cedo com essa plataforma, diversos produtos começarão a ser projetados com esse processador, devido ao conhecimento dos técnicos do assunto e do suporte da comunidade Arduino, que cria diversos drivers de maneira padronizada e encapsulada.

 

 

Intel Galileo

 

Alguns detalhes mecânicos e de hardware da Galileo

 

Sobre os detalhes mecânicos da placa, ela possui as seguintes dimensões: 10,7 por 7,2 cm. Também possui quatro furos para fixação da placa.

 

A especificação completa do que a placa Galileo pode oferecer está abaixo:

  • Processador de 400 MHz de 32 bits single core, compativel com o instruction set Pentium e com 16 KB de L1 cache (Intel® Quark SoC X1000), encapsulamento FCBGA393;
  • 512 KBytes de SRAM contruída no mesmo chip (SoC) ;
  • 256 MByte de SDRAM externa DDR3 ( 2x Micron MT41K128M8);
  • 11 KByte EEPROM I2C, acessada utilizando as libs de Arduino;
  • 8 MB de Flash SPI (Winbond W25Q64FV), que é onde é armazenado o firmware do último programa enviado do Arduino.

 

Além de possuir compatibilidade total de software e hardware Arduino padrão UNO R3, esse computador embarcado também tem diversas interfaces de comunicação com o mundo real:

  • ACPI (Advanced Configuration and Power Interface);

  • Slot Mini PCI Express (mPCIe) 2.0;

  • Comunicação Ethernet (10/100 Mbps);

  • Cartão micro SD, que suporta partições FAT32 com, no máximo, partições de 32 GB, FAT;

  • USB 2.0 host e client (permite USB CDC ou para upload de diferentes softwares criados no ambiente Arduino);

  • Comunicação UART;

  • RTC integrado - Existe um header na placa que permite a conexão de uma bateria externa de 3V;

  • JTAG para debug

 

A Galileo não dispõe de saída de vídeo ou de áudio de qualquer forma.

Intel Galileo

 

Para alimentar a placa é necessária uma fonte bem regulada de 5V. Na caixa da Galileo, além da placa, vem uma fonte regulada de [email protected] com diversos plugs AC para diferentes regiões do mundo. Para comunicação com o PC, um cabo micro USB é suficiente para comunicação. Ao se conectar algo à alimentação de 5V da placa, por exemplo em seu pino de shield Arduino que consegue fornecer essa tensão, a máxima corrente permitida para fornecimento é de 800 mA. O mesmo valor de corrente caso a placa alimente um shield ou circuito externo em 3V3.

 

Os pinos de entrada e saída são compatíveis com 3V3 ou 5V. Conversores de nível Texas Instruments TPS2051 tomam conta disso. Existe um jumper na placa que permite que a placa seja compatível com 5V. Isso faz com que os shields Arduino, que servem no UNO R3, funcionem perfeitamente na Galileo.

 

Também pode ser escolhida a posição do jumper para suportar 3V3. Os Shields Arduino de 3V3 nessa configuração e que não utilizem o header extra, com o do Arduino XMEGA ou do Arduino DUE, podem ser utilizados também com sucesso. Os Jumpers estão destacados na figura abaixo.

 

Intel Galileo

 

 

Cada um dos I/Os dos 14 digitais do barramento Arduino podem fornecer 10 mA. de corrente ou receber 25 mA. Todos possuem resistor interno de pull up de 5.6K ou 10K que pode ou não ser habilitados por software. O máximo de corrente que pode ser fornecida, no entanto, é de 80 mA - é bom ficar de olho nessa especificação para não danificar a placa Galileo. Algumas experiências já foram feitas com IOs para determinar o máximo da velocidade que se conseguiria mudar seus estados. Até 2,93 MHz foi conseguido nos IO2 e IO3 (Estes são os dois únicos pinos da placa que podem conseguir chegar a tal velocidade. Com digitalWrite() é possível clock até 477 kHz, fastGpioDigitalWrite() 680 kHz e com o comando fastGpioDigitalWriteDestructive() é possível chegar aos 2,93 MHz ). Como em todos os sistemas baseados em sistemas operacionais de uso genérico (não RTOS), a determinação exata dos tempos não é precisa ou garantida. A reação ou atendimento a qualquer evento é função das tarefas que o processador tem para executar. O jitter pode ser uma preocupação para um sistema que, além de controlar ou monitorar algo crítico, também precise realizar algum processamento no momento do evento. Esse efeito pode ser, também, consequência do overhead causado pelo kernel do sistema operacional, rodando em background, mas sob responsabilidade do mesmo processador.

 

Intel Galileo

 

Os conversores analógico-digital são de 12 bits, do tipo SAR e, por default, medem de 0 a 5 Volts. Na Intel Galileo não é suportada o uso de AREF, referência de tensão externa para circuitos analógicos. A conversão AD é feita por um CI externo, o Analog Devices AD7298.

 

A SPI foi concebida para sempre agir como master, nunca como slave. É programável até 25 MHz mas, no entanto, o seu default é 4 MHz, para suportar os shields arduinos. As comunicações seriais I2C, que pode operar até 100 kHz e somente como master, e UART operam normalmente e fazem uso da uso normalmente das bibliotecas Arduino.

 

A placa tem dois botões, um para resetar o sketch programado (programa em arduino) na placa e o outro para reiniciar inteiramente o computador embarcado. Note que, ao reiniciar o Intel Galileo, é necessário antes desconectá-lo da USB, reiniciá-lo e, após o religamento, conectar novamente o cabo USB ao PC onde está sendo realizada a programação para que possa enviar o programa do PC host para o Intel Galileo. Se a placa possuir um cartão SD, é possível que a Galileo armazene diferentes sketches, claro.

 

Toda a alimentação é responsabilidade do CI Texas Instruments TPS65512. Ele conta com saídas de 1,2, 3,3 e 1,8V.

 

Software

 

Para programar a Galileo, entre no site do software do Arduino e baixe a versão que suporta essa placa (investigamos a Versão 1.5.3). Uma forma interessante de saber o que é suportado para essa placa pela comunidade, é navegar pelos exemplos e verificar as diferentes interfaces de comunicação, sensores, algoritmos e periféricos disponíveis. Abaixo está mostrado o que essa versão já suporta para a placa Galileo. Abaixo está mostrado o que essa versão já suporta para a placa Galileo.

 

Intel Galileo

 

Onde Comprar

 

A Mouser já está fazendo a pré-venda no Brasil. A placa está sendo vendida a US$ 67,00 + US$ 40,00 de frete + impostos a serem calculados. Compre aqui.

 

Agradecimentos

 

Revisado por Fabio Souza, Henrique Rossi, Diego Sueiro, Claudio Sampaio (Patola)  e Carlos Freitas, que escrevem para esse site.

 

 

Referências

 

Esquemático em PDF

Esquemático: Arquivos de Orcad

Getting Started

Site do Arduino

Site Techtudo

Laboratório de Garagem

Massimo Revela a Placa Galileo

Site da Intel - Galileo para universidades

Site da Intel

Wikipedia

Site de John Boxall

CNET

Bugs conhecidos da placa

Como fazer os IOs da Galileo operar a 2.93 MHz

Software: Exemplos para rodar no linux

 

Vídeos

 

Vídeo que apresenta a Galileo

 

 

 Vídeo: Tirando da caixa

 

 

Vídeo: Primeiro contato com a Galileo - Mouser

 

 

Video: Massimo e Pete Dice apresentam a placa

 

 

Video: Programando a Galileo utilizando Wyliodrin 

 

 

 

NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Thiago Lima
Apaixonado por sistemas digitais e circuitos eletrônicos, ja contabilizo 16 anos trabalhando com desenvolvimento de produtos eletrônicos. Formado na USP Sao Carlos, com mestrado em Engenharia Elétrica no Rochester Institute of Technology pelo CsF, atualmente lidero boa parte das operações do Embarcados, buscando levar conhecimento de sistemas eletrônicos para o Brasil. Experimentar o mundo das startups nos EUA foi transformador. La fui cofundador de uma startup de tecnologia chamada Una, sendo acelerado e incubado por um programa especial de Startups no RIT. Ao final, recebemos um prêmio de melhor startup do programa. No Laboratório Hacker de Campinas sou um dos entusiastas de novas tecnologias e apoio iniciativas da comunidade. Tambem participo de atividades comunitarias e sou um dos responsáveis pela Plataforma Ituiutaba Lixo Zero, onde escrevo regularmente artigos sobre redução de resíduos. Sou sonhador mesmo e quero acender a luz ?

31
Deixe um comentário

avatar
 
27 Comment threads
4 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
5 Comment authors
Leonardo CostaDiego SueiroRodrigo AraujoRogerio MachadoGuest Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
Leonardo Costa
Visitante
Leonardo Costa

Ola boa tarde, neste Galileo 2 e possível fazer tudo como no arduino? exemplo; usar sensores de corrente, umidade, temperatura, Bluetooth, reles, etc. porque o arduino já possui suas bibliotecas prontas e o galileo não vi nada disponível. já possuo uma programação pronta de minha automação residencial, mas desejo passar pra uma placa melhor mais estável quem pode me responder esta duvida? ha hoje no mercado pra automação residencial qual seria a plaquinha mais indicada? obrigado

Rodrigo Araujo
Visitante
Rodrigo Araujo

Tenho uma duvida sobre a placa galileo ... Esta placa alem das opções que ja são conhecidas do arduino, podemos instalar um linux e a duvida e a seguinte vou poder integrar as aplicações do arduino com o linux como por exemplo monto um server web e divugo atraves do galileo as informações vindas dos componentes arduino ?

Diego Sueiro
Admin
Diego Sueiro

Rodrigo,

Sim, é perfeitamente possível. Aqui no site temos um artigo que ensina como criar a sua própria distribuição linux embarcado contendo os pacotes "arduino":

Galileo + Yocto - Como construir sua própria distribuição Linux Embarcado

Você pode compilar e instalar os seus pacotes e de terceiros atravé do Yocto Project:
http://www.yoctoproject.org/

Se quiser você pode adicionar um repositório de pacotes já compilado na placa e instalá-os:
http://alextgalileo.altervista.org/package-repo-configuration-instructions.html

Rodrigo Araujo
Visitante
Rodrigo Araujo

Diego Sueiro,
Com o linux que e indicado no site da Intel , existe a possibilidade de instalar ele e adiionar os codigos em " C " em algum diretorio onde ele reconhece ou so e possivel mesmo criando uma distribuição ?Desde já agradeço as informações ... ja comprei uma placa e ainda não chegou por isso ainda esta meio nebuloso mais quando chegar vou poder ver mais na pratica . . .boa tarde !!!

Diego Sueiro
Admin
Diego Sueiro

Rodrigo,

Não há restrições enquanto a isso.

Note apenas que você deverá usar uma toolchain para cross compilar as aplicações para rodar na Galileo.
O site da Intel tem bastante informações sobre isso, inclusive de como montar um ambiente todo configurado no Eclipse.

Rodrigo Araujo
Visitante
Rodrigo Araujo

Agradeço muito suas explicações !!! Quando minha placa chegar devo te fazer novas perguntas se puder me ajudar novamente ... valeu

trackback
Editorial: Movimento maker no Brasil - Embarcados

[…] e lançaram plataformas que cairam nas graças do público Maker, como o caso da Intel, trazendo a Intel Galileo, que é uma placa certificada […]

trackback
Placa Arduino MEGA 2560 - Embarcados

[…] Intel Galileo - Placa Arduino […]

trackback
Introdução ao Arduino - Embarcados

[…] Intel Galileo - Placa Arduino […]

trackback
Arduino - Entradas Analógicas - Embarcados

[…] Intel Galileo - Placa Arduino […]

trackback
Arduino UNO - Embarcados

[…] Intel Galileo - Placa Arduino […]

trackback
Placas de desenvolvimento compatíveis com Windows

[…] Intel Galileo - Placa Arduino; […]

trackback
Bargraph LEDS utilizando Arduino

[…] Intel Galileo - Placa Arduino […]

Rogerio Machado
Membro
Rogerio Machado

Is #INTEL doing a good work, trying to enter in the embedded world? I think not!

https://plus.google.com/+RogerioMachadoM/posts/JgovjAhjzCe