Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von...

38
Microcontroladores PIC SEL0338 Tópicos Especiais em Sistemas Digitais 1 Prof. Adilson Gonzaga

Transcript of Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von...

Page 1: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

MicrocontroladoresPIC

SEL0338 Tópicos Especiais em Sistemas Digitais1

Prof. Adilson Gonzaga

Page 2: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Arquitetura von Neumann:

• Há apenas um barramento (duto) de dados e um de endereço.

Arquitetura de Microcomputadores

SEL0338 Tópicos Especiais em Sistemas Digitais2

• As Instruções e os dados ocupam o mesmo endereçamento de memória.

• As Instruções e os dados trafegam pelo mesmo duto (Duto de Dados).

endereço.

Page 3: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Arquitetura Harvard:

Arquitetura de Microcomputadores

SEL0338 Tópicos Especiais em Sistemas Digitais3

• Existem dois barramentos de dados independentes e dois barramentos de endereços independentes

• Um barramento serve para leitura de instruções, outro para leitura e escrita de dados.

• Instruções e dados estão localizados em endereçamentos independentes

Page 4: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Exemplos:

Arquitetura von Neumann:

• Microprocessadores mais tradicionaisIntel --> 8080,8085,8088,......Motorola --> MC6800, MC68000

Arquitetura de Microcomputadores

SEL0338 Tópicos Especiais em Sistemas Digitais4

Motorola --> MC6800, MC68000

Arquitetura Harvard:

• Microcontroladores Microchip --> PIC

• DSP (SHARC) --> Texas, Analog Devices, Motorola

Page 5: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

• Os Microcontroladores da família MCS-51, possuem uma arquitetura mista.

• Apesar da Memória de dados ser separada da memória

Arquitetura de Microcomputadores

SEL0338 Tópicos Especiais em Sistemas Digitais5

• Apesar da Memória de dados ser separada da memória de Instruções, o duto que transporta os dados e as instruções é o mesmo.

• A Arquitetura Harvard é em geral mais veloz mas exige mais de um barramento.

• A Arquitetura von Neumann, não pode realizar acesso simultâneo às memórias.

Page 6: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Arquitetura CISC x Arquitetura RISC

CISC - Complex Instruction Set Computer

4004 - 46 instruções

Arquitetura de Microcomputadores

RISC - Reduced Instruction Set Computer

SEL0338 Tópicos Especiais em Sistemas Digitais6

4004 - 46 instruções

8080 - 78 instruções

8085 - 150 instruções

Z80 - mais de 500 instruções

8086/8088 - mais de 700 instruções

80386 - mais de 1500 instruções

PIC (RISC)--35 instruções

Page 7: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

• Aumento no número de instruções = aumento na complexidade dos circuitos do Microprocessador

• Arquitetura RISC --> menos de 250 instruções e alta velocidade

Ciclo Volume de Enfoque Tamanho

Arquitetura de Microcomputadores

SEL0338 Tópicos Especiais em Sistemas Digitais7

Ciclo de Projeto

Volume de testes para certificação

Enfoque Tamanho dos Programas

CISC Longo Grande Otimização de circuitos

Menor

RISC Menor Menor Elevação do clockBarramentos maiores

Maior

Page 8: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Microcontroladores PIC

SEL0338 Tópicos Especiais em Sistemas Digitais8

Page 9: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Microcontroladores de 8 Bits

• Os Microcontroladores PIC de 8 Bits são

• Originalmente projetados para servirem como Peripheral Interface Controller para um microprocessador de 16-Bits.

SEL0338 Tópicos Especiais em Sistemas Digitais9

1. Base-Line: 12-bit

2. Mid-Range & Enhanced Mid-Range: 14-bit

3. PIC18 Architecture: 16-bit

• Os Microcontroladores PIC de 8 Bits são agrupados de acordo com o comprimento da palavra de instrução em:

Page 10: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Memória dos PIC Mid-Range

SEL0338 Tópicos Especiais em Sistemas Digitais10

Page 11: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Microcontroladores PIC de 8 Bits

SEL0338 Tópicos Especiais em Sistemas Digitais11

Page 12: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

PIC Mid-RangeOscilador

Existem 8 maneiras diferentes de se implementar o Clock dos microcontroladores PIC.

• LP Low Frequency (Power) Crystal

• XT Crystal/Resonator

SEL0338 Tópicos Especiais em Sistemas Digitais12

• XT Crystal/Resonator

• HS High Speed Crystal/Resonator

• RC External Resistor/Capacitor (same as EXTRC with CLKOUT)

• EXTRC External Resistor/Capacitor

• EXTRC External Resistor/Capacitor with CLKOUT

• INTRC Internal 4 MHz Resistor/Capacitor

• INTRC Internal 4 MHz Resistor/Capacitor with CLKOUT

Page 13: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

PIC Mid-RangeOscilador

O usuário deve programar os três Bits de configuração (FOSC2,

SEL0338 Tópicos Especiais em Sistemas Digitais13

(FOSC2, FOSC1, FOSC0) para selecionar um entre os 8 modos.

Page 14: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

PIC Mid-RangeOscilador - Cristal

Modos LP, XT, HS

SEL0338 Tópicos Especiais em Sistemas Digitais14

• A freqüência de operação é dividida por 4.

• Utilização de um oscilador externo.

Page 15: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

PIC Mid-RangeOscilador - RC

3K < REXT < 100 K

CEXT ~= 20 pF

SEL0338 Tópicos Especiais em Sistemas Digitais15

• Escala de freqüências:

RC -- de 0 a 4 MHz

LP -- de 5 KHz a 200 KHz

XT -- de 100 KHz a 4 MHz

HS -- de 4 MHz a 20 MHz

Page 16: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Reset

• Resistor de pull-up (1 a 10K) conectado ao pino _MCLR do PIC.

SEL0338 Tópicos Especiais em Sistemas Digitais16

• O pino de entrada é CMOS e não drena corrente significativa do resistor.

PWRTE - Este bit de configuração (mid-range) insere 72ms de atraso antes que a primeira instrução seja buscada e executada.

Page 17: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Reset

SEL0338 Tópicos Especiais em Sistemas Digitais17

• Power-On Reset (POR) - gerado no chip quando a tensão de alimentação está entre 1,2 e 1,7 volts.

Page 18: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Arquitetura dos PIC Mid-range

• Arquitetura Harvard

• Instruções de Palavra Longa (14 bits)

• Instruções de Palavra Simples (cada instrução só ocupa os 14 bits)

Características:

SEL0338 Tópicos Especiais em Sistemas Digitais18

• Instruções de Ciclo Simples (um ciclo de máquina)

• Pipelining de Instruções

• Conjunto de Instruções Reduzido

• Arquitetura de Arquivo de Registradores (SFR mapeado na memória de dados)

• Instruções Ortogonais (as instruções usam qualquer modo de endereçamento)

Page 19: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Ciclo de Instrução

SEL0338 Tópicos Especiais em Sistemas Digitais19

Page 20: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Pipelining das InstruçõesTodas as instruções são de Ciclo Simples.

Exemplo:

SEL0338 Tópicos Especiais em Sistemas Digitais20

A instrução de salto (CALL SUB_1) faz com que a próxima instrução (BSF PORTA,BIT3) não seja executada.

Page 21: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Unidade Lógico AritméticaRealiza operações em 8 Bits.

• Adição• Subtração (complemento de dois)• Shift

SEL0338 Tópicos Especiais em Sistemas Digitais21

• Shift• Operações Lógicas

Page 22: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Registrador de Status

C - Carry/Borrow

DC - Digit Carry/Borrow

SEL0338 Tópicos Especiais em Sistemas Digitais22

DC - Digit Carry/Borrow

Z - Zero

PD - Power Down

TO - Time out

RP1:RP0 - Seletor de Banco de Registradores (endereçamento Direto)

IRP -Seletor de Banco de Registradores (endereçamento Indireto)

Page 23: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Memória de Programa

• PC de 13 Bits endereça até 8k x 14 Bits.A parte mais significativa, não é acessada diretamente, mas somente através de PCLATH.

SEL0338 Tópicos Especiais em Sistemas Digitais23

• Instrução de palavra Simples ==> cada endereço contém uma instrução.

• O espaço de programa é dividido em 4 páginas de 2K

Page 24: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Pilha• A Pilha suporta até 8 chamadas de sub-rotinas ou interrupções.

• Após uma instrução CALL ou uma Interrupção, o PC é

SEL0338 Tópicos Especiais em Sistemas Digitais24

uma Interrupção, o PC é armazenado na Pilha.

• As instruções RETURN, RETFIN e RETLW, recuperam a Pilha.

• A Pilha não ocupa espaço de memória.

Page 25: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Memória de Dados (RAM)

• A Memória de Dados é formada por:SFR - Special Function Registers (Controle de operação do dispositivo)GPR - General Purpose Registers (Armazenamento de dados)

• A Memória de Dados é dividida em bancos. Os bits de controle

SEL0338 Tópicos Especiais em Sistemas Digitais25

• A Memória de Dados é dividida em bancos. Os bits de controle de banco são os bits 5,6 e 7 da palavra de STATUS.

• Para mover valores de um Registrador para outro, passa-se através do Registrador W, logo, são necessários dois ciclos de instruções.

• Toda a Memória de Dados pode ser acessada tanto Direta como Indiretamente.

Page 26: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Memória de Dados (RAM)

• Os SFR´s realizam o controle de I/O, porta serial, timers, conversor A/D, etc...

SEL0338 Tópicos Especiais em Sistemas Digitais26

conversor A/D, etc...

• Todos os Registradores e posições de memória RAM são de 8 Bits.

Page 27: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

RAM - Mapa do Arquivo de Registradores

SEL0338 Tópicos Especiais em Sistemas Digitais27

Page 28: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

RAM - Mapa do Arquivo de Registradores

• O que está em Negrito, existe em todos os dispositivos da família PIC.

(2) Estes registradores podem não estar implementados da mesma forma nos diversos dispositivos.

(3) Nem todas as posições da RAM

SEL0338 Tópicos Especiais em Sistemas Digitais28

(3) Nem todas as posições da RAM estão implementadas. Quando não existem, são lidas como Zero.

(4) Acessos a posições não implementadas no Banco 1, acessa as mesmas posições no Banco 0.

Page 29: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Endereçamento Direto (RAM)

Registrador de STATUS

SEL0338 Tópicos Especiais em Sistemas Digitais29

• O endereço do dado é obtido através dos bits de Seleção de página no Registrador de Status.

Page 30: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Endereçamento Indireto (RAM)

SEL0338 Tópicos Especiais em Sistemas Digitais30

• A operação realizada sobre o INDF será na verdade realizada sobre o registrador apontado pelo FSR.

Page 31: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Endereçamento Indireto (RAM)

Exemplo: Preencher da posição 20 à 2F da RAM com zeros

; Zera o Bit IRP da palavra de Status; Carrega o registrador W com 20 h; Move o conteúdo de W para FSR; Zera o conteúdo da posição apontada por FSR; Incrementa o conteúdo de FSR; Salta a próxima instrução se o Bit 4 de FSR for 1

SEL0338 Tópicos Especiais em Sistemas Digitais31

; Salta a próxima instrução se o Bit 4 de FSR for 1; Volta para NEXT

Page 32: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Memória de Dados (EEPROM)• Pode ser lida ou escrita durante operação normal do

dispositivo.

• É Indiretamente endereçável através de registradores SFR.

• EECON1 (registrador de controle de escrita/leitura na EEPROM)

• EECON2 (registrador de controle de escrita/leitura na EEPROM)

SEL0338 Tópicos Especiais em Sistemas Digitais32

• EECON2 (registrador de controle de escrita/leitura na EEPROM)

• EEDATA (armazena os 8 Bits de dados que serão lidos ou gravados na EEPROM)

• EEADR (armazena os 8 Bits de endereço onde serão lidos ou gravados os dados na EEPROM)

Page 33: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Interrupção

Quatro fontes de Interrupção:

1. Interrupção Externa através do pino RB0/INT

SEL0338 Tópicos Especiais em Sistemas Digitais33

2. Interrupção por transbordo do Timer 0 - TMR0

3. Interrupção quando se troca alguma entrada em RB4:RB7

4. Interrupção quando se completa uma escrita de dados na EEPROM

Page 34: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Interrupção• Habilitação/desabilitação das interrupções é feita através do bit de controle: INTCON.GIE

• As interrupções são desabilitadas com o Reset

SEL0338 Tópicos Especiais em Sistemas Digitais34

• A instrução de Retorno de Interrupção - RETFIE - habilita as interrupções

• Quando se atende à uma interrupção, desabilita-se automaticamente todas as interrupções e o programa salta para o endereço 0004 da memória de programa.

Page 35: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Watch Dog Timer (WDT)

• É um temporizador com um circuito oscilador RC interno.

• Se o Micro está em modo normal, um transbordo no WDT causa um reset.

SEL0338 Tópicos Especiais em Sistemas Digitais35

• Se o Micro está no modo SLEEP, um transbordo no WDT acorda o Micro.

• Pode-se desativá-lo permanentemente.

• O período nominal de transbordo é de 18 ms.

Page 36: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Power-down (Modo SLEEP)

• É um modo de baixo consumo caracterizado pelo congelamento do oscilador externo.

• Para entrar nesse modo, basta executar a instrução SLEEP.

SEL0338 Tópicos Especiais em Sistemas Digitais36

• Para entrar nesse modo, basta executar a instrução SLEEP.

• O WDT é resetado mas não congelado.

• Modos de se despertar o Micro:

1. Reset no pino _MCLR

2. Transbordo de WDT

3. Interrupção (RB0/INT ; RB4:RB7 ; escrita na EEPROM)

Page 37: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Bits de Configuração• O espaço de memória reservado para testes e configuração (2000 a 3FFF) só é acessível durante a programação

• A palavra de Configuração está localizada na posição 2007

SEL0338 Tópicos Especiais em Sistemas Digitais37

Page 38: Aula3.ppt [Modo de Compatibilidade]iris.sel.eesc.usp.br/sel338/Aula3.pdf · Arquitetura von Neumann: •Há apenas um barramento (duto) de dados e um de endereço. Arquitetura de

Bits de Configuração• Através do programa realiza-se a configuração:

• Exemplo: usando o PIC 16F84.

SEL0338 Tópicos Especiais em Sistemas Digitais38

• Watch Dog (WDT) desabilitado

• Proteção do código (CP) desabilitada

• Oscilador de Cristal (XT) selecionado

• Temporizador de Power-up (PWRTE) desabilitado