sexta-feira, 23 de outubro de 2015

Microcontroladores ARM Cortex M0 e M4

Uma família de microcontroladores muito difundida no mercado possui processadores ARM-CORTEX de 32 bits. São processadores de baixo consumo e alta performance. Com resposta rápida a interrupções, são ideais para equipar microcontroladores. Possuem um reduzido conjunto de instruções (da ordem de 60 para o processador CORTEX-M0), permitindo economia de memória de programa, desejável para aplicações embarcadas. Esses processadores são licenciados para fabricantes que incorporam periféricos e produzem microcontroladores para diversos fins 

Licenciamento do processador ARM Cortex para um microcontrolador
Os processadores da família ARM possuem dois tipos de arquitetura de barramento: Von Neumann e Harvard. Na primeira, dados e código residem na memória acessada pelo mesmo barramento permitindo alteração do código pelo próprio código. É o caso da arquitetura usada no processador ARM CORTEX M0 mostrada abaixo. Nota-se que o mesmo barramento AHB dá acesso a toda a memória.
Arquitetura básica do processador ARM Cortex M0
Já para os processadores ARM CORTEX M3 e M4, a arquitetura de barramento é Harvard possuindo um barramento AHB para acesso da memória ROM, onde reside o código, e outro barramento AHB para acesso à memória RAM usada para dados.

Arquitetura básica do processador ARM Cortex M4
Para facilitar o desenvolvimento de aplicações entre diversos fornecedores de microcontroladores com o processador ARM Cortex, utiliza-se a camada de desenvolvimento CMSIS (Cortex Microcontroller Software Interface Standard) conforme a figura abaixo.  Isso permite o rápido porte de um microcontrolador para outro,
Abstração do hardware pela camada CMSIS
Essa camada é, na verdade, uma abstração das áreas que dão acesso aos periféricos, registradores de controle, memória e vetores de interrupção facilitando o trabalho de programação ao mesmo tempo que permite conhecer o funcionamento do microcontrolador.

Programando em C, normalmente é necessário apenas a inclusão de um header disponibilizado pelo fornecedor do microcontrolador para o modelo específico usado. Também é necessário incluir o código de inicialização compatível com o CMSIS.

Veremos nos próximos posts exemplos de uso e acesso aos diversos periféricos de um microcontrolador ARM CORTEX.

REFERÊNCIAS:
"The Definitive Guide to the ARM Cortex-M0",Joseph Yiu
http://www.arm.com/products/processors/cortex-m/cortex-m-system-design-kit.php
http://www.arm.com/products/processors/cortex-m/cortex-microcontroller-software-interface-standard.php

Nenhum comentário:

Postar um comentário