AT91RM9200---电源管理控制器(PMC)介绍
1.前言
PMC通过集成的两个OSC(一个主振荡器和一个慢时钟振荡器32.768khz)和两个PLLs产生系统所有的clock。
PMC提供时钟给嵌入式处理器,并通过在IDLE模式下停止处理器时钟,直到下一个中断到来
PMC独立提供并控制多达30路外设时钟和4路可编程时钟,这4路时钟可通过pin脚输出给外设
PLLS应总线需求给USB设备和host端口提供了一个48M时钟,给其它设备提供其它频率的时钟。
PMC支持如下几种模式:Normal, idle, slow clock, standby
2.产品依赖
- I/O线
用来产生外部时钟
- 中断
- 振荡器与PLL
- 外设时钟
控制多大30路外设时钟
- USB时钟
控制两路USB时钟,分别是HOST和device
3.系统框图

图 系统框图
- 时钟控制
一个主时钟和一个slow clk(32.768khz)
- 两个PLLS和分频器
时钟预分频
- 提供的时钟包括
Processor clk, master clk, usb clk, 30路外设时钟,4路可编程时钟输出
- 4种操作模式
4. 功能描述
4.1 操作模式
- normal模式
ARM处理器时钟使能,外设时钟使能根据需要定义
- IDLE模式
ARM处理器时钟禁用,等到下次中断来
- 慢时钟模式
主振荡器及PLL关闭,处理器及外设工作在slow clock
standby模式
是idle模式与slow clock模式的结合
4.2 时钟定义
- Slow clock
典型32.768KHZ,是系统中唯一不变的时钟;
- master clock
可以从几百HZ到设备的最大操作频率
- processor clock
为ARM CORE提供的时钟,IDLE时会关闭
- 外设时钟
- USB DEVICE 端口操作时钟
- USB HOST端口操作时钟
- 可编程的输出时钟
4.3 时钟产生器

图 时钟产生器
4.4 slow clk振荡器

图 慢时钟振荡器连接
4.5 主时钟振荡器


为了节约功耗,reset后主时钟被禁用,slow clock模式被选择
4.6 分频器与PLL模块


4.7 clock控制器
- master clock控制器

图 master clock控制器
- processor clock控制器
- 外设时钟控制器
- USB时钟控制器
- 可编程时钟输出控制器
AT91RM9200---电源管理控制器(PMC)介绍的更多相关文章
- Linux电源管理(5)_Hibernate和Sleep功能介绍【转】
本文转载自:http://www.wowotech.net/pm_subsystem/std_str_func.html 1. 前言 Hibernate和Sleep两个功能是Linux Generic ...
- [专业名词·硬件] 2、DC\DC、LDO电源稳压基本常识(包含基本原理、高效率模块设计、常见问题、基于nRF51822电源管理模块分析等)·长文
综述先看这里 第一节的1.1简单介绍了DC/DC是什么: 第二节是关于DC/DC的常见的疑问答疑,非常实用: 第三节是针对nRF51822这款芯片电源管理部分的DC/DC.LDO.1.8的详细分析,对 ...
- iOS开发UI篇—多控制器和导航控制器简单介绍
iOS开发UI篇—多控制器和导航控制器简单介绍 一.多控制器 一个iOS的app很少只由一个控制器组成,除非这个app极其简单.当app中有多个控制器的时候,我们就需要对这些控制器进行管理 有多个vi ...
- USB电源管理
在USB总线接口协议中,由于涉及电源供电,因此协议中规定了完整的电源管理方案.通过USB电源管理可以实现USB设备的激活.挂起.空闲和睡眠等,从而降低无效的功率消耗,实现系统电源的有效使用和合理分配. ...
- Android电源管理-休眠简要分析
一.开篇 1.Linux 描述的电源状态 - On(on) S0 - Working - Standb ...
- exynos 4412 电源管理芯片PMIC 的配置及使用方法
/** ****************************************************************************** * @author Maox ...
- linux电源管理系列(一)
本系列将逐步介绍linux电源管理相关的知识,涉及到常见电源管理机制.linux电源管理机制.linux驱动中有关电源管理的相关接口.内核文档中关于Linux电源管理架构文档的分析.以下将以此来介绍相 ...
- linux驱动程序之电源管理之Run-time PM 详解(4)
Run-time PM. 每个device或者bus都会向run-time PM core注册3个callback struct dev_pm_ops { ... int (*runtime_su ...
- linux驱动程序之电源管理之新版linux系统设备架构中关于电源管理方式的变更
新版linux系统设备架构中关于电源管理方式的变更 based on linux-2.6.32 一.设备模型各数据结构中电源管理的部分 linux的设备模型通过诸多结构体来联合描述,如struct d ...
- STM32电源管理
(1)3时钟模式 ①睡眠模式②停止模式③待机模式 1.睡眠模式:Cortex-M3内核(理解为CPU)停止工作,CPU供电1.8V有着,周边任何执行.执行 2.停机模式:全部时钟都停止,CPU电 ...
随机推荐
- 【题解】 bzoj3450 JoyOI1952 Easy (期望dp)
题面戳我 Solution 期望的题目真心不太会 定义状态\(f[i]\)表示到第\(i\)期望长度,\(dp[i]\)表示期望分数 如果上一步的持续\(o\)长度为\(L\),那么贡献是\(L^2\ ...
- Shell基础知识(二)
对于一个shell脚本来说,第一行是 "#!/bin/bash",这条命令中的 "#!" 告诉系统该用哪一款解释器来对该脚本进行解释,后面的"/bin ...
- LoadRunner回放乱码
乱码的原因和服务器字符集编码相关,默认LR是gbk解码,如果服务器是utf8,那么需要改为utf8解码,这样中文就显示正常了. 通过查看源码,可以知道服务器的编码方式:<meta charset ...
- 拆分string 用空格 逗号
string that have both comma and space struct tokens: std::ctype<char>{ tokens(): std::ctype< ...
- 【LOJ#6282】数列分块6
题目大意:给定一个由 N 个数组成的序列,维护两种操作:单点询问,单点插入.N < 100000 题解:在块内维护一个链表,支持动态插入数字,同时对于非随即数据来说,若块的大小过大,需要重构. ...
- 【LOJ#6278】数列分块2
题目大意:分块维护一个有 n 个数字的序列,有两种操作:区间加,区间查询小于某个数的元素个数.n <= 50000 预处理阶段:处理出块内元素的相对大小顺序(排序),时间复杂度为 \(O(nlo ...
- OpenCV 无法启动此程序,因为计算机中丢失opencv_core249.dll。请尝试重新安装改程序已解决此问题
换了64位的系统,配置好之后运行之前的程序,竟然给我抛出这个错误.应该是我的opencv没有安装对吧.系统报错 无法启动此程序,因为计算机中丢失opencv_core249.dll.请尝试重新安装改程 ...
- (stack)Train Problem I hdu1022
Train Problem I Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- java.lang.NoClassDefFoundError: org/junit/runner/manipulation/Filter
今天想写个随笔,最近经常遇到使用junit的时候报java.lang.NoClassDefFoundError,今天算是恍然大悟了,原来junit虽然在gradle里面配置了,也在Project an ...
- cisco常用命令详解
cisco常用命令详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常用命令用法展示 1.命令行模式的来回切换 yinzhengjie>enable #从用户模式切换到 ...