Já ouviu falar no microcontrolador PIC? Se já, e teve curiosidade de saber o que é e como funciona, neste artigo, iremos abordar, exatamente, isso.
Dentro do mundo da eletrônica existem diversos meios para manipular e controlar alguma ação por meio da comunicação com componentes. Dessa forma, o tipo de controle que mais vem sendo utilizando em automação ou até mesmo circuitos essenciais tem como principal componente eletrônico o microcontrolador. Existem diversas marcas, modelos e tamanhos deste componente, por isso um artigo é de grande utilidade para nos guiar nesse mar de informação. Para começar, iremos apenas fazer uma introdução ao pic 16f628A, com o intuito de desenvolver seu repertorio técnico e possibilitar a compreensão dos demais modelos.
Diversas marcas e tipos de microcontroladores e placas de desenvolvimento
Como dito anteriormente, iremos falar sobre um microcontrolador especifico: o da empresa microchip. Antes de começar a explicar suas funções e estrutura, falaremos um pouco sobre a origem dele e da empresa responsável pela produção desse componente. “PIC” é a sigla, em inglês, para Programmable Interface Controller, que, em português, significa “Controlador de interface programável”. Já pelo nome conseguimos perceber que esse componente se trata de um meio manipulável de controlar outros objetos eletrônico por uma interface, que iremos abordar em breve. Entretanto, com passar do tempo, tornou-se mais comum se referir ao componente por sua abreviação, “PIC”. A empresa responsável pela criação do PIC foi a Microchip Technology, que, fundada em 1989, é uma das principais empresas norte americanas no ramo de semicondutores. Todos PIC’s são descendentes do pic1650 e possuem uma arquitetura Harvard, que tem como principal característica o acesso à memória de dados de modo separado da memória de programa.
Esquemático da Arquitetura Harvard
Um exemplo bem importante que podemos analisar na figura abaixo, retirada do próprio datasheet do pic16f628A, é como são armazenadas as informações que transferimos para o pic por meio da linguagem de máquina. Elas são enviadas para uma memória tipo flash, que nos possibilita acessar e modificar o que foi armazenado por meio de um programador, além de manter as informações armazenadas até mesmo quando não a energia, o que é fundamental.
Organização de memória do PIC16F628A, de acordo com o datasheet do fabricante
Por fim, a microchip desenvolveu modelos com Memória flash, EEPROM e modelos com processador de 8, 16 e 32bits, que trabalham em velocidades de até 252 MHz. Em 1975, foi iniciada a comercialização deste componente e, em 2013, já foram vendidos mais de doze bilhões de peças individuais. Hoje é um dos principais microcontroladores usado na indústria.
Alguns microcontroladores PIC
O microcontrolador PIC traz tem o papel de ser um componente de controle de projetos, apresentando diversos modelos com memoria, osciladores e quantidade de pinos diferentes. Como a maioria dos microcontroladores, ele possui uma memória programável, na qual pode-se escrever de acordo com seu parâmetro por meio da linguagem C. Seu barramento de I/O o permite receber e enviar sinais digitais e analógicos. Portanto sensores e chaves eletrônicas são as principais ferramentas usadas com o PIC. Por isso, o PIC vem sendo utilizado de modo didático e profissional, em produtos como fonte, inversores, sistemas de IOT e qualquer ocasião que é necessário o controle de sistemas lógicos, sistemas analógicos, PWM, comparadores por meio da linguagem C.
Os microcontroladores PIC com processadores de 8 bits são divididos em famílias de acordo com sua tecnologia de semicondutores, o tamanho, em bits, de suas palavras de instruções e a quantidade destas. A tabela a seguir relaciona cada família com suas características.
Família PIC | Tamanho da Pilha (bytes) | Tamanho da instrução (bit) | Quantidade de instruções | Vetores de Interrupção |
12C/12F | 2 | 12 | 33 | 0 |
16C5/16F5 | 2 | 12 | 33 | 0 |
16C/16F | 8 | 14 | 35 | 1 |
17C | 16 | 16 | 58 | 4 |
18C/18F | 32 | 16 | 75 | 2 |
Fonte: https://www.nbcafe.in/comparison-between-different-pic-families/
Além da divisão em famílias, cada modelo dos microcontroladores apresenta características específicas, como tamanho das memórias, quantidade de pinos, velocidades de clock e variedade de periféricos.
A atual empresa responsável pelo desenvolvimento dos microcontroladores PIC, Microchip Technology, disponibiliza os datasheets referentes a seus componentes gratuitamente em seu site. A leitura destes é imprescindível para o uso adequado do dispositivo, já que cada datasheet detalha as capacidades e limitações do componente ao qual se refere, assim como a forma como se deve configurar e utilizar seus recursos.
O datasheet do PIC utilizado nesta introdução, o 16F628A, pode ser acessado pelo link: https://web.mit.edu/6.115/www/document/16f628.pdf
Na página 2 do documento, são mostrados os diferentes encapsulamentos em que o componente está disponível. Neste tutorial, será tratado acerca especificamente do encapsulamento PDIP, que segue a pinagem mostrada na figura que segue:
Pinagem do encapsulamento PDIP do PIC16F628A
Os recursos do PIC16F628A são citados na página 1 do datasheet. Todos estes são configurados e acessados por meio dos registradores do microcontrolador. A manipulação destes registradores no código pode ser feita diretamente, referindo-se a eles pelo nome definido na biblioteca do componente (cada compilador possui suas próprias bibliotecas para os microcontroladores e, portanto, cada um irá se referir aos registradores por nomes diferentes), ou por meio de funções.
O PIC tratado neste artigo possui 16 pinos I/O que podem ser configurados como entrada ou saída digitais individualmente, dois comparadores analógicos, 3 timers, sendo 2 de 8 bits e 1 de 16 bits, módulos de capture e compare e PWM e comunicação serial. Este microcontrolador não possui conversor analógico-digital, mas pode analisar sinais analógicos por meio de seus comparadores e até mesmo fornecer uma saída analógica quando é configurado para conectar sua tensão de referência interna ao pino 1.
Cada um destes periféricos apresenta diversas aplicações e é digno de um post próprio, já que sua adequada configuração e seu completo entendimento demandam um profundo estudo acerca de seu funcionamento e seus fundamentos.
O pino MCLR, de número 4 no encapsulamento PDIP, tem como função padrão a de reset. A barra vista sobre a sigla no datasheet indica que, quando configurado para esta função, o pino é acionado em nível lógico baixo. Tal ação leva o microcontrolador a ser reiniciado imediatamente, fazendo com que o processador retorne para sua primeira instrução.
À esquerda, o pino de MCLR destacado. À direita, detalhamento do funcionamento do mesmo.
Com as devidas configurações, seja pela manipulação direta dos bits 7 e 5 do registrador CONFIG, por meio de macros ou de funções, o pino pode ser usado como I/O digital ou como ponto de programação a baixa tensão.
O PIC 16f628A possui três tipos de memória, cada uma delas possui uma função específica e espaço de armazenamento diferentes.
A memória ROM possui 3 kbytes e a tecnologia FLASH. Sua função dentro do Microcontrolador PIC é armazenar o conjunto de instruções que transferimos a ela. A memória pode, de acordo com o datasheet, ser submetida a até 100000 escritas.
A memória EEPROM possui uma tecnologia semelhante à anterior, mas com uma capacidade de 128 bytes. Em contrapartida, essa memória suporta certa de 1000000 de escritas.
Já a terceira memória é a tipo RAM. Sendo a de acesso mais rápido pela ALU e armazenando os registradores, não tem um limite de escritas definido, mas supera a ordem de milhões. Não retém as informações ao ser desligada.
Organização interna do microcontrolador.
Concluímos aqui a primeira parte de uma mini série de três posts introdutórios sobre a família de microcontroladores PIC, com ênfase no PIC16F628A. No próximo post da série, falaremos sobre o compilador utilizado para programar estes componentes, o MikroC.
Um forte abraço e até a próxima!
Tenha a Metodologia Eletrogate na sua Escola! Conheça nosso Programa de Robótica Educacional.
|
A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.
Tenha a Metodologia Eletrogate dentro da sua Escola! Conheça nosso Programa de Robótica nas Escolas!