Microcontroladores e FPGAs - Martins .1.3 Modos de Reset do PIC 16F628 O microcontrolador PIC dispõe

  • View
    213

  • Download
    0

Embed Size (px)

Text of Microcontroladores e FPGAs - Martins .1.3 Modos de Reset do PIC 16F628 O microcontrolador PIC...

  • Microcontroladores e FPGAs

    Aplicaes em Automao

    Edward David Moreno OrdonezCesar Giacomini Penteado

    Alexandre Csar Rodrigues da Silva

    Novatec Editora

  • 18

    Captulo 1Microcontrolador PIC16F628, da Microchip

    Este captulo apresenta o microcontrolador PIC 16F628, da Microchip, o qual bem-di-fundido, tem baixo custo e bastante empregado em projetos de automao nos mercados brasileiro e mundial. Alm do mais, enfatiza-se um estudo de seus osciladores, modos de reset, interrupes, perifrico CCP (Capture/Compare/PWM) e Timers.

    1.1 Principais Caractersticas do Microcontrolador PIC16F628

    O PIC 16F628 [PIC, 1999] um microcontrolador seguro, tem boa imunidade interferncia eletromagntica e ao rudo na alimentao [CABRAL, 2001], dispe de mecanismos de proteo capazes de ressetar todos os blocos internos, oscilador interno calibrvel por sof-tware, memria de programa FLASH, uma CPU RISC de alta performance e outras valiosas caractersticas que tornaram este chip um sucesso de venda para sistemas embarcados.

    Os barramentos de dados e instrues so implementados individualmente, inte-grando a arquitetura Harvard [PATTERSON, 1994; HINTZ, 1992], permitem palavras de programa de 14 e de 8 bits de dados. Sua CPU possui dois estgios de pipeline e contm somente 35 instrues, as quais, em sua maioria, pode ser executada em um nico ciclo (at 200ns em 20Mhz), com exceo das instrues de desvios (branchs), que precisam de dois ciclos para completar. Apresenta tambm capacidade de interrupo, 16 regis-tradores especiais para controle do hardware interno, oito nveis de pilha e modos de endereamento direto, indireto e relativo.

    Um diagrama de blocos que representa a arquitetura interna do PIC 16F62X pode ser visualizado na Figura 1.1, a qual apenas representa a estrutura de ligao entre os vrios registradores e os blocos internos, pois, importante destacar, que, na realidade, alguns deles no so implementados fisicamente: so endereos ou conjuntos de endereos da memria RAM interna.

  • 19Captulo 1 Microcontrolador PIC16F628, da Microchip

    O registrador FSR (File Select Register) utilizado para o endereamento indireto da memria de programa; o registrador de STATUS, que armazena estado aritmtico da ULA, o estado do reset e o banco de memria RAM selecionado; a pilha de oito nveis (oito registradores agrupados, visualizados e acessados como uma pilha) e o prprio PC (Program Counter) so endereos especficos nesta memria RAM.

    Figura 1.1 Arquitetura interna do microcontrolador PIC 16F628 [PIC, 1999].

    Dois outros mdulos importantes so as memrias FLASH e EEPROM. A primeira destina-se a armazenar o cdigo-fonte do programa a ser executado. J a segunda, objetiva armazenar variveis definidas pelo programador para o controle e o restabelecimento do programa, caso ocorra falta de energia eltrica. As duas memrias so no-volteis, ou seja, no perdem seus dados na falta de energia externa. No PIC 16F628, possvel atualizar (regravar) os dados da memria FLASH em at 1.000 vezes, permitindo que o programador realize at 1.000 correes no programa principal. Ao centro da Figura 1.1, esto represen-tados todos os perifricos responsveis por inicializar corretamente o chip, monitorar sua alimentao e a correta execuo do programa-fonte. Tambm possvel visualizar o importante mdulo gerador de Timing e as portas de E/S, PORTA e PORTB.

  • 20 Microcontroladores e FPGAs

    Na parte inferior da mesma figura, encontram-se os perifricos que caracterizam o PIC: o comparador analgico, os trs Timers, o mdulo CCP (Capture/Compare/PWM) e a USART.

    O mdulo Instruction Decode & Control e o ULA so componentes presentes em qualquer microcontrolador. Todos esses registradores e mdulos, bem como suas prin-cipais funes, sero comentados a seguir.

    1.1.1 Principais Caractersticas dos Perifricos do PIC 16F628

    As caractersticas mais importantes que o PIC 16F628 possui so:

    Arquitetura Harvard que prov dois barramentos separados: um, de 14 bits para instrues de programa, e outro de 8 bits para manipulao de dados.

    Quinze (15) pinos de E/S com controle individual de direo.

    Um mdulo com dois comparadores analgicos, um mdulo programvel de referncia de voltagem interna (VreF), entrada programvel entre as portas do dispositivo e uma voltagem de referncia interna, acesso externo sada do com-parador; dois Timers/contadores de 8 bits cada com prescaler programvel; um Timer/contador de 8 bits com registrador de perodo, prescaler e postscaler.

    Um mdulo, chamado de CCP (Capture/Compare/PWM), capaz de executar trs funcionalidades, no simultneas, que so:

    captura do perodo de transio entre estados de um nico pino, com 16 bits e resoluo mxima de 12,5 ns;

    comparao entre o perodo de transio entre estados de um nico pino e uma constante de 16 bits, previamente estabelecida;

    produo de um pulso de PWM (Pulse Wide Modulation), com 10 bits de re-soluo.

    Um mdulo de recepo/transmisso sncrona/assncrona universal (USART/SCI).

    Quatro opes de oscilador : XT, HS, LP e interno.

    Programao serial in-circuit via dois pinos.

    Memria FLASH de 2048 x 14.

    Memria RAM de 224 x 8 e

    Memria EEPROM de 128 x 8.

  • 21Captulo 1 Microcontrolador PIC16F628, da Microchip

    Circuitos especiais para lidar com a necessidade de aplicaes de tempo real so conjuntos presentes nos microcontroladores PIC, dispostos parte da CPU. A famlia PIC 16F628 possui caractersticas voltadas a maximizar a confiana do sistema, minimizar custos por meio da eliminao de componentes externos, prover economia de energia e oferecer proteo de cdigo.

    Estas caractersticas ou circuitos so:

    1. Seleo de oscilador (OSC selection).

    2. Vrias fontes e opes de reset POR (Power-on Reset), PWRT (Power-up Timer), OST (Oscillator Start-Up Timer), BOD (Brown-out Reset).

    3. Dez fontes de interrupes.

    4. WDT (Watchdog Timer).

    5. SLEEP.

    6. CCP.

    7. Timers.

    Nas prximas sees, ser apresentada uma maior descrio de algumas destas unidades.

    1.2 Seleo de Osciladores do PIC 16F628

    O PIC 16F628 pode operar em oito diferentes opes de oscilador. O programador pode configurar trs bits, a fim de selecionar um dentre esses oito modos, que podem ser LP (Low Power Crystal), XT (Crystal/Resonator), HS (High Speed Crystal/Resonator), dois modos ER (External Resistor), dois modos INTRC (Internal Resistor/Capacitor) e EC (External Clock In).

    Nos modos XT, LP ou HS, um cristal ou um ressonador cermico conectado aos pinos OSC1 e OSC2 para estabelecer a oscilao. Nesses pinos tambm possvel que o dispositivo receba um clock externo diretamente no pino OSC1. A Figura 1.2 mostra como controlar a freqncia de oscilao do microcontrolador.

    (A) OSC Modo LP, XP ou HS (B) OSC Modo com resistor

    Figura 1.2 Modos de controle de freqncia de oscilao no PIC16F628.

  • 22 Microcontroladores e FPGAs

    A Figura 1.2 ilustra, em (A), os componentes externos necessrios para controlar a freqncia nos modos LP, XP ou HS e em (B), o modulo ER, com um resistor conectado ao PIC.

    O modo de clock ER com resistor externo recomendado para aplicaes no-sen-sveis temporizao e oferece economia adicional de custo. Somente um componente externo, um resistor ligado ao Vss, necessrio para fixar a freqncia do oscilador interno. O resistor controla a freqncia de oscilao de acordo com a corrente DC que flui por intermdio do mesmo. Alm do valor da resistncia imposta pelo resistor, a freqncia final obtida ir variar de um dispositivo para outro (cada PIC tem um comportamento ligeiramente diferente em relao a um mesmo valor de resistor), em funo da tenso de alimentao e da temperatura.

    Para valores de resistncia abaixo de 38K, o oscilador pode se tornar instvel ou parar completamente. J para valores acima de 1M, o oscilador torna-se sensvel ao rudo e umidade. Ento, para o uso de ER, recomenda-se para o resistor valores entre 38K para a mnima oscilao, 10kHz, at 1M para a mxima oscilao, 8MHz, ressaltando que a aplicao no deve ser sensvel temporizao.

    O modo ER possui duas opes que controlam o pino no utilizado OSC2: a primeira permite que esse pino seja usado como uma porta normal de E/S, enquanto a segunda configura o pino como sada de clock interno (valor dividido por 4), para fins de teste ou de sincronizao com outros dispositivos.

    No modo INTRC, um oscilador interno prov uma freqncia de operao nominal de 4MHz (com alimentao em 5V e temperatura de 25C). Este modo de clock exce-lente, pois dispensa componentes externos, libera os pinos de clock para serem utilizados como E/S normal e oferece tima estabilidade de freqncia de operao. Neste modo, possvel calibrar via software uma pequena variao na freqncia obtida, a qual poder estar entre 3.65 e 4.28 MHz.

    Existe ainda uma ltima configurao do oscilador interno, que capaz de prover uma sada de clock de forma similar configurao ER: o pino OSC2. utilizado para sada de uma freqncia quatro vezes menor que o clock interno (no caso, de 4MHz), para simples aferio do valor ou para propsito de sincronismo com outros dispositivos.

    1.3 Modos de Reset do PIC 16F628

    O microcontrolador PIC dispe de quatro fontes de reset, as quais sero descritas a seguir. Um reset uma ao em que o sistema inicializado e os registradores importantes so levados a valores conhecidos, de forma que o processamento comece ou recomece de forma confivel. Alguns registradores no so afetados por qualquer condio de reset; seus estados tambm no so afetados na inicializao e em qualquer outra forma de reset: so registradores que determinam a natureza de um reset.

  • 23Captulo 1 Microcontrolador PIC16F628, da Microchip

    A Figura 1.3 ilustra um diagrama de blocos simplificado do circuito