Muitos projetos, que até há poucos anos eram elaborados com base numa grande quantidade de componentes, podem hoje ser elaborados com base em microcontroladores. Os microcontroladores "fazem tudo" pois podem ser programados para isso. Não se discute, portanto, porque os microcontroladores atraem a atenção dos projetistas modernos e mesmo dos mais veteranos. No entanto, para usar os microcontroladores é preciso conhecer alguns "macetes", como o seu funcionamento, a sua forma de programação e os tipos que existem.

Neste artigo, vamos falar de uma das séries mais populares de microcontroladores, os PICs da Microchip (www.microchip.com), num artigo espcialmente dirigido para quem não sabe nada ainda sobre estes componentes e deseja usá-los.

 

 

 

Projetar com microcontroladores é algo que vai além do simples criar um circuito e depois soldar os componentes numa placa de circuito impresso. É preciso saber programar o circuito para que ele faça o que desejamos e, para evidentemente, ter um computador com software (programa) apropriado e uma placa emuladora. A figura 1 mostra como a programação do microcontrolador é feita.

 

Para que o leitor entenda como isso não é consiste num obstáculo vamos analisar tudo por partes.

 

 

O que há num Microcontrolador

Microcontroladores são chips inteligentes que consistem num circuito processador que possui entradas, saídas e uma memória, com uma arquitetura como a mostrada na figura 2.

 

 

O que o circuito do microcontrolador vai apresentar nas saídas depende do tipo de sinal que aplicamos nas entradas e do programa que está gravado na sua memória interior.

Por exemplo, se queremos fazer um circuito sequencial que produza efeitos diferentes, programamos os diversos efeitos e o colocamos na memória. A escolha de ual efeito vai ser ativado depende do sinal que vamos aplicar na entrada. Por exemplo, podemos combinar 4 entradas de modo que, com a combinação dos níveis lógicos tenhamos 16 efeitos diferentes, conforme mostra a figura 3.

 

 

O que diferencia os diversos tipos de microcontroladores é a sua capacidade de memória que pode variar de algumas centenas de bytes a centenas de milhares de bytes, dependendo do que desejamos fazer com eles, a arquitetura e a velocidade e a alimentação.

Assim, não basta fazer o projeto e escolher um microcontrolador qualquer para elaborá-lo: é preciso escolher um microcontrolador que tenha as características exigidas pelo projeto.

A Microchip possui uma linha muito popular de microcontroladores denominada PIC. Os PICs da microchip podem ter as mais diversas "capacidades" de acordo com o projeto que se tem em mente.

 

Arquitetura

Os diversos circuitos qur formam um microcontrolador são organizados de formas bem determinadas e existem variações para isso. A forma como os diversos circuitos são interligados e ocorre seu funcionamento é chamada de "arquitetura" do microcontrolador.

A Microchip que fabrica a série de microcontroladores PIC usa dois tipos principais de arquitetura nos seus chips: RISC e Harvard.

RISC significa Reduced Instruction Set Computer (Computador Com Conjunto de Instruções Reduzido). Neste tipo de arquitetura, o microcontrolador faz tudo usando poucas instruções básicas que são combinadas de acordo com o que se deseja que ele faça.

O uso de poucas instruções numa arquitetura RISC torna o microcontrolador muito rápido, pois cada uma delas pode ser executada tipicamente em apenas um ciclo do clock.

Em contrapartida a arquitetuira RISC existe a CISC (Complex Instruction Set Computer ou Computador com Conjunto de Instruções Complexo) que usa uma grande quandidade de instruções para operar. Estes computadores são mais poderosos, mas mais lentos por precisarem de vários ciclos de clock para executar algumas instruções.

 

 


 

Instruções e Clock

As instruções são as ordens que o microcontrolador obedece e em sua função faz alguma coisa. O clock é o rítmo de operação do microntrolador. Um oscilador de clock determina a velocidade com que o microcontrolador opera.

 


 

 

O outro tipo de arquitetura usado nos microcontroladores PIC da Microchip é a de Harvard.

Na arquitetura de Harvard, tanto o programa como os dados podem ser armazenados no mesmo espaço da memória, o que facilita a operação dos circuitos de entrada e saída mas usam barramentos diferentes, ou seja, circuitos de entrada e saída separados.

 

 


 

Von Neumman

Os primeiros computadores usavam um tipo de arquitetura chamada Von Neumann, nome  em homangem ao seu criador, um dos pioneiros da construção de computadores. Neste tipo de arquitetura, cada instrução só poderia ser executada depois que a anterior estivesse completada. Os computadores das arquiteturas mais modernas são paralelos, ou seja, duas ou mais instruções podem ser excutadas ao mesmo tempo, se uma não depender da outra.

 


 

 

O PIC básico

Na figura 6 temos o diagrama interno siplificado de um PIC básico como o PIC16C84, que descreveremos em mais detalhes mais adiante.

 

Temos 5 circuitos internos que exercem funções diferentes.

No setor de memória, temos uma parte reservada para o programa (sequência de operações que ele deve realizar) e para os dados (valores numéricos que ele deve usar ao executar o programa e que podem ser modificados constantemente através das entradas). Os timers são usados para determina os tempos de execução dos conjuntos de instruções, por exemplo, por quanto tempo desejamos que um sinal esteja presente numa determinada saída, ou de quanto em quantio tempo devem ser feitas as leituras de sensores ligados nas entradas.

A CPU (Central Processing Unit) é o cérebro do microcontrolador, onde está o "set" (conjunto) de instruções que o microcontrolador reconhece e sabe executar.

O circuito I/O (Input/Output) - entradas e saídas - faz o interfaceamento do microcontrolador com o mundo exterior.

Não incluimos nestes blocos a fonte de alimentação e outros pequenos circuitos de apôio ao funcionamento.

 

 

Como Usar um PIC

Um PIC vem "vazio" de fábrica. Apenas a CPU contém o set de instruções que o tipo escolhido oferece.

Assim, o primeiro passo para se usar um PIC no projeto é saber trabalhar com o set de instruções disponível para elaborar um programa que possa ser usado pelo microcontrolador. Isso significa que o leitor deve conhecer a linguagem de programação usada que normalmente é o C++ e ter um computador com um programador.

Este programador consiste numa placa onde existe um soquete para se encaixar o PIC que vai ser programado e um cabo que é conectado ao computador, conforme mostra a figura 7.

 

O programa consiste, portanto, numa série de instruções que dizem quando e quais entradas devem ter seus níveis lógicos lidos e o que o micriocontrolador deve fazer em função de cada leitura, entregando nas saídas um sinal determinado num certo instante e por um certo intervalo de tempo.

Os programadores ou emuladores de PIC são dispositivos de baixo custo que tanto podem ser montados como adquiridos em casas especializadas.

Um dos programadores mais recomendados para projetos simples que usam PICs com invólucros DIP é o PICStart Plus. este programador é ligado na porta serial do PC onde é rodado o programa no qual o projetista vai riar a aplicação.

 

 

O PIC16C84

Na figura 8 temos um exemplo de PIC bastante popular que é o PIC16C84.

 

 

Este PIC é fornecido em invólucro DIP (Dual In Line Package) com 18 pinos, conforme mostra a mesma figura.

Suas principais características são:

Memória única de 1k x 14 EEPROM para programa

Memória de dados EEPROM de 64 bytes

RAM de uso geral de 36 bytes

A EEPROM pode ser programada serialmente no circuito de aplicação

13 pinos I/O com pinos individuais de sentido

4 fontes internas/externas de interrupção

Contador/timer de 8 bits com prescaler programável

Frequências de operação de DC a 10 MHz

 

Para que o leitor tenha uma idéia do que tudo isso significa, vamos fazer uma breve análise de algumas destas características.

Observamos que este chip tem barramentos separados de dados e programas, indicando que sua arquitetura é da de Harvard. Outro ponto importante a ser notado é que a largura do barramento é de 14 bits.

Observe que este número de bits não é multiplo inteiro do byte, mas isso não influi no que ele pode fazer. Significa apenas que suas instruções possuem 14 bits de tamanho.

Dependendo do tipo, a largura do barramento pode variar. Assim, os da série 16C5X tem 12 bits de largura e os da série 17CXX tem largura de 16 bits para as palavras que determinam o tamanho das instruções.No entanto, todos eles são considerados microcontroladores de 8 bits.

EEPROM significa que esta memória pode ser gravada e apagada eletricamente, ou seja, o mesmo PIC pode ser usado diversas vezes em funções diferentes, bastando mudar seu programa.

Os 13 pinos de I/O (entradas e saídas) são as vias de comunicação deste chip com o mundo exterior. Neste caso, podemos ter 13 circuitos diferentes de controle ou de sensores ou ainda, trabalhar com informações digitalizadas de 13 bits de largura o que leva a uma quantidade muito grande de circuitos que podem ser controlados ou sensoriados externamente.

 

 


 

I/O

Os microcontroladores da série PIC possuem saídas com componentes CMOS o que significa que podem tanto suprir como drenar a mesma corrente de saída, alguma coisa com um limite em torno de 10 mA tipicamente. Isso é diferente dos dispositivos TTL em que se pode drenar mais corrente do que fornecer.

 


 

A frequência de operação numa ampla faixa de valores é interessante pois permite escolher o clock de acordo com a aplicação. Isso significa que podemos controlar os ciclos de operação desde por comandos externos por pulsos de um interruptor ou de um sensor, o que seria uma operação DC até em alta velocidade para a realização de tarefas muito rápidas, como gerar sinais, no limite de 10 MHz.

 

No próximo artigo (PIC-2 – MIC002), iremos um pouco além mostrando como usar um PIC numa aplicação simples. A partir dela o leitor que se interessar pelo assunto já pode pensar em adquirir o seu programador e partir para projetos mais elaborados, muitos dos quais podem ser encontrados em publicações técnicas como a nossa.