PICs com Blocos Lógicos CLC e Osciladores Controlados Numericamente

Outro dia estava olhando o site da Microchip e verifiquei que ela lançou alguns modelos de PIC com novos periféricos: CLC e NCO. Estes periféricos me chamaram a atenção e por isso vou comentar um pouco sobre eles.

CLC

O CLC (Configurable Logic Cell ou Célula Lógica Configurável) é um módulo composto por sinais de entrada (pinos, saídas de timers internos, clocks internos, saídas de PWM, saídas de outros CLC, sinais de outros periféricos, etc) que após uma seleção configurada pelo programador, são aplicados a arranjos configuráveis de portas lógicas (AND, NAND, AND-OR, AND-OR inversora, OR-XOR ou OR-XNOR). O sinal de saída pode ainda ser aplicado a alguns blocos lógicos (flip-flop SR, latch D, flip-flop JK ou latch D transparente). Tudo isso pode ser configurado pelo programador e utilizado em conjunto com os demais periféricos.

clc

Os modelos como o PIC16F1509 possuem 4 blocos CLC, é quase como se ter um mini CPLD dentro do microcontrolador!

As aplicações do CLC são diversas: o fabricante disponibiliza algumas notas de aplicação onde demonstra o uso do CLC em conjunto com o NCO para remover glitches de sinais de entrada (AN1451), implementação de PWM de alta resolução (AN1476) e decodificação de sinais codificados utilizando codificação Manchester (AN1470).

NCO

O NCO (Numerically Controlled Oscillator ou Oscilador controlado numericamente) é um circuito que gera sinais de clock com maior precisão do que o obtido pela simples divisão de frequência. Ele consiste num bloco acumulador ao qual se adiciona um valor inteiro configurável a cada ciclo de clock de entrada. O transbordo do acumulador é o sinal de clock de saída do NCO. Esta abordagem faz com que o erro de divisão seja constante para qualquer fator de divisão do sinal de entrada.

Este tipo de oscilador é pode também ser encontrado em outros microcontroladores (como os MSP430, por exemplo).

Para mais detalhes, vale a pena dar uma olhada no datasheet do PIC16F1509!

Leave a Reply