RISC-V E300 SOC架构介绍——4.时钟产生
CLOCK GEN模块支持多种可替换的时钟产生方案来支持应用需求,本章主要介绍E300的时钟产生的基本结构,时钟的寄存器配置介绍在第五章(AON)和第七章(PRCI)
时钟产生基本架构
下图给出E300的时钟产生方案。
大部分芯片内部的数字时钟来自于由PLL或者可调振荡器产生的高频时钟:hfclkPLL由片上振荡器或者外部的晶振驱动tlclk(TileLink bus clock) 频率固定,并且和处理器核时钟coreclk相同,每个外设都可以由tlclk产生局部时钟AON模块包括RTC时钟电路,并且可以由三种低频时钟源驱动:晶振32.768KHz、片上RC振荡器、或者是由hfclk分频的时钟测试模式可以选择JTAG测试时钟(TCK)驱动所有的时钟树来支持scan
配置寄存器:
hfrosccfg | HFROSC | 高频环形振荡器 |
hfxosccfg | HFXOSC | 高频晶振 |
pllcfg | HFPLL | 高频PLL |
plloutdiv | ||
procmoncfg | ||
lfroscfg | LFRCOSC | 低频RC振荡器 |
LFXOSC | 低频晶振 |
内部可调可编程的72MHz振荡器(HFROSC)
外部可调高频环形振荡器(HFROSC)用于产生复位后的默认系统core时钟,并且允许在没有外部高频晶振或者PLL时工作由寄存器hfrosccfg控制,地址映射在PRCI中
名称 | 位宽 | 描述 |
---|---|---|
hfrosctrim | 5 | 1.软件控制,范围在0-31,主要调整延迟链的反馈级数,调整延迟进而控制频率; |
2.0表示最长延迟链和最低频;其他值表示短延迟和较高频; | ||
3.系统reset之后,寄存器值默认为16; | ||
4.系统reset之后,软件在cpu boot启动过程将校准后的值写入寄存器中,在正常工作中任何时候都可以改变值 | ||
hfroscdiv | 6 | 1.分频系数,范围在1-64。0表示不分频,1表示2分频,分频可以随时改变; |
2.系统reset之后,寄存器值默认为4,即5分频; | ||
hfroscen | 1 | 1.为节省功耗,HFROSC关闭,通过清零hfroscen寄存器; |
2.在关闭HFROSC之前,处理器必须在其他时钟源下工作,比如PLL,外部晶振等 | ||
3.可以重新设置hfroscen寄存器重新使HFROSC有效; | ||
4.HFROSC在每次复位之后都会默认有效 | ||
hfroscrdy | 1 | 该状态标志振荡器可以操作并且准备好作为时钟源 |
- 外部16MHz 晶振(HFXOSC)
外部高频的16MHz晶振可以作为精确的时钟源,晶振的电容负载 < 12pF, ESR < 80Ω;
当被用作驱动PLL时,晶振的输出频率一定先二分频,作为PLL的输入,提供 8 MHz的参考时钟给VCO;
HFXOSC输入pad可以用作提供外部时钟源,并且输出不能连接;
HFXOSC的输入可以直接用来产生hfclk,如果系统没有PLL;
由寄存器hfxosccfg控制,地址映射在PRCI中
名称 | 位宽 | 描述 |
---|---|---|
hfxoscen | 1 | 1.该状态寄存器开启晶振,复位后被设置;也可以关闭晶振减小功耗 |
2.状态寄存器必须开启,当HFXOSC输入pad用作外部时钟源 | ||
hfxoscrdy | 1 | 该状态标志晶振输出准备好可以使用 |
- 内部高频PLL(HFPLL)
PLL:通过倍频参考时钟(如HFROSC, HFXOSC),产生高频时钟;
PLL的输入时钟频率在6-48MHz,PLL倍频后的频率在48-384MHz;
由寄存器pllcfg控制,地址映射在PRCI中
PLL的输出频率由三组寄存器配置,pllr[2:0], pllf[5:0], pllq[1:0]
名称 | 位宽 | 描述 |
---|---|---|
pllr | 2 | 1.参考时钟分频2 bit 编码,00 = 1, 11 = 4. |
2.分频后的参考时钟必须在6-12 MHz | ||
pllf | 6 | 1.PLL VCO倍频6 bit 编码N,倍频为2*(N+1),000000 = 2, 111111 = 128 |
2.VCO的输出频率必须在384-768MHz | ||
3.表1给出了倍频设置 | ||
pllq | 2 | 1.PLL输出分频2bit编码,01=2, 10=4, 11=8,00模式不支持 |
2.PLL最终的输出频率在48-384MHz |
表1 有效PLL倍频,乘数设置为实际乘数M,pllf中倍频为 M/2-1
PLL其他控制配置寄存器
名称 | 位宽 | 描述 |
---|---|---|
pllbypass | 1 | 1.置1时,关闭PLL,并且pllout直接由pllrefsel寄存器配置 |
2.唤醒复位后,PLL也会通过pllbypass=1禁用 | ||
pllrefsel | 1 | 在PLL被bypass时,pllrefsel选择参考时钟 |
pllsel | 1 | 1.用作选通最后hfclk的输出,PLL输出,或者是bypass的时钟 |
2.pllsel清零后,hfroscclk会直接驱动hfclk | ||
3.唤醒复位后,pllsel后被清零 | ||
plllock | 1 | 1.PLL提供锁相信号; |
2.PLL要求100us来重新获得锁定,并且锁定信号在此初始锁定周期内不一定稳定,因此在这段时间之后才能访问 | ||
3.如果时钟源存在过多抖动,PLL可能无法实现锁定,并且锁定信号肯不会保持有效 |
pllcfg寄存器reset时:
Ø bypass并关闭PLL通过将pllbypass = 1
Ø 输入由外部HFXOSC振荡器设置pllrefsel=1
Ø PLL不驱动系统时钟通过设置pllsel=0
Ø PLL倍频设置为R=2,F=64,Q=8(pllr=01,pllf=011111,pllq=11)
- PLL 输出分频器
由寄存器plloutdiv控制PLL的分频
名称 | 位宽 | 描述 |
---|---|---|
plloutdivby1 | 1 | 1.置1时,PLL的输出时钟将不会分频 |
plloutdiv | 6 | 1.plloutdivby1清零时,由plloutdiv设置时钟分频2*(N+1),在2-128之间,并且输出分频器扩展PLL的输出频率0.375-384MHz |
内部低频振荡器(LFRCOSC)
RC振荡器提供40-80KHz的输入频率
²内部的低频振荡器可以代替外部晶振来为AON
²提供可编程的预分配器,允许对低频输出进行校准,提高定时精度外部32.768KHz的低频晶振(LFXOSC)
32.768kHz外部晶振提供精确的RTC
晶振可以关闭来节省功耗,但是需要1s来稳定
RISC-V E300 SOC架构介绍——4.时钟产生相关推荐
- RISC-V E300 SOC架构介绍——5.电源常开域(Always on Domain)
RISC-V E300 SOC架构介绍--5.Always on Domain Always on Domain (AON) 模块是电源常开域模块,主要包括PMU.Backup Registers.R ...
- RISC-V E300 SOC架构介绍——1.总体介绍
0.基于RISC-V SOC平台的总体介绍: E300平台是SiFive公司Freedom Everywhere系列的第一个可定制的RISC-V SoC. E300 SoC包括一个SiFive系列 R ...
- RISC V (RV32+RV64) 架构 整体介绍
文章目录 riscv 市场 芯片介绍 软件介绍 开发板介绍 PC介绍 riscv 架构 编程模型(指令集/寄存器/ABI/SBI) 运行状态 指令集 寄存器 riscv32和riscv64两者的区别 ...
- RISC-V指令集架构介绍及国内外厂商介绍
文章目录 RISC-V架构介绍 ·RISC-V简介 ·CPU主流架构:x86.ARM.RISC-V ·RICS-V的设计理念及优势 ·RISC-V的历史沿革与市场应用 国内外厂商介绍 ·SiFive ...
- 移动终端基带芯片的基本架构介绍之三(移动终端基带芯片详细架构)
移动终端基带芯片的基本架构介绍之三(移动终端基带芯片详细架构) 参考链接:https://blog.csdn.net/lxl584685501/article/details/46771623 htt ...
- MySQL第3天:MySQL的架构介绍之linux版安装
MySQL的架构介绍之linux版安装 #编写时间:2017.3.5 #编写地点:广州 mysql linux版安装 1.源码安装(本节不提) 2.rpm安装 (1)下载地址:https://dev. ...
- nodejs服务端MVC架构介绍
nodejs服务端MVC架构介绍 MVC架构本质:确定每一个js文件的职责 以nodejs数据管理系统为例,本文章代码仅为服务端演示代码,单独复制粘贴可能无效果.因为MVC并不是一门技术,而是一种项目 ...
- 安卓平台下的GPS架构介绍及驱动移植记录
一.前言 我的工作是关于汽车车机BSP部分. 汽车车机,其实基本和人们日常所用的手机一样,也是安卓平台的.所谓安卓,就是一层安卓服务包裹着Linux内核所形成的操作系统. BSP组,主要工作内容就是负 ...
- Python黑马头条推荐系统第一天 架构介绍和离线计算更新Item画像
Python黑马头条推荐系统项目课程定位.目标 定位 课程是机器学习(包含推荐算法)算法原理在推荐系统的实践 深入推荐系统的业务流场景.工具使用 作为人工智能的数据挖掘(推荐系统)方向应用项目 目标 ...
最新文章
- spring security 核心过滤器
- [云炬WEB实战笔记]批量修改WordPress文章时间按天递增
- python3 字典添加_python3字典删除元素和添加元素的几种方法
- 近业务=困死在一条船上?
- 常用公有云接入——AZURE
- leetcode 690. 员工的重要性(dfs)
- hdu1233 还是畅通工程 基础最小生成树
- ourdev 学习arm先看看,工具和软件分析
- 1.从第一道面试题谈起
- 51CTO学院三周年-我的rhce7认证之路
- iOS 直播 —— 推流
- 第12章实验1:学生成绩管理系统V5.0(c语言)
- python实现渐变图像
- SmokePing安装手册
- JavaScript高级程序设计(第4版)学习随笔【第八章】
- OSChina 周六乱弹 ——你们猜狗的舌头有多长
- 输入文本就可建模渲染了?!OpenAI祭出120亿参数魔法模型!
- 基础练习 数的读法(Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:一条染色体上有成千上万个碱基对,它们从0开始编号,到几百万,几千万,甚至上亿。 比如说,在对学生讲解第1)
- ABAQUS后处理技巧:内力查看的两种方式
- 2021年网络安全设备漏洞集合
热门文章
- rarLinux 安装及使用
- ACP认证之ECS笔记
- OMS 3.4.0 发布,打造更安全易用的数据迁移体验
- S2B2C社交电商系统怎么开发?
- 笛卡尔《谈谈方法》读后感
- 神州数码易拓TIOTOP ERP查询作业模板-上单头下单身查询作业
- node.js 微信小程序 部署服务器_自行部署微信小程序生产环境(node.js)—腾讯云服务器...
- 京东最新可用拉库地址大全以及拉库教程,kr
- 与游戏频繁挂钩的SCP是什么?
- Windows11:如何下载Android源代码