【AS32X601驱动系列教程】SMU_系统时钟详解

在现代嵌入式系统中,时钟与复位管理是确保系统稳定运行的关键。我们的SMU(系统管理单元)模块专注于此核心任务,通过精准的时钟配置和复位控制,为整个系统提供可靠的时序保障。

SMU模块的主要功能是完成时钟和复位的管理。在默认状态下SMU工作在IDLE状态。只有接收到PMU的使能信号后才开始工作。SMU模块会根据PMU的指令自动配置COR、AXIBUS0/1/2等总线的时钟和复位。

需要注意的是,MCU芯片AS32X601可通过BOOT选择从外部QSPI Flash启动和内部PFlash启动,外部Flash启动时,系统时钟最高90MHz,内部启动时,系统时钟可跑到180MHz。同时对于各总线时钟,同样存在具体要求,该部分在软件操作部分进行介绍。

硬件介绍

本章节只讨论SMU系统时钟配置,AS32x601系列总线以及外设时钟均由SMU模块进行配置,时钟树和总线架构可在设计手册中查到,同时,为了保证使用者可以更好理解系统时钟配置,芯片特意拉出来一个clk_out引脚以便测量,查询芯片引脚复用,该引脚位于芯片的第11管脚PB4得复用功能1。

软件设计

在本小节只针对实际操作部分代码进行讲解,其中所涉及到的工程、变量、头文件等不会涉及到,可以参考实际的demo工程。

操作流程

  1. 使能总线时钟以及clk_out所在GPIO时钟

  2. 配置SMU_PLL结构体(如果不使用PLL,可忽略此步骤)

  3. 配置EFLASH时钟同步(如果使用外部flash启动,可忽略此步骤)

  4. 配置系统时钟以及总线分频结构体

  5. 配置clk_out引脚复用

代码介绍

在芯片的所有使用过程中,主程序都应该在初始化的最开始部位首先完成此部分代码的编写,我们在此处封装成函数,在每个demo历程中均可以找到这个函数。

在这个函数中,我们把需要注意的事项以及总线时钟树和对应关系均以注释的形式贴在操作之前,在时钟使能过程中,还需要参考总线架构保证外设挂载在具体哪一条总线下,然后在此处根据注释打开相应总线时钟,具体接口的时钟使能可在接口初始化函数中进行使能。

在上述代码清单中,首先配置PLL结构体,采用外部晶振作为PLL的时钟源,开发板晶振频率为20MHz,那么根据上述公式计算可知系统时钟为20÷0x14*0xB4÷0x01 = 180M。

接下来,配置EFLASH时钟同步,此操作必须在切换系统时钟之前完成,将同步时间180写入同步配置。

之后配置总线时钟结构体,此处可设置系统时钟源是PLL、内部振荡器或者外部晶振,此外还可配置系统总线分频系数,具体参数已经在库中定义完成。

最后需要更新EFLASH时钟,强制操作,避免死机。

最后一步操作是获取所有总线时钟,此函数是为了保证部分自动计算波特率功能设定,建议最好不要删除。

至此系统时钟初始化完毕,为了验证功能,我们可以配置CLK_OUT引脚输出,代码如下:

由于此处全部都是初始化操作,完成之后,直接while(1)等待即可,编译此代码。另外,SMU_SetSysClockOut(CoreCLKDiv8Out);可以控制输出时钟来源于具体哪一路,形参已经定义好,直接选择切换即可。

烧录验证

上述代码编译烧录之后,用示波器连接PB4引脚,即可看到输出波形。

相关推荐
三佛科技-134163842123 小时前
过认证72W碳化硅方案(12V6A)主控HN1562+HN36228V 典型应用电路、变压器参数分享
单片机·嵌入式硬件·物联网·智能家居·pcb工艺
Zwawa4 小时前
串口为什么会丢字节:从轮询到中断和环形缓冲区
c语言·单片机·嵌入式
Brilliantwxx4 小时前
【STM32】 内部 Flash 详解:寄存器逐位拆解 + 工作流程顺序全讲 + EEPROM再实现
stm32·单片机·嵌入式硬件·1024程序员节
木子单片机4 小时前
基于单片机的DS18B20温度传感器测温系统设计
单片机·嵌入式硬件·51单片机·keil
华清远见IT开放实验室4 小时前
实验室建设案例 | 安徽三联学院物联网实验室
stm32·单片机·嵌入式硬件·物联网·华清远见
深圳光特通信豆子6 小时前
TTL 光模块在工业控制与串口通信中的应用指南(10M BIDI 单模系列)
单片机·嵌入式硬件
桀人6 小时前
SPI概念引入
stm32·单片机·嵌入式硬件
离凌寒7 小时前
一、基于stm32+freertos下LD2410D和R60ADB1两款雷达的使用效果
stm32·单片机·嵌入式硬件
国科安芯7 小时前
商业光学遥感载荷焦平面供电链的低噪声稳压器研究综述——以国科安芯ASP7A84AS型3A低压差线性稳压器为器件级参照
大数据·网络·嵌入式硬件·平面·卫星·商业航天·抗辐射
NamoAmitabha1289 小时前
嵌入式开发中的定时器---deepseek
单片机·嵌入式硬件