0% encontró este documento útil (0 votos)
285 vistas14 páginas

4 2 System Clock

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
285 vistas14 páginas

4 2 System Clock

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Controlador de Reset y Clock

Apuntes de clase V1.0


2019

GFR – 2019 - CC BY-SA 2.0


Índice de Contenidos
1 Introducción ................................................................................................... 3
¿Qué es el RCC? ..................................................................................... 3
2 Sistema de reset .............................................................................................. 3
Introducción ............................................................................................ 3
Reset en la plataforma STM32F4 ........................................................... 3
Fuentes de reset ....................................................................................... 3
2.3.1 System reset ........................................................................................ 4
2.3.2 Power reset .......................................................................................... 4
2.3.3 Backup domain reset ........................................................................... 5
3 Conceptos generales sobre el clock ................................................................ 5
Introducción ............................................................................................ 5
Señal de reloj en los microcontroladores ................................................ 6
Lazo de seguimiento de fase (PLL) ........................................................ 6
3.3.1 Principio de funcionamiento ............................................................... 7
3.3.2 Multiplicador de frecuencias (síntesis) ............................................... 8
Oscilador a cristal ................................................................................... 8
Circuito Eléctrico Equivalente ................................................................ 8
4 El sistema de reloj en la plataforma STM32 Cortex-M4 ............................... 9
Arbol de clock ......................................................................................... 9
Fuentes de Reloj.................................................................................... 11
4.2.1 Reloj HSE.......................................................................................... 11
4.2.2 Reloj HSI ........................................................................................... 12
4.2.3 PLL .................................................................................................... 12
4.2.4 Reloj de periféricos ........................................................................... 13
4.2.5 LSE clock .......................................................................................... 14
4.2.6 LSI clock ........................................................................................... 14
Clock security system (CSS) ................................................................ 14

2
1 Introducción
¿Qué es el RCC?
El controlador RCC (Reset and Clock Controller) se encuentra integrado dentro de
los productos STM32 y se encarga de gestionar el sistema de reset y los clocks de los
periféricos. Los dispositivos STM32F4 incorporan dos osciladores internos, dos
osciladores para un cristal externo o resonador, y tres lazos de enganche de fase (PLL).
Muchos periféricos tienen su propio reloj, independiente del reloj del sistema
(system clock). El STM32F4 RCC también proporciona una gran flexibilidad en la
elección de éstas fuentes de reloj, lo que permite al diseñador del sistema cumplir con los
requisitos requeridos de precisión y consumo de energía. Los relojes independientes de
periféricos le permiten a un diseñador ajustar el consumo de energía del sistema sin
afectar las velocidades de comunicación. El RCC ofrece una gran variedad de fuentes de
reloj, que se pueden seleccionar según los requisitos de rendimiento, precisión y baja
potencia.
Finalmente, el RCC proporciona una gestión de reset segura y flexible.

2 Sistema de reset
Introducción
En términos generales, el reset de un microcontrolador hace que el dispositivo vaya
a un estado conocido. Mientras se encuentra transitoriamente en estado de reset, el
dispositivo está virtualmente detenido, es decir, no se ejecuta ninguna instrucción del
programa. Cuando sale del estado de reset, el dispositivo va a un estado conocido.
El reset en los microcontroladores se puede producir por diferentes causas,
denominadas fuentes de reset. El número de las fuentes de reset puede variar según el
tipo de microcontrolador, hecho que nos obliga a repasar las características y opciones
disponibles en nuestra plataforma.
Reset en la plataforma STM32F4
La administración segura y flexible del restablecimiento sin necesidad de
componentes externos reduce los costos de la aplicación. El RCC administra tres tipos de
reinicios: el reset del sistema (system reset), el reset de energía (power reset) y el reset de
dominio de respaldo (backup domain reset). Los demás periféricos integrados al
microcontrolador tienen bits de control de reset individuales.
Fuentes de reset
En la figura 1 se muestra el diagrama de bloques simplificado del circuito de reset.

3
Figura 1: Estructura básica del reset

Todas las fuentes de reset internas proporcionan una señal de reset en el pin NRST,
que puede usarse para restablecer otros componentes externos pertenecientes a la misma
aplicación. Además, no se necesita un circuito de reinicio externo debido a que el sistema
ya incluye un filtro y la función de monitoreo de energía que garantiza el reinicio de la
aplicación cuando la alimentación (VDD) está por debajo del umbral determinado.
Para ahorrar circuitos externos, el microcontrolador posee también un Pull-Up
interno en el pin NRST, que le permite mantener un nivel alto cuando no hay una señal
de reset (baja) aplicada al pin.

2.3.1 System reset


El primer tipo de reinicio es el reset del sistema, que restablece todos los registros
excepto ciertos registros del controlador RCC y otros del dominio de backup (RTC, etc.).
Las fuentes de restablecimiento del sistema son:
 un reset externo (generado por un nivel bajo en el pin NRST)
 un evento de vigilancia tipo ventana (window watchdog)
 un evento de vigilancia independiente (idependent watchdog)
 un evento de software a través del Controlador de Interrupciones
Vectoriales Anidadas (NVIC)
 un reset de seguridad en modo de bajo consumo (que se genera cuando se
ingresa el modo Stop o Standby).
El indicador de cuál es la fuente de reset se puede encontrar en el registro de Control
y Estado de RCC.

2.3.2 Power reset


El segundo tipo de reinicio es el reinicio de energía. Básicamente se compone de
tres fuentes:
 Power on reset
 BOR reset
 Salida del estado “standby”

4
El reset de Brownout (BOR) restablece todos los registros excepto aquellos en el
dominio de backup alimentado por VBAT que contiene el RTC y el oscilador externo de
baja velocidad.
Al salir del modo de espera, todos los registros activados por el regulador se
restablecen. Al salir del modo de espera, se genera un reinicio.

2.3.3 Backup domain reset


El tercer tipo de restablecimiento es el restablecimiento del dominio de respaldo,
que restablece los registros de RTC, los registros de respaldo y el registro de control de
dominio de respaldo de RCC.
Este restablecimiento se produce cuando el bit BDRST se establece en el registro
de control de dominio de copia de seguridad del RCC. También ocurre cuando VDD y
VBAT están encendidos si ambos suministros se han apagado previamente.

3 Conceptos generales sobre el clock


Introducción
Los sistemas digitales pueden operar de forma asíncrona o síncrona. En los sistemas
asíncronos, las salidas de los circuitos lógicos pueden cambiar de estado en cualquier
momento en que varíen una o más de las entradas.
En los sistemas síncronos, los tiempos exactos en que cualquier salida puede
cambiar de estado se determinan mediante una señal comúnmente llamada reloj (CLK).
Esta señal de reloj por lo general es un tren de pulsos rectangulares o una onda cuadrada,
como se muestra en la figura 2. La señal de reloj se distribuye a todas las partes del sistema
y la mayoría de las salidas del sistema (si no es que todas) pueden cambiar de estado sólo
cuando el reloj hace una transición. Las transiciones (también llamadas flancos) se
indican en la figura 2.

Figura 2: Esquema de transiciones en lógica binaria.

La mayoría de los sistemas digitales son principalmente síncronos (aunque siempre


hay algunas partes asíncronas), ya que en los circuitos síncronos es más fácil diseñar y
detectar sus fallas. Es más fácil localizar sus fallas porque las salidas del circuito pueden
cambiar sólo en instantes específicos. En otras palabras. casi todas las partes se
sincronizan a las transiciones de las señales de reloj.

5
Los circuitos que utilizan la señal de reloj para la sincronización pueden activarse
en el flanco ascendente, flanco descendente o en ambos, por ejemplo, las memorias DDR
SDRAM son activadas en ambos flancos.
La mayoría de los circuitos integrados complejos utilizan una señal de reloj para
sincronizar sus diferentes partes y contar los tiempos de propagación. A medida que se
fue incrementando la complejidad de los circuitos, se volvió más complicada la
sincronización a través del reloj. Un ejemplo de circuito integrado complejo es el
microcontrolador.
Señal de reloj en los microcontroladores
Los microcontroladores son circuitos digitales altamente complejos, que utilizan
una señal de reloj para funcionar. La señal de reloj puede ser combinada con un
controlador de señal que se encarga de distribuir o no la señal de reloj a ciertas partes de
un circuito. Esta técnica es especialmente utilizada para ahorrar energía, apagando
porciones de un circuito digital que no están en uso.
Muchos microcontroladores utilizan un multiplicador de reloj en base a un PLL
(phase locked loop), que multiplica una señal de reloj externa más baja (en términos de
frecuencia) para adecuarla a la señal de éste. Esto brinda la posibilidad al CPU de operar
a una frecuencia más alta que el resto de los componentes, permitiéndole no esperar un
factor externo (por ejemplo, una entrada/salida de memoria).
Dado que la frecuencia de los microprocesadores modernos alcanza los miles de
millones de hercios, las cantidades suelen representarse con la ayuda de prefijos como
giga (G) para miles de millones y mega (M) para millones.
El flujo de datos de un procesador resulta de la frecuencia de reloj y del flujo de
datos en su conexión con la memoria principal. Las prestaciones de cálculo (medidas por
ejemplo en MIPS o en FLOPS) no sólo depende de la frecuencia de reloj, sino también
de la arquitectura de todo el procesador. Incluso aquellos procesadores que utilizan el
mismo conjunto de instrucciones, pueden contar con prestaciones muy diferentes a pesar
de tener la misma frecuencia de reloj, motivadas, por ejemplo, por la cantidad de IPC
(instrucciones por ciclo), por características propias del fabricante (por ejemplo,
ampliaciones de SIMD) o por el ya mencionado flujo de la memoria. El flujo de IPC
especifica cuantas instrucciones puede ejecutar un procesador gracias a hacerlas en
paralelo. Un procesador con un flujo de IPC mayor, consigue por ello más operaciones
de cálculo por cada ciclo de reloj y calcula de forma más rápida.
Desde el punto de vista energético, a mayor velocidad y mayor precisión habrá
mayor consumo y se requerirá más tiempo para despertar el oscilador (la puesta en
marcha), mientras que relojes de baja velocidad y poca precisión incorporados requerirán
menos energía y permiten un despertar rápido.

Lazo de seguimiento de fase (PLL)


Un PLL (phase locked loop) es un sistema realimentado (feed-back) que comprende
un comparador de fase, un filtro pasa bajos y un amplificador de error en la trayectoria de
la señal hacia adelante y un oscilador controlado por tensión (VCO) en la trayectoria de
feedback. El diagrama en bloques de un sistema PLL básico se muestra en la figura 3.

6
Figura 3: Estructura básica de un PLL

El detector de fase, como su propio nombre indica, es capaz de determinar el desfase


existente entre dos señales. Los detectores de fase de tipo multiplicador y los digitales
son los que más se utilizan. Los primeros son útiles cuando la señal de entrada es de tipo
senoidal y los segundos, como su nombre indica, son usados para señales de entrada de
tipo digital.
Dentro del lazo de realimentación de un PLL aparte de un filtro y de un detector de
fase se encuentra un VCO. Los VCO son osciladores controlados por tensión. Hay varios
tipos de VCO que se pueden usar en los PLL: osciladores de cristal, osciladores LC y
multivibradores RC. Al igual que con los detectores de fase se utiliza un VCO u otro
dependiendo del tipo de aplicación se le dé al PLL.
3.3.1 Principio de funcionamiento
El principio básico de operación de un PLL puede ser explicado brevemente como
sigue: sin ninguna señal de entrada aplicada al sistema, la tensión de error Vd(t) es igual
a cero. El VCO opera a una frecuencia establecida “wo” que es conocida como la
frecuencia de operación libre o frecuencia natural. Si se aplica una señal entrante al
sistema, el comparador de fase compara la fase y la frecuencia de la entrada con la
frecuencia del VCO y genera una tensión de error Ve(t) que está relacionada con la fase
y la diferencia de frecuencia entre las dos señales. Este error de tensión es luego filtrado,
amplificado y aplicado a la terminal de control del VCO. De esta manera, la tensión de
control Vd(t) fuerza a la frecuencia del VCO a variar en una dirección que reduce la
diferencia de frecuencia entre “wo” y la señal de entrada. Si la frecuencia de entrada “wi”
está suficientemente cerca a “wo”, la naturaleza de feedback del PLL hace que el VCO
se sincronice o enganche con la señal de entrada. Una vez enganchado, la frecuencia del
VCO es idéntica a la señal de entrada excepto por una diferencia de fase finita. Esta
diferencia de fase neta qo es necesaria para generar la tensión de error correctivo Vd(t),
para desplazar la frecuencia del VCO de su valor de frecuencia libre a la frecuencia de la
señal entrante “wi” y, así, mantener el PLL enganchado. Esta habilidad de auto corrección
del sistema también permite al PLL rastrear los cambios de frecuencia de la señal entrante
una vez que está enganchado.

El rango de frecuencias sobre las cuales el PLL puede mantener su enganche con
una señal entrante es definido como el rango de enganche del sistema. La banda de
frecuencias sobre las cuales el PLL puede adquirir enganche con una señal entrante se
conoce como el rango de captura del sistema, y nunca es mayor que el rango de enganche.

7
3.3.2 Multiplicador de frecuencias (síntesis)
La Multiplicación de Frecuencia se puede lograr con el PLL de dos maneras:

1. Mediante el enganche a un armónico de la señal de entrada.


2. Inserción de un contador (divisor digital de frecuencia) en el lazo.

En la figura 4 se muestra un diagrama en bloques del segundo método. Aquí, el


lazo se rompe entre el VCO y el comparador de fase y se inserta un contador. En este
caso, el tono fundamental de la frecuencia dividida del VCO es enganchado a la
frecuencia de entrada, de modo que el VCO está realmente funcionando a un múltiplo de
la frecuencia de entrada. La cantidad de multiplicación es determinada por el contador.
Una aplicación práctica evidente, de esta propiedad de multiplicación, es el uso del PLL
en sintetizadores de frecuencia de amplio rango.

Figura 4: Multiplicador de frecuencia con PLL

Oscilador a cristal
El cristal de cuarzo es utilizado como componente de control de la frecuencia de
circuitos osciladores convirtiendo las vibraciones mecánicas en voltajes eléctricos a una
frecuencia específica. Esto ocurre debido al efecto "piezoeléctrico". En un material
piezoeléctrico, al aplicar una presión mecánica sobre un eje, dará como consecuencia la
creación de una carga eléctrica a lo largo de un eje ubicado en un ángulo recto respecto
al de la aplicación de la presión mecánica.
En algunos materiales, se encuentra que, aplicando un campo eléctrico según un
eje, produce una deformación mecánica según otro eje ubicado a un ángulo recto respecto
al primero. Por las propiedades mecánicas, eléctricas, y químicas, el cuarzo es el material
más apropiado para fabricar dispositivos con frecuencia bien controlada.
Circuito Eléctrico Equivalente
El circuito eléctrico equivalente que se muestra en la figura 5 es un esquema del
cristal de cuarzo trabajando a una determinada frecuencia de resonancia. El capacitor Co
o capacidad en paralelo, representa en total la capacidad entre los electrodos del cristal
más la capacidad de la carcasa y sus terminales. R1, C1 y L1 conforman la rama principal
del cristal y se conocen como componentes o parámetros concentrados donde:

L1 representa la masa vibrante del cristal,


C1 representa la elasticidad del cuarzo y
R1 representa las pérdidas que ocurren dentro del cristal.

8
Figura 5: Multiplicador de frecuencia con PLL

4 El sistema de reloj en la plataforma STM32 Cortex-M4


Árbol de clock
El STM32 tiene cuatro líneas de reloj de tres fuentes que pueden utilizarse para
proporcionar el reloj del sistema (System clock). Las fuentes son: el oscilador externo de
alta velocidad (HSE), el oscilador interno de alta velocidad (HIS) o el reloj de lazo
de sincronización de fase (PLL). La figura 6 muestra el árbol de reloj en donde se
destacan las fuentes antes mencionadas.

Figura 6: Árbol de reloj del STM32F446RE

9
Los periféricos tienen dos fuentes de reloj secundarias:

 RC interno de baja velocidad de 32 kHz (LSI RC) que impulsa el watchdog


independiente y, opcionalmente, el RTC utilizado para la activación
automática desde el modo de parada/standby.
 Cristal externo de baja velocidad de 32.768 kHz (cristal LSE) que
opcionalmente impulsa el reloj RTC (RTCCLK).

Un dato muy importante es que cada fuente de reloj se puede activar o desactivar
de forma independiente cuando no se utiliza, para optimizar el consumo de energía. Sin
embargo, ¡si el clock está desactivado, el dispositivo o periférico NO EXISTE!
El controlador del reloj RCC proporciona un alto grado de flexibilidad a la
aplicación en la elección del cristal externo o del oscilador para ejecutar el núcleo y los
periféricos a la frecuencia más alta y garantiza la frecuencia apropiada para los periféricos
que necesitan un reloj específico como USB OTG FS y HS, I2S, SAI y SDIO.
Se utilizan varios preescaladores o divisores para configurar la frecuencia AHB, el
APB de alta velocidad (APB2) y los dominios de APB (APB1) de baja velocidad. En
nuestro caso, la frecuencia máxima del dominio AHB es de 180 MHz, la frecuencia
máxima permitida del dominio APB2 de alta velocidad es de 90 MHz y la frecuencia
máxima permitida del dominio APB1 de baja velocidad es de 45 MHz.
Como se observa en la figura 6, todos los relojes de periféricos se derivan del reloj
del sistema (SYSCLK) excepto por:
 El reloj USB OTG FS (48 MHz), que proviene de una salida específica del
PLL (PLLP) o PLLSAI (PLLSAIP)
 El reloj SDIO (48 MHz) que proviene de una salida específica del PLL48CLK
(PLLQ, PLLSAIP) o Reloj del sistema.
 Relojes I2S1/2. Para lograr un rendimiento de audio de alta calidad y para una
mejor flexibilidad de configuración, el reloj I2S1 y el reloj I2S2 (que son relojes
respectivamente para I2Ss asignados en APB1 y APB2) se pueden derivar de
cuatro fuentes: salida PLL principal específica, una salida PLLI2S específica,
desde un reloj externo asignado en el pin I2S_CKIN o desde HSI / HSE.
 Reloj SAI. Los relojes SAI1 / SAI2 se generan desde un PLL específico (PLL
principal, PLLSAI o PLLI2S), desde un reloj externo asignado en el pin
I2S_CKIN o desde el reloj HSI / HSE. El PLLSAI se puede usar como fuente
de reloj para el periférico SAI1 en caso de que el PLLI2S esté programado para
alcanzar otra frecuencia de muestreo de audio (49.152 MHz o 11.2896 MHz),
y la aplicación requiere ambas frecuencias al mismo tiempo.
 El reloj USB OTG HS (60 MHz), que se proporciona desde el PHY externo.
 Reloj SPDIF-Rx El reloj SPDIF-Rx se genera desde una salida específica de
PLLI2S o desde una salida específica de PLL principal.
 Reloj HDMI-CEC que se genera a partir de LSE o HSI dividido por 488.
 Reloj FMPI2C1 que también se puede generar desde HSI, SYSCLK o APB1.

Dependiendo del reloj del sistema podemos mencionar, con cierto grado de
relevancia las siguientes salidas de reloj:

10
 Systick. El RCC alimenta el reloj externo del timmer del sistema Cortex
(SysTick) con el reloj AHB (HCLK) dividido por 8
 FCLK que alimenta con una fuente de clock a la FPU del Cortex-M4.

Fuentes de Reloj
4.2.1 Reloj HSE
El reloj HSE es impulsado por un oscilador o reloj externo. Esto permite que varios
procesadores se ejecuten desde un mismo y único reloj externo. La señal de reloj externo
de alta velocidad (HSE) se puede generar a partir de dos posibles fuentes de reloj:
 Resonador cerámico / cristal externo.
 Reloj de usuario externo (bypass)

La figura 7 muestra los dos esquemas posibles de conexión para la fuente de clock
HSE.

Figura 7: Entradas del clock HSE

Resonador cerámico / cristal externo


En el STM32 Nucleo-F446RE, el oscilador HSE está preparado para conectar un
cristal externo como se observa en la Figura 8. El reloj HSE se puede usar para alimentar
el PLL y así obtener un reloj interno de hasta 180 MHz.

Figura 8: STM32 Nucleo-F446RE – Zócalo para colocar un cristal externo

11
El resonador a cristal y los condensadores de carga deben colocarse lo más cerca
posible de los pines del oscilador para minimizar la distorsión de salida y el tiempo de
estabilización de arranque. Los valores de capacidad de carga deben ajustarse de acuerdo
con el oscilador seleccionado y según las recomendaciones del fabricante del uC.

Reloj de usuario externo (bypass)


En este modo, se debe proporcionar una fuente de reloj externa. La señal del reloj
externo (cuadrada, sinusoidal o triangular) con un ciclo de trabajo de ~ 50% tiene que
impulsar el pin OSC_IN, mientras que el pin OSC_OUT debe dejarse HI-Z. Ver la figura
7.
4.2.2 Reloj HSI
La señal de reloj HSI se genera a partir de un oscilador RC interno de 16 MHz y se
puede usar directamente como un reloj del sistema, o como una entrada PLL. El oscilador
HSI RC tiene la ventaja de proporcionar una fuente de reloj a bajo costo (sin componentes
externos). También tiene un tiempo de arranque más rápido que el oscilador de cristal
HSE; sin embargo, incluso con la calibración, la frecuencia es menos precisa que un
oscilador de cristal externo o resonador cerámico.

Hay que tener en cuenta que, de forma predeterminada, la placa Nucleo utiliza el
circuito RC interno HSI de 16 MHz como oscilador. Para funcionar a la velocidad
nominal de 180 MHz, es necesario configurar el árbol de reloj como se indica en el
proceso de generación de un proyecto utilizando la plataforma ST-CubeMX.

4.2.3 PLL
Internamente, la versión STM del procesador ARM Cortex M4 puede funcionar
hasta 180 MHz, que es un tiempo de ciclo de solo 5.556 nseg. Esto implicaría que se
necesitaría un bus de interfaz externo muy rápido para comunicarse con el mundo
exterior. Para muchos sistemas de controladores integrados, esta interfaz de alta velocidad
no es necesaria. La solución a este problema es agregar un PLL en el hardware que
permite que la CPU funcione a 180 MHz y comunicarse simultáneamente con un sistema
sincronizado de 8 MHz en el exterior. Por lo tanto, y como se mencionó anteriormente,
el STM32F446 requiere solo un cristal de 8 MHz y desde el exterior, el usuario lo ve
como un sistema de 8 MHz, aunque en su interior está ejecutando instrucciones a 180
MHz.
En la figura 9, se muestra un diagrama del sistema para un bucle de bloqueo de fase
(PLL). Un oscilador de cristal de 8 MHz ejecuta los buses y relojes del sistema externo.
Internamente, un oscilador controlado por tensión funciona a aproximadamente 180
MHz. El oscilador de 8 MHz se divide primero por 8 para obtener un reloj estable de 1
MHz. El reloj de 1 MHz del cristal se compara con la señal de 1 MHz del oscilador
controlado por tensión dividido por 180. La señal de error se realimenta para ajustar la
frecuencia del VCO. Efectivamente, el PLL actúa como un multiplicador de frecuencia.

12
Figura 9: PLL corriendo a 180MHz a partir de un cristal de 8MHz

Además de controlar el reloj del sistema, el PLL también proporciona una segunda
salida a 48 MHz para controlar el USB y una tercera salida para controlar los relojes I2S1
e I2S2 para la comunicación serie.
A su vez, las salidas de los PLL pueden ser divididas para obtener frecuencias
menores. En la Figura 10 se muestran las tres posibles salidas de uno de los bloques PLL
divididas por las señales P, Q y R.

Figura 10: Salidas P,Q y R del PLL

4.2.4 Reloj de periféricos


El reloj de periféricos para los puertos GPIO, los convertidores A/D y D/A, los
temporizadores y los buses de alta velocidad se derivan del reloj del sistema (System
clock) por medio de un divisor previo que puede ser modificado por el usuario.
Se utilizan varios divisores previos para configurar la frecuencia del Bus de alta
velocidad avanzado (AHB), los Buses periféricos avanzados: APB de alta velocidad
(APB2) y APB de baja velocidad (APB1).
Esto último es muy importante porque marca una de las grandes diferencias con un
microcontrolador de 8 bits o de arquitectura “tradicional” en donde podemos tener la
certeza de que cada operación dura un determinado tiempo o ciclo de CPU lo que lleva a
que los tiempos en juego se pueden determinar con facilidad. En un micro de 32 bits hay
varios buses y los tiempos ya no son tan fáciles de predecir ya que otros periféricos
pueden estar usando estos buses o si el micro tiene memoria cache esto altera los tiempos
en juego por lo que debe usted desterrar la idea que solo basta con contar las instrucciones
y multiplicar por la velocidad del bus.
Lo siguiente que puede resultar un poco confuso es que todo dentro del Cortex-M4
tiene su reloj individual que por defecto esta desconectado. Es decir, entonces que para
hacer uso de periféricos una de las configuraciones que debemos incluir es activar y el
reloj y determinar una frecuencia de operación dentro del rango que el bus admite.

13
4.2.5 LSE clock
El reloj LSE se genera desde un resonador cerámico o cristal externo de baja
velocidad de 32.768 kHz. Tiene la ventaja de proporcionar una fuente de reloj de baja
potencia, pero altamente precisa al periférico de reloj en tiempo real (RTC) para la
implementación de un reloj/calendario u otras funciones de temporización.

4.2.6 LSI clock


El LSI RC actúa como una fuente de reloj de baja potencia que puede mantenerse
funcionando en modo de espera y parada para el watchdog independiente (IWDG) y la
unidad de activación automática (AWU) ambos independientes del reloj del sistema. La
frecuencia del reloj es de alrededor de 32 kHz.
Clock security system (CSS)
El sistema de seguridad del reloj puede ser activado por software. En este caso, el
detector de reloj se habilita después del retraso de inicio del oscilador HSE y se desactiva
cuando se detiene este oscilador. Si se detecta una falla en el reloj HSE, este oscilador se
desactiva automáticamente, se envía un evento de falla de reloj a las entradas de
interrupción de los temporizadores de control avanzado TIM1 y TIM8, y se genera una
interrupción para informar al software sobre la falla (seguridad del reloj sistema de
interrupción CSSI), lo que permite a la MCU realizar operaciones de rescate.

5 Bibliografía

 STM32F446-ARM Nucleo Board User's Manual D.K. Blandford August, 2017.


 STM32F446xx advanced Arm®-based 32-bit MCUs - Reference manual.
 STM32F446xC/E - DocID027107 Rev 6.

14

También podría gustarte