《其他功能模块》PPT课件.ppt

上传人:牧羊曲112 文档编号:5467903 上传时间:2023-07-10 格式:PPT 页数:31 大小:394.50KB
返回 下载 相关 举报
《其他功能模块》PPT课件.ppt_第1页
第1页 / 共31页
《其他功能模块》PPT课件.ppt_第2页
第2页 / 共31页
《其他功能模块》PPT课件.ppt_第3页
第3页 / 共31页
《其他功能模块》PPT课件.ppt_第4页
第4页 / 共31页
《其他功能模块》PPT课件.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《《其他功能模块》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《其他功能模块》PPT课件.ppt(31页珍藏版)》请在三一办公上搜索。

1、,第十四章 其他功能模块,主要内容1 CONFIG寄存器 2 时钟发生模块CGM与锁相环PLL 3 中断 4 复位与系统集成模块 5 低功耗模式与看门狗功能,14.1 CONFIG寄存器,(1)CONFIG2 CONFIG2寄存器只有低两位有定义,CONFIG2的地址是:$001E,定义为:,D1OSCSTOPENB位:振荡器STOP模式下允许位OSCSTOPENB=1,振荡器在STOP模式下也正常工作。这一点对于时基模块在STOP模式下产生周期性的唤醒非常有用。OSCSTOPENB=0,在STOP模式下禁止振荡器工作。D0SCIBDSRC位:SCI波特率时钟源控制位。SCIBDSRC控制SC

2、I的时钟源。这个位的设置影响SCI操作的频率。SCIBDSRC=1,SCI用内部总线时钟,反之,SCI用外部振荡器时钟。,(2)CONFIG1 CONFIG1的地址是:$001F,定义为:,D7COPRS位:COP速度选择位。COPRS选择COP溢出的范围。D6LVISTOP位:STOP模式下LVI允许位。D5LVIRSTD位:LVI复位禁止位。D4LVIPWRD位:为LVI电源禁止位。D3LVI5OR3位:LVI的5V或者3V操作模式选择位。D2SSREC位:快速STOP模式恢复选择位。D1STOP位:STOP指令允许位。STOP位决定是否允许STOP指令。D0COPD位:COP禁止位。CO

3、PD位决定是否禁止COP模块。,14.2 时钟发生模块CGM与锁相环PLL,14.2.1 PLL锁相环(1)锁相技术与频率合成技术 锁相技术:就是实现相位自动控制的一门科学,利用它可以得到频带范围宽、波道多、稳定度高、精度高的频率源。频率合成技术:就是利用一个或几个具有高稳定度和高精度的频率源(一般由晶体振荡器产生),通过对它们进行加减(混频),乘(倍频),除(分频)运算,产生大量的具有相同频率稳定度和频率精度的频率信号。锁相环频率合成技术在通讯、雷达、导航、宇航、遥控遥测、电子技术测量等领域都有广泛的应用。为了得到稳定度高、精度高的频率源,通常采用频率合成技术。频率合成技术主要有两种:直接频

4、率合成技术和间接频率合成技术。,14.2.1 锁相环PLL,直接频率合成技术:是将一个或几个晶体振荡器产生的频率信号通过谐波发生器产生一系列频率信号,然后再对这些频率信号进行倍频、分频和混频,最后得到大量的频率信号。其优点是:频率稳定度高,频率转换时间短(可达微秒量级),能做到很小的频率间隔。缺点是:系统中要用到大量的混频器、滤波器等,从而导致体积大,成本高,安装调试复杂,故只用于频率精度要求很高的场合。间接频率合成技术:是利用锁相技术来产生大量的具有高稳定度和高精度的频率源。由于间接频率合成器的关键部件是锁相环,故通常称为锁相环频率合成器。由于锁相环频率合成器的主要部件都易于集成,一般只加一

5、个分频器和一个一阶低通滤波器,故其具有体积小、重量轻、成本低、安装和调试简单等优点。锁相环频率合成器在性能上逐渐接近直接频率合成器,所以它在电子技术中得到了日益广泛的应用,并在应用中得到迅速发展。,14.2.1 锁相环PLL,(2)锁相环频率合成器的基本原理锁相环频率合成器的原理框图,14.2.2 MC68HC908GP32的CGM结构及外部连接,(1)CGM内部结构框图,CGM内部结构,晶体振荡电路:晶体振荡电路通过外接石英或陶瓷振荡器产生稳定不变的时钟信号CGMXCLK,CGMXCLK直接输出给系统集成模块SIM和AD转换器。同时也输出到时钟选择模块。CGMXCLK经过缓冲后输出到锁相环频

6、率合成器,作为PLL信号源,这一路信号称为CGMRCLK。锁相环频率合成器:PLL电路通过压控振荡器(VCO)产生CGMVCLK信号,输出到时钟选择电路。其频率可通过软件编程控制。图中CGMXFC为接滤波电路的引脚。时钟选择电路:时钟发生模块的输出信号CGMOUT有两种来源:直接采用晶振电路产生的CGMXCLK信号二分频,也可以采用压控振荡器(VCO)产生CGMVCLK信号二分频,时钟选择电路可以通过软件编程决定采用那种信号来源。,(2)CGM的I/O信号,(3)CGM的外部连接,在典型应用情况下,CGM模块需要9个外接器件,其中晶振电路中需要5个,PLL电路需要2到4个。如右图所示。有了这些

7、连接,从硬件角度看,MCU就可以正常工作了。,晶振电路采用的元件有:晶体X1,电容C1,C2,反馈电阻RB,串行电阻RS。串行电阻RS,C1,C2的取值可参考晶振厂家给出的典型值,电容一般取10-36p,C1与C2值应该略有差异,以利于晶振电路起振。典型情况下,RS取330K,RB为10M。晶振采用32.768KHZ。PLL电路采用的元件有:跨接电容,用于稳定锁相环电源引脚,一般取0.1uF左右。滤波网络,为芯片内部的锁相环电路提供误差电平,元件参数可参考上图。注:如用户不打算在应用中使用锁相环电路部分,这一部分电路可以不接,让CGMXFC引脚悬空。,14.2.3 CGM的编程基础,(1)PL

8、L控制寄存器(PLL Control RegisterPCTL)PCTL的地址:$0036,定义为:,D7 PLLIE位:PLL中断使能位(PLL Interrupt Enabled Bit)。该位可读写,决定当PLL带宽控制寄存器的LOCK标志位反转时是否产生CPU中断。D6 PLLF 位:PLL中断标志位(PLL Interrupt Flag Bit)。该位只读。当LOCK标志位反转时被置位。D5 PLLON位:PLL开关检测位(PLL On Bit)。该位为可读写,用于启动PLL电路并激活VCO时钟CGMVCLK,当VCO正作为基准时钟源时,PLLON不能被清零(BCS=1),要关闭PL

9、L应该先不选PLL为时钟源(BCS=0),再清除PLLON位。MCU上电复位后此位置1。,(1)PLL控制寄存器(PLL Control RegisterPCTL),D4 BCS 位:CGM基时钟选择位(Base Clock Select Bit)。该位为可读写,用于决定CGM模块的输出信号CGMOUT的输入信号源。BCS=1,选择PLL电路为时钟源,CGMVCLK二分频后驱动CGMOUT;BCS=0,选择晶振为时钟源,CGMXCLK二分频后驱动CGMOUT。D3D2 PRE1PRE0:预分频位(Prescaler Program Bits)。这两位为可读写。设置预分频器的分频因子P,预分频器

10、的分频因子P(由此得到预分频系数NP=2P)与PRE1、PRE0关系如下:PRE1、PRE0=00 P=0 NP=1(20)=01 P=1 NP=2(21)=10 P=2 NP=4(22)=11 P=3 NP=8(23)D1D0 VPR1VPR0:VCO的E选择位(VCO Power-of-Two Range Select Bits)。这两位为可读写。设置VCO模块的参数E,控制参考频率。E与VPR1、VPR0关系如下:VPR1、VPR0=00 E=1(20)=01 E=2(21)=10 E=4(22)=11 E=8(23)(不使用),14.2.3 CGM的编程基础,(2)PLL带宽控制寄存器

11、(PLL Bandwidth Control RegisterPBWC)PCTL的地址:$0036,定义为:,D7 AUTO位:自动带宽控制位(Automatic Bandwidth Control Bit)。该位可读写,用于选择自动或手动带宽模式。AUTO=1,自动方式;AUTO=0,手动方式。D6 LOCK位:Lock指示位(Lock Indicator Bit)。当AUTO位为1时(设为自动方式),LOCK为只读位,且当VCO的时钟CGMVCLK完成锁定(工作在程序设定频率)后置1,表示时钟稳定。当AUTO位为0时(设为手动方式),LOCK始终读出为0,无意义。D5 ACQ#位:获取模式

12、位(Acquisition Mode Bit)。=1,跟踪模式;=0,获取模式。,14.2.3 CGM的编程基础,(3)PLL倍频选择寄存器(PLL Multiplier Control RegisterPMSH、PMSL),PMSH、PMSL的地址分别为:$0038、$0039,设置分频模块的分频系数。PMSH的高4位没有定义,始终为0。PMSH的低4位与PMSL一起组成12位的分频因子,记为MUL11MUL0,它们决定了VCO电路的反馈模块的分频因子N的高4位。由于分频因子N不能为0,即使设置为0,系统也会默认为1。复位时N=64(即:PMSH:PMSL=$0040)。注意:倍频因子寄存器

13、有内部的保护机制,当PLLON=1时,PMSH:PMSL不能被写入。即对PMSH:PMSL的写入操作应当在PLL电路关闭的情况下,PLL电路工作后不能改变PMSH:PMSL的值。,14.2.3 CGM的编程基础,(4)PLL VCO范围选择寄存器(PLL VCO Range Select RegisterPVRS),PVRS的地址是:$003A,功能是对VCO电路进行设置。其8位分别记为:VRS7VRS0。这8位均为可读可写位,确定VCO输出频率范围系数L,对PVRS的写操作只能在PLL关闭时进行,当打开PLL(PCTL中的PLLON=1)时PVRS不能被写。在PVRS中写入$00将禁止PLL

14、电路并清除PLL控制寄存器PCTL中BCS位。复位时L=64(即:PVRS=$40)。同样要注意,VCO范围选择寄存器有内部保护机制,当PLL电路打开(PLLON=1)时,寄存器为写保护。PLL VCO范围选择寄存器必须正确初始化,否则PLL电路不能正确完成锁相。,14.2.3 CGM的编程基础,(5)PLL 参考分频因子寄存器(PLL Reference DividerSelect RegisterPRDS),PRDS的地址是:$003B,功能是设置参考分频因子R。PRDS的高4位未定义,低4位为参考分频因子R。该寄存器最低位缺省为1。,14.2.4 PLL参数计算与编程步骤,(1)PLL参

15、数计算 选择希望的总线频率 fBUSDES 计算希望得到的压控振荡器VCO频率(是总线频率的4倍):fVCLKDES=4fBUSDES 选择PLL参考时钟频率fRCLK及参考时钟的分频因子R。计算压控振荡器VCO分频因子:N=(R fVCLKDES)/fRCLK,四舍五入取整。求预分频器分频因子P。计算检验压控振荡器VCO的输出频率:fVCLK=(2PN/R)/fRCLK,fBUS=fVCLK/4。,(1)PLL参数计算,选择压控振荡器VCO的E:若fVCLK9.8304106,E=0。若9.8304106fVCLK19.6608106,E=1。若19.6608106fVCLK39.32161

16、06,E=2。选择压控振荡器VCO的L:L=fVCLK/(2EfNOM),四舍五入取整,其中fNOM=38400H 计算检验压控振荡器VCO的中心频率fVRS。中心频率是PLL模块能够达到的最大与最小频率的中点:fVRS=(L2E)fNOM,|fVRS-fVCLK|(fNOM2E)/2 通过比较fVCLK、fVRS、fVCLKDES验证P、R、N、E和L。fVCLK必须处于fVCLKDES的噪声容限内,且fVRS必须尽量接近fVCLK。超过推荐的最大总线频率或VCO频率,可能损坏MCU。,(2)编程步骤,禁止PLL:清零PLL控制寄存器PCTL 将P、E写入PCTL 将N写入PMSH、PMSL

17、 将L写入PVRS 将R写入PRDS 置PCTL.PLLON=1,启动PLL电路并激活VCO时钟CGMVCLK 置PBWC.AUTO=1(即:自动带宽控制位),自动方式 置PCTL.BCS=1,选择PLL为时钟源,CGMOUT=CGMVCLK/2,14.2.5 初始化及PLL编程实例,(1)汇编语言;PLL编程,14.2.5 初始化及PLL编程实例,(2)08C语言,14.3 中断,中断源与中断向量地址(1)GP32单片机的中断源 GP32单片机有25个中断源,按优先级从高到低的顺序分别是:复位中断(1个)、SWI指令中断(1个)、引脚中断(1个)、CGM中断(1个)、定时器1中断(3个)、定

18、时器2中断(3个)、SPI中断(4个)、SCI中断(8个)、键盘输入中断(1个)、ADC转换完成中断(1个)和时基中断(1个)。这里把复位也列为一个特殊的中断,因为它也具有向量地址,后面对复位将有较详细的表述。25个中断源只有18个中断向量,有的是几个中断源使用同一个中断向量,表12-3给出了 MC68HC908GP32中断源及中断向量地址。GP32内部使用3个中断状态寄存器:INT1(地址为$FE04)、INT2(地址为$FE05)和INT3(地址为$FE06)来保存中断状态,但一般编程时并不使用这些寄存器,因此此处不做介绍。,14.3.1 中断源与中断向量地址,(2)中断的过程 CPU内的

19、寄存器PCL、PCH、X、A、CCR依次进栈(注意H未被保护,这是为了与HC05系列MCU兼容,所以必要时,H应由用户中断服务程序保护);自动关总中断(即相当于自动执行SEI指令),防止其他中断进入;从相应的中断向量地址取出中断向量(即中断服务程序的入口地址)送给PC;执行中断服务程序,直到执行中断返回指令RTI。RTI指令从堆栈中依次弹出CCR、A、X、PCH、PCL,使CPU返回原来中断处继续执行;若中断过程也允许响应新的中断,可在中断服务程序中用CLI指令开放中断。一般不建议这样做,可用其他编程技巧处理相关问题。,14.3.2 IRQ 引脚中断,IRQ状态寄存器INTSCR(IRQ St

20、atus and Control Register)的地址是:$0013,定义为:,D7D4位:未定义。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#引脚仅负跳变中断。,14.3.3 断点模块BRK与软件中断SWI,断点模块(break module,BRK)可以

21、在设定的地址处产生一个中断,该中断称为断点中断(Break interrupt),它使CPU中止当前程序的执行而进入断点中断服务程序。断点中断可由下述2种方式引起:程序计数器PC值与断点地址寄存器的内容相匹配时产生断点中断。用软件向断点状态与控制寄存器BRKSCR的BRKA位写1时产生断点中断。当断点中断发生后,CPU在结束当前指令后,将一条SWI指令装入内部指令寄存器作为下一条指令执行。这样就如同发生一个软件中断,断点中断向量地址是$FFFC和$FFFD,与软件中断SWI指令产生的中断是同一个中断向量地址。实际上,即使是调试工具的开发也极少单独使用SWI指令,而是设置断点中断产生SWI中断,

22、在中断例程中,将当前MCU工作状态发送给PC机。从编程角度,断点模块BRK涉及断点状态控制寄存器BRKSCR(Break Status and Control Register)与16位断点地址寄存器(BRKH、BRKL)。,14.4 复位与系统集成模块,复位 复位使MCU进入到开始状态,从复位向量地址($FFFE$FFFF)取得即将开始执行程序的地址,由此地址开始执行。(1)从是否上电来看,分为上电复位与热复位:上电复位是指原来芯片并未加电(处于所谓冷状态),给芯片加电后,芯片复位。热复位是指芯片本来就处于上电状态,由于内部或外部原因引起的复位,复位后,MCU迅速停止当前正在执行的指令,有关

23、寄存器恢复到复位状态值,从地址$FFFE$FFFF取出两字节的复位向量送到程序计数器PC。(2)从引起复位的信号来看,有外部复位与内部复位:外部复位是指逻辑低电平加到芯片的引脚一段时间后所产生的复位。IRQ#引脚也是内部复位的输出端。内部复位是指芯片的内部复位源将芯片的引脚拉低32个CGMXCLK周期所产生的复位。,系统集成模块SIM,(1)SIM模块的主要功能 1)SIM模块的主要功能有:总线时钟的产生和控制,包括STOP、等待、复位、断点的进入和恢复,内部时钟控制;用户复位控制,包括上电复位和COP溢出;中断控制,包括识别时序、仲裁控制时序、中断地址产生;CPU允许和禁止时序;可扩展到12

24、8个中断源的模块结构。,2)SIM和时钟生成器为CPU提供各种时钟信号。,时钟生成器产生一个时钟信号输出到SIM来产生系统时钟,这个时钟信号可以来自外部振荡器,也可以来自内部锁相环电路,可分3种情况:在用户模式下,内部总线的频率可以是晶体振荡器的输出(CGMXCLK)或锁相环电路输出(CGMVCLK)的4分频;当上电复位模块或者低电压禁止模块产生复位信号时,CPU内部时钟保持复位状态直到经过4096个CGMCLK时钟。在这期间,引脚被SIM设置为低。内部总线也在4096个CGMCLK时钟之后开始工作;在WAIT模式下,CPU时钟并不工作,SIM为其他模块提供时钟。,系统集成模块SIM,(2)S

25、IM复位状态寄存器(SIM Reset Status RegisterSRSR),SRSR的地址是:$FE01,定义为:,D7POR位:上电复位标志。D6PIN位:外部引脚的复位标志。D5COP位:看门狗复位标志。D4ILOP位:非法操作码复位标志。D3ILAD位:非法地址复位标志。D2:未定义D1LVI位:低电压复位标志。D0:未定义,14.5 低功耗模式与看门狗功能,14.5.1 低功耗模式,(1)STOP指令 在程序中运行STOP指令,使MCU处于STOP功耗模式(功耗最小)。在STOP状态下,关闭MCU内部时钟,包括CPU的时钟和内部总线上的时钟,MCU内部一切操作停止。(2)WAIT指令 在程序中运行WAIT指令,使MCU处于WAIT低功耗模式。WAIT模式的功耗比STOP模式大。在WAIT模式下,内部CPU的时钟被关闭,但内部总线时钟并不停止,定时器仍然在工作。,14.5 低功耗模式与看门狗功能,14.5.2 系统正常操作监视模块COP,系统正常操作监视模块(Computer Operating Properly,COP)俗称看门狗(Watchdog)。该模块有一个自由运行的计数器,若在CONFIG1中设定COP允许后,用户程序必须周期地向COPCTL($FFFF,COP控制寄存器)写入任意值(使用指令STA COPCTL,叫做给看门狗喂食),以清除COP计数器。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号