1 / 27

Sistemas Embarcados Microcontroladores PIC

Sistemas Embarcados Microcontroladores PIC. Prof. Wanderley. 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

noe
Télécharger la présentation

Sistemas Embarcados Microcontroladores PIC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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

  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 • Capacidade de Pipeline; • Capacidade de execução de um instrução por ciclo de máquina (4 ciclos de clock); • Cada instrução ocupa apenas uma posição de memória de programa; • 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

  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 8 7 12 0 PCH PCL 5 Resultado da ALU PCLATH 8 7 0

  19. Contador de Programa - PC 2) Execução de uma instrução GOTO 8 7 12 11 0 PCH PCL <4,3> Constante do opcode PCLATH 11 0 7 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 8 7 12 11 0 13bitsx8 PCH PCL <4,3> Constante do opcode PCLATH 11 0 7 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 8 7 13 12 0 13bitsx8 PCH PCL

  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

More Related