ARM 时钟小结

发布者:星光闪耀最新更新时间:2015-10-16 来源: eefocus关键字:ARM  时钟小结 手机看文章 扫描二维码
随时随地手机看文章
在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。

  ①、HSI是高速内部时钟,RC振荡器,频率为8MHz。

  ②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。

  ③、LSI是低速内部时钟,RC振荡器,频率为40kHz。

  ④、LSE是低速外部时钟,接频率为32.768kHz的石英晶体。

  ⑤、PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。

  其中40kHz的LSI供独立看门狗IWDG使用,另外它还可以被选择为实时时钟RTC的时钟源。另外,实时时钟RTC的时钟源还可以选择LSE,或者是HSE的128分频。RTC的时钟源通过RTCSEL[1:0]来选择。

  STM32中有一个全速功能的USB模块,其串行接口引擎需要一个频率为48MHz的时钟源。该时钟源只能从PLL输出端获取,可以选择为1.5分频或者1分频,也就是,当需要使用USB模块时,PLL必须使能,并且时钟频率配置为48MHz或72MHz。

  另外,STM32还可以选择一个时钟信号输出到MCO脚(PA8)上,可以选择为PLL输出的2分频、HSI、HSE、或者系统时钟。

  系统时钟SYSCLK,它是供STM32中绝大部分部件工作的时钟源。系统时钟可选择为PLL输出、HSI或者HSE。系统时钟最大频率为72MHz,它通过AHB分频器分频后送给各模块使用,AHB分频器可选择1、2、4、8、16、64、128、256、512分频。其中AHB分频器输出的时钟送给5大模块使用:

  ①、送给AHB总线、内核、内存和DMA使用的HCLK时钟。

  ②、通过8分频后送给Cortex的系统定时器时钟。

  ③、直接送给Cortex的空闲运行时钟FCLK。

  ④、送给APB1分频器。APB1分频器可选择1、2、4、8、16分频,其输出一路供APB1外设使用(PCLK1,最大频率36MHz),另一路送给定时器(Timer)2、3、4倍频器使用。该倍频器可选择1或者2倍频,时钟输出供定时器2、3、4使用。

  ⑤、送给APB2分频器。APB2分频器可选择1、2、4、8、16分频,其输出一路供APB2外设使用(PCLK2,最大频率72MHz),另一路送给定时器(Timer)1倍频器使用。该倍频器可选择1或者2倍频,时钟输出供定时器1使用。另外,APB2分频器还有一路输出供ADC分频器使用,分频后送给ADC模块使用。ADC分频器可选择为2、4、6、8分频。

  在以上的时钟输出中,有很多是带使能控制的,例如AHB总线时钟、内核时钟、各种APB1外设、APB2外设等等。当需要使用某模块时,记得一定要先使能对应的时钟。

  需要注意的是定时器的倍频器,当APB的分频为1时,它的倍频值为1,否则它的倍频值就为2。

  连接在APB1(低速外设)上的设备有:电源接口、备份接口、CAN、USB、I2C1、I2C2、UART2、UART3、SPI2、窗口看门狗、Timer2、Timer3、Timer4。注意USB模块虽然需要一个单独的48MHz时钟信号,但它应该不是供USB模块工作的时钟,而只是提供给串行接口引擎(SIE)使用的时钟。USB模块工作的时钟应该是由APB1提供的。

  连接在APB2(高速外设)上的设备有:UART1、SPI1、Timer1、ADC1、ADC2、所有普通IO口(PA~PE)、第二功能IO口。


void RCC_Configuration(void)
{
ErrorStatus HSEStartUpStatus;


// RCC_DeInit();


RCC_HSEConfig(RCC_HSE_ON);


HSEStartUpStatus = RCC_WaitForHSEStartUp();

if(HSEStartUpStatus == SUCCESS)
{
   
    RCC_HCLKConfig(RCC_SYSCLK_Div1);

   
    RCC_PCLK2Config(RCC_HCLK_Div1);

   
    RCC_PCLK1Config(RCC_HCLK_Div2);

   
    RCC_ADCCLKConfig(RCC_PCLK2_Div6);

   
    FLASH_SetLatency(FLASH_Latency_2);

   
    FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

   
    RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);//Pll在最后设置

   
    RCC_PLLCmd(ENABLE);

   
    while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
    {
    }

   
    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

   
    while(RCC_GetSYSCLKSource() != 0x08)
    {
    }
}


RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |RCC_APB2Periph_GPIOC
         | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | RCC_APB2Periph_AFIO, ENABLE);


RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);


RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN, ENABLE);
}

关键字:ARM  时钟小结 引用地址:ARM 时钟小结

上一篇:定时器使用小结
下一篇:ARM的22个常用概念总结

推荐阅读最新更新时间:2024-03-16 14:36

基于ARM和GPRS技术的家居实时安防系统设计方案
  引言   最近几年随着我国城镇化的快速推进,人们的居住环境得到了很大的提升,家中的各类贵重物品也越来越多。由于城市的流动人口相对复杂,因此家居防盗已经成为人们非常关注的问题,对于家居安防方面的研究国内外都有不少方案。而这些方案基本都采用了运行嵌入式操作系统的高性能ARM9或者ARM11平台,外围搭配多种高端传感器,这类方案成本都较高。本文介绍一种基于低成本32位ARM平台为控制核心的家居实时安防系统,以更具实用性的设计和更低的成本,提供了一套实时安防解决方案,能很好地满足大部分家庭对家居安防的需求。   1 系统结构   从图1可以看出系统的模块化设计思想,充分利用成熟的技术和模组产品,有利于降低设计的难度和整体成本。系统
[单片机]
基于<font color='red'>ARM</font>和GPRS技术的家居实时安防系统设计方案
ARM发布全新处理器架构 性能提升3.5倍
ARM周二发布了新的处理器设计,提升了处理器的计算性能和图形处理能力,从而满足未来一年智能手机和平板电脑的需求。    ARM Cortex-A72架构基于ARM 64位v8-A指令集,官方宣称新架构的性能相比五年前提升了50倍,也是去年主流的Cortex-A15性能的3.5倍,同时其功耗更是降低了75%之多。    而功耗的降低很大程度上源自该架构转为16纳米FinFET工艺技术,这将相比20纳米的设计提升能耗效率,可允许核心主频最高至2.5GHz。同时ARM也正在改善其big.LITTLE大小核技术,如此将额外降低40%-60%的功耗。      ARM也在此次介绍了全新CoreLink CC
[单片机]
ARM Linux内核启动要求
这篇文章英文原版 ARM Linux Kernel Boot Requirements ,是ARM Linux内核的维护者Russell King写的。在此我将其简易的翻译成中文,方便大家学习下。 原版:http://www.arm.linux.org.uk/developer/booting.php Author: Russell King Initial date: May 18, 2002 Revision: 1 - 17 September 20042 - 30 September 2004 为了启动ARM Linux,首先,你需要一个bootloader,它是一个很小的程序(在内核运行之前启动)。bootloade
[单片机]
基于ARM 和Qt/E的车载HMI终端设计
  改善HMI (Human Mac hine Inte rf ace)终端性能可降低车辆 控制系统 操作的复杂性,也可提高驾驶员对自己车辆的控制力。车载HMI通过单一结构中控台,可以减少零部件数量,提高性价比。传统机械式的控制终端正在逐步向直观、便捷的HMI终端发展。2009年6月29日,美国汽车多媒体与 通信 研究服务公司Strategy Analyt ic s发布最新研究报告,认为“车载 人机界面 市场领先者保持强势地位”。报告预测,2015年,车载语音和 触摸屏 市场规模将达到29 亿美元。目前,HMI设备,尤其是语音、触觉控制和触摸屏,在汽车市场上被大量应用。   本文报告了一种基于触摸控制与数字显示理念的车载HMI
[电源管理]
基于<font color='red'>ARM</font> 和Qt/E的车载HMI终端设计
[ARM笔记]设备IO端口和IO内存的访问
设备通常会提供一组寄存器来用于控制设备、读写设备和获取设备状态,即控制寄存器、数据寄存器和状态寄存器。这些寄存器可能位于IO空间,也可能位于内存空间。当位于IO空间时,通常被称为IO端口,位于内存空间时,对应的内存空间成为IO内存。 1. Linux IO端口和IO内存访问接口 1.1 IO端口 在Linux设备驱动中,应使用Linux内核提供的函数来访问定位于IO空间的端口,这些函数包括如下几种: (1)读写字节端口(8位宽) unsigned inb(unsigned port); void outb(unsigned char byte , unsigned port); (2)读写字端口(16位宽) unsigned
[单片机]
英飞凌与ARM宣布签订战略性架构许可协议
英飞凌科技股份公司(FSE: IFX/ OTCQX: IFNNY)和ARM(LSE: ARM /Nasdaq: ARMH)近日宣布,将在面向芯片卡和安全应用的安全控制器领域展开长期战略合作。根据这份协议,英飞凌将获得ARMv6M和ARMv7M架构的使用许可。利用其自有的兼容ARM®架构的专用CPU内核,结合行业许可应用最广泛的32位CPU技术优势,英飞凌将满足安全市场当前及未来对基于硬件的安全应用的需求。 英飞凌是唯一获得专用于安全应用的ARM架构许可的ARM合作伙伴。根据这份协议,英飞凌能够将其创新安全技术整合到CPU内核中,同时保持与标准ARM处理器指令集的兼容性。通过这种方法,可以重复利用代码,并可利用广博的A
[嵌入式]
飞思卡尔携手 ARM 和 Oracle 为“一体化”IoT网关平台喜添全新垂直细分市场支持
三家公司还合作进行 ARM mbed 项目,简化物联网边缘/传感器节点开发 2013 年 10 月 29 日,美国圣克拉拉 (ARM® TechCon® 2013) 讯-随着市场对公共、开放和安全的物联网 (IoT) 服务交付基础设施(从云到网络边缘)的需求不断增加,飞思卡尔半导体 (NYSE: FSL)、ARM® 及 Oracle® 为新一代 IoT 服务提供商和边缘节点开发人员提供更多的细分市场解决方案组合,以响应市场需求。 飞思卡尔携手 ARM 和 Oracle 建立了一个安全的服务平台,为多个垂直市场标准化并巩固 IoT 服务交付与管理。飞思卡尔一体化平台完美结合了端到端软件与融合分层智能网关,为安全地交付和管理IoT
[单片机]
ARM嵌入式汽车节能控制系统
  ARM嵌入式汽车节能控制系统   引言   由于各种原因,公交车总是不断重复加速—减速或停车—再加速的过程。通过加装本节能装置,当汽车需要制动时,在主控单元的控制下,可将汽车行驶时具有的巨大动能通过空气压缩机转化成高压气体的势能并储存起来,从而实现汽车减速或停车。当汽车需要启动或加速时,用储存起来的高压气体势能代替燃油来驱动汽车,从而实现汽车能量的回收再利用,达到节能的效果。同时由于汽车在起动或加速时能耗最大,如果汽车是用燃油驱动,则此时油料燃烧不充分,燃烧效果最差,而且产生的噪音最大。   系统工作原理   本系统主要由三部分组成,即检测部分,控制部分和执行机构。检测部分包括踏板位置传感器、曲轴位置传感器、压缩机活塞
[汽车电子]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved