【沁恒蓝牙mesh】CH58x系统时钟配置与计算

这篇具有很好参考价值的文章主要介绍了【沁恒蓝牙mesh】CH58x系统时钟配置与计算。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文主要记录了【沁恒蓝牙mesh】CH58x系统时钟配置与计算

  • 💖 作者简介:大家好,我是喜欢记录零碎知识点的小菜鸟。😎
  • 📝 个人主页:欢迎访问我的 Ethernet_Comm 博客主页🔥
  • 🎉 支持我:点赞👍+收藏⭐️+留言📝
  • 📣 系列专栏:沁恒蓝牙mesh二次开发
    🍁
  • 💬格言:写文档啊不是写文章,重要的还是直白!🔥

———————————————————————————————

1.时钟配置

SDK中,时钟初始化一般都配置为60KHz,这个时钟值咋算出来的呢?打破砂锅问到底

SetSysClock(CLK_SOURCE_PLL_60MHz);

/**
 * @brief  系统主频定义
 */
typedef enum
{
    CLK_SOURCE_LSI = 0x00,
    CLK_SOURCE_LSE,

    CLK_SOURCE_HSE_16MHz = 0x22,
    CLK_SOURCE_HSE_8MHz = 0x24,
    CLK_SOURCE_HSE_6_4MHz = 0x25,
    CLK_SOURCE_HSE_4MHz = 0x28,
    CLK_SOURCE_HSE_2MHz = (0x20 | 16),
    CLK_SOURCE_HSE_1MHz = (0x20 | 0),

    CLK_SOURCE_PLL_80MHz = 0x46,
    CLK_SOURCE_PLL_60MHz = 0x48,
    CLK_SOURCE_PLL_48MHz = (0x40 | 10),
    CLK_SOURCE_PLL_40MHz = (0x40 | 12),
    CLK_SOURCE_PLL_36_9MHz = (0x40 | 13),
    CLK_SOURCE_PLL_32MHz = (0x40 | 15),
    CLK_SOURCE_PLL_30MHz = (0x40 | 16),
    CLK_SOURCE_PLL_24MHz = (0x40 | 20),
    CLK_SOURCE_PLL_20MHz = (0x40 | 24),
    CLK_SOURCE_PLL_15MHz = (0x40 | 0),
} SYS_CLKTypeDef;

1.1 时钟树分析

首先,参考系统的时钟树图

外接,32MHz晶振经过PLL的15倍频后,再经过一个分频器,输出最终的 HCLK,作为其他一些外设的时钟源。

通过以上代码配置,我们可以得知,HCLK = 60MHz

【沁恒蓝牙mesh】CH58x系统时钟配置与计算,沁恒蓝牙mesh二次开发,c语言,单片机,蓝牙组网,蓝牙mesh,嵌入式C

1.2 检查寄存器的值

在CH58X的芯片手册中,RTC是中部分,R16_CLK_SYS_CFG 寄存器是用于时钟配置

名称 访问地址 描述 复位值
R16_CLK_SYS_CFG 0x40001008 系统时钟配置寄存器 0x0005

通过串口打印寄存器的值,看看计算过程

int main(void)
{
    SetSysClock(CLK_SOURCE_PLL_60MHz);
    
    /*串口配置*/
    GPIOA_SetBits(bTXD1);
    GPIOA_ModeCfg(GPIO_Pin_8, GPIO_ModeIN_PU);      // PB8  RXD-配置上拉输入
    GPIOA_ModeCfg(bTXD1, GPIO_ModeOut_PP_5mA);
    UART1_DefInit();

    PRINT("R16_CLK_SYS_CFG = 0x%02x \n", R16_CLK_SYS_CFG); /*打印寄存器的值*/
}

【沁恒蓝牙mesh】CH58x系统时钟配置与计算,沁恒蓝牙mesh二次开发,c语言,单片机,蓝牙组网,蓝牙mesh,嵌入式C

系统时钟配置寄存器(R16_CLK_SYS_CFG)

名称 访问 描述 复位值
[15:8] Reserved RO 保留。 00h
[7:6] RB_CLK_SYS_MOD RWA HCLK 系统时钟源模式选择: 00/10:CK32M(默认 32MHz)进行分频;
01:PLL(默认 480MHz)进行分频;
11:CK32K(默认 32KHz)作为 HCLK。
00b
5 Reserved RO 保留。 0
[4:0] RB_CLK_PLL_DIV RWA HCLK 输出时钟分频系数,最小值为 2,0 代表最大值 32,写 1 将关闭 HCLK。 00101b

寄存器的 bit[7:6] = 01 表示 PLL分频,480MHz bit[4:0] = 1000 表示分频系数是 8,所以时钟周期是 480MHz / 8 =60MHz ,和代码配置一致文章来源地址https://www.toymoban.com/news/detail-629867.html

到了这里,关于【沁恒蓝牙mesh】CH58x系统时钟配置与计算的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 沁恒 CH32V208(一): CH32V208WBU6 评估板上手报告和Win10环境配置

    沁恒 CH32V208(一): CH32V208WBU6 评估板上手报告和Win10环境配置 沁恒 CH32V208(二): CH32V208的储存结构, 启动模式和时钟 沁恒 CH32V208(三): CH32V208 Ubuntu22.04 Makefile VSCode环境配置 沁恒 CH32V208(四): CH32V208 网络DHCP示例代码分析 沁恒 CH32V208(五): CH32V208 运行FreeRTOS示例的说明 CH32V208系列是沁恒

    2024年02月02日
    浏览(35)
  • PHY6222系统级SOC蓝牙芯片低功耗高性能蓝牙MESH组网智能家居

     PHY6222是一款支持BLE 5.2功能和IEEE 802.15.4通信协议的系统级芯片(SoC),集成了超低功耗的高性能多模射频收发机,搭载32-bit ARM?Cortex?-M0处理器,提供64K retention SRAM、可选128K-8M Flash、96KB ROM以及256bit efuse,支持基于BLE和IEEE 802.15.4的安全架构、应用和OTA在线升级。此外,芯片串

    2024年03月17日
    浏览(56)
  • 沁恒 CH32V208(四): CH32V208 网络DHCP示例代码分析

    沁恒 CH32V208(一): CH32V208WBU6 评估板上手报告和Win10环境配置 沁恒 CH32V208(二): CH32V208的储存结构, 启动模式和时钟 沁恒 CH32V208(三): CH32V208 Ubuntu22.04 Makefile VSCode环境配置 沁恒 CH32V208(四): CH32V208 网络DHCP示例代码分析 沁恒 CH32V208(五): CH32V208 运行FreeRTOS示例的说明 CH32V208WBU6 评估板

    2024年02月04日
    浏览(59)
  • 沁恒ch32V208处理器开发(四)串口通信

    资源配置 CH32V208 系列,是基于 RISC-V 指令架构设计的 32 位 RISC 内核 MCU,根据封装的不同,可用的USART串口资源如下表所示: 且USART具有如下主要特征: (1)全双工或半双工的同步或异步通信 (2) 支持分数波特率发生器,最高 9Mbps (3)可编程数据长度、停止位长度 (4)支

    2024年02月13日
    浏览(38)
  • 沁恒CH32V307母板+OPA4377运放模块-开源

    南京沁恒微电子股份有限公司是一家国产通讯接口芯片和全栈MCU芯片公司。专注于连接技术和MCU内核研究,基于自研收发器PHY和处理器IP的全栈研发模式,取代传统的外购IP整合模式,提供以太网、蓝牙无线、USB和PCI类等接口芯片,及集成上述接口的连接型/互联型/无线型全栈

    2023年04月09日
    浏览(51)
  • 串口转HID键盘鼠标芯片沁恒微电子CH9329

    概述 沁恒微电子CH9329 是一款串口转标准 USB HID 设备(键盘、鼠标、自定义 HID)芯片,根据不同的工作模式, 在电脑上可被识别为标准的 USB 键盘设备、USB 鼠标设备或自定义 HID 类设备。该芯片接收客户端发送过来的串口数据,并按照 HID 类设备规范,将数据先进行打包再通过

    2024年02月10日
    浏览(45)
  • 沁恒ch32V208处理器开发(三)GPIO控制

    GPIO功能概述 CH32V2x 微控制器的GPIO 口可以配置成多种输入或输出模式,内置可关闭的上拉或下拉电阻,可以配置成推挽或开漏功能。GPIO 口还可以复用成其他功能。端口的每个引脚都可以配置成以下的多种模式之一: 内部结构图如下: 可以看出,IO 口内部可分为输入驱动模块

    2024年02月13日
    浏览(38)
  • 沁恒CH32V307使用记录:使用TIM输出PWM信号

    使用TIM输出PWM信号是单片机中比较常用的一个功能。这篇文章将对CH32V307中相关内容进行说明。 本文使用沁恒官方的开发板 (CH32V307-EVT-R1沁恒RISC-V模块MCU赤兔评估板) 进行演示。 CH32V307拥有多个定时器,只有通用定时器和高级定时器支持PWM输出功能,需要注意的是不同的定

    2024年02月17日
    浏览(74)
  • 沁恒CH32V307单片机入门(01):基础说明与流程体验

    工作这几年单片机主要就接触过 Atmel、Renesas、Microchip、ST 这些厂家的,最近几年因为内部外部的各种因素单片机的价格和供应都挺不稳定的,将来会发生什么也不好说。另外这些年国内的单片机发展也挺快的。所以准备试试国产的单片机。 这里准备使用南京沁恒的CH32V307为基

    2024年01月25日
    浏览(51)
  • 蓝牙mesh数据包格式解析

    蓝牙mesh数据包的结构如下图: 总长31个字节。 Length (1Byte):数据长度 Type (1Byte):广播类型 IVI (1bit):用来认证加密Network PDU的IV index的最低位 NID (7bits):网络ID,network ID。从网络密钥(NetKey)派生的值,用于识别保护此PDU的加密秘钥和隐私密钥。决定使用哪个mesh网络传递数据

    2024年02月04日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包