前言

上一篇文章完成了RH850时钟源寄存器配置,外设要正常工作,必须要配置对应的时钟,这篇文章说明RH850外设时钟配置。

  • 时钟选择寄存器

下面表格是RH850-F1K技术规格书列出的外设时钟寄存器。

外设时钟寄存器基本都相同,如TAUJ代表的是定时器J的时钟,ADCA代表是A/D转换时钟。下面以RH850-F1K 定时器TAUJ为例,介绍外设时钟相关寄存器。

1.1 TAUJ时钟源选择寄存器  C_AWO_TAUJ Source Clock Selection Register

CKSC_ATAUJS_CTL定时器TAUJ时钟源选择寄存器可以32bit读写。地址:FFF8 2100H,复位值0000 0001H。

Bit position

Bit Name

Function

31 - 3

保留

2 - 0

ATAUJSCSID[2:0]

000: 禁止配置

001: 内部高速振荡器

010: 外部主晶振

011: 内部低速晶振

100: PPLLCLK2

其他禁止配置

这个寄存器选择定时器时钟的来源,比较简单,按需要选择。

1.2 TAUJ时钟源激活状态寄存器  C_AWO_TAUJ Source Clock Active Register

CKSC_ATAUJS_ACT定时器TAUJ时钟源激活状态寄存器可以32bit读。地址:FFF8 2108H,复位值0000 0001H。

Bit position

Bit Name

Function

31 - 3

保留

2 - 0

ATAUJSACT [2:0]

000: 禁止配置

001: 内部高速振荡器

010: 外部主晶振

011: 内部低速晶振

100: PPLLCLK2

其他禁止配置

时钟源选择寄存器配置后,需要读这个寄存器,直到这个寄存器值和时钟源选择寄存器值一致,说明时钟源选择寄存器配置成功。

1.3 TAUJ时钟分频寄存器 C_AWO_TAUJ Clock Divider Selection Register

CKSC_ATAUJD_CTL定时器TAUJ时钟分频寄存器可以32bit读写。地址:FFF8 2200H,复位值0000 0001H。

Bit position

Bit Name

Function

31 - 3

保留

2 - 0

ATAUJDCSID [2:0]

000: 禁止配置

001: 选择时钟/1

010: 选择时钟/2

011: 选择时钟/4

100: 选择时钟/8

其他禁止配置

1.4 TAUJ时钟分频激活状态寄存器C_AWO_TAUJ Clock Divider Active Register

CKSC_ATAUJD_ACT定时器TAUJ时钟分频激活状态寄存器可以32bit读。地址:FFF8 2208H,复位值0000 0001H。

Bit position

Bit Name

Function

31 - 3

保留

2 - 0

ATAUJDACT [2:0]

000: 禁止配置

001: 选择时钟/1

010: 选择时钟/2

011: 选择时钟/4

100: 选择时钟/8

其他禁止配置

时钟分频寄存器配置后,需要读这个寄存器,直到这个寄存器值和时钟时钟分频寄存器值一致,说明时钟分频寄存器配置成功。

1.5 TAUJ时钟待机模式停止寄存器C_AWO_TAUJ Stop Mask Register

CKSC_ATAUJD_STPM定时器TAUJ待机模式停止寄存器可以32bit读写。地址:FFF8 2218H,复位值0000 0002H。

Bit position

Bit Name

Function

31 - 1

保留

0

ATAUJD

STPMSK

0: 待机模式停止

1: 待机模式不停止

其他外设寄存器和TAUJ基本相同,这里就不介绍了。

二、RH850-F1K时钟源及外设时钟配置例程

void Init_Clocks(void)

{

/*配置主晶振 16M*/

if((CLKCTLMOSCS&0x04u) != 0x4u)  /* 检测MainOsc 有没有启动 */

       {

CLKCTLMOSCC=0x06;  /* 10B,(8MHz < MOSC frequency =< 16MHz) */

            CLKCTLMOSCST=0x8000;  /* 设置稳定延时时间(8,19 ms) */

protected_write(WPROTRPROTCMD0,WPROTRPROTS0,CLKCTLMOSCE,0x01u);  /* MOSCE=0x01,使能主晶振*/

while (((CLKCTLMOSCS&0x04u) != 0x04u) != 0x04u); /* 等待MainOSC正常工作 */

}

/*配置PLL 80M*/

if((CLKCTLPLLS&0x04u) != 0x04u)  /* 检测PLL有没有启动 */

{

CLKCTLPLLC=0x00010B3B;  /* 配置PLL控制寄存器,主晶振 16M,CPLLOUT,PPLLOUT输出80M,数据来源见前面分析*/

protected_write(WPROTRPROTCMD1,WPROTRPROTS1,CLKCTLPLLE,0x01u);  /*使能 PLL */

while((CLKCTLPLLS&0x04u) != 0x04u){}   /*等待 PLL正常工作 */

}

/*配置CPU时钟80M*/

protected_write(WPROTRPROTCMD1,WPROTRPROTS1,CLKCTLCKSC_CPUCLKD_CTL,0x01u); /*CPU时钟480/6=80M */

while(CLKCTLCKSC_CPUCLKD_ACT!=0x01u);

protected_write(WPROTRPROTCMD1,WPROTRPROTS1,CLKCTLCKSC_CPUCLKS_CTL,0x03u); /*CPU时钟源选择,BIT1-0, 3-PLL输出CPLLCLK*/

while(CLKCTLCKSC_CPUCLKS_ACT!=0x03u); /*等待 CPU时钟正常工作 */

/* 设置PERI2总线 40 MHZ (PPLLCLK2) */

protected_write(WPROTRPROTCMD1,WPROTRPROTS1,CLKCTLCKSC_IPERI2S_CTL,0x02u);

while(CLKCTLCKSC_IPERI2S_ACT!=0x02u);

/*设置ADCA0时钟 40 MHZ (PPLLCLK2)  */

protected_write(WPROTRPROTCMD0,WPROTRPROTS0,CLKCTLCKSC_AADCAS_CTL,0x03u);

while(CLKCTLCKSC_AADCAS_ACT!=0x03u);

/*设置ADCA1时钟 40 MHZ (PPLLCLK2)  */

protected_write(WPROTRPROTCMD1,WPROTRPROTS1,CLKCTLCKSC_IADCAS_CTL,0x03u);

while(CLKCTLCKSC_IADCAS_ACT!=0x03u);

/*设置RLIN时钟 40 MHZ (PPLLCLK2)  */

protected_write(WPROTRPROTCMD1,WPROTRPROTS1,CLKCTLCKSC_ILINS_CTL,0x03u);

while(CLKCTLCKSC_ILINS_ACT!=0x03u);

/*设置CAN时钟80 MHZ (CPUCLK)  */

protected_write(WPROTRPROTCMD1,WPROTRPROTS1,CLKCTLCKSC_ICANS_CTL,0x03u);

while(CLKCTLCKSC_ICANS_ACT !=0x03u);

/*设置CAN通讯时钟16 MHZ (main osc)  */

protected_write(WPROTRPROTCMD1,WPROTRPROTS1, CLKCTLCKSC_ICANOSCD_CTL,0x01u);

while(CLKCTLCKSC_ICANOSCD_CTL !=0x01u);

/* Select the Low Speed IntOsc(240kHz) as TAUJ Clock */

/*设置TAUJ时钟40 MHZ (PPLLCLK2)  */

protected_write(WPROTRPROTCMD0,WPROTRPROTS0,CLKCTLCKSC_ATAUJS_CTL,0x04u);  //??

while(CLKCTLCKSC_ATAUJS_CTL!=0x04u);

}

RH850时钟相关说明完成了,时钟是单片机系统最基本部分,时钟初始化完成后,系统就可以跑起来了。

2、RH850外设时钟选择及配置相关推荐

  1. STM32F105、107RB使用外部晶振8M时配置外设时钟为72M

    转发:STM32F105RBT6使用外部晶振8M时配置外设时钟为36M_yunke120的博客-CSDN博客 STM32F105.107属于互联型芯片在stm官方库文件设置中默认外接晶振为25MHZ, ...

  2. 【ARM自学笔记】ARM7时钟简述及配置

    简述 所使用的芯片为NXP的I.MX6U. 硬件分析 原理图如下: 分为两个来源: 32.768KHz晶振(I.MX6U的RTC时钟源) 24MHz晶振(I.MX6U内核和外设的时钟源) 流程分析 P ...

  3. 阿尔法系统时钟和外设时钟

    一.系统时钟 1.时钟树 I.MX6U 的系统主频为 528MHz,但是默认情况下内部 boot rom 会将 I.MX6U 的主频设置为396MHz I.MX6U-ALPHA 开发板的系统时钟来源于 ...

  4. 蓝桥杯物联网竞赛基础图文教程——时钟选择

    蓝桥杯物联网竞赛基础图文教程--时钟选择 1什么是时钟 时钟是单片机运行的基础,时钟信号推动单片机内各个部分执行相应的指令.时钟系统就是CPU的脉搏,决定cpu速率,像人的心跳一样 只有有了心跳,人才 ...

  5. STM32F103ZET6的时钟系统RCC配置

    家人们,今天分析了一下手头ZET6开发板的时钟配置过程,记录一下下: 根据正点原子的<库函数开发指南>,时钟系统可以用时钟树来表示: 一共有HSE(高速外部时钟4-16M,正点原子开发板是 ...

  6. 你需要知道的Linux 系统下外设时钟管理

    嵌入式系统一般要求低功耗,出于这个原因,一般只把需要使用到的外设时钟源打开,其他不需要使用到的模块,则默认关闭它们. LCD 模块,上电时候默认情况是关闭的,所以,要想使用 LCD 模块,配置它寄存器 ...

  7. STM32片上外设时钟使能、失能和复位的区别

    置顶/星标公众号,不错过每一条消息! 今天分享的关于时钟知识,可能很多人没有在意过.这也是之前有朋友问过的问题,这里就简单给大家普及一下吧. 1 RCC时钟说明 在STM32参考手册中,都有Reset ...

  8. 对MSP430F5438的时钟及uart配置

    对MSP430F5438的时钟及uart配置 在使用的过程中,一直认为比较简单,也一直没有深究,忽然这几天卡壳了,出现问题是操作UART发送出的数据给232显示,并不是想得到的数据.这里涉及了两个地方 ...

  9. 服务器CPU和普通家用CPU有什么区别?服务器如何选择CPU配置?

    服务器CPU和普通家用CPU有什么区别?服务器如何选择CPU配置? 大家都知道服务器是指那些具有较高计算能力,能够提供响应成千上万用户服务请求的一种高性能计算机服务器,虽然在硬件结构上和通用的个人计算 ...

  10. 【超简单】MySQL存储引擎的选择与配置

    [超简单]MySQL存储引擎的选择与配置 存储引擎简介 MySQL中的数据用各种不同的技术存储在文件(或内存)中.每一种技术都使用不同的存储机构,索引技巧,锁定水平并且最终提供广泛的不同的功能和能力. ...

最新文章

  1. select,epoll,poll比较
  2. 杭电 1272 poj 1308 小希的迷宫
  3. 成功解决bash syntax error near unexpected token from
  4. Hdu 1754 . I Hate It
  5. java中的复合数据类型是什么_【填空题】类是Java中的一种重要的复合数据类型,是组成Java程序的基本要素。一个类的实现包括两部分:____和_____....
  6. flink 写kafka_网易云音乐基于 Flink + Kafka 的实时数仓建设实践
  7. Storm的BaseBasicBolt源码解析ack机制
  8. mysql数据库连接配置路径_关于mysql安装后更改数据库路径方法-linux环境
  9. JS获取页面 GET 方式请求的参数
  10. c语言编程简单好玩的图,几个有趣的画图编程
  11. php有没有能无限遍历,php无限遍历目录代码
  12. selenium模拟刷百度流量源码
  13. c语言人名首字母大写,关于字符串:如何在C中大写名字和姓氏的首字母?
  14. 什么品牌台灯最舒服?盘点2023最好的台灯品牌
  15. WINCC 7.5 sp1 sp2安装包,硬件狗等,Sim_EKB_Install_2018下载
  16. Java web 课程设计——图书馆管理系统(SSM)
  17. 手术麻醉系统管理源码
  18. 蓄电池内阻变化规律 解释电车猛加速电压降低,匀速后又上升
  19. 一个奇特的轨对轨运放OPA340
  20. 远程面试之企业招聘新方式

热门文章

  1. matlab怎么画地震反应谱,地震工程学-反应谱和地震时程波的相互转化matlab编程...
  2. I210网卡LINUX的mac,intel(R)I211网卡刷I210简易教程
  3. jrtplib使用笔记
  4. 基于51单片机的电子秤设计
  5. matlab实用教程 答案,含答案《matlab实用教程》.doc
  6. 计算机科学中的张量,杨晓伟教授到我院做“张量学习的几个关键问题”学术报告...
  7. oracle导出要工具,Oracle导出工具的具体操作步骤详解
  8. Silverlight 4 RC发布和详细更新
  9. SHELLEXECUTEINFO,ShellExecuteEx
  10. Mac环境下AndroidStudio关于 Failed to resolve: org.jetbrains.kotlin:kotlin-stdlib-jre7的错误