Microcontrolador ARM: Hardware, Software e aplicações


Microcontrolador ARM: Hardware, Software e aplicações


A evolução tecnológica dos microcontroladores tem contribuído significativamente na qualidade de vida das pessoas. Praticamente todos os produtos eletrônicos possuem um ou mais microcontroladores embarcados. Nas décadas de 70, 80 e 90, os projetistas ficavam limitados a desenvolverem projetos com display LCD de duas linhas e possuíam poucos recursos para criatividade nos novos projetos.

As linguagens de programação ficavam limitadas a entradas e saídas de sinais analógicos e portas digitais aplicadas à automação e controle de alguns processos e/ou acionamentos de alguns dispositivos. Os aparelhos celulares da década de 90 possuíam duas ou quatro linhas de LCD. Acessar a internet wifi, jogar, fazer fotos ou vídeos com os microcontroladores de 8 bits seria praticamente impossível. Além dos recursos tecnológicos limitados dos microcontroladores, tinha alto consumo de corrente, inviabilizando o desenvolvimento de sistemas portáteis. Além da baixa velocidade de processamento.

O Microcontrolador ARM, iniciado pela Acorn, começou o desenvolvimento desta arquitetura em 1983, para suceder os sistemas 6502. Este foi o passo inicial. Desde então tivemos uma nova concepção no mundo tecnológico relativo a automação, controle e qualidade de vida população. O potencial desta arquitetura favoreceu um grupo de financiadores e parceiros como a Apple e VLSI para criação de uma empresa independente chamada ARM - www.arm.com/community. 

Com vendas na ordem de 10 bilhões de unidades, a arquitetura ARM foi crescendo até se tornar a arquitetura RISC mais popular do planeta. Os processadores ARM estão presentes na maioria dos equipamentos portáteis. Equipamentos como iPhone, Palm Pre, calculadoras, smartphones, Sistema de navegação automotivo, centrais de multimídias, PDAs e alguns notebooks utilizam essa tecnologia para as operações de processamento.

A arquitetura ARM oferece vários microcontroladores como ARM7, ARM9, ARM11, Cortex-A8, Cortex-A9, e Cortex-A15 com núcleo RISC de 32 Bits, podendo trabalhar com o sistema operacional em tempo real (RTOS), como: Windows CE, .NET Micro Framework, Symbian, ChibiOS/RT, FreeRTOS, eCos, MicroC/OS-II, QNX e RTEMS entre outros.

O ARM também suporta sistemas operacionais baseados em LINUX como Android, Bada, FreeBSD, iOS, Linux, NetBSD OpenBSD, Plan 9 from Bell Labs, QNX, Solaris e webOS. e as diversas distribuições Linux. Entre elas destacam-se Android, Arch Linux ARM, Chrome OS, Debian, Fedora, Gentoo, Ubuntu entre outros. A arquitetura também ARM suporta o sistema operacional ""Windows Embedded CE"", chamado atualmente de ""Windows Embedded Compact"", bem como os sistemas operacionais para mobile Windows Phone e Windows Mobile.

Esta arquitetura oferece uma excelente opção para os projetistas que já trabalham com os microcontroladores de 08/16 bits. Todavia, precisa de experiências na programação dos periféricos (8250, 8259, 8237, 8253, 8255, etc), estudados nas disciplinas de sistemas microprocessados. Os novos periféricos compreendem: Interface para Ethernet, Controlador de LCD, interface USB OTG para a conexão de periféricos, Controlador CAN para aplicações industriais e automotivas, Interface SD/MMC para memória Flash, barramentos, I2C, ISP, etc.

A programação destes dispositivos pode ser feita utilizando ambientes normalmente utilizados para a linha da família 8051, com o Keil. Neste caso, realmente é preciso conhecer a arquitetura interna do ARM para programação dos registradores, bit a bit. Dependendo da aplicação do ARM, deve-se aprender a programar em linguagem C/C++, PHP, JavaScrip, MySQL, JAVA, ANDROID, C#, PHP, CCS, HTML e MySQL, além de conhecer configuração de redes, sistemas operacionais, servidor entre outros. Na realidade, o ARM possui todas as características de um computador pessoal. Para desenvolvimentos de jogos pode se utilizar os ambientes: Unity3D, CryEngine, UDK entre outros.

Atualmente trabalho com o microcontrolador ARM S3C6410A ARM1176JZF-S e o ""S5PV210 with PowerVR SGX540 graphics engine Cortex-A8"" da Samsung, utilizando o sistema operacional Linux com a distribuição Ubuntu, aplicado para aquisição de sinais analógicos (sensores de gás), rede wifi, banco de dados e páginas web design ( HTML5, JAVASCRIP, MySQL, PHP E CSS5).

* O Prof. Dr. Ivando S. Diniz (ivando@sorocaba.unesp.br) é doutor em Engenharia Aeronáutica e Mecânica na área de Mecatrônica e Dinâmica de Sistemas Aeroespaciais pelo ITA ( Instituto Tecnológico de Aeronáutica), docente do curso de Engenharia de Controle e Automação da UNESP e GASI. Realiza pesquisas em Projeto e Desenvolvimento de Simuladores Virtuais e Sistemas Embarcados

Comentários

Postagens mais visitadas deste blog

Casas do Cidadão alteram critérios de atendimento em Sorocaba

Você sabe a diferença entre pandemia, epidemia e endemia? Pandemia