Flagchip-FC7240 -- CLOCK时钟

一、概述

工作或学习中刚拿到一款芯片,往往会比较迷茫感觉无从下手,首先开发环境搭建、IDE工具使用这是最基础的,但是接触芯片手册就不知道从哪里看起了。个人开发习惯一般会看芯片的一些主频、基础外设驱动等,其中比较重要的部分就是:时钟。时钟是可以说是芯片的心脏,只有配置好时钟,芯片才能正常工作起来。因此本文来了解下FC7240芯片的时钟。

二、关键字说明

XTAL:晶振
EXTAL:外部晶振
FIRC(Fast Internal Reference Clock):快速内部参考时钟
SIRC(Slow Internal Reference Clock):慢速内部参考时钟
OSC :振荡器。振荡器是电路或设备,用于产生稳定的时钟信号或频率信号。在电子系统中,振荡器被广泛用于提供时钟信号,以同步系统中的各个组件的操作。
PLL :锁相环。锁相环是一种反馈控制系统,用于产生稳定的输出信号,其频率和相位与输入信号相关。锁相环通常由振荡器、频率比较器、相位调整器和反馈回路组成。它可以通过调整输出信号的相位和频率,使其与参考信号保持一致或特定的关系。
NOTE: 参考芯片手册chapter1、chapter2对关键字说明
在这里插入图片描述

三、code

简单描述下clock初始化和相关使用

void Bsp_Clock_Init(void)
{
    SCG_Deinit();
    Bsp_ClockScgInit();
    Bsp_ClockPccInit();
}

3.1 SCG_Deinit();

该函数作用是失能所有的时钟源,一般不做修改

3.2 Bsp_ClockScgInit();

时钟源初始化,配置时钟FOSC、PLL0、PLL1等,涉及到更换外部晶振规格等会修改相关的配置

3.3 Bsp_ClockPccInit();

PCC(Peripheral Configuration Control):外设配置控制
以配置ADC0 PCC举例,通过结构体变量的配置ADC0时钟是否使能、时钟源选择以及分频系数设置。

typedef struct
{
    PCC_ClkSrcType eClockName;          /*!< Peripheral clock */
    bool bEn;                           /*!< Peripheral clock enable or disable */
    PCC_ClkGateSrcType eClkSrc;         /*!< Peripheral function clock source select */
    PCC_ClkDivType eDivider;            /*!< Peripheral clock divider value */
} PCC_CtrlType;

static void Bsp_ClockPccInit(void)
{
    PCC_CtrlType tPcc;
    tPcc.eClockName = PCC_CLK_ADC0;
    tPcc.bEn = true;
    tPcc.eClkSrc = PCC_CLKGATE_SRC_FOSCDIV;
    tPcc.eDivider = PCC_CLK_DIV_BY1;
    PCC_SetPcc(&tPcc);
}

该配置是使用的比较多,配置串口、ADC、IIC等模块都会涉及到,因为比较简单这里不过多解释。

NOTE:本文主要是工作学习中日常知识点记录,有不对之处,烦请及时指出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值