A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Embarcados Microcontroladores PIC Prof. Wanderley.

Apresentações semelhantes


Apresentação em tema: "Sistemas Embarcados Microcontroladores PIC Prof. Wanderley."— Transcrição da apresentação:

1 Sistemas Embarcados Microcontroladores PIC Prof. Wanderley

2 Introdução Os microcontroladores PIC são dispositivos fabricados pela Microchip São de arquitetura RISC com clock de até 40MHz, até 2048kword de memória de programa e até 3968 bytes de memória RAM Podem ter até 4 temporizadores/contadores, memória EEPROM interna, gerador/comparador/amostrador PWM, conversores A/D de até 12 bits, interface de barramento CAN, 12C, SPI entre outros

3 Introdução Existem 3 famílias de PICs, de 12, 14 e 16 bits de memória de programa Todos possuem barramento interno de dados de 8 bits Quanto maior a palavra de programa, maior o número de instruções 12 bits = 33 instruções; 14 bits = 35 instruções; 16 bits = 77 instruções.

4 Introdução Existem 3 famílias de PICs, de 12, 14 e 16 bits de memória de programa Todos possuem barramento interno de dados de 8 bits Quanto maior a palavra de programa, maior o número de instruções 12 bits = 33 instruções; 14 bits = 35 instruções; 16 bits = 77 instruções.

5 Introdução EXEMPLOS DE CADA FAMÍLIA PIC 12 Bits14 Bits16 Bits 12C50812C67117C4X 12C50912C67217C75X 12CE51812CE67317C76X 12CE51912CE67418C2XX 16C C4XX 16C5516C55X18C858 16C5616F62X18F242 16C5716C7X18F252 16C5816F7X18F258 16C50516F8X18F442 16HV54016F87X18F877

6 Introdução A arquitetura dos PICs é otimizada para a execução de um pequeno conjunto de instruções, mas com velocidade muito alta. Exemplo: PIC da série 16 executa 5 MIPS (Milhões de Instruções por Segundo) a 20MHz ou 10 MIPS a 40 MHz.

7 Introdução Características Básicas do Desenho interno dos PICs 1) Capacidade de Pipeline; 2) Capacidade de execução de um instrução por ciclo de máquina (4 ciclos de clock); 3) Cada instrução ocupa apenas uma posição de memória de programa; 4) Tempo de execução fixo para todas as instruções.

8 Introdução Diferentes dispositivos PIC são semelhantes em sua arquitetura interna, o que facilita a migração entre microcontroladores. Os princípios gerais da arquitetura PIC são: Registrador de intercâmbio geral, ou registrador de trabalho (W); Registrador de armazenamento de flags (STATUS) Registrador de controle de interrupção (INTCON); Registrador de manipulação de dados nas portas (PORT ou GPIO).

9 Memória de Programa Nas séries 12, 14 e 16 está embutida na pastilha Alguns dispositivos das séries 17 e 18 suportam memórias de programa externas Tecnologias de implementação de memória de programa: ROM – programada de fábrica; OTP (PROM) – Virgens de fábrica; EPROM; FLASH – pelo menos 1000 ciclos de gravação/apagamento.

10 Memória de Programa A memória de programa é dividida em blocos ou páginas de 2kWord, devido a limitações imposta pela estrutura das instruções RISC 0x x x07FF Vetor de reset Vetor de Interrupção Final da página 0 Página 0 0x x0FFF Início da página 1 Final da página 1 Página 1 0x x17FF Início da página 2 Final da página 2 Página 2 0x x1FFF Início da página 3 Final da página 3 Página 3

11 Memória de Programa O mecanismo de paginação é transparente ao usuário Exemplo: … 0x07FE MOVF PORTA,W 0x07FF ADDLW 0x10 0x0800 MOVWF PORTB 0x0801 BCF INTCON,GIE …

12 Memória RAM e Registradores A RAM é utilizada para abrigar os registradores internos. Divide-se em duas partes: Para abrigar registradores de funções especiais (SFR - Special Function Register); Para abrigar registradores de propósitos gerais (GPR – General Purpose Register). Registradores SFR são utilizados para controlar periféricos e dispositivos internos, flags de estado do processador, entre outras funções; Registradores GPR são utilizados para armazenamento temporário de dados do usuário.

13 Memória RAM e Registradores Os registradores são muitas vezes referenciados pela letra f (file register) A forma de implementação das instruções limita o endereçamento a um máximo de 7 bits ou 128 registradores Para contornar tal limitação, criou-se o esquema de paginação também na memória RAM, de modo que existem bancos de memória de 128 posições

14 Memória RAM e Registradores Alguns registradores SFR podem ser encontrados em dois ou até mesmo nos quatro bancos de memória RAM (registradores espelhados), permitindo a otimização de acesso de registradores muito usados (STATUS, INTCON, etc.) Alguns dispositivos PIC permitem o espelhamento de registradores GPR Alguns dispositivos permitem ainda espelhamento completo dos registradores GPR

15 Memória RAM e Registradores Registradores SFR de destaque: STATUS – armazenamento de flags matemáticos e estado da CPU, além de bits de seleção do banco de memória RAM INTCON – Controle de interrupções OPTION_REG – Configurar o funcionamento de alguns periféricos internos PORTx – Leitura ou escrita de informações nos pinos externos TRISx – Controle da direção de funcionamento de cada pino da porta

16 Registrador W Características: Usado como destido em operações lógicas ou aritméticas; Não pode ser utilizado como fonte de dados em operações de CPU (rotação de dados, incremento, decremento, etc.); Não está mapeado na memória RAM; Sua utilização principal é como ponte entre registradores f. NÃO É POSSÍVEL TROCAR DIRETAMENTE INFORMAÇÕES ENTRE OS REGISTRADORES f. MOVF (Copia de f para w) e MOVWF (Copia de w para f).

17 Contador de Programa - PC Responsável pelo controle da sequência de execução das instruções O registrador PC aponta para a próxima instrução a ser executada pela CPU PC é dividido é dividido em dois registradores básicos: PCL, responsável pelos 8 bits menos significativos; PCH, responsável pelos 5 bits mais significativos. Somente PCL é diretamente acessível, podendo ser lido ou escrito pelo programa do usuário PCH pode ser alterado somente por intermédio do registrador PCLATH

18 Contador de Programa - PC A interação entre os registradores PC, PCL e PCLATH pode ocorrer de quatro formas distintas: 1) Execução de uma instrução que tem como destino o registrador PCL PCHPCL PCLATH Resultado da ALU

19 Contador de Programa - PC 2) Execução de uma instrução GOTO PCHPCL PCLATH Constante do opcode 11 Os bits 4 e 3 do PCLATH são usados para seleção de página da memória de programa.

20 Contador de Programa - PC 3) Execução de uma instrução CALL PCHPCL PCLATH Constante do opcode 11 TOPO DA PILHA 13bitsx8 Os bits 4 e 3 do PCLATH são usados para seleção de página da memória de programa.

21 Contador de Programa - PC 4) Execução de instrução RETURN, RETLW ou REFIE PCHPCL TOPO DA PILHA 13bitsx8 13

22 Pilha Estrutura de dados com apenas um ponto de acesso (o topo da pilha) A principal função da pilha é armazenar endereços de retorno para sub-rotinas Alguns dispositivos permitem também o armazenamento de dados de usuário Operações básicas: PUSH – a CPU armazena informação na pilha; POP - a CPU busca informação no topo da pilha. A pilha não está localizada na área de memória RAM, e sim em uma região separada (inacessível diretamente ao usuário) dedicada

23 Pilha Normalmente a pilha tem capacidade de 8 palavras do tamanho de PC. O endereço do topo não é acessível ao usuário. Utiliza-se uma estrutura de memória LIFO (Last IN – First Out) circular. O programador deve ter muito cuidado para não sobrescrever dados na pilha. Não há instruções para manipulação direta da pilha (isso é feito inderetamente através das instruções CALL, RETURN, RETLW e RETFIE).

24 Interrupções Interrupção é um evento externo ao programa que provoca: A parada da sua execução; A verificação e tratamento do referido evento; Por fim, o retorno do programa ao ponto em que havia sido interrompido. Existem dois tipos básicos de interrupção: Não mascarável – o evento de interrupção é atendido imediatamente pela CPU; Mascarável – o evento de interrupção é atendido pela CPU desde que não esteja mascarado (o programa defino o momento em que pode ou não ser interrompido).

25 Interrupções No PIC há apenas interrupções mascaráveis com um vetor de interrupção fixo (endereço 0x0004 na memória de programa). Linhas mais antigas do PIC possuem até quatro tipos de interrupção: Interrupção externa (INTF); Interrupção por mudança de nível lógico no portb (RBIF); Interrupção do timer0 (TOIF); Interrupção de periférico (EEPROM – EEIF, conversor A/D – ADIF). Alguns dispositivos de 8 pinos encontramos a interrupção GPIF, relativa à porta de entrada/saída (GPIO). Tais interrupções são geralmente controladas pelo registrador INTCON.

26 Interrupções Dispositivos mais novos (onde incluiu-se um maior conjunto de periféricos) possuem uma nova arquitetura de interrupções. Ainda é baseada no registrador INTCON, mas com a adição de registradores destinados à sinalização e controle das interrupções dos novos dispositivos. A compatibilidade de software com os dispositivos mais antigos foi mantida. As interrupções de periféricos são controladas por 2 registradores: PIEx, para controle de habilitação individual das interrupções dos periféricos; PIRx, para sinalização individual dos eventos de interrupções dos periféricos.

27 Interrupções xxIF – flag para habilitar/desabilitar interrupção xxIE – presença/ausença de interrupção


Carregar ppt "Sistemas Embarcados Microcontroladores PIC Prof. Wanderley."

Apresentações semelhantes


Anúncios Google