sistemas microcontrolados - páginas pessoais -...
TRANSCRIPT
Sistemas Sistemas MicrocontroladosMicrocontrolados
Aula 2: Arquitetura de Sistemas uC
Marco Jose da [email protected]
Sistemas Embarcados Marco Jose Da Silva [email protected] Slide 2
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
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
Um Exemplo de Sistema Embarcado
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
Sistemas Embarcados Marco Jose Da Silva [email protected] Slide 6
• 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)
Componentes de um Sistema Embarcado
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
Outra definição
Sistemas Embarcados Marco Jose Da Silva [email protected] Slide 9
Histórico e Evolução
Sistemas Embarcados Marco Jose Da Silva [email protected] Slide 10
Histórico
Transistor(1947)
Circuito integrado(1958)
4004 e TMS1000
(1971)
1o. uC e uP4 bits
Microeletrônica: grande motor desenvolvimento
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 maiscurtos, gerando maior desempenho.
Menor tamanho dos chips --> computadores menores --> maiorflexibilidade.
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
Lei de Moore
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 componentecomo parte da estrutura.
Estrutura e função
Sistemas Embarcados Marco Jose Da Silva [email protected] Slide 14
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.
Função de um computador
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/paramemória:
ex: atualizar dados bancários
d) Processamento da memóriapara E/S:
ex: imprimir dados bancários
Funções - operações
Sistemas Embarcados Marco Jose Da Silva [email protected] Slide 16
Estrutura
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 m2.
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
Sistemas Embarcados Marco Jose Da Silva [email protected] Slide 18
Segunda geração - 1958 - 1964Transistores no lugar de válvulas (menor, mais barato e dissipa menoscalor).
Primeiros sistemas em lotes (Assembly)Programa inteiro era carregado na memória.
Dias para execução completa de um programa.
Evolução de computadores
Sistemas Embarcados Marco Jose Da Silva [email protected] Slide 19
Terceira geração - 1965 -1971
HardwareCircuitos Integrados.
Portas lógicas e/oucélulas de memória.
Sistemas OperacionaisMultiprogramação.
Uso do processadormaximizado.
Evolução de computadores
Sistemas Embarcados Marco Jose Da Silva [email protected] Slide 20
A partir da 3a geração, menor consenso sobre a definição das gerações restante.
Evolução de computadores
Sistemas Embarcados Marco Jose Da Silva [email protected] Slide 21
Evolução de computadores
Sistemas Embarcados Marco Jose Da Silva [email protected] Slide 22
Processadores de propósito geral
• Um sistema construído com um microprocessadorrequer memória, entradas e saídas externas
Sistemas Embarcados Marco Jose Da Silva [email protected] Slide 23
Arquitetura
Sistemas Embarcados Marco Jose Da Silva [email protected] Slide 24
CPUCPU
Baseia a estrutura de quase todos os computadores, desde o smartphone até o mainframe.
Barramento
MemMemóóriariaUCUC
ULAULA
I/OI/O
Arquitetura de Von Neumann
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 representambytes.
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 namemória, decodificá-la e executá-la.
Arquitetura de Von Neumann
Sistemas Embarcados Marco Jose Da Silva [email protected] Slide 26
Arquitetura de Von Neumann
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
Decodificarinstrução
Executaração
Sistemas Embarcados Marco Jose Da Silva [email protected] Slide 28
Sistema Embarcados (possível organização)
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
Sistemas Embarcados Marco Jose Da Silva [email protected] Slide 30
http://www.mikroe.com/eng/products/view/11/book-pic-microcontrollers/
Estrutura básica de um uC
Sistemas Embarcados Marco Jose Da Silva [email protected] Slide 31
Arquitetura interna de um uCArquitetura von-Neumann Arquitetura Harvard
Microprocessadores DSP, Microcontroladores
Único barramento para memórias e Entrada-Saída
Barramentos separados (possibilidade execução de
atividade em paralelo)
CPUCPUMemMemóóriaria
UCUC
ULAULA
I/OI/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
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
Sistemas Embarcados Marco Jose Da Silva [email protected] Slide 34
Instruções
Instrução de MáquinaUm 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
– Controle: direciona a execução do programa
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.
RISC vs. CISC
Sistemas Embarcados Marco Jose Da Silva [email protected] Slide 37
RegistradoresPosiçã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 5V1 = 5V, 0 = 0V
Sistemas Embarcados Marco Jose Da Silva [email protected] Slide 38
PIC 16F887
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 16F628Ahttp://sourceforge.net/projects/picsim/
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
Sistemas Embarcados Marco Jose Da Silva [email protected] Slide 42
PIC
PO
RT
B
VLED 2V
VHIGH = 5V
HIGH LEDV V
RI
I = 20mA
R = 150Ω
…
Exemplo: LED
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;
Programa em C – Sequencial LED
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
Sistemas Embarcados Marco Jose Da Silva [email protected] Slide 46
Obrigado!!!