Vous êtes sur la page 1sur 37

Microcontroladores

Microchip PIC18

Eng. Jonatas Xavier Silva

Contedo do Treinamento

Introduo; Ambientes de programao; Compilador Microchip MPLAB C18; Arquitetura Famlia Microchip PIC18; Portas de E/S; Interrupes; Mdulos de Suporte a CPU; Timers; Perifricos Analgicos; Perifricos de Comunicao; Mdulos de Baixo Consumo;

Introduo
Microcontroladores Linguagem C para sistemas embarcados Famlias de microcontroladores Microchip PIC18F2550 I/P Product Identification System

Microcontrolador?
um computador dentro de um chip, tem componentes similares a um computador porm dedicado a uma s tarefa.

Microcontroladores

Praticamente todos os equipamentos eletrnicos contm microcontroladores que funcionam como crebro do sistema.
Controles industriais Automotiva Mdica Militar Telecom Informtica Entretenimento Linha branca Robtica Aviao Outras...

Encapsulamentos
O encapsulamento o formato fsico do componente eletrnico. Para circuitos integrados, os tipos mais comuns so:

DIP

PLCC

TQFP

SOIC

Em um circuito integrado tem-se o SUBSTRATO que o material semicondutor onde esto implementadas todos os blocos internos responsveis pelo funcionamento do chip. O substrato ligado aos terminais por finos fios de ouro. Grande parte do chip apenas uma resina que confere suporte mecnico ao conjunto.

Microcontrolador
Determina a velocidade de execuo do programa

No-voltil

Voltil

Contm as instrues do programa que dizem a CPU o que fazer Executa todo o processamento lgico e aritmtico

Contm dados utilizados no programa

RAM

FLASH

Memria de Programa

Armazena as instrues do cdigo do usurio (Programa), dizendo CPU do MCU o que deve ser feito;

Memria de Programa
0x0000

uma memria do tipo no-voltil, ou seja, no perde os dados gravados nela na ausncia de energia eltrica;
Hoje, o tipo mais comum a FLASH E2PROM, ou simplesmente FLASH;

Pode ser segmentada em pginas ou linear;


Dimensionamento: n de endereos x n de bits por endereo.

32K x 8
7 6 5 4 3 2 1 0
0x7FFF

32K = 32767 endereos 8 = 8 bits em cada endereo

Lembre-se: 1K em binrio igual a 1024!

Memria de Dados

Armazena dados (informaes) utilizados na execuo do programa e configuraes de funcionamento do MCU; uma memria do tipo voltil, ou seja, perde os dados gravados na ausncia de energia eltrica; Hoje, o tipo mais comum a SRAM, embora existam dispositivos com memria NVRAM; Pode ser segmentada em bancos ou linear; Dimensionamento anlogo memria de programa; Cada endereo na memria de dados recebe o nome de REGISTRADOR.

Memria de Dados
BANK 0
0x00 0x0000

BANK 1

0xFF 0x00

BANK 2

0xFF 0x00

0xFF 0x00

Memria de Dados
SFR GPR

BANK n

0xFF

0xnnnn

Registradores de Propsito Geral: armazenam dados do programa. Registradores de Funo Especial: configuram o modo de funcionamento do MCU e seus perifricos.

LINEAR

Oscilador - CLOCK

Define a freqncia de operao do MCU (velocidade de execuo); Geralmente os MCUs j possuem um circuito interno e somente necessrio conectar um Cristal oscilador e um par de capacitores a 2 pinos dedicados a esta funo; Novos MCUs trazem TODO o circuito de oscilao interno, no sendo necessrio a utilizao de Cristais osciladores. A preciso deve ser observada. A freqncia de operao definida por:

Hz - Hertz (ciclos por segundo) e seus mltiplos: KHz, MHz, GHz

A performance de um MCU medida por um fator que depende da freqncia de clock:

MIPS - Milhes de Instrues por segundo

CPU

chamado de CORE do microcontrolador; Realiza o gerenciamento do MCU e executa as instrues contidas na memria de programa; Tipos de instrues:
Lgicas, Aritmticas, Manipulao de bits, Testes condicionais, Saltos de endereos entre outras.

Sua velocidade de operao dependente de um fator chamado CICLO DE MQUINA (Tcy) que dado em funo da freqncia de Clock do oscilador: Exemplo:

Quantos pulsos (durao em segundos de cada pulso de clock) de clock so TCY = TCLOCK x 4 = 0,0000000625 x 4 = 0,00000025 s necessrios (durao em segundos de cada instruo executada pela CPU) para a CPU executar 1 Logo, a performance ser: instruo? 1/ TCY = 1 / 0,00000025 = 4000000 de instrues por segundo

TCY

Seja TCY = 4 pulsos de clock e FCLOCK = 16MHz: TCLOCK = 1/16MHz = 0,0000000625 s

4 MIPS

CPU
A capacidade da CPU tambm medida pelo tamanho dos nmeros que ela capaz de processar em 1TCY . No mundo dos MCUs existem CPU de: 8 bits 16 bits 32 bits
Exemplo: Quantos TCY so necessrios para se executar a operao: 200 + 31 ? 8 bits : 1 TCY 16 bits : 1 TCY 32 bits : 1 TCY E a operao 129877 + 326453?

Utilizao de MCUs em sistemas embarcados no mundo em 2007

Sistema Embarcado

um sistema no qual um computador completamente encapsulado e dedicado ao sistema que ele controla!

Sistemas Embarcados

Ferramentas de Trabalho

Computador

Gravador + testador

MCU

Porque linguagem C?

C foi desenvolvido em 1972 para poder escrever o sistema operacional UNIX; O mais interessante da linguagem C era sua portabilidade; Em 1985 o ANSI (American National Standards Institute) estabeleceu um padro oficial do C, chamado C ANSI; Entre as linguagens de alto nvel, C a de mais baixo nvel permitindo controle total do hardware (excelente para MCU); Em C pode-se fazer qualquer coisa que se faz em Assembly; Um cdigo em C muito mais fcil de ser desenvolvido ou interpretado.

Mitos e verdades sobre C

C no to porttil entre arquiteturas como se acredita:


As caractersticas do ANSI C so portteis; As bibliotecas de um processador no so portteis; O cdigo de um processador especfico (perifricos, I/O, interrupes) no porttil.

C no to eficiente com Assembly; Um programa em C necessita utilizar mais memria.

Compilador

O programa gravado no MCU uma seqncia de bits conhecida como Cdigo de Mquina ou HEX file; Um compilador um tradutor que transforma o cdigo escrito em C em cdigo de mquina. Para cada MCU existem vrios compiladores disponveis, para MCUs PIC os principais so:

Fluxo de um Compilador C

Fluxo de Projeto em C

Um simples exemplo...

Microchip

Sediada em Chandler, AZ USA; Lder mundial no mercado de MCUs; Fabricante de semicondutores:


MCUs de 8-bits, 16-bits e 32-bits; DSP; Produtos analgicos e interfaces; Memrias, etc;

Microchip

Microchip

Microchip

Microchip

PIC18F2550 - Overview
Caractersticas bsicas:
Core de 8 bits com at 12MIPS; 24 pinos de I/O; Memria: Programa de 32KB (16KW de instrues); Dados de 2KB de SRAM e 256B de EEPROM; 10 canais de Converso A/D de 10 bits; 2 comparadores analgicos; 2 mdulos CCP (para gerao de PWM e medio de freqncia); 3 Timers de 16 bits e 1 timer de 8 bits; 1 mdulo EUSART para comunicao serial (RS232, RS485, LIN); Mdulo de comunicao serial I2C e SPI; Perifrico USB integrado; Modos de baixo consumo; Estrutura de oscilador flexvel.

PIC18F2550 Pinagem (SPDIP)

Product Identification System


Exemplo: PIC18F2550 I/SP

F Standard: 4,2V a 5,5V LF Wide: 2V a 5,5V

Ambientes de Programao
Microchip MPLAB IDE Proteus VSM Microchip USB HID Bootloader Placa didtica

MPLAB C18
um Ambiente Integrado de Desenvolvimento (IDE) que permite o desenvolvimento e compilao, o gerenciamento de arquivos e a simulao do projeto.

Proteus VSM - ISIS


Software de criao e simulao de circuitos eletrnicos.

Programao e Testes
Microchip USB HID Bootloader
uma interface de comunicao USB entre o computador e um MCU que contenha um Bootloader gravado nele. Permite a transferncia do arquivo HEX (gerado na compilao do projeto) para a FLASH do MCU.

Bootloader USB HID

Permite programar o MCU sem a necessidade de se ter um gravador; Inicialmente necessrio gravar o bootloader no MCU (utilizando um gravador); O bootloader utilizado baseado no fornecido na MAL (Microhip Aplication Libraries) e ocupa 4096 words da FLASH do MCU; Este bootloader utiliza o perifrico USB interno do MCU para a comunicao entre o MCU e o aplicativo rodando no PC; Ao desenvolver um novo projeto deve-se ter cuidado para no sobre-escrever a rea onde o bootloader est gravado; Memria FLASH disponvel: 32768 4096 = 28671 Words = 14335 linhas de instrues (Assembly)

Memria de Programa
0x0000

Bootloader
0x1000

Memria disponvel para programa do usurio

0x7FFF

Bootloader USB HID


Memria de Programa

Bootloader
Programa do usurio

Boto de programao no acionado

Bootloader USB HID


Memria de Programa

Comunicao

Bootloader

USB HID

Boto de programao acionado

Placa Didtica

Vous aimerez peut-être aussi