Muito se tem falado sobre essa família de microcontroladores, que revolucionou o mercado de componentes famosos pelo seu alto desempenho, baixo custo e facilidades de desenvolvimento de projetos e produção principalmente viabilizando pequenas quantidades. Este artigo, o primeiro de uma série, tem como finalidade apresentar ao leitor essa família de microcontroladores.

Nota: este artigo é de 1996, época em que os microcontroladores PIC estavam sendo lançados. Vale como informação histórica e também sobre os fundamentos sobre estes componentes.

 

Microcontroladores

Diferentes dos processadores utilizados em aplicações como computadores pessoais e workstations (estações de trabalho), os microcontroladores estão “escondidos" dentro de uma aplicação onde o usuário está concentrado em um nível mais alto de interação com o produto (como teclados, displays e seus comandos). É muito raro um usuário conhecer (ou querer conhecer) o microcontrolador utilizado dentro do produto.

O que não ocorre com os usuários de PC, que estão intimamente familiarizados não somente com o tipo de processador, mas também com o seu clock, capacidade de memória, DMA, etc.

Tipicamente os microcontroladores se caracterizam por incorporarem internamente memórias de programa e dados, vários periféricos como timers, watch dog timers, comunicação serial, conversores Analógico/Digitais, geradores de PWM, etc. Fazendo com que a aplicação final fique extremamente compacta.

 

Família de microcontroladores da Microchip

A Microchip Technology Inc. sediada em Chandler no Arizona USA, comercializa acima de 100 milhões de unidades de microcontroladores por ano. Sendo muito utilizados em produtos de consumo, periféricos de computadores automação industrial/residencial/comercial, sistemas de controle automotivo, sistemas de segurança e telecomunicações onde o custo final desses produtos é fundamental para o sucesso do mesmo.

O grande destaque dos Microcontroladores é deles serem “Field Programmable” (programável no campo e da utilização da tecnologia RISC.

A facilidade de ser programável devido à utilização de Tecnologia EPROM-CMOS em conjunto com encapsulamentos OTP (“One Time Programmable" - programáveis uma vez somente) fez desses microcontroladores um grande sucesso.

Também pela facilidade de desenvolvimento e a rápida colocação do produto no mercado, viabilizando inclusive pequenas quantidades e correções ou alterações no decorrer da vida do produto.

Essas características anteriormente não eram encontradas em soluções de baixo custo, onde os microcontroladores tinham que ser “mascarados” (programados no processo de fabricação do Chip) em quantidades superiores a 10.000 unidades. Para o desenvolvimento do produto utiliza-se um microcontrolador com encapsulamento cerâmico com janela (igual às das EPROMS) onde o programa pode ser apagado utilizando luz ultravioleta a fim de propiciar a reutilização do microcontrolador.

A Microchip é uma precursora no uso de tecnologia RISC em microcontroladores, o nome RISC é a abreviação de Reduced lnstruction Set Computer traduzindo fica Computador com Set Reduzido de Código de Instruções.

Diferente da arquitetura Von Neumann (a mais utilizada) a estrutura RISC é baseada na arquitetura HARVARD que possui um bus para dados e outro para programa que tem como característica tamanhos diferenciados (por ex. no PlC16C5X o bus de dados e' de 8 bits enquanto o de programa é de 12 bits), 0 que significa que uma instrução está “empacotada" em uma única palavra de programa (no caso do PIC16€5X ela é de 12 bits) que além de conter o opcode (instrução), contém os operandos (dados para execução da instrução). Com isso conseguimos compactar o código e executá-Io em alta velocidade.

 


 

 

Os microcontroladores da Microchip se dividem em 3 famílias:

PIC16C5X -Família Básica (8-bit).

PIC1GCXX -Família intermediária (8-bit).

PIC17CXX - Família de Alta Performance (8-bit).

OBS: PIC significa Programmable Integrated Circuit, traduzindo “Circuito lntegrado Programável”.

Todas as Famílias oferecem opções de OTP e janelados (para desenvolvimento), baixa tensão e consumo assim como várias opções de dimensionamentos de encapsulamentos.

Alguns componentes estão disponíveis em ROM (mascarados) e EEPROM (regraváveis).

 


 

 

 


 

 

 

PIC16C5X - Família Básica

Ela oferece a melhor solução custo-eficiência. Seus componentes com encapsulamento nas opções SOIC e SSOP a fazem extremamente compactos e com operação abaixo de 2.0 V, faz dessa família ideal para aplicações portáteis.

 

PlC1GCXX - Família Intermediária

Essa família oferece o maior número de opções de periféricos, mantendo ainda uma boa solução custo eficiência.

 

PlC17CXX - Família de Alta Performance

Essa Família é a topo de linha (atualmente) e oferece os microcontroladores de 8 bits mais rápidos do mercado onde uma instrução é executada em 160 nano segundos com clock de 25 MHz. Além de oferecer uma vasta gama de periféricos.

 


 

 

 

PIC16C5X

Baseado em tecnologia EPROM-CMOS que utiliza uma estrutura RISC de somente 33 instruções de palavras únicas.

Todas instruções são executadas em ciclo único de 200 nanos segundos (clock de 20 MHz) exceto as instruções desvio (ex: GOTO) que utilizam dois ciclos.

Com palavras de instrução com largura de 12 bits resulta em código compacto de pelo menos 2:1 se comparado com outros microcontroladores, ou seja, um programa de 512 bytes no PIC16C54A corresponde a aproximadamente 1024 bytes em um microcontrolador 8051/31.

A Família PIC1605X possui as seguintes características:

RESET POR (Power On Reset). Reset interno que elimina & necessidade de reset externo.

CLOCK. Com quatro tipos de configurações programáveis:

1 - Oscilador RC

    Resistor/Capacitor

 

2 – Oscilador LP

     Low Power (baixo consumo)

 

3- Oscilador XT

     Cristal

 

4 – Oscilador HS

Cristal de alta velocidade (High Speed)

 

WATCH DOG TIMER (Relógio Cão de Guarda)

 

Implementando internamente e independentemente do circuito de clock do microcontrolador que gera um RESET no microprocessador caso o programa que esteja sendo executado não inicialize de tempos em tempos o Watch dog timer.

 


 

 

 

PROTEÇÃO DO CÓDIGO.

Possui um fusível programável que uma vez gravado protege a leitura do programa, protegendo assim o programa de eventuais cópias não autorizadas.

 

SLEEP MODE.

Nesse modo SLEEP (dormir) o microprocessador paralisa o clock e reduz o consumo para aproximadamente 20 microampères.

 

12 ou 20 I/Os.

Que são programáveis e podem acionar cargas de até 25 mil ampères.

 

TIMER/COUNTER.

Interno de 8 bits com pré-escala de 8 bits (não possui interrupção).

 


 

 

 

 

PIC16C5X – Arquitetura.

Na figura da arquitetura o leitor pode observar claramente a divisão dos Bus de dados e Bus do programa que estão separados pelo Box do Program Counter.

O leitor observa também que não existe uma estrutura de bus externo que não deixa a possibilidade de acessar periféricos e memórias externas do modo convencional como na família MCS-51 da Intel.

Para esse tipo de acesso, é recomendada a utilização de dispositivos com comunicação serial em vez da paralela.

 

SET de Instruções

Na tabela "SET de instruções" podemos observar um resumo das 33 instruções.

 

Aplicações

Os componentes PIC16C5X são perfeitos em aplicações de controles de velocidade automotivo, controles remotos (transmissores/receptores) de baixo consumo. Com a utilização de tecnologia EPROM-CMOS permite a customização do programa (código de transmissão, velocidade do motor, frequência. etc.) Devido ao custo reduzido e à alta performance eles estão sendo utilizados em áreas que não eram consideradas antes, como por exemplo temporizadores, substituição de lógica em circuitos complexos, aplicações de coprocessamento, etc. Vale salientar também que um PIC16056 é o coração do BASIC Stamp, um produto fabricado pela PABALLAX que utiliza um microcontrolador da MICROCHIP, portanto o leitor não deve confundir BASIC Stamp com PIC. O BASIC Stamp é programável através da porta paralela do PC, utilizando a linguagem BASIC enquanto o PIC usa linguagem ASSEMBLEB e necessita de um programador. Todas as aplicações feitas com o BASIC Stamp podem ser feitas utilizando o PIC o que significa que se o leitor desenvolver um produto com o BASIC Stamp poderá produzi-lo utilizando o PIC.

 

 

Arquitetura do PIC16CXX e PIC17CXX

Essas Famílias estão baseadas na arquitetura da família PIC 16C5X com implementações.

 


 

 

 

 

 


 

 

 


 

 

 

Em outros artigos teremos oportunidade de discutir essas implementações detalhadamente.

 


 

 

 

Sistemas de desenvolvimento para a Família PIC16C5X e PIC16CXX

A Microchip disponibiliza programadores e emuladores, dando ênfase ao PICStart e PICStart Lite que são pacotes de desenvolvimento de baixo custo que incluem tudo o que o usuário necessita para iniciar com o PIC.

A diferença entre os dois está em que o PICStart Lite não contém fonte e a documentação está em disquete. Uma alternativa muito interessante é o Sistema de desenvolvimento “PIC16CXX Programmer Hobbyist Pack” da Parallax.

Com esse programador o leitor poderá fazer tudo o que o gravador do PICStart faz, mas com a vantagem de poder gravar um PIC16C58 com programas escritos em PBASIC, o BASIC do BASIC Stamp a um custo menor.

Nas próximas edições exploraremos com maiores detalhes este assunto, mas caso o leitor queira, poderá fazer um Download, o PROGR.TXT na Biblioteca de arquivos do BASIC Stamp da BBS PLANET House.

Esse programador aceita acessórios para outros tipos de encapsulamentos e para os PIC16C64/74.

O PIC16CXX Programmer Hobbyist Pack é Distribuído no Brasil pela GENERAL SOFT e comercializado pela SABER Publicidade.

Outra característica do Produto da Parallax é que o Assemblador e Simulador, além de utilizar o Set de Instruções da família MCS-51 (805/31), podendo ser muito útil ao leitor que estiver familiarizado com a lignjuagem do 8051. A tabela abaixo, mostra um resumo das características de cada programador descrito acima. Vale salientar que existem muitos outros programadores universais do tipo que gravam Eproms, PALs, GALs e várias famílias de microcontroladores que aceitam a gravação dos microcontroladores da Microchip.

OBS: ZIF é a abreviação de Zero Insert Force, traduzindo Força de Inserção Zero, é um tipo de conexão onde a força para a colocação do componente ou conector é muito pequena. Ideal para ambientes onde a retirada e colocação dos componentes ou conectores é muito frequente ou aonde a quantidade de pinos do componente ou conector é muito grande; como exemplo podemos citar o soquete do Processador de um PC que utiliza um 486 ou Pentium.

 


 

 

 

CONCLUSÃO

Como o leitor pode observar, cada vez mais estão sendo disponibilizados componentes sofisticados a um custo baixo tanto para produção como para desenvolvimento e também sua utilização está ficando cada vez mais fácil e acessível.

Isto é uma tendência mundial e esta série de artigos tem como objetivo levar essas informações ao leitor que tanto poderá aprimorar os seus conhecimentos como ganhar dinheiro com a fabricação de produtos. Nas próximas edições iremos fazer uma sequência de artigos sobre o PIC, é importante que o leitor participe desse processo enviando sugestões, opiniões e críticas, pois assim conseguiremos aprimorar.

Nesta mesma série o leitor tem disponível um artigo que mostra uma aplicação muito simples que tem como objetivo mostrar os passos de como fazer um projeto utilizando uma PIC16C54A