• Nenhum resultado encontrado

Sistemas Microcontrolados

N/A
N/A
Protected

Academic year: 2021

Share "Sistemas Microcontrolados"

Copied!
23
0
0

Texto

(1)

Sistemas

Sistemas

Microcontrolados

Microcontrolados

Aula 2: Arquitetura de Sistemas uC

Marco Jose da Silva

[email protected]

Sistemas Embarcados: Definição

• Sistemas embarcados =

– Sistemas de processamento de informações

embarcados em um produto maior

– Peter Marwedel (TU Dortmund)

• Dois tipos de computação

– Desktop – produção milhões/ano

– Embarcado – bilhões/ano

• Sistemas não embarcados

– PCs, servidores, e notebooks

(2)

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 3

• Controle automotivo:

– motor, freios …

• Aviões

– motor, controles de vôo …

• Forno de microondas

• Câmera digital

• Telefone celular

• Smart phones

• Sensores inteligentes

• ...

Exemplos sistemas embarcados

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 4

Diagrama em Bloco de uma Câmera Digital

(3)

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 5

Analógico

Digital

Analógico

Memória

Coprocessadores

Controladores

Conversores

Processador

Interface

Software

(Aplicação)

ASIC

Componentes de um Sistema Embarcado

• Componentes Analógicos

– Sensores, atuadores, …

• Componentes Digitais

– Processadores, coprocessadores, memórias, barramentos

– Controladores, hardware de aplicação específica

• Conversores

– Conversor Analógico-Digital (ADC), DAC …

• Software

– Sistema Operacional

– Aplicações (ex. interface com usuário)

– Firmware (programação em baixo nivel)

(4)

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 7

• Aplicação Específica

– Aplicações são conhecidas a priori

– Otimização para custo, área, potência, e desempenho

• Processamento Digital de Sinais

– Sinais são representados digitalmente

• Sistemas Reativos

– Reage a mudanças no ambiente do sistema

• Tempo Real

– Tarefas devem ser computadas antes de um deadline

• Distribuído, em Rede, …

Características dos Sistemas Embarcados

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 8

• Sistema embarcado: sistema que possui

um processador mas não é um

computador de propósito geral

(5)

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 9

Histórico e Evolução

Histórico

Transistor

(1947)

Circuito integrado

(1958)

4004 e

TMS1000

(1971)

1o. uC e uP

4 bits

(6)

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 11

Lei de Moore (Gordon Moore – cofundador da Intel)

Número de transistores em um chip dobrará a cada ano.

Desde 1970, isso diminuiu um pouco.

Número de transistores dobra a cada 18 meses.

Custo de um chip permaneceu quase inalterado.

Maior densidade de empacotamento significa caminhos elétricos mais

curtos, gerando maior desempenho.

Menor tamanho dos chips --> computadores menores --> maior

flexibilidade.

Redução nos requisitos de consumo e resfriamento.

Menos interconexões aumenta a confiabilidade.

Evolução de computadores

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 12

(7)

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 13

Todo sistema eletrônico complexo, incluindo o

computador, possui uma hierarquia.

Constituído de um conjunto de subsistemas

inter-relacionados, cada qual também podendo ser

hierárquico.

Projetista lida com um nível particular do sistema.

Estrutura é o modo como os componentes são

inter-relacionados.

Função é a operação individual de cada componente

como parte da estrutura.

Estrutura e função

Processamento, armazenamento e transferência

(movimentação) de dados.

Controle destas 3 funções.

*** Figuras retiradas do livro Arquitetura e Organização de Computadores - William Stallings.

(8)

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 15

a) Movimentação de Dados:

ex: teclado para Display

b) Armazenagem:

ex: internet para disco

c) Processamento de/para

memória:

ex: atualizar dados

bancários

d) Processamento da memória

para E/S:

ex: imprimir dados bancários

Funções - operações

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 16

(9)

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 17

Primeira geração 1945 - 1957

Válvulas eletrônicas.

Sem SO.

Programadores submetiam seus programas em linguagem de

máquinas, 1 bit por vez.

ENIAC (Electronic Numerical Integrator Computer) - 1946

30 toneladas e área de 140 m

2

.

18 mil válvulas e consumo de 140KW.

Máquina decimal e não binária.

5 mil adições ou 360 multiplicações por segundo.

Programado manualmente por chaves.

Evolução dos computadores

Segunda geração - 1958 - 1964

Transistores no lugar de válvulas (menor, mais barato e dissipa menos

calor).

Primeiros sistemas em lotes (Assembly)

Programa inteiro era carregado na memória.

Dias para execução completa de um programa.

(10)

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 19

Terceira geração 1965

-1971

Hardware

Circuitos Integrados.

Portas lógicas e/ou

células de memória.

Sistemas Operacionais

Multiprogramação.

Uso do processador

maximizado.

Evolução de computadores

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 20

A partir da 3

a

geração, menor consenso sobre a

definição das gerações restante.

(11)

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 21

Evolução de computadores

Processadores de propósito geral

• Um sistema construído com um microprocessador

requer memória, entradas e saídas externas

(12)

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 23

Arquitetura

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 24

CPU

CPU

Baseia a estrutura de quase todos os computadores,

desde o smartphone até o mainframe.

Barramento

Mem

Memó

ó

ria

ria

UC

UC

ULA

ULA

I/O

I/O

Arquitetura de Von Neumann

(13)

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 25

A UC, ULA e memória comunicam-se usando o

barramento.

A memória é dividida em endereços que representam

bytes.

Endereços de memória possuem instruções ou dados.

Exemplo: "leia o byte que está na posição 2 da memória, some com

aquele que está na posição 3 e guarde na posição 4".

Operações lógicas e aritméticas são feitas na ULA.

E quem comanda esse processo de transferir dados

entre a memória e a ULA é a UC.

A UC possui um ciclo infinito de buscar a instrução na

memória, decodificá-la e executá-la.

Arquitetura de Von Neumann

(14)

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 27

Execução repetida de um ciclo de instruções (fetch, decode e

execute).

Ciclo de instruções

Buscar instrução

Decodificar

instrução

Executar

ação

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 28

(15)

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 29

O que é um microcontrolador ?

Microprocessador + Memória de programa + Memória de dados + Periféricos

http://www.mikroe.com/eng/products/view/11/book-pic-microcontrollers/

Estrutura básica de um uC

(16)

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 31

Arquitetura interna de um uC

Arquitetura von-Neumann

Arquitetura Harvard

Microprocessadores

DSP, Microcontroladores

Único barramento para memórias e

Entrada-Saída

(possibilidade execução de

Barramentos separados

atividade em paralelo)

CPU CPU Mem

Memóóriaria UCUC ULA ULA

I/O I/O

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 32

Memórias

Endereço = posição de mem.

Conteúdo = informação no end.

Tipos:

• Leitura/escrita. (Volátil)

Ex: RAM (Random Access Memory)

• Somente leitura. (Não-volátil)

Ex: ROM (Read-Only Memory)

UV-ROM

• Leitura/escrita. (Não-volátil)

Ex: EEPROM, FLASH

(17)

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 33

CPU - Central Processor Unit

Unidade central de processamento (UCP)

• Acumulador: registrador especial, sempre um dos operandos da ULA

• Decodificador de instruções: interpreta as instruções (microcódigo)

• Unidade lógica e aritmética (ULA): executa funções AND, OR, +, *, ...

• Status Register (PSW): registrador especial com flags

Instruções

Instrução de Máquina

Um comando codificado como uma sequência de bits compreensível

para a unidade de controle.

• Linguagem de Máquina

Conjunto das instruções reconhecidas pela unidade de controle

• Tipos de Instruções:

Transferência: copia dados de uma localização para outra

Aritmética/Lógica: Comanda operações na ULA

(18)

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 35

Conjunto de instruções – Instruction Set

Divisão de valores armazenados na memória (x=y÷z)

1. Carrega y em R1

2. Carrega z em R2

3. Se R2 = 0, PULE para instrução 6

4. Comande a ULA para dividir R1 e R2 e armazenar o resultado em R3

5. Armazena R3 em x

6. PARE

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 3636

RISC

(Reduced Instruction Set Computing)

Poucas instruções.

Simples e rápidas.

Ex: PowerPC, SPARC.

• CISC

(Complex Instruction Set Computing)

Muitas instruções.

Mais complexas e convenientes

Ex: Intel, AMD.

(19)

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 37

Registradores

Posição de memória – p.ex. variável de um programa

SFR - Special Function Register

(Registrador de Função Especial)

Tem alguma função no uC: Flags,

controlar periférico, etc.

Portas

(SFR)

Mapeiam Dados para pinos do uC

TTL/CMOS 5V

1 = 5V, 0 = 0V

(20)

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 39

Alguns exemplos básicos

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 40

Exemplo: Microcontrolador PIC 16F628A

(21)

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 41

Program written in C

Compiled Program (Assembly)

HEX (PIC Executable)

Etapas de gravação no uC

PIC

PORTB

V

LED

 2V

V

HIGH

= 5V

V

HIGH

V

LED

R

I

I = 20mA

R = 150Ω

Exemplo: LED

(22)

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 43

void main()

{

INTCON=0;

OPTION_REG=0;

TRISB=0;

PORTB=0;

while(1)

{

delay_ms(500);

PORTB=~PORTB;

}

}

Programa em C – Pisca LED

http://www.mikroe.com/mikroc/pic/

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 44

void main()

{

INTCON=0;

OPTION_REG=0;

TRISB=0;

PORTB=1;

while(1)

{

delay_ms(500);

PORTB=PORTB<<1;

if(PORTB==0) PORTB=1;

}

}

(23)

Sistemas Embarcados  Marco Jose Da Silva  [email protected]  Slide 45

void main()

{

INTCON=0;

OPTION_REG=0;

TRISB=0;

PORTB=1;

while(1)

for(i=0;i<10;i++)

{

PORTB=mask(i);

delay_ms(200);

}

}

char mask(char num)

{

switch (num)

{

case 0 : return 0xEE;

case 1 : return 0x28;

case 2 : return 0xCD;

case 3 : return 0x6D;

case 4 : return 0x2B;

case 5 : return 0x67;

case 6 : return 0xE7;

case 7 : return 0x2C;

case 8 : return 0xEF;

case 9 : return 0x6F;

}

}

Programa em C – Display 7 Segmentos

Referências

Documentos relacionados

O objetivo da disciplina é apresentar, a partir de uma perspectiva interdisciplinar o processo de pesquisa, bem como, as principais metodologias e instrumentos,

Ao analisar as diferenças entre as quantidades médias de erros, de metas certas, erradas e omitidas e das notas obtidas pelos estudantes do pré para o pós-teste,

Após o término das avaliações, foi realizada análise estatística de todos os resultados, na qual se confirmou a associação positiva entre a prática regular de atividade física e

Ainda no eixo Desenvolvimento Humano, o Programa Campina Cultural tem por objetivo desenvolver ações de empoderamento do capi- tal cultural como agente transformador socioeconômico

RESUMO: Este trabalho está voltado para a discussão a respeito das novas abordagens do ensino de História e Cultura Afro-Brasileira através da capoeira, enfatizando como a capoeira

Sendo assim diante das analises que foram realizadas através das leituras tidas, para o discorrer deste trabalho, ficou entendido que foi preciso lutar para que a capoeira tivesse

Açúmulo de matéria seca e nutrientes nas folhas que irão formar a serapilheira (íeaf-fall) e nas depositadas sobre o solo (Jeaf-litterl de Eucalyptus saljgna e

description: INTERRUPTOR 3 VELOCIDADE P/ CLÁSSICOS Specification / Especificação: NCM: 8509.40.10 Compatibility / Compatibilidade: Remark / Narrativa: M83774-002-000 Cadence