0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

安芯 来源:jf_29981791 作者:jf_29981791 2025-05-23 16:01 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在现代嵌入式系统中,时钟与复位管理是确保系统稳定运行的关键。我们的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引脚,即可看到输出波形。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    147

    文章

    19121

    浏览量

    403575
  • eFlash
    +关注

    关注

    0

    文章

    14

    浏览量

    13534
  • SMU模块
    +关注

    关注

    0

    文章

    4

    浏览量

    1506
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CDCLVD110A可编程低压1:10 LVDS时钟驱动详解

    CDCLVD110A可编程低压1:10 LVDS时钟驱动详解 在电子设计领域,时钟驱动器的性能对整个系统的稳定性和效率起着关键作用。今天我们要深入了解的是德州仪器(Texas
    的头像 发表于 02-10 09:40 409次阅读

    LMK0482x系列时钟抖动清除器:高性能时钟解决方案解析

    LMK0482x系列时钟抖动清除器:高性能时钟解决方案解析 在电子设计领域,时钟信号的稳定性和低抖动对于
    的头像 发表于 02-09 10:15 212次阅读

    深入剖析 LMK1C110x 系列 LVCMOS 时钟缓冲器

    直接影响着整个系统的运行。今天,我们就来深入探讨一下德州仪器(TI)推出的 LMK1C110x 系列 1.8 - V、2.5 - V 和 3.3 - V LVCMOS 时钟缓冲器。 文
    的头像 发表于 02-08 09:50 448次阅读

    探索DRV601立体声线路驱动器:特性、应用与设计要点

    探索DRV601立体声线路驱动器:特性、应用与设计要点 在电子设备的音频处理领域,线路驱动器起着至关重要的作用。德州仪器(TI)推出的DRV601立体声线路
    的头像 发表于 02-02 15:45 286次阅读

    UCC2753x系列单通道高速栅极驱动器:特性、应用与设计要点详解

    UCC2753x系列单通道高速栅极驱动器:特性、应用与设计要点详解 引言 在电子电路设计中,栅极驱动器扮演着至关重要的角色,它能够有效
    的头像 发表于 01-09 16:05 824次阅读

    AS32X601的I2C模块操作EEPROM详解

    国科安芯推出的AS32X601系列MCU芯片内置的I2C模块提供了符合工业标准的两线串行制接口,可用于MCU和外部I2C设备的通讯。I2C总线使用两条串行线:串行数据线SDA和串行时钟线SCL
    的头像 发表于 12-21 21:39 1575次阅读
    <b class='flag-5'>AS32X601</b>的I2C模块操作EEPROM<b class='flag-5'>详解</b>

    基于AS32A601型MCU芯片的屏幕驱动IC方案的技术研究

    芯片的微架构、功能特性以及屏幕驱动IC的技术诉求,对其技术适配性、创新点以及潜在挑战展开探讨。本文冀望为相关技术研究与工程实践提供系统性参考,推动屏幕驱动技术的持续创新。 关键词 :AS32A
    的头像 发表于 10-31 15:04 550次阅读

    基于 AS32X601 微控制器的定时器模块(TIM)技术研究与应用实践

    摘要: 本文全面介绍了国科安芯推出的AS32X601系列微控制器的定时器模块(TIM),包括其系统架构、功能特性、应用场景以及工程实践要点。通过对芯片的详细分析,揭示了其高性能运行的基础。本文详细
    的头像 发表于 08-19 16:44 1011次阅读

    AS32X601芯片Flash擦写调试技术解析

    Flash 擦写操作流程,探讨擦写过程中可能遭遇的挑战及应对策略,旨在为芯片应用开发者、硬件工程师等专业人士提供系统且详实的参考资料,助力其精准操控 AS32X601 芯片 Flash,保障嵌入式系统稳定可靠运行。
    的头像 发表于 07-22 13:47 897次阅读
    <b class='flag-5'>AS32X601</b>芯片Flash擦写调试技术解析

    AS32X601系列MCU硬件最小系统设计与调试方案探析

    推出的AS32X601 系列 MCU 为例,深入探讨硬件最小系统设计要点以及硬件调试方案,旨在为相关领域的研究人员和技术人员提供有价值的参考。
    的头像 发表于 07-22 13:46 818次阅读

    安徽京准:北斗卫星同步时钟的安装与调试详解

    安徽京准:北斗卫星同步时钟的安装与调试详解
    的头像 发表于 06-05 10:08 1734次阅读
    安徽京准:北斗卫星同步<b class='flag-5'>时钟</b>的安装与调试<b class='flag-5'>详解</b>

    AS32X601驱动系列教程 PLIC_中断应用详解

    平台中断控制器(Platform Level Interrupt Controller,PLIC)是国科安芯AS32系列MCU芯片的中断控制器,主要对中断源进行采样,优先级仲裁和分发。各外设中断统一
    的头像 发表于 05-23 17:10 815次阅读
    <b class='flag-5'>AS32X601</b><b class='flag-5'>驱动</b><b class='flag-5'>系列</b>教程 PLIC_中断应用<b class='flag-5'>详解</b>

    AS32X601驱动系列教程 USART_串口通讯详解

    国科安芯的AS32系列MCU芯片集成7路USART,能够灵活地与外部设备进行全双工数据交换,满足外部设备对工业标准 NRZ 异步串行数据格式的要求。USART 通过小数波特率发生器实现了多种波特率
    的头像 发表于 05-23 16:54 1020次阅读
    <b class='flag-5'>AS32X601</b><b class='flag-5'>驱动</b><b class='flag-5'>系列</b>教程 USART_串口通讯<b class='flag-5'>详解</b>

    AS32X601驱动系列教程 GPIO_按键检测详解

    在嵌入式系统开发中,GPIO(通用输入输出端口)是实现硬件与软件交互的关键组件。本节主要利用的时GPIO的输入采集功能,本节的主要功能为,读取板载按键,当按键按下时,对应led亮起,抬起按键,对应
    的头像 发表于 05-23 16:44 966次阅读
    <b class='flag-5'>AS32X601</b><b class='flag-5'>驱动</b><b class='flag-5'>系列</b>教程 GPIO_按键检测<b class='flag-5'>详解</b>

    AS32X601驱动系列教程 GPIO_点亮LED详解

    的大门。自本章开始,正式开始用代码控制AS32x601各外设完成功能配置。 需要注意的是,AS32X601提供了8组GPIO,其中GPIOA~GPIOG寄存器操作完全一致,但在使用GPIOH的时候,寄存器列表中间少了一个32位寄存器,因此在使用过程中容易造成误操作,我们在
    的头像 发表于 05-23 16:14 894次阅读
    <b class='flag-5'>AS32X601</b><b class='flag-5'>驱动</b><b class='flag-5'>系列</b>教程 GPIO_点亮LED<b class='flag-5'>详解</b>