Você está na página 1de 39

Segundo Torneio Universitrio de Robtica - UFU

MICROCONTROLADORES: O que so? para que Servem?


Computador em um Chip CPU ROM RAM I/O PORTS Relgio Interno...
Obviamente possuem recursos

reduzidos. Mas isso vem mudando com o tempo.

No dia a dia
DVDs, TVs
Video Games PDAs

Automveis
Eletrodomsticos Roteadores

So aplicados nos diversos segmentos da engenharia


Segurana Alarmes Portes Eletrnicos Informtica Estabilizadores, NO-Breaks Industria automobilstica Freios ABS Injeo eletrnica Medicina Eletromigrafos, eletroencefalogramas, medidores de batimento cardaco, etc Telecomunicaes Modems, Roteadores Indstria Automao, Robtica, Controle de motores, etc.

Fabricantes
Microchip
Renesas Motorola

Samsung
Atmel Intel Holtek Analog Devices Texas Instrumens

Algumas ferramentas disponveis para trabalhar com microcontroladores PIC


Ferramentas Pagas C18 C30 MikroC CCS HI-tech WizC

Ferramentas free SDCC Gputils Piklab Pikdev Eclipse Gpsim

Conceitos Bsicos de arquitetura para MCUs


Arquiteturas de memria

Filosofia de set de instrues


RISC (Reduced Instruction Set Computer) Instrues simples Mais baratos Circuitos menores Capaz de executar quase todas instrues em 1 ciclo de mquina Uso intenso de pipelines

CISC (Complex Instruction Set Computing) Instrues maiores e complexas Verstil Comprometimento da comercializao e desenvolvimento Microprogramao (instruoes complexas em hardware) Circuitos complexos e menos econmicos

Clocks e circuitos digitais


Sinal usado como base das mudanas (sincronismo)

nos circuitos digitais Nada mais que uma oscilao de tenso em uma determinada freqncia

Funcionamento simplificado de uma CPU


ULA
Operaes lgicas Operaes

aritmticas Tomadas de deciso

Memria Armazenamento do

programa Armazenamento dos dados Configurao de perifricos

Contador de programa

Aponta para o

endereo da prxima instruo a ser executada

CPU Unio dos perifricos citados (central de processamento)

Think outside the box. A little extra energy is closer than you think.

MICROCONTROLADOR PIC16F877A

Arquitetura de memria Harvard Filosofia de set de instrues RISC

Estrutura interna simplificada

Referncia de clock
Referncia de clock externa pode ser gerada por: Materiais piezoeltricos

Fatia de quartzo que vibra quando uma tenso aplicada Freqncia determinada pelo corte do cristal e seu tamanho fsico http://www.fetalmed.net/item/efeito-piezoeletrico.html

Resistores e Capacitores Clock gerado por circuitos osciladores

Oscilador a cristal

Oscilador RC

Oscilador externo

Circuito interno para tratar o clock de referncia

Ciclo de mquina e ciclo de clock

Entendendo melhor a estratgia de pipeline

Voltando para o PIC

Calculando ciclo de mquina

Exemplo:
Se um PIC16f877A opera com um cristal XT de 4MHz qual seria o seu ciclo de mquina ou tempo gasto para executar uma instruo? Sabendo que a instruo NOP (No OPeration) equivale a perder um ciclo de mquinas quantas iteraes precisariam ser feitas para perder o tempo equivalente a 1 segundo?

#use delay(clock = xxxxxxx)


num_iteraoes = ??? for( int i = 0 ; i < num_iteracoes ; i++) { #asm NOP ; Perde um ciclo de mquina #endasm }

Memria de programa
Tipo EEPROM
8K x 14 Words

Memria de dados
Dividida em SFR e GPR 368 bytes

Um SFR de forma mais detalhada


Exemplo TRISx e PORTx
O mesmo vale para qualquer outro perifrico....

Pilha
Registrador mapeado em

memria para guarda retorno de funo e interrupo

Vetor de reset e interrupo


Endereos mapeados

de tal forma que o contador de programa pule para ele em determinadas condies

TIMERS
Contadores precisos
Flags de overflow Interrupo

Tarefas com tempo

preciso

Outros recursos
Power-on e Power-up Timer (PWRT) Power-on (Reset ~72ms > 1.2~1.7V) Osc. startup Ignora os 1024 primeiros ciclos de clock Garantia de estabilidade

Watchdog Timer (WDT)


Supervisiona o programa
Caso o programa fique travado em um loop

um reset aplicado na CPU

Brown-out
Tenso de alimentao desce lentamente
Circuitos podem ficar descontrolados Compromete o fluxo programa

Rudos
Circuito de defesa

Reage a cada descida da

tenso E mantm a tenso quase constante por um tempo determinado pela malha RC

Principais Referncias
Microcontroladores PIC Antnio Srgio Sena
Advanced PIC Microcontroller Projects in C

Dogan Ibrahin Datasheet PIC16F877A Blog Rodrigo Almeida UNIFEI

Contato:

felipeadriano32@hotmail.com