Upload
internet
View
108
Download
2
Embed Size (px)
Citation preview
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
PIC16F877APIC16F877A
Jadsonlee da Silva Sá
[email protected]/~jadsonlee.sa
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Características CPU RISC.
– Conjunto de instruções 35 palavras.
• Todas as instruções são executadas em um único ciclo, exceto os desvios (dois ciclos de instrução).
– Frequência de clock de entrada até 20 MHz.
• Ciclo de instrução de 200 ns.
– Memória de programa FLASH 8K x 14 words (palavras de 14 bits).
– Memória de dados SRAM 368 Bytes.
– Memória de dados EEPROM 256 Bytes.
– Quantidade de pinos 40.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Características Periféricos.
– Três timers (timer 0, 1 e 2) – temporizador/contador.
– Dois módulos CCP (Captura, Comparação e PWM).
• Captura Valor do timer1 - Um evento no pino CCP1.
• Comparação Valor é comparado ao timer1 – Pino CCP1.
• PWM Resolução de 10 bits.
– Porta serial síncrona (SSP) SPI (Modo mestre) e I2C (mestre/escravo).
– USART/SCI detecção de endereço de 9 bits.
– Porta paralela escrava (PSP) 8 bits com controle externo /RD, /WR e /CS.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Características Analógica.
– Conversor A/D 8 canais com resolução de 10 bits.
– Circuito de detecção Brown-out para reset Brown-out (BOR).
– Módulo comparador analógico.
• Dois comparadores analógicos.
• Referência de tensão on-chip programável (Vref).
• Entrada programável multiplexada a partir das entradas do dispositivo e da tensão de referência interna.
• Saídas do comparador disponíveis externamente.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
CaracterísticasCaracterísticas
Especiais.
– Programação serial (ICSP) via dois pinos 5V.
– Watchdog timer Possui oscilador RC on-chip.
– Proteção de código.
– Modo SLEEP para economia de energia.
– Opções do oscilador selecionáveis.
– Depuração in-circuit (ICD) via dois pinos.
– Interrupções 15 fontes.
– Portas de E/S 5 portas (A, B, C, D e E).
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Diagrama de Pinos
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Configuração dos Pinos - DIPPino 1 - /MCLR - /Vpp Entrada do reset/Entrada da tensão de programação
Pino 2 - RA0/AN0 E/S digital e entrada analógica.
Pino 3 - RA1/AN1 E/S digital e entrada analógica.
Pino 4 - RA2/AN2/Vref-/CVref E/S digital, entrada analógica, entrada baixa da tensão de referência do A/D e saída Vref do comparador.
Pino 5 - RA3/AN3/Vref+ E/S digital, entradas analógica e entrada alta da tensão de referência do A/D.
Pino 6 RA4/T0CKI/C1OUT E/S digital, entrada do clock externo do timer0 e entrada do comparador 1.
Pino 7 - RA5 – /SS - AN4 -C2OUT
E/S digital, entrada slave select da SPI e entrada do comparador 2.
Pino 8 - RE0//RD/AN5 E/S digital e controle de leitura da porta paralela escrava.
Pino 9 - RE1//WR/AN6 E/S digital e controle de escrita da porta paralela escrava.
Pino 10 - RE2//CS/AN7 E/S digital e controle de seleção do chip da porta paralela escrava.
Pino 11 - VDD Alimentação.
Pino 12 - VSS Terra.
Pino 13 - OSC1/CLKI Entrada do oscilador e entrada da fonte de clock externa.
Pino 14 - OSC2/CLKOUT Saída do oscilador e saída do clock.
Pino 15 - RC0/T1OSO/T1CKI E/S digital, saída do oscilador do timer 1 e entrada do clock externo do timer 1.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Pino 16 – RC1/T1OSI/CCP2 Entrada/saída digital, entrada do oscilador do timer 1 e entrada de captura 2 ou saída de comparação 2 ou saída do PWM2.
Pino 17 – RC2/CCP1 Entrada/saída digital e entrada de captura 1 ou saída de comparação 1 ou saída do PWM1.
Pino 18 – RC3/SCK/SCL Entrada/saída digital, entrada/saída do clock da SPI e entrada/saída do clock da I2C.
Pino 19 – RD0/PSP0 Entrada/saída digital e dados da porta paralela escrava.
Pino 20 – RD1/PSP1 Entrada/saída digital e dados da porta paralela escrava.
Pino 21 – RD2/PSP2 Entrada/saída digital e dados da porta paralela escrava.
Pino 22 – RD3/PSP3 Entrada/saída digital e dados da porta paralela escrava.
Pino 23 – RC4/SDI/SDA Entrada/saída digital, entrada de dados da SPI e da I2C.
Pino 24 – RC5/SDO Entrada/saída digital e saída de dados da SPI.
Pino 25 – RC6/TX/CK Entrada/saída digital, transmissão assíncrona USART e clock síncrono da USART 1.
Pino 26 – RC7/RX/DT Entrada/saída digital, recepção assíncrona USART e dados síncrono da USART 1.
Pino 27 – RD4/PSP4 Entrada/saída digital e dados da porta paralela escrava.
Pino 28 – RD5/PSP5 Entrada/saída digital e dados da porta paralela escrava.
Pino 29 – RD6/PSP6 Entrada/saída digital e dados da porta paralela escrava.
Pino 30 – RD7/PSP7 Entrada/saída digital e dados da porta paralela escrava.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Configuração dos Pinos - DIP
Pino 31 – VSS Terra.
Pino 32 – VDD Alimentação.
Pino 33 – RB0/INT Entrada/saída digital e interrupção externa.
Pino 34 – RB1 Entrada/saída digital.
Pino 35 – RB2 Entrada/saída digital.
Pino 36 – RB3/PGM Entrada/saída digital e habilita programação ICSP.
Pino 37 – RB4 Entrada/saída digital.
Pino 38 – RB5 Entrada/saída digital.
Pino 39 – RB6/PGC Entrada/saída digital e clock da programação ICSP.
Pino 40 – RB7/PGD Entrada/saída digital e dados da programação ICSP.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Diagrama Diagrama de Blocosde Blocos
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
ArquiteturaArquitetura Arquitetura Harvard.
– As memórias de programa e dados possuem barramentos diferentes.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
ArquiteturaArquitetura Pipeline.
– Dois estágios.
– Sobrepõe a busca e a execução (decodificação) da instrução.
– A busca e a execução gastam cada Tcy unidades de tempo.
– Com a sobreposição, a busca da instrução atual e a execução da anterior ocorrem em Tcy unidade de tempo – Ciclo de instrução.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
ArquiteturaArquitetura Pipeline – Esquema do clock/ciclo de
instrução.– A frequência do clock de entrada (OSC1) é dividido
por quatro para gerar o ciclo de instrução Tcy. Cada ciclo Q possui a frequência do clock de entrada.
• A instrução é buscada na memória de programa e armazenada no registrador de instrução (IR) durante Q1.
• A decodificação e execução durante Q2, Q3 e Q4.
• Em Q2 o operando é lido e escrito em Q4.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
ArquiteturaArquitetura Pipeline – Fluxo de instrução.
– Todas as instruções, exceto instruções de desvio, gastam um único ciclo de instrução.
– Exemplo. PC aponta para o endereço SUB_1.
Flush da instrução 4
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
CPU - InstruçõesCPU - Instruções CPU – Utiliza as instruções (memória de programa)
para controlar a operação do μC.
Existem 35 instruções.
Divididas em três categorias:
– Operações orientadas a byte;
– Operações orientadas a bit;
– Operações literais e de controle.
Cada instrução possui uma palavra de 14 bits dividida em um opcode (tipo da instrução) e operandos (um ou mais).
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
CPU - InstruçõesCPU - Instruções Formato de cada categoria.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
CPU - InstruçõesCPU - Instruções Instruções reconhecidas pelo PIC16F877A.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
ULAULA ULA e acumulador (W) de 8 bits.
– Executa funções aritméticas (+ e -) e booleanas (lógicas e deslocamento) entre os dados em W e em qualquer registrador de arquivo.
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
Existem três blocos de memória.
– Memória de programa (FLASH) – 8K word x 14 bits.
– Memória de dados (SRAM) – 368 bytes.
– Memória de dados EEPROM – 256 bytes.
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 programa.
– Dividida em 4 páginas de 2K.
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 programa.
– Contador de programa (PC).
– Possui 13 bits.
0 0000 0000 0000 (0000h)1 1111 1111 1111 (1FFFh).
– 0000h à 1FFFh = 8192d == 8*1024 = 8K word.
– 1 word possui 14 bits.
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 programa.
– Contador de Programa (PC).
• PCL Contém os 8 bits menos significativos de PC.
– Pode ser lido e escrito.
• PCH Contém os 5 bits mais significativos.
– Não pode ser lido nem escrito diretamente.
– Todas as atualizações são feitas via PCLATH.
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 programa.
– Contador de Programa (PC) – Quatro situações de carregamento.
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 programa.
– Após qualquer tipo de reset,PC apontará para o endereço0000h. Em seguida, saltará parao início da página 0.
– Sempre que ocorrer algumainterrupção, PC apontará para oendereço 0004h. Em seguida, saltarápara o endereço da rotina de serviçode interrupção que ocorreu.
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 Pilha (Stack).
– Contém o endereço de retorno a partir de um desvio.
– Implementada por hardware com 8 níveis (chamadas ou interrupções) de 13 bits.
– O espaço da pilha não é parte das memórias de programa nem de dados..
– O apontador de pilha não pode ser lido nem escrito.
– PC é PUSHed na pilha quando CALL for executada ou quando um desvio por interrupção ocorrer.
– A pilha é POPed quando RETURN, RETLW ou RETFIE for executado.
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 Pilha (Stack).
– Ocorrência de mais que 8 desvios ou interrupções simultâneas.
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 Paginação da memória de programa.
– Temos 8K = 8192 = 213 13 bits para endereçar (PC).
– Cada umas das 4 páginas possui 2K = 211 11 bits.
– Endereçar as páginas - 4 = 22 2 bitsPágina 0 (0000-
07FF)
00 000 0000 0000
00 111 1111 1111
Página 1 (0800-0FFF)
01 000 0000 0000
01 111 1111 1111
Página 2 (1000-17FF)
10 000 0000 0000
10 111 1111 1111
Página 3 (1800-1FFF)
11 000 0000 0000
11 111 1111 1111
Os bits <4:3> de PCLATH são
usados para especificar a
página.
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 Paginação da memória de programa.
– Execução das instruções CALL e GOTO.
• CALL e GOTO possuem uma faixa de endereço de 11 bits.
• O usuário deve especificar a página em PCLATH<4:3>.
• Quando uma instrução de retorno for executada, o endereço completo de 13 bits é retornado para PC.
– Observe que a pilha armazena endereços de 13 bits.
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) – 368 bytes.
– É dividida em quatro bancos que contém os registradores de propósito geral (GPRs) e os registradores de função especial (SFRs).
• GPRs Utilizados para armazenar temporariamente os dados e resultados criados durante a execução do programa.
• SFRs Utilizados para controlar a operação dos módulos CPU e periféricos. SFRs são divididos em dois grupos: core(CPU) e periféricos.
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
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
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