嵌入式时钟系统结构
更新时间:2023-06-06 21:55:01 阅读量: 实用文档 文档下载
- 嵌入式时钟的作用推荐度:
- 相关推荐
嵌入式时钟系统结构
【摘要】
时钟是嵌入式系统的脉搏,处理器内核在时钟驱动下完成指令执行,状态变换等动作.外设部件在时钟的驱动下完成各种工作,比如串口数据的发送、A/D转换、定时器计数等等。因此时钟对于计算机系统是至关重要的,通畅时钟系统出现问题也是致命的,比如振荡器不起振、振荡不稳、停振等。由于从事波分软件开发的工作,对于硬件知识并不是很了解,而时钟系统在嵌入式设计占有很重要的作用。因此,通过ARM中常用的LPC2000系列的时钟系统结构为例,来对嵌入式时钟系统中常见概念和器件进行学习总结。
本文主要描述典型的嵌入式系统设计中的时钟系统结构以及时钟系统常用的器件功能和原理介绍,以及如何通过PLL的结构来推导PLL各项参数的值,为日后软件开发的同事来了解时钟的结构和功能提供借鉴和帮助。
1概述
如下图1所示,ARM的时钟系统包括4部分,分为晶体振荡器、唤醒定时器、锁相环(PLL)和VPB分频器。其中晶体振荡器为系统提供基本的时钟信号(频率为Fosc)。当复位或者处理器从掉电模式唤醒时,“唤醒定时器”要对输入的时钟信号做计数延时,使芯片内部的部件有时间进行初始化。然后Fosc被PLL提高到一个符合用户需要的频率Fcclk,Fcclk用于CPU内核。因为CPU内核通常比外设部件的工作速度要快,用户可以通过设置VPB分频器,把Fcclk信号降低到一个合适的值Fpclk,该信号用于外设部件。以下是对各个部件和常见概念的介绍。
图1__ARM 系统的时钟发生系统
2晶体振荡器
晶体振荡器可以使用外部时钟源,也可以使用外接晶体和片内振荡电路产生时钟,其中使用外部时钟源时,称为“从属模式”,使用外部晶体时,称为“振荡模式”,其中在采用振
荡模式时,需要根据微控制器内部的振荡电路支持的频率来选择晶体,例如:ARM的振荡电路仅支持1~30MHz的外部晶体。其中ARM的时钟Fosc的选择可以按照以下图2流程进行处理,
图2_Fosc的选择
3唤醒定时器
唤醒定时器的用途是:确保振荡器和芯片所需的电路在处理器开始执行指令之前有足够的时间能够让其开始正确工作,它是通过监测晶振状态来判断是否能开始可靠的执行代码,工作原理如下图3所示,
图3_唤醒定时器工作原理
当给芯片加电或者因为某个事件退出掉电模式后,振荡器开始工作,但需要一段时间来产生足够振幅的信号驱动时钟逻辑。时间的长短取决于许多因素,包括Vdd的上升速率,晶振的类型及其电气特性,任何其他外部电路和振荡器在现有环境下自身的特性,振荡的波形大致如下图4所示,当检测到有效时钟,并且外部复位信号撤销后,唤醒定时器开始时钟计数,此时可以使Flash等外围器件完成初始化,当初始化完成后,处理器开始执行指令,但是当使用外部时钟源时,振荡器的启动延时可能就很短甚至没有,唤醒定时器的设计就避免了芯片的某些部件因为系统复位太快而来不及准备好的现象。它在处理器从掉电模式中唤醒或者发生了任何复位时激活。唤醒定时器完全由硬件自动控制,不需要用户干预,在系统
正常工作后将不再起任何作用。
图4_上电后时钟波形及其唤醒定时器的作用
4锁相环PLL
ARM内部具有PLL电路,振荡器产生的时钟频率Fosc通过PLL升频,可以获得
更高的系统时钟Fcclk。PLL的输出时钟信号Fcclk是由电流控制振荡器(CCO)分频的到的,CCO的振荡频率由“相位频率检测”部件控制,该部件会比较Fosc信号和CCO输出的反馈信号的相位和频率,并根据误差输出不同的电流值,该电流值再控制CCO的振荡频率。这样的环路可以保证“相位频率检测”部件的两路输入信号非常接近。PLL的内部结构图可以简化为图5所示,但是通常CCO的受控范围是有限的,超出这个范围则无法输出预期的时钟信号。
图5_PLL功能原理结构简化图
图中的2P分频器部件是为了保证CCO工作在正常范围内而设计的,该分频器可以设置为2、4、8或者16分频,该分频器另外的一个作用是保证PLL输出的波形为50%的占空比(一个信号周期中高地电平的宽度相等)。CCO进行过分频后就获取了系统所需的系统时
钟,其频率应当限制在芯片厂家规定的范围内,而不要尝试在嵌入式系统中使处理器处于超频工作状态。需要注意的是CCO的输出控制在需要频率的过程并不是一蹴而就的,而是一个反复的反馈控制过程,可以简单的用图6来表示,这个稳定的过程就是“PLL锁定的过程”,锁定之前的频率是不稳定的,不能用于处理器,因此图5中存在PLL连接开关的原因,锁定前,开关向下方,系统使用Fosc作为时钟信号,锁定后,开关向上,使用PLL的输出作为时钟信号。另外需要注意的是,PLL在芯片复位和进入掉电模式时会被关闭并从时钟系统切换出去,芯片从掉电模式被唤醒后,PLL并不会自动使能和连接,只能通过软件使能。程序必须在配置并激活PLL后等待其锁定,然后再连接PLL。
图6_PLL锁定过程示意图
下面对PLL的频率配置计算过程介绍,在此之前先把等式中用来的符合做一个定义,其中Fosc表示晶体振荡器的输出频率,即PLL的输入功率,Fcco表示PLL电流控制振荡器的输出频率,Fcclk表示PLL最终的输出频率,即处理器的时钟频率,M表示PLL配置寄存器中倍增器值,P表示分频器值。CCO输出的频率Fcco首先经过2P分频部件后得到
Fcco/2P的频率,该信号经过
M分频部件,得到Fcco/2PM的频率,而在PLL锁定后,该信
号频率应当与Fosc是相等的,所以可以依此推导出如下等式,
由以上等式可以得出PLL的输出频率为:
CCO 输出频率为:
其中PLL输入和设定必须满足各自约束的条件。
在实际使用PLL时,要对其进行相应的配置,可以按照以下步骤进行:
1) 选择处理器的时钟频率Fcclk,这可以根据实际处理器的整体要求,UART波特率的支
持等因素来决定。
2) 选择振荡器频率Fosc,Fcclk一定是Fosc的整数倍
3) 计算M值配置PLL。
4) 选择P值配置PLL。
实际工程应用中,配置代码的流程图7可参照如下进行编码:
图7_PLL配置处理流程图
5VPB分频器
VPB总线是芯片中一个重要的内部总线,绝大部分的外设都挂接在VPB总线上,然而大部分的外设工作速度相对与CPU内核来说都是比较慢的,所以在时钟系统中设置了VPB分频器,它决定处理器时钟CCLK与外设器件所使用的时钟PCLK之间的关系,它的用途主要如下:
1) 将处理器时钟分频,以便让外设在合适的速度下工作。
2) 降低系统功耗,系统工作频率越大,功耗越大。
6推广建议
通过本文的例子可以了解典型的嵌入式时钟系统的结构和常见器件的概念和理解;此外希望对开发人员进行培训,在日后的嵌入式开发设计和故障维护中可以参照此文进行对时钟系统进行分析,一方面提高软件开发人员的知识面,另一方面也加强定位解决故障时的能力提升,希望大家提供反馈意见,提高单板的健壮性。
参考资料
1.【嵌入式系统介绍】上海交大PPT
2.【ARM 嵌入式系统基础教程】 周立功 2010
3.【嵌入式系统编程与设计】王继进
正在阅读:
嵌入式时钟系统结构06-06
多变老妈作文400字06-16
小学生二年级写动物的优秀作文400字06-13
四川理工学院微生物菌种选育实验指导11-17
3安全方案04-15
冀教版小学三年级英语下册全册教案203-04
2019年植树节活动方案02-25
怎么写观后感04-01
协议翻译11-23
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 时钟
- 嵌入式
- 结构
- 系统
- 论宋词的发展历程
- 论大学生就业难的原因及对策1
- 全膝关节置换中膝内翻的处理
- 2016年全国卷高考背诵篇目
- 机电工程章节练习(2015-5-15)
- Developing regional tourism in China
- 029章.作用于心血管药物(二)
- 2012三级内蒙古自治区建造师继续教育一点通科目一
- 开膛手杰克吧 【课题】机械性损伤
- 大学本科数学毕业论文
- 大客户中心9月经营分析报告
- 学校期中考试质量分析会上的讲话
- 第2章1 电路分析基础第二版
- Unit6 Colours第一课时
- 规划理想职业 成就
- 平凉市2012年初中毕业暨升学考试 语文试题参考答案及评分标准
- 2016年智慧社区建设——创新社区治理与服务模式解决方案
- 汽车连杆加工工艺及夹具设计(毕业设计)
- 浦东新区科技发展基金创新资金任务(合同)书
- 温州市2014年初中毕业生学业考试分析报告