版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十二章
GP32的其他功能模块主要内容
CONFIG寄存器
时钟发生模块CGM与锁相环PLL
中断
复位与系统集成模块
低功耗模式与看门狗功能
监控模块MON《嵌入式应用技术基础教程》课件12.1CONFIG寄存器(1)CONFIG2
CONFIG2寄存器只有低两位有定义,CONFIG2的地址是:$001E,定义为:
《嵌入式应用技术基础教程》课件数据位D7D6D5D4D3D2D1D0定义
OSCSTOPENBSCIBDSRC复位00000000D1—OSCSTOPENB位:振荡器STOP模式下允许位。OSCSTOPENB=1,振荡器在STOP模式下也正常工作。这一点对于时基模块在STOP模式下产生周期性的唤醒非常有用。OSCSTOPENB=0,在STOP模式下禁止振荡器工作。D0—SCIBDSRC位:SCI波特率时钟源控制位。SCIBDSRC控制SCI的时钟源。这个位的设置影响SCI操作的频率。SCIBDSRC=1,SCI用内部总线时钟,反之,SCI用外部振荡器时钟。
12.1CONFIG寄存器(2)CONFIG1
CONFIG1的地址是:$001F,定义为:《嵌入式应用技术基础教程》课件数据位D7D6D5D4D3D2D1D0定义COPRSLVISTOPLVIPWRDLVIRSTDLIV50R3SSRECSTOPCOPD复位00000000D7—COPRS位:COP速度选择位。COPRS选择COP溢出的范围。
D6—LVISTOP位:STOP模式下LVI允许位。
D5—LVIRSTD位:LVI复位禁止位。D4—LVIPWRD位:为LVI电源禁止位。
D3—LVI5OR3位:LVI的5V或者3V操作模式选择位。
D2—SSREC位:快速STOP模式恢复选择位。
D1—STOP位:STOP指令允许位。STOP位决定是否允许STOP指令。
D0—COPD位:COP禁止位。COPD位决定是否禁止COP模块。返回12.1CONFIG寄存器(1)锁相技术与频率合成技术
③直接频率合成技术:是将一个或几个晶体振荡器产生的频率信号通过谐波发生器产生一系列频率信号,然后再对这些频率信号进行倍频、分频和混频,最后得到大量的频率信号。其优点是:频率稳定度高,频率转换时间短(可达微秒量级),能做到很小的频率间隔。缺点是:系统中要用到大量的混频器、滤波器等,从而导致体积大,成本高,安装调试复杂,故只用于频率精度要求很高的场合。④间接频率合成技术:是利用锁相技术来产生大量的具有高稳定度和高精度的频率源。由于间接频率合成器的关键部件是锁相环,故通常称为锁相环频率合成器。由于锁相环频率合成器的主要部件都易于集成,一般只加一个分频器和一个一阶低通滤波器,故其具有体积小、重量轻、成本低、安装和调试简单等优点。锁相环频率合成器在性能上逐渐接近直接频率合成器,所以它在电子技术中得到了日益广泛的应用,并在应用中得到迅速发展。
12.2.1锁相环PLL的基本概念《嵌入式应用技术基础教程》课件12.2时钟发生模块CGM与锁相环PLL(2)锁相环频率合成器的基本原理锁相环频率合成器的原理框图基准频率源基准频率源鉴相器低通滤波器压控振荡器反馈分频器fr
ud
uo
fo
ff
12.2.1锁相环PLL的基本概念《嵌入式应用技术基础教程》课件12.2时钟发生模块CGM与锁相环PLL锁相环频率合成器的各个部件基准频率源:基准频率源提供一个稳定频率源,其频率为fr,一般用精度很高的石英晶体振荡器产生,是锁相环的输入信号。签相器:签相器是一个误差检测元件。它将基准频率源的输出信号fr的相位与压控振荡器输出信号fo的相位相比较,产生一个电压输出信号ud,其大小取决于两个输入信号的相位差。低通滤波器:低通滤波器的输入信号是签相器的输出电压信号ud,经过低通滤波器后ud的高频分量被滤除,输出控制电压uo去控制压控振荡器。压控振荡器(VCO):压控振荡器的输出信号频率fo与它的输入控制电压uo成一定比例,而分频器将锁相环的输出信号fo反馈给签相器,形成一个负反馈,从而使输入信号和输出信号之间的相位差保持恒定。反馈分频器:分频器为环路提供一种反馈机制,当分频系数N=1时,锁相环系统的输出信号频率fo等于输入信号频率fr:fo=fr
信号锁定后有:fo=ff=fr
当分频器的分频系数N>1,有:fo=N·ff即ff=fo/N
环路锁定后有:ff=fr
fo=N·ff=N·fr《嵌入式应用技术基础教程》课件12.2时钟发生模块CGM与锁相环PLLCGM内部结构晶体振荡电路:晶体振荡电路通过外接石英或陶瓷振荡器产生稳定不变的时钟信号CGMXCLK,CGMXCLK直接输出给系统集成模块SIM和AD转换器。同时也输出到时钟选择模块。CGMXCLK经过缓冲后输出到锁相环频率合成器,作为PLL信号源,这一路信号称为CGMRCLK。
锁相环频率合成器:PLL电路通过压控振荡器(VCO)产生CGMVCLK信号,输出到时钟选择电路。其频率可通过软件编程控制。图中CGMXFC为接滤波电路的引脚。时钟选择电路:时钟发生模块的输出信号CGMOUT有两种来源:直接采用晶振电路产生的CGMXCLK信号二分频,也可以采用压控振荡器(VCO)产生CGMVCLK信号二分频,时钟选择电路可以通过软件编程决定采用那种信号来源。《嵌入式应用技术基础教程》课件12.2时钟发生模块CGM与锁相环PLL(2)CGM的I/O信号I/O信号
符号名称基本含义外部硬件引脚信号VDDAVSSA
PLL电源、地
分别与系统的电源和地相接,在布线时VDDA应该加滤波电容,同时尽量靠近芯片。
OSC1
晶振输入引脚
OSC1将引脚的输入信号连至内部晶振电路的反向放大器。OSC2
晶振输出引脚
OSC2引脚输出经过反向的输入信号。若采用外接信号源作为时钟输入,OSC2引脚可以悬空,也可以连接到其他MCU的OSC1输入引脚。
CGMXFC
外部滤波电容引脚
CGMXFC为PLL电路环路滤波器所必需的,连接一个外接滤波网络。为了减小干扰,提高系统电磁兼容性,在元件布局上,滤波网络应该尽量靠近MCU,用最短的连线连接,同时远离其他布线。来自SIMSIMOSCEN
振荡器允许
来自系统集成模块SIM,允许PLL和晶振电路
来自CONFIG2OSCSTOPENB
振荡器停止模式允许位
OSCSTOPENB是CONFIG寄存器中和晶振相关的控制位。若置位,则晶振电路在STOP模式下可继续工作;若复位(缺省情况),则晶振电路的行为受SIMOSCEN标志位控制,在STOP模式下将关闭晶振电路。
输出CGMXCLK(给SIM、TIM、ADC)
晶体频率输出信号
CGMXCLK是晶振电路的输出信号,频率等于石英晶体的频率。信号的精度和质量取决于外接晶体和外界因素,当然,在系统启动阶段,CGMXCLK是不稳定的
输出CGMOUT(给SIM)
CGM的输出
CGMOUT是时钟发生模块的输出信号,信号送入SIM模块,SIM模块产生MCU的时钟信号。CGMOUT占空比为50%,经过2分频后产生总线时钟,CGMOUT的来源可编程选定为晶振电路输出CGMXCLK的二分频或VCO电路的输出CGMVCLK二分频《嵌入式应用技术基础教程》课件12.2时钟发生模块CGM与锁相环PLL(3)CGM的外部连接0.1μ+5V0.47μ0.01μ10KPLL滤波MC68HC908GP32引脚12345含义VDDAVSSACGMXCLKOSC2OSC1C1C2RS晶振电路RBX1在典型应用情况下,CGM模块需要9个外接器件,其中晶振电路中需要5个,PLL电路需要2到4个。如右图所示。有了这些连接,从硬件角度看,MCU就可以正常工作了。
晶振电路采用的元件有:晶体X1,电容C1,C2,反馈电阻RB,串行电阻RS。串行电阻RS,C1,C2的取值可参考晶振厂家给出的典型值,电容一般取10-36p,C1与C2值应该略有差异,以利于晶振电路起振。典型情况下,RS取330K,RB为10M。晶振采用32.768KHZ。
PLL电路采用的元件有:①跨接电容,用于稳定锁相环电源引脚,一般取0.1uF左右。②滤波网络,为芯片内部的锁相环电路提供误差电平,元件参数可参考上图。注:如用户不打算在应用中使用锁相环电路部分,这一部分电路可以不接,让CGMXFC引脚悬空。
《嵌入式应用技术基础教程》课件12.2时钟发生模块CGM与锁相环PLL《嵌入式应用技术基础教程》课件D4—BCS位:CGM基时钟选择位(BaseClockSelectBit)。该位为可读写,用于决定CGM模块的输出信号CGMOUT的输入信号源。BCS=1,选择PLL电路为时钟源,CGMVCLK二分频后驱动CGMOUT;BCS=0,选择晶振为时钟源,CGMXCLK二分频后驱动CGMOUT。D3~D2—PRE1~PRE0:预分频位(PrescalerProgramBits)。这两位为可读写。设置预分频器的分频因子P,预分频器的分频因子P(由此得到预分频系数NP=2P)与PRE1、PRE0关系如下:PRE1、PRE0=00P=0NP=1(20)=01P=1NP=2(21)=10P=2NP=4(22)=11P=3NP=8(23)
D1~D0—VPR1~VPR0:VCO的E选择位(VCOPower-of-TwoRangeSelectBits)。这两位为可读写。设置VCO模块的参数E,控制参考频率。E与VPR1、VPR0关系如下:VPR1、VPR0=00E=1(20)=01E=2(21)=10E=4(22)=11E=8(23)(不使用)
(1)PLL控制寄存器(PLLControlRegister-PCTL)12.2时钟发生模块CGM与锁相环PLL
(2)PLL带宽控制寄存器(PLLBandwidthControlRegister-PBWC)PCTL的地址:$0036,定义为:12.2.3CGM的编程基础数据位D7D6D5D4D3D2D1D0定义AUTOLOCKACQ#----保留复位00000000D7—AUTO位:自动带宽控制位(AutomaticBandwidthControlBit)。该位可读写,用于选择自动或手动带宽模式。AUTO=1,自动方式;AUTO=0,手动方式。
D6—LOCK位:Lock指示位(LockIndicatorBit)。当AUTO位为1时(设为自动方式),LOCK为只读位,且当VCO的时钟CGMVCLK完成锁定(工作在程序设定频率)后置1,表示时钟稳定。当AUTO位为0时(设为手动方式),LOCK始终读出为0,无意义。
D5—ACQ#位:获取模式位(AcquisitionModeBit)。=1,跟踪模式;
=0,获取模式。
《嵌入式应用技术基础教程》课件12.2时钟发生模块CGM与锁相环PLL12.2.3CGM的编程基础(3)PLL倍频选择寄存器(PLLMultiplierControlRegister-PMSH、PMSL)
PMSH、PMSL的地址分别为:$0038、$0039,设置分频模块的分频系数。PMSH的高4位没有定义,始终为0。PMSH的低4位与PMSL一起组成12位的分频因子,记为MUL11~MUL0,它们决定了VCO电路的反馈模块的分频因子N的高4位。由于分频因子N不能为0,即使设置为0,系统也会默认为1。复位时N=64(即:PMSH:PMSL=$0040)。注意:倍频因子寄存器有内部的保护机制,当PLLON=1时,PMSH:PMSL不能被写入。即对PMSH:PMSL的写入操作应当在PLL电路关闭的情况下,PLL电路工作后不能改变PMSH:PMSL的值。
《嵌入式应用技术基础教程》课件12.2时钟发生模块CGM与锁相环PLL12.2.3CGM的编程基础(5)PLL参考分频因子寄存器(PLLReferenceDividerSelectRegister-PRDS)PRDS的地址是:$003B,功能是设置参考分频因子R。PRDS的高4位未定义,低4位为参考分频因子R。该寄存器最低位缺省为1。《嵌入式应用技术基础教程》课件12.2时钟发生模块CGM与锁相环PLL(1)PLL参数计算①选择希望的总线频率fBUSDES②计算希望得到的压控振荡器VCO频率(是总线频率的4倍):fVCLKDES=4×fBUSDES③
选择PLL参考时钟频率fRCLK及参考时钟的分频因子R。④计算压控振荡器VCO分频因子:N=(R×fVCLKDES)/fRCLK,四舍五入取整。⑤
求预分频器分频因子P。⑥计算检验压控振荡器VCO的输出频率:fVCLK=(2P×N/R)/fRCLK,fBUS=fVCLK/4。12.2.4PLL参数计算与编程步骤《嵌入式应用技术基础教程》课件12.2时钟发生模块CGM与锁相环PLL⑦
选择压控振荡器VCO的E:若fVCLK<9.8304×106,E=0。若9.8304×106≤fVCLK<19.6608×106,E=1。若19.6608×106≤fVCLK<39.3216×106,E=2。⑧选择压控振荡器VCO的L:L=fVCLK/(2E×fNOM),四舍五入取整,其中fNOM=38400H⑨计算检验压控振荡器VCO的中心频率fVRS。中心频率是PLL模块能够达到的最大与最小频率的中点:fVRS=(L×2E)×fNOM,|fVRS-fVCLK|≤(fNOM×2E)/2⑩
通过比较fVCLK、fVRS、fVCLKDES验证P、R、N、E和L。fVCLK必须处于fVCLKDES的噪声容限内,且fVRS必须尽量接近fVCLK。超过推荐的最大总线频率或VCO频率,可能损坏MCU。
(1)PLL参数计算《嵌入式应用技术基础教程》课件12.2时钟发生模块CGM与锁相环PLL(1)汇编语言
;[PLL编程]CLRPCTL;①禁止PLL:清零PLL控制寄存器PCTLMOV#$01,PCTL;②将P、E写入PCTLMOV#$01,PMSH;③将N写入PMSH、PMSLMOV#$2C,PMSLMOV#$80,PMRS;④将L写入PMRSMOV#$01,PRDS;⑤将R写入PRDSBSET5,PCTL;⑥置PCTL.PLLON=1,启动PLL电路BSET7,PBWC;⑦PBWC自动带宽控制位=1BSET4,PCTL;⑧PCTL.BCS=1
《嵌入式应用技术基础教程》课件12.2.5初始化及PLL编程实例12.2时钟发生模块CGM与锁相环PLL(2)08C语言
PCTL=0x00;//①禁止PLL:清零PLL控制寄存器PCTLPCTL=0x01;//②将P、E写入PCTL,置VCO的参考频率为2PMSH=0x01;//③将N写入PMSH、PMSL,置VCO的倍频因子为$12CPMSL=0x2C;PMRS=0b10000000;//④将L写入PMRS,置VCO的输出频率范围系//数为$80RDS=0x01;//⑤将R写入PRDSPCTL|=1<<5;//⑥置PCTL.PLLON=1,启动PLL电路PBWC|=1<<7;//⑦PBWC自动带宽控制位=1,选择自动控制方式PCTL|=1<<4;//⑧PCTL.BCS=1,选择PLL电路为时钟源
《嵌入式应用技术基础教程》课件12.2.5初始化及PLL编程实例返回12.2时钟发生模块CGM与锁相环PLL12.3中断12.3.1
中断源与中断向量地址
(1)GP32单片机的中断源
GP32单片机有25个中断源,按优先级从高到低的顺序分别是:复位中断(1个)、SWI指令中断(1个)、引脚中断(1个)、CGM中断(1个)、定时器1中断(3个)、定时器2中断(3个)、SPI中断(4个)、SCI中断(8个)、键盘输入中断(1个)、ADC转换完成中断(1个)和时基中断(1个)。这里把复位也列为一个特殊的中断,因为它也具有向量地址,后面对复位将有较详细的表述。
25个中断源只有18个中断向量,有的是几个中断源使用同一个中断向量,表12-3给出了MC68HC908GP32中断源及中断向量地址。
GP32内部使用3个中断状态寄存器:INT1(地址为$FE04)、INT2(地址为$FE05)和INT3(地址为$FE06)来保存中断状态,但一般编程时并不使用这些寄存器,因此此处不做介绍。
《嵌入式应用技术基础教程》课件12.3中断12.3.2IRQ#引脚中断《嵌入式应用技术基础教程》课件
IRQ状态寄存器INTSCR(IRQStatusandControlRegister)的地址是:$0013,定义为:数据位D7D6D5D4D3D2D1D0定义----IROFACKIMASKMODE复位00000000D7~D4位:未定义。D3—IRQF位:IRQ中断标志位。IRQF=1,已发生IRQ中断,反之未发生IRQ中断。该位只读。D2—ACK位:IRQ中断请求应答位。该位只写,读出总是0。D1—IMASK位:IRQ中断屏蔽位。IMASK=1,禁止IRQ中断;IMASK=0,允许IRQ中断。D0—MODE位:IRQ边沿/低电平触发模式选择位。MODE=1,IRQ#引脚负跳变及低电平中断,MODE=0,IRQ#引脚仅负跳变中断。
12.3中断
断点模块(breakmodule,BRK)可以在设定的地址处产生一个中断,该中断称为断点中断(Breakinterrupt),它使CPU中止当前程序的执行而进入断点中断服务程序。断点中断可由下述2种方式引起:①程序计数器PC值与断点地址寄存器的内容相匹配时产生断点中断。②用软件向断点状态与控制寄存器BRKSCR的BRKA位写1时产生断点中断。当断点中断发生后,CPU在结束当前指令后,将一条SWI指令装入内部指令寄存器作为下一条指令执行。这样就如同发生一个软件中断,断点中断向量地址是$FFFC和$FFFD,与软件中断SWI指令产生的中断是同一个中断向量地址。实际上,即使是调试工具的开发也极少单独使用SWI指令,而是设置断点中断产生SWI中断,在中断例程中,将当前MCU工作状态发送给PC机。从编程角度,断点模块BRK涉及断点状态控制寄存器BRKSCR(BreakStatusandControlRegister)与16位断点地址寄存器(BRKH、BRKL)。
12.3.3断点模块BRK与软件中断SWI
《嵌入式应用技术基础教程》课件返回12.3中断12.4复位与系统集成模块《嵌入式应用技术基础教程》课件12.4.1
复位
复位使MCU进入到开始状态,从复位向量地址($FFFE~$FFFF)取得即将开始执行程序的地址,由此地址开始执行。(1)从是否上电来看,分为上电复位与热复位:上电复位是指原来芯片并未加电(处于所谓冷状态),给芯片加电后,芯片复位。热复位是指芯片本来就处于上电状态,由于内部或外部原因引起的复位,复位后,MCU迅速停止当前正在执行的指令,有关寄存器恢复到复位状态值,从地址$FFFE~$FFFF取出两字节的复位向量送到程序计数器PC。
(2)从引起复位的信号来看,有外部复位与内部复位:外部复位是指逻辑低电平加到芯片的引脚一段时间后所产生的复位。IRQ#引脚也是内部复位的输出端。内部复位是指芯片的内部复位源将芯片的引脚拉低32个CGMXCLK周期所产生的复位。
12.4复位与系统集成模块时钟生成器产生一个时钟信号输出到SIM来产生系统时钟,这个时钟信号可以来自外部振荡器,也可以来自内部锁相环电路,可分3种情况:①在用户模式下,内部总线的频率可以是晶体振荡器的输出(CGMXCLK)或锁相环电路输出(CGMVCLK)的4分频;②当上电复位模块或者低电压禁止模块产生复位信号时,CPU内部时钟保持复位状态直到经过4096个CGMCLK时钟。在这期间,引脚被SIM设置为低。内部总线也在4096个CGMCLK时钟之后开始工作;③在WAIT模式下,CPU时钟并不工作,SIM为其他模块提供时钟。
《嵌入式应用技术基础教程》课件
2)SIM和时钟生成器为CPU提供各种时钟信号。12.4复位与系统集成模块(2)SIM复位状态寄存器(SIMResetStatusRegister-SRSR)12.4.2
系统集成模块SIMSRSR的地址是:$FE01,定义为:
数据位D7D6D5D4D3D2D1D0定义PORPINCOP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年建筑工程施工合同标的概述
- 二零二四年艺术品买卖合同(古董收藏)
- 二零二四年农药企业并购合同
- 地面硬化合同协议书(2篇)
- 医院皮试协议书(2篇)
- 口腔技术入股股份协议书(2篇)
- 集装箱安全购销合同
- 特价鞋购销合同
- 超市消费合同权益分析
- 果品买卖协议样式样本
- 原画师职业生涯规划书
- 2023旅游产品体系及创新趋势研究报告
- Unit15Wheresmybone(课件)Lesson1新概念英语青少版StarterA教学课件
- 应用流体力学智慧树知到课后章节答案2023年下北京石油化工学院
- 烟草的生长发育
- 员工工作考核评分标准表
- 苏教版六年级科学上学期第四单元探索宇宙质量测试卷(二)附答案
- 国家开放大学《公共政策概论》形考任务1-4参考答案
- 第一单元 《项目二:探究计算机中数据表示-认识数据编码》说课课件 2023-2024学年沪科版(2019)高中信息技术必修1
- 学习交流杂物电梯新检验规程课件
- Python实战之数据库应用和数据获取-教学大纲
评论
0/150
提交评论