Académique Documents
Professionnel Documents
Culture Documents
Microchip PIC18
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
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;
32K x 8
7 6 5 4 3 2 1 0
0x7FFF
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:
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
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?
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.
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
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.
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.
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.
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
0x7FFF
Bootloader
Programa do usurio
Comunicao
Bootloader
USB HID
Placa Didtica