Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação –...

Post on 18-Apr-2015

104 views 1 download

Transcript of Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação –...

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

PIC16F877A - Parte IIPIC16F877A - Parte II

Jadsonlee da Silva Sá

Jadsonlee.sa@univasf.edu.brwww.univasf.edu.br/~jadsonlee.sa

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Organização da MemóriaOrganização da Memória

Memória de dados (SRAM).

– Capacidade – 368 bytes.

– Dividida em quatro bancos.

– Contém os registradores GPRs (Registradores de Propósito Geral) e SFRs (Registradores de Função Especial).

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Organização da MemóriaOrganização da Memória Memória de dados (SRAM).

– GPRs Armazenamento de dados e operações scratch pad (área de acesso rápido para acesso temporário.).

• Tamanho de 368 bytes.

• Existe uma área comum nos bancos.

• Não são inicializados no power-on reset e são inalterados em todos os outros resets.

– SFRs Controla a operação do dispositivo.

• Classificados em dois conjuntos de registradores: core e periféricos.

• Alguns SFRs são inicializados no power-on reset e em outros resets – Outros SFRs não são afetados.

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Memória de dados

SRAM

Alguns SFRs de “alto uso” do banco 0 são espelhados nos outros bancos para reduzir o código e ter um rápido acesso.

Os últimos 16 bytes são mapeados para reduzir o overhead no contexto de chaveamento.

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Organização da MemóriaOrganização da Memória Memória de dados (SRAM).

– Endereçamento.

• SRAM Existem quatro bancos.

• Existe duas formas de endereçamento: direto e indireto.

– IRP (Apontador de registrador indireto), RP0 e RP1 são bits do registrador STATUS.

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Organização da MemóriaOrganização da Memória Memória de dados (SRAM).

– Endereçamento direto.

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Organização da MemóriaOrganização da Memória Memória de dados (SRAM).

– Endereçamento indireto. Contém um endereço da SRAM.

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Organização da MemóriaOrganização da Memória Memória de dados (SRAM).

– Endereçamentos.

Endereçamento direto

Endereçamento indireto

Toda instrução usando INDF acessa o registrador apontado por FSR.

Contém um endereço da SRAM.

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Organização da MemóriaOrganização da Memória Memória de dados (SRAM).

– Para mover valores de um registrador para outro registrador, o valor deverá passar pelo registrador W.

• Então, toda transferência entre registradores dura dois ciclos de instrução.

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Registrador STATUSRegistrador STATUS Contém o estado aritmético da ULA, de um reset

e os bits para selecionar os bancos da SRAM.

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Registrador STATUSRegistrador STATUS

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

ExemploExemplo Endereçamento indireto da SRAM.

– Zera as posições de 20 a 2Fh.

Zera o bit IRP de STATUS.

Carrego W com 0x20.

Carrego FSR com o conteúdo de W.Zera a posição de memória apontada por

FSR.Incrementa FSR.

Se bit 4 de FSR for 1, salta a próxima instrução.

Vai para NEXT.

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Características Especiais da Características Especiais da CPUCPU

Seleção do oscilador.

Reset.

– Power-on reset (POR);

– Power-up Timer (PWRT);

– Oscillator start-up timer (OST);

– Brown-out reset (BOR).

Interrupções.

Watchdog timer (WDT).

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Características Especiais da Características Especiais da CPUCPU

SLEEP.

Proteção de código.

Posições de memória para identificação (ID).

Programação serial e serial em baixa tensão in-circuit.

Depurador in-circuit.

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Características Especiais da Características Especiais da CPUCPU

Registrador – Configuration Word.

– Utilizado para selecionar várias configurações do dispositivo.

– Mapeado na memória de programa no endereço 2007h.

– Acessível apenas durante a programação.

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Características Especiais da Características Especiais da CPUCPU

Registrador – Configuration Word.

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Características Especiais da Características Especiais da CPUCPU

Registrador – Configuration Word.

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

OsciladorOscilador Utilizado para gerar o clock do μC (Tosc).

– Quatro períodos de clock do μC geram um ciclo de instrução (Tcy).

O PIC16F877A pode operar em quatro diferentes modos de oscilador:

– LP Cristal Low Power;– XT Cristal/Ressonador;– HS Cristal High Speed/Ressonador;– RC Resistor-Capacitor.

• Os bits FOSC1 e FOSC2 são utilizados para selecionar um dos quatro modos.

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

OsciladorOscilador Nos modos LP, XT e HS, um cristal ou ressonador é

conectado nos pinos OSC1 e OSC2 para estabelecer a oscilação.

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

OsciladorOscilador Clock externo – LP, XT e HS.

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

OsciladorOscilador Oscilador RC.

– Utilizado em aplicações onde as temporizaçães são insensíveis.

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

ResetReset Existem vários tipos de reset:

– Power-on Reset (POR);

– Reset /MCLR – Durante a operação normal;

– Reset /MCLR – Durante SLEEP;

– Reset WDT – Durante operação normal;

– Wake-up WDT – Durante SLEEP;

– Brown-out reset (BOR).

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

ResetReset /MCLR.

– Existe um filtro na entrada do pino /MCLR para detectar e ignorar pequenos pulsos.

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

ResetReset Power-on Reset (POR).

– É gerado on-chip quando um aumento de tensão no pino VDD é detectado (faixa de 1,2 – 1,7 V).

Power-up Timer (PWRT).

– Temporizador com oscilador RC interno ao chip.

– Fornece um timeout nominal de 72 ms no power-up a partir do POR – O chip é mantido em reset nesse período.

– Esse atraso permite que VDD alcance um nível de tensão aceitável.

– Habilitado via software – Configuration word.

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

ResetReset

Oscillator Start-up Timer (OST).

– Fornece um atraso de 1024 ciclos do oscilador após o atraso PWRT (se PWRT estiver habilitado).

– Utilizado para garantir a estabilização do oscilador.

– Time-out utilizado apenas para os modos XT, LS e HS, e no power-on reset ou wake-up a partir do sleep.

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

ResetReset Brown-out Reset (BOR).

– Habilitado via software – Configuration word.

– Se VDD < VBOR = 4,0 V por um tempo > TBOR = 100 μs, o μC será resetado.

– O reset será mantido até que VDD > VBOR.

– Quando VDD > VBOR for satisfeito, o power-up timer mantém o μC em reset por TPWRT (72 ms).

– Caso VDD < VBOR durante TPWRT, .um reset BOR ocorrerá novamente.

– Obs.: PWRT é sempre habilitado se BOR estiver, independente do bit PWRT em Configuration word.

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

ResetReset Valor de alguns registradores especiais.

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

ResetReset Valor de todos registradores.

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

ResetReset Valor de todos registradores.

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

ResetReset Valor de todos registradores.

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Registrador PCONRegistrador PCON