注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
ilovemcu的个人空间 https://home.eeworld.com.cn/space-uid-386452.html [收藏] [复制] [分享] [RSS]
日志

时钟初始化的说明

已有 1678 次阅读2012-1-8 16:17 |个人分类:STM32|

一 RCC设置说明:

由上图可知AHBAPB的桥(AHB2APBx) ,它连接所有的APB 设备,所以在时钟初始化时我们主要设置几个个地方:

1.系统时钟SYSCLK

2.AHB时钟HCLK.

3.APB1时钟PCLK1

4.APB2时钟PCLK2.

说明:1.SYSCLK主要由HSEPLL决定,SYSCLK = HSE * PLL(倍频数).

      2.AHB时钟由SYSCLK分频后决定。一般取一分频。即SYSCLK = HCLK

      3.PCLK1时钟由HCLK决定。由于PCL1最大时钟为36MHZ,而HCLK一般为72Mhz,所以PCLK1一般取HCLK2分频后的值,即PCLK1 = HCLK/2.

      4.PCLK2时钟也由HCLK决定,因为PCLK2最大时钟为72MHZ,所以PCL2时钟取HCLK一分频后的值。即PCLK2  = HCLK; 

 FLASH说明

闪存读取 

闪存的指令和数据访问是通过AHB总线完成的。预取模块是用于通过ICode 总线读取指令的。仲裁是作用在闪存接口,并且DCode总线上的数据访问优先。 

读访问可以有以下配置选项: 

●  等待时间:可以随时更改的用于读取操作的等待状态的数量。 

●  预取缓冲区(2 64):在每一次复位以后被自动打开,由于每个缓冲区的大小(64 )与闪

存的带宽相同,因此只通过需一次读闪存的操作即可更新整个缓冲区的内容。由于预取缓

冲区的存在,CPU可以工作在更高的主频。CPU每次取指最多为32位的字,取一条指令

时,下一条指令已经在缓冲区中等待。 

●  半周期:用于功耗优化。 

注: 1. 这些选项应与闪存存储器的访问时间一起使用。等待周期体现了系统时钟(SYSCLK) 频率与闪

存访问时间的关系: 

  0等待周期,当 0 < SYSCLK < 24MHz 

  1等待周期,当 24MHz < SYSCLK  ≤ 48MHz 

  2等待周期,当 48MHz < SYSCLK  ≤ 72MHz 

 2 . 半周期配置不能与使用了预分频器的AHB一起使用,时钟系统应该等于HCLK时钟。该特性

只能用在时钟频率为8MHz 或低于8MHz 时,可以直接使用的内部RC振荡器(HSI),或者是主振

荡器(HSE) ,但不能用PLL 。 

 3. AHB预分频系数不为1时,必须置预取缓冲区处于开启状态。    

 4. 只有在系统时钟(SYSCLK) 小于24MHz并且没有打开AHB的预分频器(HCLK必须等于

SYSHCLK)时,才能执行预取缓冲器的打开和关闭操作。一般而言,在初始化过程中执行预取

缓冲器的打开和关闭操作,这时微控制器的时钟由8MHz 的内部RC振荡器(HSI)提供。 

 5. 使用DMADMADCode总线上访问闪存存储器,它的优先级比ICode 上的取指高。DMA

每次传送完成后具有一个空余的周期。有些指令可以和DMA传输一起执行

全部作者的其他最新日志
评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章