La frecuencia de una MCU es más alta que la de un cuarzo

8

¿Cómo es posible que en una MCU LPC3141 la MCU tenga una frecuencia de 270MHz mientras que el cristal de cuarzo de 12MHz se usa en el oscilador (dentro de la unidad de generación de reloj)? No tiene sentido para mí ...

¿Podría alguien explicar?

    
pregunta 71GA

3 respuestas

11

Esto es muy común para los procesadores por una variedad de razones. Primero, el reloj tiende a ser la señal de frecuencia más alta en un sistema, por lo que usar un oscilador de frecuencia más baja reducirá la interferencia de RF irradiada. En segundo lugar, generar la frecuencia real del reloj en el chip significa que la velocidad del reloj puede ser configurable. Reducir la velocidad del reloj en CMOS ahorra energía, por lo que al otorgarle a la CPU la capacidad de controlar su propia velocidad de reloj, el software puede escalar la velocidad de la CPU según sea necesario para reducir el consumo de energía. Esto también se realiza en su computadora de escritorio o portátil: el núcleo se ejecuta entre 2 y 3 GHz, pero nada en la placa base funciona tan rápido como el bus serie (SATA, PCIe y USB 3).

Esta generación de reloj se realiza con un dispositivo llamado PLL (Phase Locked Loop). La mayoría de los PLL contienen un oscilador controlado por voltaje (VCO), uno a tres divisores, un comparador de fase y un filtro. La idea básica es bloquear la salida del VCO en un múltiplo entero de la frecuencia de reloj de referencia. La parte principal del PLL genera la tensión de la unidad para el VCO. Esto se hace dividiendo la salida del VCO y realizando una comparación de fase con el reloj de referencia. Si la fase avanza o se retrasa, se produce un voltaje de error positivo o negativo. Esta tensión se integra luego en el filtro de bucle y luego se pasa a la entrada del VCO. Si la fase es líder, la tensión de control del VCO se reducirá y la frecuencia del VCO disminuirá. Si la fase se retrasa, la tensión de control del VCO aumentará y la frecuencia del VCO aumentará. Eventualmente, la salida VCO dividida y el reloj de referencia coincidirán en fase y frecuencia, y el PLL se bloqueará.

Este método solo puede generar múltiplos enteros de la frecuencia de reloj. Si el oscilador de referencia es 12 MHz, entonces una división por 2 en el PLL dará como resultado una multiplicación por 2 para obtener una frecuencia de salida de 24 MHz. Una división por 3 producirá 36 MHz. La división por 4 producirá 48 MHz, etc.

La adición de otro divisor en la entrada o salida permite la generación fraccional de frecuencia de reloj. La división por 2 y la multiplicación por 3 en el PLL produciría 18 MHz. La división por 2 y la multiplicación por 5 producirían 30 MHz. La división por 2 y la multiplicación por 45 producirían 270 MHz.

Otra consideración es que el rango de frecuencia del VCO a menudo es limitado. Esto puede evitar la generación de frecuencias que requieren grandes divisores porque entonces la frecuencia VCO sería demasiado baja o demasiado alta. Agregar otro divisor para que tanto la entrada de referencia como la salida del PLL puedan dividirse mitiga este problema de manera que el PLL pueda generar un rango más amplio de frecuencias. Mientras la división no sea un número primo, se puede dividir entre los divisores de entrada y salida para que el VCO esté trabajando en su rango de frecuencia de operación.

    
respondido por el alex.forencich
6

Esto se hace con el llamado multiplicador de bucle de fase bloqueada, vea también wiki . Se ejecuta un pequeño oscilador controlado por voltaje (VCO) en el microcontrolador, que se ha diseñado especialmente para funcionar de manera estable alrededor de la frecuencia central de operación deseada. Esta frecuencia se divide a través de una cascada de flip-flops y se compara con la frecuencia del cristal. El error resultante se envía al VCO para corregirlo. Cuando ambas frecuencias están finalmente en fase, se dice que están bloqueadas en fase y que los relojes MCU pueden manejarse desde el VCO.

    
respondido por el user36129
2

Dentro de una IMU hay multiplicadores de hardware que multiplican el reloj de entrada de 12MHz a valores más altos. Esto se puede lograr con algo llamado Phase Lock Loop. Imagina algo como este chip: NB3N502 ( hoja de datos ) dentro del microcontrolador.

Obtenga más información sobre PLL y la multiplicación de relojes en wiki:

Multiplicadores de CPU

bucle de bloqueo de fase

    
respondido por el Gonzik007

Lea otras preguntas en las etiquetas