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 radiada. En segundo lugar, generar la frecuencia del reloj central en el chip significa que la velocidad del reloj puede ser configurable. Bajar la velocidad del reloj en CMOS ahorra energía, por lo que al darle 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 hace en su computadora de escritorio o portátil: el núcleo funciona a una velocidad de 2 a 3 GHz, pero nada en la placa base se ejecuta tan cerca, excepto los buses 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 del reloj de referencia. La parte principal del PLL genera el voltaje del variador 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 es adelantada o retrasada, se produce un voltaje de error positivo o negativo. Este voltaje se integra en el filtro de bucle y luego se pasa a la entrada del VCO. Si la fase es líder, el voltaje de control de VCO se reducirá y la frecuencia de VCO disminuirá. Si la fase está retrasada, el voltaje de control de VCO aumentará y la frecuencia de VCO aumentará. Eventualmente, la salida de 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 del reloj. Si el oscilador de referencia es de 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.
Agregar otro divisor en la entrada o salida permite la generación de frecuencia de reloj fraccional. La división por 2 y la multiplicación por 3 en el PLL producirían 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ía 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 de VCO sería demasiado baja o demasiado alta. Agregar otro divisor para poder dividir tanto la entrada de referencia como la salida de PLL mitiga este problema de alguna manera para que el PLL pueda generar un rango más amplio de frecuencias. Siempre que 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.
Esto se hace con un 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 ha sido especialmente diseñado para funcionar establemente alrededor de la frecuencia del núcleo operativo deseada. Esta frecuencia se divide a través de una cascada de chanclas y se compara con la frecuencia de cristal. El error resultante se retroalimenta al VCO para corregirlo. Cuando ambas frecuencias están finalmente en fase, se dice que están bloqueadas en fase y los relojes MCU pueden ser activados desde el VCO.
fuente
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. Imagine algo como este chip, el NB3N502 ( hoja de datos ) dentro del microcontrolador.
Obtenga más información sobre PLL y la multiplicación de reloj en wiki:
Multiplicadores de CPU
Bucle de bloqueo de fase
fuente