+1 500 000 produtos na nossa oferta

7000 encomendas enviadas diariamente

+300 000 clientes de 150 países

QuickBuy Favoritos
Carrinho

Microcontroladores PIC16 com funcionalidade FPGA

Data de publicação: 02-07-2024 🕒 8 min de leitura

A nova família de microcontroladores PIC16F131xx da Microchip é uma medida que responde à constante evolução e miniaturização dos dispositivos eletrónicos. A sua funcionalidade permite-lhe gerir a energia de forma económica e criar controladores com tempos de resposta estáveis.

Um dos principais requisitos dos projetistas de sistemas incorporados modernos (isto é: embedded) é obter um comportamento previsível do circuito ao longo do tempo. Na prática, trata-se de reduzir o tempo de resposta a alterações nos processos geridos: é a resposta imediata às entradas dos sensores, das portas de comunicação ou da interface do utilizador. Este resultado pode ser obtido através do aumento da capacidade de computação dos sistemas, mas trata-se de um método não otimizado porque conduz a um desperdício de grandes quantidades de energia. Para evitar a gestão programática dos processos centrais, Microchip utiliza nos seus microcontroladores periféricos que funcionam independentemente do núcleo (Core Independent Peripherals) Uma novidade desta tecnologia é o sistema de portas lógicas programáveis (Configurable Logic Block), que foi integrado na nova família de microcontroladores de 8-bit do fabricante, os chips PIC16F131xx.

Microcontroladores PIC16F131xx

Neste artigo, abordamos temas como:

Parâmetros e periféricos

A parte seguinte do teste aborda as soluções CIP e CLB e a forma como estas lhe permitem conservar a potência de cálculo dos sistemas para a gestão das aplicações, ao mesmo tempo que se ocupam de tarefas mais simples (acionamento de botões, alguns ecrãs, conversão de valores recebidos). de transdutores). No entanto, antes de mais, vale a pena dar uma vista de olhos às especificações e estrutura dos microcontroladores PIC16F131xx.

Os sistemas em análise baseiam-se na clássica arquitetura Harvard de 8 bits. Estão disponíveis nos formatos THT (furo passante) e SMD (montagem em superfície), em invólucros DIP, DFN, SSOP, TSSOP, SOIC e VQFN e oferecem 6, 12 ou 18 pinos de entrada/saída. Uma das principais vantagens dos sistemas é uma vasta amplitude de tensões de alimentação aceitáveis: de 1,8 V a 5,5 V CC. O relógio é sincronizado utilizando um sinal com uma frequência de 32 MHz e o tempo mínimo de execução de instruções é de 125 ns. Os sistemas incluem 256B a 1024B de memória operacional SRAM e até 14kB de memória de programa (FLASH).

Os projetistas têm à sua disposição uma vasta seleção de periféricos de hardware, tais como geradores de sinais PWM, contadores/temporizadores de 8 e 16 bits, controlador de bus série EUSART, porta MSSP (porta série síncrona do anfitrião) que pode funcionar em suporte de interface I2C ou SPI, comparadores configuráveis com tempo de resposta reduzido (50 ns), conversor analógico-digital (DAC) de 8-bit e conversor analógico-digital (DAC) com capacidade de cálculo, comparadores configuráveis com tempo de resposta reduzido (50 ns), conversor analógico-digital (DAC) de 8 bits e conversor analógico-digital (DAC) com capacidade de cálculo (ADCC) de 10-bit, ou seja, hardware que processa os valores descarregados. Neste ponto, deve ser dada atenção aos periféricos CIP incluídos nos sistemas apresentados.

Core Independent Peripherals

Os periféricos independentes do núcleo, do Inglês, os CIP Core Indpendent Peripherals) estão desde há muito incluídos nos produtos Microchip, tanto na família PIC® como na família AVR®. Permitem que determinadas tarefas (por exemplo, comunicação com sensores) sejam executadas em segundo plano, sem utilizar o potencial de processamento do processador, que está totalmente disponível para a execução do programa principal, conduzindo a um consumo de energia reduzido e à simplificação do processo de programação atual. Os periféricos dedicados podem ser utilizados para tratar a transmissão de dados (I2C, CAN, USB), medir o tempo (temporizadores), gerar sinais PWM ou trabalhar com sinais analógicos (ADC, OP-AMP, DAC).

Explore the PIC16F13145 MCU Family - A Quick Overview

Periféricos CLB

A inovação mais significativa introduzida nos microcontroladores PIC16F131xx é a inclusão de elementos lógicos independentes e configuráveis na sua estrutura (devido ao seu funcionamento, este sistema é classificado como um periférico CIP). Esta tecnologia é abreviada como CLB cujo significado é Configurable Logic Block. O seu objetivo é garantir a segurança funcional e o tempo de resposta imediato. O CLB baseia-se em estruturas conhecidas dos sistemas FPGA, ou seja, oferece o tempo de processamento de sinais de entrada mais curto possível. O CLB funciona com portas lógicas básicas que podem ser livremente configuradas pelo projetista para responder às necessidades de uma aplicação específica. Além do mais, este sistema permite-lhe miniaturar os dispositivos alvo, excluindo componentes externos e reduzindo as dimensões da placa de circuito impresso. Uma vantagem significativa do CLB é a capacidade de determinar com precisão o tempo em que as tarefas serão concluídas. Isto porque, embora estas tarefas assumam a forma de procedimentos relativamente complexos, serão sempre implementadas em hardware.

Tipos de portas lógicas disponíveis

Nos microcontroladores PIC16F131xx, a estrutura CLB consiste em componentes discretos que formam 32 células idênticas, cada uma das quais constitui o chamado elemento lógico básico (abreviado do Inglês como BLE: Basic Logic Element). Todos são sincronizados com a extremidade ascendente do sinal CLBCLK. Consoante as necessidades, a célula simula um circuito lógico especificado na fase de programação. Pode ser:

  • porta AND (máx. 4 saídas);
  • porta NAND (2 entradas);
  • porta OR (máx. 4 saídas);
  • porta NOR (2 entradas);
  • porta XOR (máx. 4 saídas);
  • porta XNOR (2 entradas);
  • negator ou buffer (1 entrada y saída);
  • flip-flop D ou JK;
  • LUT configurável (Lookup Table, para 4 entradas).

É importante salientar que o utilizador tem à sua disposição uma grande variedade de sinais de entrada e saída. Os valores de condicionamento podem vir de um registo de 32 bits disponível no programa, representar o estado nas linhas I/O do microcontrolador e também vir de um gerador PWM, de um temporizador/contador ou mesmo de um buffer de bus SPI. O mesmo se aplica aos pinos de porta configurados, que podem ser ligados ao transdutor, ao temporizador e às linhas (pinos) de saída física do sistema na fase de programação. Opcional: cada um dos 4 grupos de células pode gerar uma interrupção suportada pelo programa. De referir ainda que as saídas das células BLE são de 3 estados. Configurações de células disponíveis da estrutura CLB.

Em resumo: o projetista recebe uma estrutura totalmente configurável semelhante à FPGA implementada num microcontrolador moderno de 8 bits. São fornecidos 102 bytes de memória interna para armazenar as configurações. Portanto, a questão mantém-se: como é que a configuração é feita?

Configuração e programação

A configuração de FPGA é muitas vezes considerada uma especialização rigorosa que requer conhecimentos aprofundados. As ferramentas para trabalhar com os produtos PIC16F131xx foram preparadas para tornar a sua utilização tão fácil quanto possível. Mesmo os programadores não avançados podem aprender o básico num curto espaço de tempo e alcançar os resultados desejados.

Em primeiro lugar, o processo de configuração do CLB é efetuado através de um software dedicado denominado CLB Synthetizer, que é baseado numa interface gráfica. A sua utilização é equivalente à preparação de um diagrama de blocos, graças ao qual o programa permanece legível mesmo para pessoas que não estão familiarizadas com toda a funcionalidade do ambiente.

O programa está disponível na forma de complemento (plug-in) para o IDE proprietário da Microchip, ou seja, MPLAB® X. Pode também utilizar a ferramenta num browser normal, uma vez que está disponível como aplicação web. O resultado do trabalho no CLB Synthetizer é um ficheiro de configuração, que depois tem de ser importado para o projeto, ou um ficheiro fonte na linguagem VERILOG (extensão .clb).

Exemplo de configuração utilizando o ambiente do CLB Synthetizer.

O diagrama é construído arrastando blocos lógicos e conectando-os uns aos outros e a linhas de entrada/saída predefinidas. O trabalho no MPLAB® pode ser descrito em sete passos:

  1. Configuração dos sinais de sincronização (relógio).
  2. Configuração dos blocos digitais como UART, I2C, TMR e outros.
  3. Adição de periféricos analógicos como ADCC, DAC.
  4. Adição de um periférico CLB ao projeto, criando um diagrama de blocos com os componentes das células BLE e definindo as ligações entre eles e os sinais de entrada.
  5. Realizar a síntese (criar um ficheiro de configuração).
  6. Finalmente, deve definir e atribuir funcionalidades às entradas/saídas do microcontrolador utilizadas no projeto.
  7. Finalmente, o código Melody é gerado.

É de salientar que, para fins pedagógicos, a Microchip preparou uma série de exemplos práticos da utilização do CLB para implementar várias tarefas. Estes incluem:

  • suporte de registo deslizante LEDs WS2812 programáveis;
  • hardware debouncing de sinais provenientes de botões;
  • decodificação/codificação de modulação de Manchester;
  • multiplexagem de um valor de 4-bit em sinais controlando um ecrã de 7 segmentos;
  • processamento de frequência.

O vídeo seguinte mostra uma dessas aplicações, que cria um controlador de ecrã LED de 7 segmentos. É de salientar que o efeito de tal configuração CLB é um programa que funciona de forma completamente independente do núcleo do microcontrolador. Na prática, substituiria um sistema de controlador dedicado, simplificando e reduzindo o circuito do dispositivo concebido, bem como reduzindo a sua necessidade de energia.

Chiptorials - CLB Synthesizer Quick Start Guide – Driving a 7-segment Display

Kit de desenvolvimento Curiosity Nano

A plataforma Curiosity Nano foi criada para fornecer aos clientes da Microchip acesso a kits de desenvolvimento que apresentam as capacidades dos mais recentes microcontroladores do fabricante. As placas são fornecidas num formato conveniente: com debbugger, programador e acesso aos pinos do microcontrolador integrados. Isto torna-as numa excelente ferramenta educativa e de formação. Naturalmente, foi também desenvolvida uma placa Curiosity Nano especial para a família PIC16F131xx.

Utilizando conectores de pinos, a placa pode ser ligada ao circuito do protótipo.

O modelo EV06M52A é um kit de desenvolvimento equipado com um microcontrolador PIC16F13145. O circuito inclui um conetor USB C para alimentação e programação. A tensão fornecida ao microcontrolador provém do estabilizador LDO MIC5353. Opcionalmente, pode ser colocado no circuito um ressonador de quartzo para o RTC clock (32,768kHz). O estado da alimentação e da programação é indicado por um LED verde. Outro LED amarelo está ligado a uma das saídas do microcontrolador e pode ser acionado pelo microcontrolador. Existe também um botão na placa.

Disposição dos componentes e descrição dos pinos da placa EV06M52A.

Adaptadores

A funcionalidade do kit de desenvolvimento pode ser alargada utilizando adaptadores dedicados para as placas Curiosity Nano.

Adaptador AC164162

Os produtos acima possuem um conetor de pino universal (fêmea) para a montagem da placa Curiosity Nano. No caso do AC164162, o circuito está equipado com vários elementos interessantes, como 3 conectores compatíveis com a norma mikroBUS™ utilizada nos módulos Mikroe Click. Vale a pena referir aqui que no catálogo da TME existem mais de mil modelos diferentes deste tipo de placas disponíveis . Existe também um conector de expansão Xplained Pro na PCB. Além do mais, tudo pode funcionar com baterias, uma vez que o adaptador tem um sistema integrado de carregamento e gestão de energia compatível com baterias de iões de lítio e de polímeros de lítio.

Kit de desenvolvimento EV06M52A

Descarregar
Se desejar utilizar o artigo, por favor mencione a TME como fonte e adicione uma ligação ao texto original quando o publicar online.

rightColumnPicture rightColumnPicture

CONSULTE TAMBÉM