CLOCK GEN模块支持多种可替换的时钟产生方案来支持应用需求,本章主要介绍E300的时钟产生的基本结构,时钟的寄存器配置介绍在第五章(AON)和第七章(PRCI)

  1. 时钟产生基本架构
    下图给出E300的时钟产生方案。

      大部分芯片内部的数字时钟来自于由PLL或者可调振荡器产生的高频时钟:hfclkPLL由片上振荡器或者外部的晶振驱动tlclk(TileLink bus clock) 频率固定,并且和处理器核时钟coreclk相同,每个外设都可以由tlclk产生局部时钟AON模块包括RTC时钟电路,并且可以由三种低频时钟源驱动:晶振32.768KHz、片上RC振荡器、或者是由hfclk分频的时钟测试模式可以选择JTAG测试时钟(TCK)驱动所有的时钟树来支持scan
    
  2. 配置寄存器:

hfrosccfg HFROSC 高频环形振荡器
hfxosccfg HFXOSC 高频晶振
pllcfg HFPLL 高频PLL
plloutdiv
procmoncfg
lfroscfg LFRCOSC 低频RC振荡器
LFXOSC 低频晶振
  1. 内部可调可编程的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 该状态标志振荡器可以操作并且准备好作为时钟源
  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 该状态标志晶振输出准备好可以使用
  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)

  1. PLL 输出分频器
    由寄存器plloutdiv控制PLL的分频
名称 位宽 描述
plloutdivby1 1 1.置1时,PLL的输出时钟将不会分频
plloutdiv 6 1.plloutdivby1清零时,由plloutdiv设置时钟分频2*(N+1),在2-128之间,并且输出分频器扩展PLL的输出频率0.375-384MHz
  1. 内部低频振荡器(LFRCOSC)
    RC振荡器提供40-80KHz的输入频率
    ²内部的低频振荡器可以代替外部晶振来为AON
    ²提供可编程的预分配器,允许对低频输出进行校准,提高定时精度

  2. 外部32.768KHz的低频晶振(LFXOSC)
    32.768kHz外部晶振提供精确的RTC
    晶振可以关闭来节省功耗,但是需要1s来稳定

RISC-V E300 SOC架构介绍——4.时钟产生相关推荐

  1. RISC-V E300 SOC架构介绍——5.电源常开域(Always on Domain)

    RISC-V E300 SOC架构介绍--5.Always on Domain Always on Domain (AON) 模块是电源常开域模块,主要包括PMU.Backup Registers.R ...

  2. RISC-V E300 SOC架构介绍——1.总体介绍

    0.基于RISC-V SOC平台的总体介绍: E300平台是SiFive公司Freedom Everywhere系列的第一个可定制的RISC-V SoC. E300 SoC包括一个SiFive系列 R ...

  3. RISC V (RV32+RV64) 架构 整体介绍

    文章目录 riscv 市场 芯片介绍 软件介绍 开发板介绍 PC介绍 riscv 架构 编程模型(指令集/寄存器/ABI/SBI) 运行状态 指令集 寄存器 riscv32和riscv64两者的区别 ...

  4. RISC-V指令集架构介绍及国内外厂商介绍

    文章目录 RISC-V架构介绍 ·RISC-V简介 ·CPU主流架构:x86.ARM.RISC-V ·RICS-V的设计理念及优势 ·RISC-V的历史沿革与市场应用 国内外厂商介绍 ·SiFive ...

  5. 移动终端基带芯片的基本架构介绍之三(移动终端基带芯片详细架构)

    移动终端基带芯片的基本架构介绍之三(移动终端基带芯片详细架构) 参考链接:https://blog.csdn.net/lxl584685501/article/details/46771623 htt ...

  6. MySQL第3天:MySQL的架构介绍之linux版安装

    MySQL的架构介绍之linux版安装 #编写时间:2017.3.5 #编写地点:广州 mysql linux版安装 1.源码安装(本节不提) 2.rpm安装 (1)下载地址:https://dev. ...

  7. nodejs服务端MVC架构介绍

    nodejs服务端MVC架构介绍 MVC架构本质:确定每一个js文件的职责 以nodejs数据管理系统为例,本文章代码仅为服务端演示代码,单独复制粘贴可能无效果.因为MVC并不是一门技术,而是一种项目 ...

  8. 安卓平台下的GPS架构介绍及驱动移植记录

    一.前言 我的工作是关于汽车车机BSP部分. 汽车车机,其实基本和人们日常所用的手机一样,也是安卓平台的.所谓安卓,就是一层安卓服务包裹着Linux内核所形成的操作系统. BSP组,主要工作内容就是负 ...

  9. Python黑马头条推荐系统第一天 架构介绍和离线计算更新Item画像

    Python黑马头条推荐系统项目课程定位.目标 定位 课程是机器学习(包含推荐算法)算法原理在推荐系统的实践 深入推荐系统的业务流场景.工具使用 作为人工智能的数据挖掘(推荐系统)方向应用项目 目标 ...

最新文章

  1. spring security 核心过滤器
  2. [云炬WEB实战笔记]批量修改WordPress文章时间按天递增
  3. python3 字典添加_python3字典删除元素和添加元素的几种方法
  4. 近业务=困死在一条船上?
  5. 常用公有云接入——AZURE
  6. leetcode 690. 员工的重要性(dfs)
  7. hdu1233 还是畅通工程 基础最小生成树
  8. ourdev 学习arm先看看,工具和软件分析
  9. 1.从第一道面试题谈起
  10. 51CTO学院三周年-我的rhce7认证之路
  11. iOS 直播 —— 推流
  12. 第12章实验1:学生成绩管理系统V5.0(c语言)
  13. python实现渐变图像
  14. SmokePing安装手册
  15. JavaScript高级程序设计(第4版)学习随笔【第八章】
  16. OSChina 周六乱弹 ——你们猜狗的舌头有多长
  17. 输入文本就可建模渲染了?!OpenAI祭出120亿参数魔法模型!
  18. 基础练习 数的读法(Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:一条染色体上有成千上万个碱基对,它们从0开始编号,到几百万,几千万,甚至上亿。   比如说,在对学生讲解第1)
  19. ABAQUS后处理技巧:内力查看的两种方式
  20. 2021年网络安全设备漏洞集合

热门文章

  1. rarLinux 安装及使用
  2. ACP认证之ECS笔记
  3. OMS 3.4.0 发布,打造更安全易用的数据迁移体验
  4. S2B2C社交电商系统怎么开发?
  5. 笛卡尔《谈谈方法》读后感
  6. 神州数码易拓TIOTOP ERP查询作业模板-上单头下单身查询作业
  7. node.js 微信小程序 部署服务器_自行部署微信小程序生产环境(node.js)—腾讯云服务器...
  8. 京东最新可用拉库地址大全以及拉库教程,kr
  9. 与游戏频繁挂钩的SCP是什么?
  10. Windows11:如何下载Android源代码