Embedded Systems
  • Microcontroladores e Sistemas Embarcados
  • Introdução aos sistemas embarcados
  • Sistemas Microcontrolados
    • Visão geral da organização de um sistema computacional
    • Modelos de Arquitetura
    • Estrutura básica de um microcontrolador genérico
  • Periféricos Mapeados em Memória
    • Configuração de Registradores
  • Programação
    • Programação em Linguagem de Montagem
    • Compilação
  • Intel MSC-51
    • Arquitetura e Organização do 8051
    • Características Gerais de Operação
    • Mapa de Memória
    • Conjunto de Instruções e Modos de Endereçamento
    • Interrupções
    • Portas de Entradas/Saídas Digitais
    • Módulo Contador/Temporizador
    • Comunicação Serial Assíncrona
  • Processadores Cortex-M0+
    • Arquitetura
    • Sistema de interconexão
    • Arquitetura do Conjunto de Instruções (ISA)
    • Modos de operação
    • Programação
      • Keil uVision
  • Freedom Board: KL25Z
    • Família de microcontroladores KL25Z
    • Terminais do microcontrolador
    • Interface de configuração
    • Programação
      • Keil uVision
      • Chamada de funções em Assembly
      • Configuração de Registradores em C
      • Utilizando o CMSIS nas aplicações
  • Dicionário
  • Apêndice A: Sistemas de Numeração
  • [Em desenvolvimento] Apêndice B: Números Sinalizados
Powered by GitBook
On this page
  • Terminais: Interface com o hardware
  • Periféricos
  • Memórias
  1. Sistemas Microcontrolados

Estrutura básica de um microcontrolador genérico

PreviousModelos de ArquiteturaNextPeriféricos Mapeados em Memória

Last updated 6 years ago

Internamente, um microcontrolador possui diversos módulos. Assim como um computador, cada módulo possui uma função específica. Em geral, apresentam uma unidade de processamento simples, memória e dispositivos de entrada e saída [8]. Em uma visão superficial, o sistema pode ser apresentado conforme o diagrama.

Nesse diagrama estão os principais elementos de um microcontrolador. O núcleo (Core) é o processador que coordena a operação do sistema. Na memória são colocadas informações que coordenarão a operação do processador, isto é, as instruções que o processador executará. Para interagir com o meio externo são usados periféricos, representado pelo módulo de entradas e saídas. Cabe destacar os terminais, ou pinos, que fazem a interface entre o microcontrolador e o meio externo.

Terminais: Interface com o hardware

Microcontroladores apresentam diversos terminais com funções variadas:

Alimentação – Para que o microcontrolador funcione é preciso uma fonte de tensão contínua que atenda aos requisitos elétricos do dispositivo. Dependendo do encapsulamento do chip, e das características do microcontrolador, um ou mais terminais devem ser conectados na fonte.

Reset – A função principal desse pino é reiniciar o microcontrolador, isto é, definir um estado conhecido – lembre-se que é circuito digital sequencial – para iniciar a execução do programa armazenado na memória. Esse pino também é utilizado para funções de programação do dispositivo.

Controlados por periféricos – Podem ser usados como entradas e saídas de propósito geral. Ou ainda, exercer uma função específica em um periférico do microcontrolador. Diversos microcontroladores apresentam terminais com funções multiplexadas e podem assumir diferentes funções dependendo da configuração realizada.

Analógicos – Alguns periféricos do microcontrolador atuam com sinais analógicos. Por exemplo, comparadores analógicos e conversores de sinais (A/D ou D/A).

Clock – As operações executadas pelo processador são governadas por um sinal de sincronismo, denominado clock [1]. O sinal de sincronismo pode ser gerado internamente ou externamente. Externamente, o modo mais comum de gerar esse sinal é com a utilização de circuitos eletrônicos em conjunto com elementos piezoelétricos, formando um sistema chamado de oscilador Pierce [11, 12]. Em geral, tais sistemas utilizam cristal de quartzo ou ressonador cerâmico como oscilador [11, 12].

Internamente, alguns microcontroladores apresentam circuitos osciladores RC. Independente da fonte, cabe ressaltar que velocidade do processador é ditada pela frequência do sinal de clock [1], que corresponde a taxa de pulsos por segundo. Além disso, o tempo necessário para executar uma instrução é medido com relação a quantidade de ciclos do sinal de clock [1, 8].

Periféricos

Todo microcontrolador possui internamente uma seleção de periféricos que podem variar em quantidade e complexidade [6]:

Complexidade: Nível Baixo

  • Conversor de sinal (D/A e A/D);

  • Comparador analógico;

  • Barramentos: I2C, SPI, CAN;

  • Temporizadores e contadores;

  • Watchdog;

  • Interface serial assíncrona e síncrona.

Complexidade: Nível Médio

  • USB;

  • IrDA cde alta velocidade;

  • Ethernet;

  • Controlador de memória: SRAM externa.

Complexidade: Nível Alto

  • Unidade de gerenciamento de memória (MMU);

  • Barramento PCI e PCIe;

  • Codificadores e decodificadores de vídeo;

  • Controlador de memória: DRAM/SDRAM externa.

Memórias

Para manter o programa armazenado, microcontroladores possuem memória não volátil do tipo Flash [6]. Alguns ainda integram uma EEPROM, sendo é usada para manter dados de configuração da aplicação, por exemplo, dados de calibração. Já os dados são carregados em memória volátil do tipo SRAM [6] durante a inicialização do programa. Volatilidade: refere-se à retenção do conteúdo na memória, sendo voláteis ou não-voláteis. Isto é, a informação é perdida ou mantida na ausência de energia elétrica.