A frequência de um MCU é superior à frequência de um quartzo

8

Como é possível que em um MCU LPC3141, o MCU tenha frequência 270MHz enquanto o cristal de quartzo de 12MHz é usado no oscilador (dentro da unidade de geração de clock)? Não faz sentido para mim ...

Alguém poderia explicar.

71GA
fonte

Respostas:

11

Isso é muito comum para processadores por vários motivos. Primeiro, o relógio tende a ser o sinal de frequência mais alta em um sistema; portanto, o uso de um oscilador de frequência mais baixa reduzirá a interferência de RF irradiada. Segundo, gerar a freqüência real do clock do núcleo no chip significa que a velocidade do clock pode ser configurável. Reduzir a velocidade do clock no CMOS economiza energia; assim, dando à CPU a capacidade de controlar sua própria taxa de clock, o software pode escalar a velocidade da CPU conforme necessário para reduzir o consumo de energia. Isso também é feito no seu computador desktop ou laptop - o núcleo é executado em 2 a 3 GHz, mas nada na placa-mãe é executado tão rápido assim, exceto os barramentos seriais (SATA, PCIe e USB 3).

Essa geração de relógio é feita com um dispositivo chamado PLL (Phase Locked Loop). A maioria dos PLLs contém um oscilador controlado por tensão (VCO), um a três divisores, um comparador de fases e um filtro. A idéia básica é bloquear a saída do VCO em um múltiplo inteiro da frequência do relógio de referência. A parte principal do PLL gera a tensão do inversor para o VCO. Isso é feito dividindo a saída do VCO e realizando uma comparação de fases com o relógio de referência. Se a fase estiver adiantada ou atrasada, é produzida uma tensão de erro positiva ou negativa. Essa tensão é então integrada no filtro de loop e depois passada para a entrada do VCO. Se a fase estiver iniciando, a tensão de controle do VCO será reduzida e a frequência do VCO diminuirá. Se a fase estiver atrasada, a tensão de controle do VCO será aumentada e a frequência do VCO aumentará. Eventualmente, a saída VCO dividida e o relógio de referência corresponderão em fase e frequência, e o PLL será bloqueado.

Este método pode gerar apenas múltiplos inteiros da frequência do relógio. Se o oscilador de referência for 12 MHz, uma divisão por 2 no PLL resultará em uma multiplicação por 2 para obter uma frequência de saída de 24 MHz. Uma divisão por 3 produzirá 36 MHz. A divisão por 4 produzirá 48 MHz, etc.

Adicionar outro divisor na entrada ou saída permite a geração fracionária da taxa de clock. A divisão por 2 e a multiplicação por 3 no PLL produziria 18 MHz. A divisão por 2 e a multiplicação por 5 produziriam 30 MHz. A divisão por 2 e a multiplicação por 45 produziriam 270 MHz.

Outra consideração é que a faixa de frequência do VCO geralmente é limitada. Isso pode impedir a geração de frequências que exigem divisores grandes, pois a frequência do VCO seria muito baixa ou muito alta. A adição de outro divisor para que a entrada de referência e a saída PLL possam ser divididas atenua um pouco esse problema, para que o PLL possa gerar uma faixa mais ampla de frequências. Desde que a divisão não seja um número primo, ela pode ser dividida entre os divisores de entrada e saída, para que o VCO esteja trabalhando em sua faixa de frequência operacional.

alex.forencich
fonte
3
A PLL não está restrita a múltiplos inteiros, porque você também pode colocar um divisor na referência. Ou você pode usar um contador de deglutição de pulso.
13Dietrich Epp
1
Sim, eu mencionei isso. Com apenas um divisor, você obtém apenas múltiplos inteiros. Mas se você adicionar mais divisores, poderá gerar taxas de clock fracionárias. Com três divisores, você pode ter certeza de que está trabalhando dentro da faixa do VCO em uma faixa de frequência de saída mais ampla. No entanto, um contador de deglutição de pulso não é uma boa ideia para um relógio, pois aumenta muito o tremor.
22413 alex_forencich
6

Isso é feito com o chamado multiplicador de loop bloqueado de fase, veja também wiki . É executado um pequeno oscilador controlado por tensão (VCO) no microcontrolador, que foi especialmente projetado para funcionar de forma estável em torno da freqüência principal de operação desejada. Essa frequência é então dividida através de uma cascata de chinelos e comparada à frequência do cristal. O erro resultante é retornado ao VCO para corrigi-lo. Quando as duas frequências estão eventualmente em fase, elas são bloqueadas e os relógios do MCU podem ser acionados a partir do VCO.

user36129
fonte
2

Dentro de uma IMU, existem multiplicadores de hardware que multiplicam o clock de entrada de 12MHz para valores mais altos. Isso pode ser alcançado com algo chamado de Loop de bloqueio de fase. Imagine algo como esse chip, o NB3N502 ( folha de dados ) dentro do micro controlador.

Saiba mais sobre PLL e multiplicação de clock no wiki:

Multiplicadores de CPU

Loop de bloqueio de fase

EasyOhm
fonte