kinetismcgMCG成为多用途时钟信号发生器该模块MCU和芯片各个提_第1页
kinetismcgMCG成为多用途时钟信号发生器该模块MCU和芯片各个提_第2页
kinetismcgMCG成为多用途时钟信号发生器该模块MCU和芯片各个提_第3页
kinetismcgMCG成为多用途时钟信号发生器该模块MCU和芯片各个提_第4页
kinetismcgMCG成为多用途时钟信号发生器该模块MCU和芯片各个提_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MCG模块PLL超MCG成为多用途时钟信号发生器,该模块为MCU和内部各个模块提供时钟信号。MCG模块通过对输入的参考时钟进行分频和倍频处理,可以输出各种频率的时钟信号,并FLLPLLPLL倍频的方法来达到超频运行的目的。MCG1.11.1MCGMCG的是一个FLL(锁频环)和一个PLL(锁相环。FLL和PLL都可以对输入的参SIMCPU环FLL的是一个DCO(数字控制振荡器,锁相环PLL的是一个VCO(电压控制振荡器1.2所示。图1.1。这些时钟可以为其它模块提供的时钟选择。在这些时钟中,最主要的是频最终得到的也是MCGOUTCLK。1.2MCG不同的参考时钟,以及不同的对参考时钟的处理方式的组合,使得MCG9种不同的工作模式。91.3所示。1.3MCG9PEE模式,PEE模式是选择外部晶振经过PLL倍频后输出时钟,可以达到较高的时钟频率。而上电复位后,MCG工作在FEI模式下须通过设置相关的寄存器实现FEI到FBE的转换再由FBE转换到PBE,MCG76543210000001001.4MCG_C1MCG_S寄存器中,有关该寄存器1.5CLKSCLKS1.1PLLFLLFRDIVFLL再倍频,并且这个时钟也可以提供给MCGFFCLK输出。对于有些模块,比如FTM,MCGFFCLK也是可供选择的一个时钟选项。FRDIV的分频系数和外部晶振的频率范围有关,频率范围在MCG_C2RANGE设置。=2^FRDIV(FRDIV7,如果外部晶振(RDIV+(RDI<=IREFS:FLL参考时钟源选择。FLL对输入的参考时钟倍频,而这个参考时钟可以来自自带的内部慢速参考时钟,速率为32k,也可以来自外部晶振经由FRDIV设IREFS=1注意,上电复位时,IREFS1FLL32KIREFSTENMCG钟选项。IRCLKENIREFSTEN1.6所示。如需要这个时钟,可设置IRCLKEN=1,如希望在停止模式下,该时钟也可以使用,则可设置1.6MCGIRCLK00MCG0076543210000000001.7MCG_C21.2RANGERANGE=00RANGE=01RANGE=1X。EREFS选择。LPbypass等模式下,FLLPLL是否工作,主要出于省2MIRCSPLL0MCG076543210000000001.8MCG_C5PLLCLKEN:PLL时钟使能。MCGPLLCLKMCG模块输出的一个时钟选项。如果要使能这个时钟输出,则设置PLLCKEN=1即可。PLLCLKEN和我们要超频输出的MCGOUTCLK无关,在PLLMCGPLLCLK的话,需要注OSCINIT位。PLLSTENstop模式下,PLL是否使能。PLL2~4MHzPLL倍频后输出。PRDIV就是设置对外部时注意:通过设置PRDIV2M~4MPLLPLLCLKEN1后,在锁相环PLL未锁定频率之前,不可改变PRDIVMCG76543210000000001.9MCG_C6PLLS:PLLPLLFLLMCGCLKS[1:0]=00时,我们可以选择MCGOUTCLKPLLFLL。到底是PLLFLLPLLS指定。PLLS=0FLL;PLLS=1PLLPLLS之前,需要设置合适的PRDIV2~4M的参考时MCGOUTCLKVDIV得到我们需要的时钟频率。倍数=VDIV+24VDIV<=31。注意:PLL554MHzPLL220MHzMCG状态寄存器这个寄存器中包含反映MCGMCG76543210000000001.10MCG_SLOLS:该位反映锁相环的锁定状态,失锁时置1,写11时,由MCG_CR6LOLIELOCK:该位置1表示锁相环已经锁定。在锁定过程中,MGC的PLL时钟被输PLLST:该位指示,PLLSFLLPLLPLLSPLLFLL时钟之间切换时,时钟输出的变化需要查询该位以确保切换完成。PLLST=0:FLL时钟;PLLST=1:PLLIREFST:FLLIREFFLL的参考时钟的来源切换CLKST=00FLL输出;CLKST=11PLL输出。IRCSTIRCS,则须查询该位,该位和PLL详细介绍,如想进一步了解可参考,K10P100M100SF2RM.pdf第24章。如图1.3所示,须通过设置相关的寄存器,实现FEI到FBE的转换,再由FBE转PBEPEE。FEIFEI1.11所示。FEIMCG默认的工作模式,输出的时钟MCGOUTCLK来自FLLFLL的参考时钟来自内部32KFLL20MHz。1.11FEIFBE1.12FBE模式下,MCGOUTCLK来自外部参考时钟,此时,FLLFLL的参考时钟输入从内部慢速时钟切换到外部时钟。此FLL产生的时钟并不输出。1.12FBEFEIFBEMCGOUTCLKFLL切换到外部晶振,即FRDIV32KHz的参考时钟提FLL。4MHz外部晶振为例,首先设置MCG_C2MCG_C2=MCG_C2_RANGE(1)|MCG_C2_HGO_MASK|4MHz晶振,RANGE1;HGO1,选择高增益;EREFS1,选择外部晶MK10X256VMD100.h。MCG_C1=MCG_C1_CLKS(2)|CLKS设为10,选择外部参考时钟输出到MCGOUTCLK;FRDIV置为34MHz晶振256MCG_S中的几个状态位以确保状态切换完成,才能进行后面的while(!(MCG_S&MCG_S_OSCINIT_MASK)){} while(MCG_S&MCG_S_IREFST_MASK){} while(((MCG_S&MCG_S_CLKST_MASK)>>MCG_S_CLKST_SHIFT)!=0x2){}FBEPBE模式下,MCGOUTCLKMCG_C1中CLKSPBE1.2是一样的。但是,在这一步,我们开PLL工作,并计算好我们需要超频的倍率。在PBE模式下,PLL虽然已正常工作,PLL的时钟并不输出。在这一步,我们只要设置MCG_C5MCG_C6两个寄存器。MCG_C5=MCG_C5_PRDIV(1);//分频在2~4MHz之间,分频后频率2MHzMCG_C6=MCG_C6_PLLS_MASK|MCG_C6_VDIV(26); //选择PLL,倍频50倍这里我们需要设置好MCGOUTCLK提供给系统、总线和FLASH的时钟分频,通过SIMSIM_CLKDIV1来设置,由MCGOUTCLK提供给几个主要模块的时钟分频比,分别CORE、BUS、FLEXBUS、FLASHFLASH25MHz,否则出错。SIM_CLKDIV1=SIM_CLKDIV1_OUTDIV1(0)||SIM_CLKDIV1_OUTDIV3(1)|//MCG=PLL,core=MCG,bus=MCG/3,FlexBus=MCG/3,Flashclock=如按以上分频设置,当最终转换到FEE模式后,则系统频率为100MHz,BUSFLEXBUS50MHz,FLASH25MHzwhile(!(MCG_S&MCG_S_PLLST_MASK)){};//PLLwhileMC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论