SISTEMAS MICROCONTROLADOS UTFPR Código: EL54E Turma: N11/E11 Prof. Sérgio Moribe Colaboração: Prof. Heitor S. Lopes Prof. Rubens Alexandre de Faria Email: smoribe@utfpr.edu.br Site: pessoal.utfpr.edu.br/smoribe
2
3
Lei de Moore Em 1965, Gordon Moore, co-fundador da Intel profetizou que o número de transistores em um processador dobraria a cada 18 a 24 meses ao mesmo custo. 4
O que é um Microprocessador? Um microprocessador é um elemento eletrônico, desenvolvido para executar tarefas específicas, com linguagem de comando específica. Utiliza-se de uma Memória de Programa (ROM) para ler as instruções que deve executar Utiliza-se de uma Memória de Dados (RAM) para armazenar temporariamente informações de uso próprio das instruções. Fonte: Nicolosi 5
Arquitetura / Conceitos Todo microcontrolador possui em sua arquitetura as partes descritas a seguir: Memória de programa: Nesta fica as instruções que um microcontrolador deve executar (ROM). Memória de dados: Onde o programa escreve ou le um determinado dado sempre que necessário (RAM). ULA: Unidade Lógica Aritmética, esta parte do microcontrolador é responsável por todos os cálculos e a lógica matemática para tomada de decisão das tarefas a serem realizadas. CPU: Unidade Central de Processamento esta parte do microcontrolador é responsável por todo processamento de dados da unidade. É ela que interpreta os comandos e ativa os dispositivos de entrada e saída. Periféricos - São circuitos que realizam funções específicas auxiliando a CPU a realizar o controle e interface dos dispositivos externos. Exemplos de periféricos: Portas de I/O, conversor analógico/digital, timers, watchdog timer,, Usart s portas para comunicação serial 6
Analogia com o exemplo apresentado: Caixas 1 a 20 => Memória de Programa Caixas 21 a 25 => Memória de Dados Número das caixas => Endereço Conteúdo das caixas 1 a 20 => Programa Ajudante => CPU Ábaco => ULA Janela => Periférico (Dispositivo de E/S) 7
8
Barramentos: Barramento de Endereços: Fornece o endereço para as mudanças de dados na memória ou dispositivos periféricos. O número de linhas determina a capacidade de endereçamento. P. ex. 8051 (16 bits => 65536 = 64K) Barramento de Dados: Onde são efetuadas as trocas de dados (informações) com a memória ou com periféricos (E/ S), sendo portanto bidirecional. O número de linhas determina a capacidade de processamento. P. ex. 8051- (8 bits - 256) Barramento de Controle: Controlam o funcionamento da CPU e do sistema, fornecendo sinais de controle em função da instrução que esta sendo executada e dos sinais recebidos. P. ex. INT,RD/WR, ALE,... 9
10
11
Microcontroladores: Microcomputador-de-um-só-chip Pode reunir em um só chip: microprocessador, memórias ROM, RAM, Temporizadores, Contadores, WDT, POR, Canal Serial, Portas de I/O, conversores AD/DA, etc. 12
Qual Microcontrolador estudar? Alguns exemplos: FABRICANTE FAMÍLIA MICROCONTROLADOR INTEL MCS51 80C31/80C51 * DESCONT. MICROCHIP PIC PIC16F84A/PIC16F628A NATIONAL COP8 COP888CG/COP888GW TEXAS MSP430 MSP430F149/MSP430F169 ATMEL AVR ATMEGA8/ATMEGA8515 ZILOG Z8 Encore! Z8F083A/Z8F0431 FREESCALE HCS08 MC9S08GT16A / GB60A HOLTEK HT48 HT46R06X/HT48R06X 13
14
15
Arquitetura Von Neumann Arquitetura Von-Neumann: tradicional utiliza o mesmo barramento para fazer a busca a instruções na memória de programa e para acessar (escrever ou ler) a memória de dados. Ciclo de execução do programa: 1. Busca instrução (OpCode Código de operação); 2. Decodifica instrução; 3. Executa instrução; 4. Volta para o passo 1 buscando a instrução seguinte na memória. 16
Arquitetura Harvard Arquitetura Havard: é baseada em barramentos separados para dados e para programa, podendo ter inclusive tamanho de dados diferentes. Harvard permite duas leituras de memória simultâneas (dado e instrução). Mais rápido, mais caro, mais complexo dados e programas separados permitem que ambos sejam facilmente tratados em paralelo. 17
CISC x RISC CISC : Complex Instruction Set Computer Conjunto de instruções ampliado, ou seja, a CPU é capaz de executar um grande número de instruções (ex.: microcontrolador 8051, da Intel, com 256 instruções); É geralmente associada a computadores com arquitetura von-neumann. RISC : Reduced Instruction Set Computer Conjunto de instruções reduzido (ex.: família PIC, da Microchip, com 35 instruções, e família MSP430, da Texas, com 24 instruções emuladas e 27 instruções físicas); É geralmente associada a computadores com arquitetura Harvard. 18
19
20
Arquitetura MSP430 Von Neumann Modificada 21
22
23
24
25
26
27