当前位置: 首页 > article >正文

杰发科技AC7803——不同晶振频率时钟的配置

计算公式


PLL_POSDIV       [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62]
PLL_PREDIV_1     1 2 4
USE_XTAL       = 24M   
SYSCLK_FREQ    = 64M
SYSCLK_DIVIDER = 1
VCO            = USE_XTAL* FBKDIV / PREDIV     24*FBKDIV/2
SYSCLK_FREQ    = VCO / POSDIV / SYSCLK_DIV     64 = 24*FBKDIV/2/ (2-62)/1   

PREDIV = 2, SYSCLK_DIV = 1,POSDIV = 12,
24*FBKDIV/2
64 = 24*FBKDIV/2/12/1   
64*1*12*2=24*FBKDIV
FBKDIV = 64

 修改为24M晶振,可以参考12M晶振配置

	#define HSI_FREQ      8000000UL   /*!< Internal 8M RC clock */

	#define XTAL_8M       8000000UL   /*!< extern crystal oscillator 8M  */
	#define XTAL_12M     12000000UL   /*!< extern crystal oscillator 12M */
	#define XTAL_16M     16000000UL   /*!< extern crystal oscillator 16M */
	#define XTAL_30M     30000000UL   /*!< extern crystal oscillator 30M */
	#define XTAL_24M     24000000UL   /*!< extern crystal oscillator 30M */

	#define USE_XTAL     XTAL_24M      /*!< Select the actual crystal frequency */
	#define CKGEN_AUTO_CHANGE_CLK  1U  /*!< Auto change system clock to internal clock after detect xosc or pll fail */

	/*!< PLL configure */
	#ifndef PLL_CONFIG_72M  /* Output 64MHz */
	#if USE_XTAL == XTAL_8M
	#define PLL_POSDIV   PLL_POSDIV_8
	#define PLL_FBKDIV   64U
	#define PLL_PREDIV   PLL_PREDIV_1
	#elif USE_XTAL == XTAL_12M
	#define PLL_POSDIV   PLL_POSDIV_12
	#define PLL_FBKDIV   64U
	#define PLL_PREDIV   PLL_PREDIV_1
	#elif USE_XTAL == XTAL_16M
	#define PLL_POSDIV   PLL_POSDIV_8
	#define PLL_FBKDIV   64U
	#define PLL_PREDIV   PLL_PREDIV_2
	#elif USE_XTAL == XTAL_30M  /* Output 64MHz */
	#define PLL_POSDIV   PLL_POSDIV_20
	#define PLL_FBKDIV   160U
	#define PLL_PREDIV   PLL_PREDIV_4
	#elif USE_XTAL == XTAL_24M  /* Output 64MHz */
	#define PLL_POSDIV   PLL_POSDIV_12
	#define PLL_FBKDIV   64U
	#define PLL_PREDIV   PLL_PREDIV_2 


http://www.kler.cn/a/418467.html

相关文章:

  • 【Python网络爬虫笔记】5-(Request 带参数的get请求) 爬取豆瓣电影排行信息
  • node.js基础学习-querystring模块-查询字符串处理(三)
  • 基于springboot中小型制造企业质量管理系统源码和论文
  • 【UE5 C++】判断两点连线是否穿过球体
  • K8s调度器扩展(scheduler)
  • JUnit介绍:单元测试
  • 五:OpenStack环境准备-compute node
  • 从web前端角度浅析网络安全
  • 【C++】—— 二叉搜索树
  • 网络安全分析
  • 如何确保数据库和Redis数据的一致性
  • 英语系统语法书面记载:高级语法 8 的状语从句
  • 浅析Linux chmod 命令
  • 使用GitZip for github插件下载git仓库中的单个文件
  • 编程考古-计算机发展(下)
  • NLTK工具包
  • ubuntu20.04下cuDNN的安装与检测
  • 【docker】容器卷综合讲解,以及go实现的企业案例
  • Javascript 图片懒加载
  • AcWing 1245. 特别数的和
  • 两道数据结构编程题
  • 聊一聊汽车网络安全
  • 腾讯微众银行前端面试题及参考答案
  • 侯捷STL标准库和泛型编程
  • 使用Gradle编译前端的项目
  • 【大数据学习 | Spark】Spark on hive与 hive on Spark的区别