重头开始嵌入式第四十五天(硬件ARM裸机开发 时钟配置 看门狗 )

目录

看门狗定时器

一、工作原理

二、主要作用

三、应用场景

时钟配置

一、控制芯片运行速度

二、同步芯片内部操作

三、适应不同工作模式

四,如何配置s3c2440的时钟

PWM调制


看门狗定时器

看门狗(Watchdog Timer)是一种用于监测系统运行状态的定时器。以下是关于看门狗的详细介绍:

一、工作原理

 在系统正常运行时,软件会在规定的时间间隔内不断地“喂狗”,即重置看门狗定时器。如果系统由于故障或干扰等原因出现异常,未能在规定时间内“喂狗”,看门狗定时器就会超时溢出,触发一个特定的动作。

二、主要作用

 1. 系统监测 - 实时监控系统的运行状态,确保系统不会因为软件错误、硬件故障或外部干扰而陷入死锁或停止响应的状态。 - 例如在嵌入式系统中,看门狗可以检测到程序跑飞、死循环或其他异常情况,及时采取措施恢复系统正常运行。

2. 故障恢复 - 当看门狗超时触发后,通常会产生一个中断或复位信号,使系统重新启动或进入一种安全状态。 - 这有助于提高系统的可靠性和稳定性,减少因故障导致的系统停机时间。

三、应用场景

 1. 嵌入式系统 - 在各种嵌入式设备中广泛应用,如工业控制系统、智能家居设备、汽车电子等。 - 这些系统通常需要长时间稳定运行,看门狗可以有效地保障系统的可靠性。

2. 计算机系统 - 服务器、个人电脑等也可能使用看门狗技术,以防止系统出现故障时无法自动恢复。 - 例如,在服务器中,看门狗可以监测操作系统和关键应用程序的运行状态,一旦发现问题及时进行故障转移或系统重启。 总之,看门狗是一种重要的系统监测和故障恢复机制,能够提高系统的可靠性和稳定性,保障系统的正常运行。

dd5e3d0a90224f268674cf560c17276b.png

这里我们需要关闭看门狗定时器

59961b18c8624551a2c8aca3c8962e9e.png

时钟配置

芯片时钟配置具有以下重要作用:

一、控制芯片运行速度

 芯片的时钟信号就像是其“心跳节奏”。通过配置不同的时钟频率,可以调整芯片的运行速度。

1. 高性能需求场景 - 例如在图形处理、科学计算等对运算速度要求很高的应用中,可以将时钟频率设置得较高,使芯片以更快的速度处理数据,提高系统的整体性能。 - 这能够显著缩短复杂任务的处理时间,提升用户体验。

2. 低功耗需求场景 - 而在一些对功耗敏感的移动设备或嵌入式系统中,可降低时钟频率以减少芯片的功耗。 - 这样可以延长电池续航时间,降低设备的散热要求,提高系统的稳定性和可靠性。

二、同步芯片内部操作

 时钟信号在芯片内部起到同步各个模块操作的关键作用。

1. 数据传输与处理 - 确保不同模块之间的数据传输和处理在正确的时间顺序下进行。例如,在处理器中,时钟信号用于同步指令的取指、译码和执行等阶段,保证每个操作都在规定的时间窗口内完成。 - 没有准确的时钟同步,数据可能会在错误的时间被读取或处理,导致系统出现错误。

2. 外部设备连接 - 当芯片与外部设备进行通信时,时钟配置也非常重要。通过配置合适的时钟频率和相位关系,可以确保芯片与外部设备之间的数据传输稳定可靠。 - 例如,在与存储器或传感器等外部设备连接时,需要根据设备的特性和要求来配置时钟,以实现高效的数据交换。

三、适应不同工作模式

 芯片通常具有多种工作模式,如正常运行模式、低功耗模式、待机模式等。时钟配置可以帮助芯片在不同模式之间切换。

1. 模式切换 - 在不同工作模式下,芯片对时钟的需求可能不同。例如,在低功耗模式下,可能需要降低时钟频率或关闭部分时钟源,以减少功耗。 - 而在正常运行模式下,又需要恢复到较高的时钟频率以保证性能。通过合理的时钟配置,可以实现不同模式之间的平滑切换,满足系统在不同场景下的需求。

2. 动态调整 - 一些先进的芯片还支持动态时钟调整,即根据系统的负载情况实时调整时钟频率。当系统负载较轻时,可以降低时钟频率以节省功耗;当负载增加时,又可以提高时钟频率以保证性能。这种动态调整可以在不影响系统性能的前提下,最大限度地降低功耗。

四,如何配置s3c2440的时钟

5af9514f445a4053b443eb162ad6d2a5.png

锁相环( PLL
时钟发生器之中作为一个电路的 MPLL,参考输入信号的频率和相位同步出一个输出信号。在这种应用中,其
包含了如图 7-2 所示的以下基本模块:用于生成与输入直流电压成比例的输出频率的压控振荡器(VCO)、用于将
输入频率(Fin)按 p 分频的分频器 P、用于将 VCO 输出频率按 m 分频并输入到相位频率检测器(PFD)中的分
频器 M、用于将 VCO 输出频率按 s 分频成为 Mpll(输出频率来自 MPLL 模块)的分频器 S、鉴相器、电荷泵以及
环路滤波器。输出时钟频率 Mpll 相关参考输入时钟频率 Fin 有如下等式:
Mpll = ( 2 × m × Fin ) / ( p × 2s )
m = M(分频器 M 的值)+ 8, p = P(分频器 P 的值)+ 2
时钟发生器之中的 UPLL 在每方面都与 MPLL 类似。
以下部分描述了 PLL 的运行,包括鉴相器、电荷泵、压控振荡器(VCO)和环路滤波器。

鉴相器( PFD
PFD 检测 Fref 和 Fvco 之间的相位差,并在检测到相位差时产生一个控制信号(跟踪信号)。Fref 意思为参考
频率,如图 7-2 所示。
电荷泵( PUMP
电荷泵将 PFD 控制信号转换为一个按比例变化的电压并通过外部滤波器来驱动 VCO。
环路滤波器
PFD 产生用于电荷泵的控制信号,在每次 Fvco 与 Fref 比较时可能产生很大的偏差(纹波)。为了避免 VCO
过载,使用低通滤波器采样并且滤除控制信号的高频分量。滤波器是一个典型由一个电阻和一个电容组成的单极性
RC 滤波器。
压控振荡器( VCO
从环路滤波器的输出电压驱动 VCO,引起其振荡频率线性增大或减小,如同均匀变化电压的功能。当 Fvco 与
Fref 频率和相位都在限期内相匹配时,PFD 停止发送控制信号给电荷泵,并转变为稳定输入电压给环路滤波器。
VCO 频率保持恒定,PLL 则保持固定为系统时钟。
PLL 和时钟产生器的通常条件
PLL 和时钟发生器通常使用以下条件
时钟控制逻辑
时钟控制逻辑决定使用的时钟源,即使用 PLL 时钟(Mpll)或直接使用外部时钟(XTIpll 或 EXTCLK)。当配
置了 PLL 为一个新频率值时,时钟控制逻辑先禁止 FCLK,直至使用 PLL 锁定时间使 PLL 稳定输出。时钟控制逻
辑在上电复位时和从掉电模式中唤醒时同样是激活的。
上电复位( XTIpll
图 7-4 显示了上电复位期间时钟行为顺序。晶振在若干毫秒内开始振荡。当在 OSC(XTIpll)时钟稳定后释放
nRESET,PLL 开始按默认 PLL 配置运行。但是通常认为上电复位后的 PLL 是不稳定的,因此在软件重新配置
PLLCON 寄存器之前 Fin 代替 Mpll(PLL 输出)直接提供给 FCLK。即使用户不希望在复位后改变 PLLCON 寄存
器的默认值,用户还是应该用软件写入相同的值到 PLLCON 寄存器中。
只有置 PLL 为一个新频率后,PLL 会开始锁定连续逼近新频率。可以在锁定时间后立即配置 FCLK 为 PLL 输
出(Mpll)。

PWM调制

FCLK HCLK PCLK
FCLK 是提供给 ARM920T 的时钟。
HCLK 是提供给用于 ARM920T,存储器控制器,中断控制器,LCD 控制器,DMA 和 USB 主机模块的 AHB
总线的时钟。
PCLK 是提供给用于外设如 WDT,IIS,I2C,PWM 定时器,MMC/SD 接口,ADC,UART,GPIO,RTC 和
SPI 的 APB 总线的时钟。
S3C2440A 还支持对 FCLK、HCLK 和 PCLK 之间分频比例的选择。该比例由 CLKDIVN 控制寄存器中的 HDIVN
和 PDIVN 所决定
e9f25b9d743b4d7bb5a4479ed9b5e1f2.png
1bccdb5c1a3544d6819387ddc47dde47.png
b6ee00ae31cc4c018de1b156086cca6e.png
5ba01fb467554f99963c2a6df7afa5bf.png

ac46b8310e584a4290b38a54af033a49.png

#include "clk.h"

void clk_divn()
{
CLKDIVN =  (0x2 << 1) | (0x1 << 0);

MPLLCON =  (127 << 12) |(2 << 4) |(1 << 0);

}

上一篇:PCL 计算点云AABB包围盒(惯性矩阵)


下一篇:接口自动化测试实战