Laboratório de Hardware - Ciência da Computação FACAPE
Transcrição
Laboratório de Hardware - Ciência da Computação FACAPE
Ciência da Computação Laboratório de Hardware Introdução ao Microcontrolador PIC Prof. Sergio Ribeiro Microprocessadores n n n Os microprocessadores são circuitos integrados compostos por diversas portas lógicas que realizam operações matemáticas e lógicas diversas. São destinados a uso geral, ou seja, simplesmente processar informações. Os sistemas microprocessados são compostos de dispositivos separados: microprocessador, memória, interface de entrada e saída (compostas por transistores, acopladores ópticos, etc). Mas por que não incluir todos estes dispositivos em um encapsulamento? Laboratório de Arquitetura de Computadores 2 Microcontroladores n n n A união das memórias com os microprocessadores possibilitou o advento dos microcontroladores. Estes circuitos integrados são compostos por pelo menos uma unidade de processamento, uma unidade lógicoaritmética, um banco de memória de programa e um banco de memória de dados. Além disto, os microcontroladores devem possuir uma interface com o ambiente externo, ou seja, entradas e saídas para que o desenvolvedor de hardware possa realizar operações diversas, como por exemplo, ligar um relé, um transistor, acender um LED, etc. Laboratório de Arquitetura de Computadores 3 Microcontroladores n n n Microcontroladores são dispositivos voltados a sistemas embarcados e aplicações específicas, ao contrário dos μPs, destinados a PCs e aplicações de uso geral. Memórias de programa e de dados também são frequentemente integradas ao chip, o que não ocorre nos μPs. Principais razões da integração das memórias aos μCs: n n n n n Redução do número de pinos do encapsulamento; Redução dos custos com componentes externos; Diminuição das dimensões da montagem; Simplificação do circuito de aplicação; Porém, tal integração tem como desvantagem: n Limitação da complexidade do programa embarcado, devido ao tamanho reduzido da memória nos μCs. Laboratório de Arquitetura de Computadores 4 Microcontroladores n Visão geral da organização de um microcontrolador: Laboratório de Arquitetura de Computadores 5 Aplicações Típicas n Tipicamente, μCs são usados no controle em: n n n n n n Periféricos de informática Eletrônicos de consumo Sistemas de supervisão Instrumentação Automação Robótica Laboratório de Arquitetura de Computadores 6 Marcas de Microcontroladores Algumas marcas e modelos: n n n n n n ATMEL: ATMEGA, AT91, AT90; INTEL: MCS51 ou 8051 (vários fabricantes fabricam este modelo, mas a Intel foi a primeira a produzi-lo, em 1977); Microchip: PIC, DSPIC. Freescale (Motorola): 68HC, MPC. Texas Instruments: MSP430, TMS370 Microchip Laboratório de Arquitetura de Computadores 7 Os Microcontroladores PIC n n n Os PIC, ou PICmicro, são microcontroladores da Microchip Technologies. Seu nome é uma sigla para “Programmable Interface Controller” e origina-se no início dos anos 80, quando foi concebido para operar como interface controladora de periféricos para a CPU CP1600 da General Instruments. São mais de 570 uCs divididos em 3 grandes grupos: n n n n 8 bits 16 bits 32 bits Núcleo composto por uma máquina RISC: n n As versões mais simples tem apenas 33 instruções. Memória segue a arquitetura de Havard. Laboratório de Arquitetura de Computadores 8 Os Microcontroladores PIC Família de Microcontroladores PIC: 9 Laboratório de Arquitetura de Computadores Os Microcontroladores PIC Os Microcontroladores PIC de 8 bits n n São mais de 300 uCs, reunindo desde os mais simples e pequenos (6 pinos) a dispositivos de alta gama, com maior poder de processamento, periféricos e interfaces, chegando a 100 pinos. Dividem-se em 4 categorias, de acordo com a complexidade da aplicação a que se destinam: n n n n Baseline Mid-Range Enhanced Mid-Range PIC18 Laboratório de Arquitetura de Computadores 10 Os Microcontroladores PIC PIC 8-bits: Memória de Programa vs N° de Pinos Laboratório de Arquitetura de Computadores 11 O PIC 18F4550 n n n Microcontrolador “Mid-Range” de 8 bits, com 40 pinos. Reúne os principais pontos de interesse no estudo da arquitetura de sistemas digitais. É o microcontrolador inserido no Kit XM118 da Exsto presente no Laboratório de Hardware da Facape, e que será adotado nas aplicações práticas do laboratório. Laboratório de Arquitetura de Computadores 12 Principais Características do PIC18F4550 n n n n n n Memória FLASH de programa: 32 Kbytes. Memória SRAM para armazenamento de dados: 2 Kbytes. Memória EEPROM de dados: 256 bytes. Pinos configuráveis como entradas ou saídas digitais: 35. Pinos configuráveis como canais de entrada analógica: 13. Módulo CCP (Capture / Compare / PWM) n n n Capture Þ Permite a medição do tempo de duração de um evento. Comparação Þ compara valores entre os registros do TMR1 e CCPR. PWM (Pulse Width Modulation) Þ gera sinais de frequência e variáveis. Laboratório de Arquitetura de Computadores 13 Principais Características do PIC18F4550 n n n n n n n n Porta paralela: de 8 bits (SPP – Streaming Parallelal Port). Temporizadores de 8 e 16 bits: 4. Watchdog Timer: sim. Frequência de operação: de até 48 MHz. Múltiplas fontes de interrupção: até 20. Comparadores: 2. Periféricos avançados de comunicação: Porta de comunicação serial, Porta de comunicação USB 2.0. Arquitetura Harvard: tecnologia RISC com um conjunto de 75 instruções de máquina. Laboratório de Arquitetura de Computadores 14 Pinagem do PIC18F4550 n Portas de entrada e saída (RA, RB, RC, RD e RE). n Canais de entradas analógicas (AN). n Pinos de alimentação (VDD e VSS). n Pinos de entrada para o oscilador externo (OSC). n Portas de comunicação serial (RX e TX). n Porta de comunicação USB (D+ e D-). ** Os pinos podem ter mais de uma função. Laboratório de Arquitetura de Computadores 15 Pinagem do PIC18F4550 n Os 35 pinos de I/O configuráveis, estão agrupados em 5 grupos denominados PORTAS, sendo: n PORT A n PORT B n PORT C n PORT D n PORT E Laboratório de Arquitetura de Computadores 16 Pinagem do PIC18F4550 17 Diagrama de Bloco do PIC18F4550 Laboratório de Arquitetura de Computadores Laboratório de Arquitetura de Computadores 18 Kit Educacional n n n n n O laboratório de Hardware da Facape é equipado com kits educacionais da Exsto. O kit usado em Arquitetura de Computadores é o XM118 que possui o microcontrolador PIC18F4550. O hardware do Kit Educacional XM118 foi concebido para permitir a maior fexibilidade possível nas ligações. Os pinos com diversas funções foram ligados a chaves dip switch, de forma a permitir a conexão com diferentes circuitos de aplicação. Para configurar corretamente o hardware para suas necessidades, verifique as funções das chaves no manual. Laboratório de Arquitetura de Computadores 19 Fonte de Alimentação n n n O kit educacional XM118 é equipado com duas fontes chaveadas independentes de +5VDC/3A e +12VDC/1A. As fontes de alimentação estão disponíveis para o usuário em conectores apropriados. Seu uso, contudo, deve respeitar a corrente máxima disponível. Laboratório de Arquitetura de Computadores 20 PIC 18F4550 n n n O kit foi baseado no PIC 18F4550. Trata-se de um microcontrolador de 8 bits de alto desempenho com uma série de periféricos. Além do PIC 18F4550, outros microcontroladores de 40 pinos podem ser usados na placa do kit, desde que sejam compatíveis pino a pino. Ex: PIC 18F4520 e o PIC 16F877A. Laboratório de Arquitetura de Computadores 21 Conectores para Acesso de I/O n n Imediatamente acima do protoboard, existem conectores que dão acesso direto aos pinos do microcontrolador. Quando usar um pino do microcontrolador para aplicações externas, desligue as chaves de configuração associadas ao pino em questão (se houver). Laboratório de Arquitetura de Computadores 22 PICkit-2 e o Conector ICSP n n n n O kit XM118 é equipado com um gravador PICkit-2 que fica embutido dentro do gabinete do kit. O PICkit-2 está conectado ao XM118 e consequentemente ao microcontrolador nele instalado através da chave U8. Essa chave permite desconectar os pinos do PIC18F4550 do PICkit-2 quando necessário. O conector CON9 permite gravar outros componentes externos através do header (placa para gravação de componente) que acompanha o kit. Laboratório de Arquitetura de Computadores 23 Configuração n n n n n O microcontrolador tem um número limitado de pinos para poder interagir com todos os circuitos presentes no kit. Alguns circuitos estão simplesmente ligados em paralelo, como LEDs e LCD, teclado e chaves. Outros circuitos são selecionados através de chaves de configuração. A tabela a seguir apresenta algumas configurações possíveis, indicando o portal do microcontrolador, o sinal utilizado, sua função e direção. A tabela completa deve ser consultada no manual de operação do kit. Laboratório de Arquitetura de Computadores 24 Configuração Laboratório de Arquitetura de Computadores 25 Teclado Matricial n n n Um teclado matricial está disponível no kit e opera por varredura. Isto significa que, ao aplicar diferentes valores nas linhas, é possível identificar a tecla pressionada por meio do valor lido nas colunas. O teclado está ligado ao PIC conforme a tabela abaixo. Obs: para o correto funcionamento do teclado, é necessário ativar os resistores de pull-up internos do PIC por software. Laboratório de Arquitetura de Computadores 26 Chaves Há oito chaves dip switch ligadas à porta B do PIC. Essas chaves foram projetadas para ser baixo ativas, ou seja, ao serem ligadas, elas aterram os pinos do PIC. Estando aberto, o nível alto nas entradas do PIC é garantido pelos resistores de pull-up internos. Obs: para o correto funcionamento do teclado, é necessário ativar os resistores de pull-up internos do microcontrolador por software. n n n n Laboratório de Arquitetura de Computadores 27 Push-Buttons n n n n Existem cinco chaves pulsativas (push-buttons) ligados aos pinos do microcontrolador. Alguns desses pinos possuem funções especiais, como interrupções e contadores. Essas chaves também são baixo ativas. A tabela abaixo mostra a ligação dessas chaves ao PIC. Laboratório de Arquitetura de Computadores 28 Display LCD n n n O kit possui um display LCD alfanumérico de 2 linhas por 16 colunas. O ajuste de contraste desse LCD é feito pelo trimpot R42. Mais informações sobre o uso do LCD na apostila do kit. Laboratório de Arquitetura de Computadores 29 Display de 7 Segmentos n n O kit XM118 possui 4 displays de sete segmentos. Estes displays trabalham de forma multiplexada, isto é, seus segmentos estão todos ligados em paralelo e os comuns dos displays são acionados por um processo de varredura (impressão de estarem simultaneamente ativos). Laboratório de Arquitetura de Computadores 30 LEDs Na porta D do microcontrolador estão ligados 8 leds convencionais baixo ativos (acendem com nível lógico baixo). n Há também 2 leds bicolores ligados a outros pinos do microcontrolador (consultar manual). n Laboratório de Arquitetura de Computadores 31 Buzzer n n n Um buzzer piezelétrico permite a geração de sons no kit. Para esse buzzer operar é necessário aplicar um sinal variável na frequência que se deseja ouvir. Ele não produzirá som algum se for simplesmente alimentado. Laboratório de Arquitetura de Computadores 32 Relés n n n Quatro relés estão disponíveis para aplicações do usuário. É possível ter acesso aos terminais Com (comum), NA (normalmente aberto) e NF (normalmente fechado). Os relés tem capacidade de acionar cargas de até 10A, com tensão máxima de até 250V. Laboratório de Arquitetura de Computadores 33 Outros Módulos n Outras partes do kit XM118 podem ser consultadas no manual de operação, como: n Lâmpada DC n Resistência para aquecimento n Ventoinha n Sensor de rotação n Potenciômetro n Sensor de temperatura n Interface USART n Interface USB n Gerador de frequência, entre outros. Laboratório de Arquitetura de Computadores 34 Ferramentas de Desenvolvimento Como ferramentas para o desenvolvimento de aplicações para o PIC 18F4550 são usados o simulador Proteus, o ambiente de desenvolvimento MPLAB e um compilador C. n O Proteus é um ótimo software de simulação de circuitos. n Usaremos o MPLAB como meio para gravar o PIC. n Há muitos compiladores C para microcontroladores PIC, como: PCW, C18, MikroC, entre outros. n A Exsto, fabricante do kit XM118, adotou o compilador C18 da Microchip. n Porém, verificou-se que este compilador gera o firmware não muito otimizado (ocupa mais memória no PIC) e o aprendizado da linguagem C é um pouco mais demorado. n Laboratório de Arquitetura de Computadores 35 Ferramentas de Desenvolvimento n n n n n Por este motivo, o compilador C a ser usado no laboratório é o MikroC da Mikroeletrônica. O MikroC é um dos compiladores mais adotados para a programação de microcontroladores PIC. Isso se deve ao fato dele gerar um firmware menor, ocupando menos espaço de memória no PIC. E outra vantagem do MikroC é sua total compatibilidade com o C padrão ANSI e a facilidade de programar em sua linguagem C, com uma curva de aprendizado mais curta. Ao programar em C, recomenda-se consultar o datasheet do PIC 18F4550, assim como o help do compilador. Laboratório de Arquitetura de Computadores 36 Compilador MikroC Laboratório de Arquitetura de Computadores 37 Exemplo de um programa C n n Segue abaixo um programa para fazer piscar o led conectado ao pino D0 do PIC 18F4550 no kit. Isso equivale a um “hello world” quando se está aprendendo a programar em C. void main(){ // pisca o led a uma frequência de 1 Hz TrisD = 0x00; // configura toda a porta D como saída PortD = 0x00; // atribui nível baixo a todos os pinos em D while(1){ // laço infinito RD0_bit = 0; // nível baixo em D0 (apaga led) delay_ms(500); // atraso de 500ms (0,5s) RD0_bit = 1; // nível alto em D0 (acende led) delay_ms(500); } } Laboratório de Arquitetura de Computadores 38 Exemplo de um programa C n Programa equivalente ao anterior. #define Led RD0_bit // macro Led associado ao pino D0 void main(){ // pisca o led a uma frequência de 1 Hz TrisD = 0x00; // configura toda a porta D como saída PortD = 0x00; // atribui nível baixo a todos os pinos em D while(1){ // laço infinito Led = ~Led; // inverte o nível lógico do pino D0 delay_ms(500); // atraso de 500ms (0,5s) } } Laboratório de Arquitetura de Computadores 39