74
Microcontroladores Microcontroladores Microcontroladores Microcontroladores

Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

MicrocontroladoresMicrocontroladoresMicrocontroladoresMicrocontroladores

Page 2: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Evolução dos Microprocessadores para Evolução dos Microprocessadores para Evolução dos Microprocessadores para Evolução dos Microprocessadores para MicrocontroladoresMicrocontroladoresMicrocontroladoresMicrocontroladores

• Após a descoberta dos microcontroladores, circuitos básicos necessários ao seu funcionamento começaram a ser usado, tal como circuito gerador de clock, memória de dados (RAM), memória de programa (ROM), circuitos temporizadores, circuitos de controle de interrupções, etc. Com isso, perceberam que certos circuitos eram constantemente repetidos e usados de forma muito semelhante em todos os circuitos microprocessados, e em diversas aplicações, no ramo industrial principalmente, sendo que no final do projeto se usava menos que 10% da capacidade dos processadores, porém necessitavam dos mesmos circuitos usados nas aplicações onde o processamento era mais requisitado.

Page 3: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Evolução dos Microprocessadores para Evolução dos Microprocessadores para Evolução dos Microprocessadores para Evolução dos Microprocessadores para MicrocontroladoresMicrocontroladoresMicrocontroladoresMicrocontroladores

• Os microcontroladores vieram com o intuito de diminuir o tamanho de projetos microprocessados que não necessitem de grande capacidade de processamento. Houve então a integração em um único chip de todos os circuitos necessários para que um processador funcione, tal como memória RAM, ROM, circuito de clock, linhas de I/O, timer/conter, controle de interrupções.

Page 4: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Evolução dos Microprocessadores para Evolução dos Microprocessadores para Evolução dos Microprocessadores para Evolução dos Microprocessadores para MicrocontroladoresMicrocontroladoresMicrocontroladoresMicrocontroladores

A vantagem de se utilizar circuitos microcontrolados no lugar dos microprocessados são diversas, dentre elas temos:

• Menor custo de projeto;

• Menor quantidade de componentes;

• Menor custo;

• Maior confiabilidade, pelo fato de haver menor número de conexões.

Page 5: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

• Um microcontrolador é o um sistema microprocessado com varias funcionalidades (periféricos) disponíveis em um único chip. Basicamente, um microcontrolador e um microprocessador com memorias de programa, de dados e RAM, temporizadores e circuitos de clock embutidos.

• O único componente externo que pode ser necessário e um cristal para determinar a frequência de trabalho. A grande vantagem de se colocar varias funcionalidades em um único circuito integrado e a possibilidade de desenvolvimento rápido de sistemas eletrônicos com o emprego de um pequeno numero de componentes.

MicrocontroladorMicrocontroladorMicrocontroladorMicrocontrolador

Page 6: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

MicrocontroladorMicrocontroladorMicrocontroladorMicrocontrolador

• Dentre as funcionalidades encontradas nos microcontroladores, pode-se citar: gerador interno independente de clock (não necessita de cristal ou componentes externos); memoria SRAM, EEPROM e flash; conversores analógicos-digitais (ADCs), conversores digitais-analógicos (DACs); vários temporizadores/contadores; comparadores analógicos; saídas PWM; diferentes tipos de interface de comunicação, incluindo USB, USART, I2C, CAN, SPI, JTAG, Ethernet; relógio de tempo real; circuitos para gerenciamento de energia no chip; circuitos para o controle de inicialização (reset); alguns tipos de sensores; interface para LCD; e outros perifericos de acordo com o fabricante.

Page 7: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

MicrocontroladorMicrocontroladorMicrocontroladorMicrocontrolador

Diagrama esquemático de um microcontrolador típico

Page 8: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

MicrocontroladorMicrocontroladorMicrocontroladorMicrocontrolador

• É apresentada uma lista das varias famílias dos principais fabricantes de microcontroladores da atualidade. A coluna Núcleo indica o tipo de arquitetura ou unidade de processamento que constitui a base do microcontrolador.

Page 9: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória
Page 10: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

MicrocontroladorMicrocontroladorMicrocontroladorMicrocontrolador

• Atualmente, nas arquiteturas modernas de microcontroladores há o domínio da Harvard/RISC, a qual evoluiu para a chamada arquitetura RISC avançada ou estendida. Ao contrario da RISC tradicional, essa e composta por um grande número de instruções, que utilizam uma quantidade reduzida de portas logicas, produzindo um núcleo de processamento compacto, veloz e que permite uma programação eficiente (gera um menor numero de linhas de código).

• Devido as questões de desempenho, compatibilidade eletromagnética e economia de energia, e importante que um microcontrolador execute a maioria das instruções em poucos ciclos de clock, diminuindo o consumo e a dissipação de energia.

Page 11: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

O Microcontrolador PIC

Page 12: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

O O O O MicrocontroladorMicrocontroladorMicrocontroladorMicrocontrolador PICPICPICPIC

• Os microcontroladores PIC são fabricados pela empresa Microchip. Existem basicamente quatro famílias de PICs diferenciadas pelo tamanho da palavra de memória de programa: 12, 14 , 16 e 32 bits. Atualmente a Microchip lançou nesses últimos anos uma nova família de microcontroladores chamada DsPIC que possui barramento interno de 16 bits e 24 bits, contrário da tradicional família de 8 bits, e também a família PIC32, com barramento de dados em 32 bits.

• O PIC possui uma arquitetura interna do tipo Harvard. Os PICs foram otimizados para trabalharem com execução de pequeno conjunto de instruções a grandes velocidades de processamento.

Page 13: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória
Page 14: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Desempenho da família PICDesempenho da família PICDesempenho da família PICDesempenho da família PIC

• Capacidade de pipeline (enquanto executa uma instrução, o processador busca a próxima instrução na memória, de forma a acelerar a execução do programa) Execução de uma instrução por ciclo de máquina, com exceção das instruções de desvios que consomem dois ciclos de máquinas para serem executadas.

• Um ciclo de máquina no PIC equivale a 4 ciclos de clock, ou seja, o sinal de clock é dividido por 4 antes de executar a instrução (falaremos mais sobre esse tópico adiante).

• Cada Instrução ocupa uma posição de memória de programa (FLASH).

Page 15: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Desempenho da família PICDesempenho da família PICDesempenho da família PICDesempenho da família PIC

• Tempo de execução das instruções fixa, com exceção das instruções de desvios que consomem dois ciclos de máquina.

• Outra característica importante da arquitetura PIC reside na semelhança e compatibilidade entre os diversos microcontroladores membros de sua família. Isto facilita grandemente a migração de microcontrolador para outro, bastando mudar, em alguns casos, apenas alguns comandos no programa, pois partes dos registradores internos não se diferem muito entre si.

Page 16: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Tipos de Memória de Programa

• Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória de programa interna ou externa.

Tipos de memórias de programas disponíveis nos PICs:

• ROM: Memória do tipo não volátil gravadas na fábrica pelo processo conhecido como máscara. Os chips com esse tipo de memória normalmente possuem custos menores, mas somente são viáveis na fabricação de grandes quantidades.

• OTP: Memória fabricadas do tipo PROM. Saem da fábrica "virgens" e permitem uma única gravação. São inviáveis nas fases de implantação e desenvolvimento de equipamentos. Esses chips são identificados pelo sufixo "C".

• EEPROM: Podemos encontrar chips com memória do tipo EEPROM. Normalmente são mais caros que os dispositivos ROM e OTP e podem ser identificados através do seu sufixo "JW" para os dispositivos com encapsulamento DIP, ou "CL" para os dispositivos com encapsulamento do tipo PLCC.

• FLASH: Os microcontroladores PIC que utilizam este tipo de memória são indicados para etapas de desenvolvimento e testes até mesmo para implantações finais. Permitem no máximo 1000 ciclos de gravações/apagamento, possuem um custo relativamente mediano com relação aos outros chips.

Page 17: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

O que significa PICO que significa PICO que significa PICO que significa PIC????

• É o nome que a Microchip adotou para a sua família de microcontroladores, sendo que a sigla significa Controlador Integrado de Periféricos.

• O PIC é um circuito integrado produzido pela Microchip Technology Inc., que pertence da categoria dos microcontroladores, ou seja, um componente integrado que em um único dispositivo contem todos os circuitos necessários para realizar um completo sistema digital programável.

Page 18: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Programação do Programação do Programação do Programação do PIC PIC PIC PIC

• Como o PIC é um dispositivo programável, o programa tem como objetivo deixar instruções para que o PIC possa fazer atividades definidas pelo programador.

• Um programa é constituído por um conjunto de instruções em seqüência, onde cada uma identificara precisamente a função básica que o PIC ira executar. Um programa escrito em linguagem assembly ou em C pode ser escrito em qualquer PC utilizando-se qualquer processador de texto que possa gerar arquivos ASCII(Word, Notpad etc). Um arquivo de texto que contenha um programa em assembler é denominado de source ou codigoassembler.

• Uma vez preparado o nosso código assembler ou C, iremos precisar de um programa para traduzir as instruções mnemônicas e todas as outras formas convencionais com que escrevemos o nosso código em uma serie de números (o opcode) reconhecível diretamente pelo PIC. Este programa se chama compilador assembler ou assemblador.

Page 19: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Na figura ao lado está esquematizado o fluxograma de operações e arquivos que devera ser realizado para passar um código assemblera um PIC a ser programado.

Page 20: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

1. Qual a diferença do Microcontroladores e dos Microprocessadores?

2. O que significa PIC?

3. Fale da programação de um PIC.

Exercícios cap 2

Page 21: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Características do microcontrolador PIC18F452

Page 22: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória
Page 23: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

O PIC18F4520O PIC18F4520O PIC18F4520O PIC18F4520

• O PIC18F4520 é um microcontrolador que possui memória do tipo FLASH, que nos representa uma grande facilidade em desenvolvimentos de projetos e protótipos pois não requer apagá-lo através de luz-ultravioleta como as versões antigas que utilizavam EEPROM, com tecnologia CMOS (baixíssimo consumo) fabricado pela empresa Microchip Technology.

Page 24: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

O PIC18F4520O PIC18F4520O PIC18F4520O PIC18F4520

• Microcontrolador de 40 pinos;• Memória de programa FLASH de 32K (

16384 bytes words)• Memória de dados RAM de 1536

bytes;• Memória EEPROM de 256 byte;• Processamento de até 10MIPS

(milhões de instruções por segundo)• 2 canais capture/compare/PWM -

módulo CCP• Master synchronous Serial Port (MSSP)

module.• Usart

• 13 canais A/D de 10 bits• Permite até 100 000 ciclos de escrita e

leitura na memória de programa Flash• Permite 1.000.000 ciclos de leitura e

escrita na E2PROM• Retenção de dados na Flash de 40

anos• Detector de baixa voltagem

programável• Watchdog timer com oscilador próprio

e programável• Três pinos de interrupção externa.• 4 Temporizadores/contadores

(TIMER0, TIMER1, TIMER2, TIMER3)

Veja em seguida as principais características do PI18F4520

Page 25: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Na figura a seguir, é apresentada a arquitetura interna do PIC18F452.

• Note que os periféricos do microcontrolador (memória de dados EEPROM, módulo CCP, Timers, etc) estão ligados no barramento de dados do μC. Barramento de 8 bits;

• As vias de comunicação do μC com o mundo externo também ficam conectadas ao barramento de dados. É através destas linhas que conseguiremos ler o estado de um botão ou acionar uma saída qualquer;

• O barramento de programa do μC é composto de 16 linhas. É através deste barramento que será lido o programa desenvolvido;

O PIC18F4520O PIC18F4520O PIC18F4520O PIC18F4520

Page 26: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

• Verifique que existem 21 linhas para endereçar um endereço na memória Flash do μC. Como 221 é igual a 2M, podemos ter até 2Mbytes ou 1MW (Mega Word) de memória de programa no μC;

• Este μC pode suportar até 4KB de memória de dados RAM, pois existem 12 linhas que permitem endereçar este espaço. Como 212 é igual a 4096.

O PIC18F4520O PIC18F4520O PIC18F4520O PIC18F4520

Page 27: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória
Page 28: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Tipos de encapsulamentos

Page 29: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Tipos de Tipos de Tipos de Tipos de encapsulamentosencapsulamentosencapsulamentosencapsulamentos

• As primeiras versões do PIC eram baseadas em encapsulamentos do tipo DIP40, hoje os dispositivos de 40 pinos ainda são muito comuns, porém de acordo com a aplicação e os periféricos internos presentes no Chip eles podem ser encontrados em diversos encapsulamentos como:

• DIP → Dual In-line Pin

• PLCC → Leadless Chip Carrier.

• TQFP → Thin Quad Flat Pack.

• Nosso estudo será baseado em microcontroladores com o encapsulamento DIP (Dual In-line Pin), devido à facilidade de utilização e disponibilidade no mercado, porém não há grandes dificuldades para se migrar para outros encapsulamentos.

Page 30: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória
Page 31: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória
Page 32: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória
Page 33: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Pinagem do microcontrolador

Page 34: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

• O μC PIC18F452 é composto de 34 pinos de I/O (entrada e saída). Quando falamos que um pino é de I/O, queremos dizer que este pino pode ser configurado tanto para entrada como para saída.

• Os pinos de I/O do μC estão divididos em 5 grupos denominados PORTS (portas). Estes PORTs são chamados de PORTA, PORTB, PORTC, PORTD e PORTE. Eles suportam no máximo 7, 8, 8, 8 e 3 I/Os, respectivamente.

Page 35: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

PIC18F452 Microchip

Page 36: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Pinos do microcontrolador 18F452

Page 37: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

• Quando nos falamos de um pino específico do PORT, nos referenciamos a ele com a inicial RX, onde “X” pode ser A, B, C, D e E(referente ao PORT) e completamos como o número específico de PORT, que pode ser 0, 1 ou 2 por exemplo.

• Um pino, além da função básica de I/O, pode ter funções mais avançadas, como por exemplo a leitura de um canal de AD. Esta função adicional, quando é configurada, faz com que o pino perca a função básica de I/O e passe a funcionar na função especial configurada para ele.

Page 38: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

• Por exemplo:

PINO 2

• Este pino, além de ter a sua função básica de I/O, também pode ter uma entrada analógica para o sistema.

• Esta mesma ideia vale para o restante dos pinos.

Page 39: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

• As características elétricas podem ser verificadas na tabela abaixo:

Page 40: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Exercícios cap 24. Cite três características do microcontrolador 18F452.

5. Que tipo de arquitetura a família PIC18 apresenta internamente?

6. Em quantos PORTS estão divididos os pinos de I/O? Quais são eles?

7. Em que faixa de tensão o PIC18F452 pode operar?

8. Qual a corrente máxima por pino que o PIC pode fornecer?

9. Qual a corrente máxima por PORT que o PIC pode fornecer?

Page 41: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Ciclos de MáquinaCiclos de MáquinaCiclos de MáquinaCiclos de Máquina

• O microcontrolador PIC18F452 implementa uma arquitetura Havard. Para que o μC possa executar um ciclo de máquina, são necessários 4 pulsos de clock da fonte do sistema. O ciclo de máquina é o tempo que o μC demora para executar uma única instrução.

• Este microcontrolador pode funcionar com até 10MHz (ciclo de máquina). Chegamos a conclusão que ele tem um ciclo de máquina mínimo de 100ηs.

Page 42: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Ciclos de MáquinaCiclos de MáquinaCiclos de MáquinaCiclos de Máquina• A contagem de tempo não é medida diretamente pela frequência de

oscilação do cristal e sim através do que chamamos de CICLO DE MÁQUINA. Internamente no microcontroladores PIC a frequência do cristal é dividida por 4, o que nos resulta que a frequência real de trabalho é:

• Concluímos então que: a cada 1 ciclo de máquina corresponde a 4 pulsos do oscilador.

Page 43: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Ciclos de MáquinaCiclos de MáquinaCiclos de MáquinaCiclos de Máquina

• Para exemplificar vamos supor que temos conectado ao microcontroladorum cristal de quartzo de 8 MHz.

Qual é a frequência real de execução das instruções do nosso microcontrolador?

• Sabemos que a frequência do cristal utilizado é de 8 MHz, e que cada instrução leva exatamente 1 ciclo de máquina para ser executada. Basta dividir o valor do cristal por 4 para sabermos o valor real de trabalho do PIC.

• Concluímos então que nosso microcontrolador PIC com cristal de 8 MHz esta trabalhando efetivamente a 2 MHz, ou seja , cada instrução de programa leva 0.5 us para ser executada.

Page 44: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória
Page 45: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Para calcular o tempo de cada ciclo de instrução realizado, baseado no dispositivo oscilador, por exemplo um cristal, basta fazer o seguinte cálculo:

Page 46: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

� Um ciclo de instrução consiste de quatro ciclos Q (Q1, Q2, Q3, Q4). A busca e execução são feitas em linha, de tal forma que a busca leva um ciclo de instrução e a execução leva outro ciclo.

� Contudo, devido à característica de "Pipeline", cada instrução é executada efetivamente em um ciclo, pois simultaneamente correm as execuções de uma instrução e a busca a instrução seguinte. Se a instrução causa a alteração no contador de programa, então dois ciclos são necessários para completar a instrução.

Fluxo de Instrução/ Pipeline

Page 47: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória
Page 48: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Memórias

Page 49: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Tipos de memóriaTipos de memóriaTipos de memóriaTipos de memória

• No PIC18F4520 encontramos três tipos de memórias:

• Memória de Programa - FLASH

• Memória de dados - RAM

• Memória de dados EEPROM

Page 50: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Memória de ProgramaMemória de ProgramaMemória de ProgramaMemória de Programa

• O μC em questão internamente 16Kbyte de memória de programa (words) e possui um barramento de programa de 16 bits. Além disso, existem 21 bits para endereçamento da memória de programa, o que permite que até 2 Mbyte sejam endereçados pelo microcontroladorda familia PIC18.

• A memória de programa utilizada em nosso microcontrolador é do tipo FLASH (sufixo "F") que permite ser gravada/apagada no mínimo 1000 vezes. Este tipo de memória utilizada é ideal para ser utilizada em desenvolvimento de projetos e até mesmo em produtos finais.

Page 51: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória
Page 52: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

• Podemos perceber que a memória de programa do PIC18F4520 inicia-se no endereço 0000h e atinge o valor máximo de 7FFFH, ou seja , 32767K byte (32Kbyte).

• O endereço inicial 0000h é chamado de vetor de reset. A instrução de programa que estiver nesse endereço de memória será a primeira a ser executada pelo processador do PIC. Sempre que energizarmos ou resetarmos o microcontrolador, o contador de programa PC apontará sempre para este primeiro endereço da memória.

Memória de ProgramaMemória de ProgramaMemória de ProgramaMemória de Programa

Page 53: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Memória de ProgramaMemória de ProgramaMemória de ProgramaMemória de Programa

• Não podemos confundir de forma alguma memória de programa e memória de dados. Sabemos que memória de programa é onde nosso programa estará gravado, enquanto memória de dados é onde os valores de nossas variáveis serão salvas temporariamente.

• Temos os endereços 0008h e 0018h. Estes endereços são chamados de vetores de interrupção.

• Uma das grandes vantagens de utilizar o PIC é o fato dele permitir a gravação do tipo In-Circuit, o que quer dizer que podemos desenvolver o próprio projeto e gravá-lo na própria placa, não precisando nem retirá-lo para gravá-lo.

Page 54: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Memória de dados – EEPROM

• Sabemos que as memórias do tipo EEPROM são muito parecidos com a memória RAM, sua diferença que as distingue é devido ao fato da memória EEPROM reter as informações salvas quando a desenergizarmos.

• Podemos salvar nesta memória dados não-voláteis durante o decorrer da execução de nosso programa.

• O PIC18F4520 possui internamente 256 bytes de memória de dados EEPROM. O endereço inicial da memória de dados EEPROM é 00h seu último endereço é FFh.

Page 55: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Memória de dados – RAM

• Chegamos a uma das partes mais importantes do estudo referente ao nosso microcontrolador PIC, neste tópico apresentaremos toda a estrutura de memória de dados RAM.

• A memória de dados RAM é dividida em dois grupos: os chamados GPR’s (Registradores de Propósito Geral) e os SFR’s ( Registradores de Funções Especiais).

• Os GFR’s tem a função de armazenar dados de uso geral que utilizamos e criamos durante a execução do nosso programa. Podemos guardar nesse região da memória RAM dados voláteis de variáveis, tabelas, constantes, entre outras.

Page 56: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Memória de dados – RAM

• Os SFR's são a parte principal do microcontrolador, é nesta área da memória RAM que estão armazenados todos os setups de funcionamento do PIC. A partir desses registradores podemos configurar o modo de trabalho dos timers/counters, USART, conversores analógicos digitais, etc.

• O PIC18F4520 em estudo possui internamente 1536 bytes de memória de dados RAM.

• O banco de memória RAM da família PIC18F é dividido em 16 bancos que contém 256 bytes de memória cada, pois a forma de implementação das instruções limita o endereçamento a um máximo de 7 bits ou 128 registradores. Por esse motivo, a Microchip usa a filosofia de paginação de memória, criando bancos de memória a cada 128 posições.

Page 57: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória
Page 58: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Exercícios cap 210. Quantos pulsos de clock são necessários para se gerar um ciclo de

máquina?

11. No máximo quantos MIPS este microcontrolador pode processar?

12. Quais os endereços de vetor de reset e dos vetores de interrupção na memória do programa?

13. Em quanto bancos de memória está dividida a RAM do PIC? E qual a capacidade de cada uma deles?

14. O que é GPR? O que é SFR?

Page 59: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Configuração do OsciladorConfiguração do OsciladorConfiguração do OsciladorConfiguração do Oscilador

Page 60: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Configuração do OsciladorConfiguração do OsciladorConfiguração do OsciladorConfiguração do Oscilador

• Este microcontrolador pode funcionar em 8 modos diferentes de osciladores. Os modos estão apresentados abaixo:

Page 61: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Oscilador RC

• Neste tipo de configuração, fica conectada ao pino OSC1.

• A frequência obedece a constante RC e varia de acordo com a tensão e a temperatura do a temperatura do ambiente. Para aplicações onde a precisão não é importante, esta opção se torna interessante pelo seu baixo custo.

• Opcionalmente, o pino OSC2 pode fornecer a frequência de funcionamento interna do PIC ou ser configurado como um pino de I/O, que será o RA6.

Page 62: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Circuito de Oscilação EC – com pino RA6 como I/O de uso geral

• Este modo de configuração é utilizado quando temos uma fonte de clock em nosso circuito eletrônico.

• Obs: A fonte de clock deverá estar livre de ruídos e deformações.

Page 63: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Oscilador a cristal ou ressonador cerâmico

• A principal diferença entre os modos LP, XT, e HS está na frequência do cristal ou ressonador.

• Existem dois capacitores, ligados em paralelo, para o terra do sistema junto ao cristal ou ressonador. A função deles é garantir a estabilidade da fonte de oscilação e eles utilizados de acordo com a velocidade do sistema.

Page 64: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória
Page 65: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

• Os ressonadores cerâmicos são comercializados em dois tipos: com dois terminais e com três terminais. Os mais utilizados são os ressonadores com três terminais pois não precisam de capacitores externos.

• Os ressonadores cerâmicos é uma segunda opção. Não é tão barato quanto um RC mas é bem mais estável e preciso.

• Nos projetos do nosso curso iremos utilizar cristal de quartzo de 8 MHz pois garantimos maior precisão nas rotinas de tempo nas execuções das instruções.

Page 66: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória
Page 67: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Resistor RS pode ser necessário para melhor funcionamento do cristal.

Page 68: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

BROWN-Out

• O detector de brown-out é utilizado para provocar o reset da CPU no caso de a tensão de alimentação cair abaixo de um determinado limite. Uma vez que a tensão retorne ao seu valor nominal, o circuito de reset é liberado e o programa é reiniciado.

• No PIC18F4520 podemos selecionar 4 tipos de tensões para o BROWN-OUT: 2.0V, 2.7V, 4.2V ou 4.5V.

• Podemos habilitar ou desabilitar o detector de brown-out, basta selecionar o bit de configuração caso desejemos habilitar o brown-out.

Page 69: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

WDT - Watchdog Timer Enable (cão de guarda)

• O watchdog timer ou cão de guarda é um sistema interno ao microcontrolador que evita que o programa pare em um determinado ponto. Imagine que você desenvolveu uma aplicação e que por um erro de software em certo momento o seu programa pára (entra em loop infinito).

• Caso o watchdog dog não seja resetado de tempos em tempos ele irá "estourar", ou seja, chegará ao final da sua contagem fazendo com que o microcontrolador resete e reinicie todo o processo.

• O tempo mínimo para estouro do watchdog é de 18 ms, porém podemos estender esse tempo através do postscale. Com essa função podemos multiplicar o tempo mínimo de 18 ms com os seguintes multiplicadores do prescaler: 1:1; 1:2, 1:4, 1:8, 1:16, 1:32, 1:64, 1:128.

Page 70: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Code Protect

• Este microcontrolador possui 32KB de memória de programa interno. Quando desenvolvemos uma aplicação e a colocamos em campo, existe a necessidade de proteger o programa para evitar que outras pessoas possam ler o seu conteúdo interno e com isto fabricar o mesmo produto com as mesmas características.

• Para evitar este problema, este microcontrolador apresenta o CodeProtect (proteção de código). Ele evita que outras pessoas possam ler o conteúdo interno do microcontrolador. Esta proteção vale para a memória de programa e para a memória EEPROM.

Page 71: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Hardware mínimo para o microcontrolador

• O microcontrolador deverá estar alimentado através dos pinos 32 e 11 em 5V e nos pinos 31 e 12 está o terra da fonte de alimentação, que neste caso e 5V, mas pode variar na faixa de funcionamento do microcontrolador, que vai de 2 a 5,5V.

• Um ressonador de três terminais está conectado nos pinos OSC1 e OSC2 do microcontrolador, de forma a ser a fonte de clock do microcontrolador.

• O pino MCLR está ligado a VCC. O função desse pino é resetar o μC. Quando impomos o nível alto neste pino, garantimos que ele funcionará sem resetar o μC. Quando o pino MCLR é levado ao nível baixo, o μC é desviado automaticamente para o endereço 0X0000, que é o vetor de reset, garantindo desta forma o início do funcionamento da máquina.

Page 72: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória
Page 73: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Exercícios cap 215. Quais opções de oscilador que estão disponíveis para este PIC?

16. Qual a função do circuito de Brown Out?

17. Qual a função de Watchdog Timer?

18. Qual a função do Code Protect?

Page 74: Microcontroladores - WordPress.com · 2018. 8. 26. · • Os PICs da série 12 e 16 armazenam o programa em sua memória interna. Membros da família 18 podem funcionar com memória

Exercícios cap 21. Qual a diferença do Microcontroladores e dos Microprocessadores?

2. O que significa PIC?

3. Fale da programação de um PIC.

4. Cite três características do microcontrolador 18F452.

5. Que tipo de arquitetura a família PIC18 apresenta internamente?

6. Em quantos PORTS estão divididos os pinos de I/O? Quais são eles?

7. Em que faixa de tensão o PIC18F452 pode operar?

8. Qual a corrente máxima por pino que o PIC pode fornecer?

9. Qual a corrente máxima por PORT que o PIC pode fornecer?

10. Quantos pulsos de clock são necessários para se gerar um ciclo de máquina?

11. No máximo quantos MIPS este microcontrolador pode processar?

12. Quais os endereços de vetor de reset e dos vetores de interrupção na memória do programa?

13. Em quanto bancos de memória está dividida a RAM do PIC? E qual a capacidade de cada uma deles?

14. O que é GPR? O que é SFR?

15. Quais opções de oscilador que estão disponíveis para este PIC?

16. Qual a função do circuito de Brown Out?

17. Qual a função de Watchdog Timer?

18. Qual a função do Code Protect?