第4讲_系统控制模块与GPIO

上传人:痛*** 文档编号:247289801 上传时间:2024-10-17 格式:PPT 页数:67 大小:1.86MB
返回 下载 相关 举报
第4讲_系统控制模块与GPIO_第1页
第1页 / 共67页
第4讲_系统控制模块与GPIO_第2页
第2页 / 共67页
第4讲_系统控制模块与GPIO_第3页
第3页 / 共67页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,成都信息工程学院,3+1,创新实验班,-,*,4,L E C T U R E,系统控制模块与,GPIO,陈子为,对本部分的要求,掌握,PLL,、,VPB,的设置方法,掌握引脚连接模块与,GPIO,模块的使用方法,1,锁相环(,PLL,),锁相环(,PLL,),由晶体振荡器输出的时钟信号,通过,PLL,升频,可以获得更高的系统时钟(,CCLK,)。,PLL,接受的输入时钟频率范围为,10,25MHz,,,通过一个电流控制振荡器(,CCO,),倍增到,10,60MHz,。,PLL,晶体,振荡器,VPB,分频器,F,CCLK,F,PCLK,F,OSC,10MHz25MHz,10MHz60MHz,PLL,PLL,内部结构,相位频率,检测,CCO,1,0,2P,分频,M,分频,0,1,0,1,F,OSC,F,CCO,F,CLK,晶体振荡器输入时钟,对输入的两路时钟信号进行相位频率检测,将两者差值以电流形式输出,电流控制振荡器,根据输入电流控制振荡频率,对,输入时钟分频,输入时钟,2,选,1,开关,PLL,内部结构,相位频率,检测,CCO,1,0,2P,分频,M,分频,0,1,0,1,F,OSC,F,CCO,F,CLK,F,CCO,/2P,F,CCO,/(2P*M),CCO,自由振荡,输出频率,F,CCO,根据两个输入时钟的相位偏差,控制,CCO,。当,两个时钟相位同步时,回路锁定。,Fosc,由硬件决定,Fcco,是,PLL,硬件的振荡频率,Fcco,*(1/2P)=,Fcclk,其中,p=1,2,4,8,Fcclk,*(1/M)=,Fosc,其中,M=132,必须满足的条件:,F,OSC,范围:,10MHz,25MHz,;,F,CCLK,范围,:,10MHz,60MHz,;,F,CCO,范围,:,156MHz,320MHz,;,PLL,相关寄存器,相位频率,检测,CCO,1,0,2P,分频,M,分频,0,1,0,1,F,OSC,F,CCO,F,CLK,PLL,控制寄存器,(,PLLCON,),:,位,7,6,5,4,3,2,1,0,功能,PLLC,PLLE,PLLE,:,PLL,使能,,该位,为,1,时将激活,PLL,并允许其锁定到指定的频率;,PLLC,:,PLL,连接,当,PLLE,为,1,,并且在,PLL,锁定后,该位为,1,,将把,PLL,作为时钟源连接到,CPU,,,否则直接使用振荡器时钟。,PLLC,PLLE,相位频率,检测,CCO,1,0,2P,分频,M,分频,0,1,0,1,F,OSC,F,CCO,F,CLK,位,7,6,5,4,3,2,1,0,功能,PLLC,PLLE,注:其中“”表示该位,保留,,用户不要向该位写入,1,,读取的值将不确定,PLLC,PLLE,PLL,相关寄存器,PLL,控制寄存器,(PLLCON),:,相位频率,检测,CCO,1,0,2P,分频,M,分频,0,1,0,1,F,OSC,F,CCO,F,CLK,PLLC,PLLE,PLL,功能,0,0,PLL,被,关闭,并断开连接。,0,1,PLL,被激活但是尚未连接。可以在,PLOCK,置位后连接。,1,0,与,00,组合相同。避免,PLL,已连接,当还没有使能的情况。,1,1,PLL,已经使能,并连接到处理器作为系统时钟源。,PLLC,PLLE,PLL,相关寄存器,PLL,控制寄存器,(PLLCON),:,相位频率,检测,CCO,1,0,2P,分频,M,分频,0,1,0,1,F,OSC,F,CCO,F,CLK,PLL,配置寄存器,(,PLLCFG,),:,位,7,6,5,4,3,2,1,0,功能,PSEL1:0,MSEL4:0,MSEL4:0,:,PLL,倍频器值,在,PLL,频率计算中其值为,(M-1),;,PSEL1:0,:,PLL,分频器值,在,PLL,频率计算中其值为,P,。,PLL,相关寄存器,相位频率,检测,CCO,1,0,2P,分频,M,分频,0,1,0,1,F,OSC,F,CCO,F,CLK,PLL,状态寄存器,(,PLLSETA,),:,位,15:11,10,9,8,7,6:5,4:0,功能,PLOCK,PLLC,PLLE,PSEL1:0,MSEL4:0,MSEL4:0,、,PSEL1:0,、,PLLE,、,PLLC,:,读出反映这几个参数的设置值,写入无效;,PLOCK,:,反映,PLL,的锁定状态。为,0,时,,PLL,未锁定;为,1,时,,PLL,锁定到指定频率。,PLL,相关寄存器,相位频率,检测,CCO,1,0,2P,分频,M,分频,0,1,0,1,F,OSC,F,CCO,F,CLK,PLL,馈送寄存器,(,PLLFEED,),:,PLLFEDD7:0,:,PLL,馈送序列必须写入该寄存器才能使,PLL,配置和控制寄存器的更改生效;,位,7,6,5,4,3,2,1,0,功能,PLLFEED7:0,PLL,相关寄存器,相位频率,检测,CCO,1,0,2P,分频,M,分频,0,1,0,1,F,OSC,F,CCO,F,CLK,馈送序列为:,1.,将值,0 xAA,写入,PLLFEED,;,2.,将值,0 x55,写入,PLLFEED,。,位,7,6,5,4,3,2,1,0,功能,PLLFEED7:0,PLL,相关寄存器,PLL,馈送寄存器,(PLLFEED),:,PLL,频率计算,回路锁定后:,F,OSC,=F,CCO,/(2P,M),F,CLK,=F,OSC,M,相位频率,检测,CCO,1,0,2P,分频,M,分频,0,1,0,1,F,OSC,F,CCO,F,CLK,F,CCO,/2P,F,CCO,/(2P*M),F,OSC,:,晶振频率;,F,CCO,:,CCO,振荡器输出频率,F,CCLK,:,处理器时钟频率;,M,:,PLL,倍频值,P,:,PLL,分频值,必须满足的条件:,F,OSC,范围:,10MHz,25MHz,;,F,CCLK,范围,:,10MHz,60MHz,;,F,CCO,范围,:,156MHz,320MHz,;,锁相环(,PLL,),计算流程,1,.,选择处理器的,工作频率,(CCLK),2,.,选择振荡器,频率,(F,OSC,),3,.,计算,M,值,配置,MSEL,位,4,.,计算,P,值,配置,PSEL,位,根据处理器的整体要求、,UART,波特率的支持等因素来决定。外围器件的时钟频率可以低于处理器频率,CCLK,必须为,F,OSC,的整数倍。,M=CCLK/F,OSC,,,取值范围,1,32,。写入,MSEL,的值为,(M-1),。,选择合适的,P,值,使,F,CCO,在限制范围内。,P,只能取,1,、,2,、,4,或,8,。写入,PSEL,的值为,P,。,锁相环(,PLL,),计算实例,系统要求:,F,OSC,10MHz,、,CCLK,60MHz,1.,计算,M,值:,M,CCLK /F,OSC,6,;,2.,设置,MSEL,位:写入值为(,M,1,),5,;写入,PLLCFG4:0,3.,设置,PSEL,位:,P,F,CCO,/(CCLK,2),(,156,320,),/120,1.3,2.67,所以,P,取整数,2,,,PSEL,写入值为,2,。写入,PLLCFG6:5,必须满足的条件:,F,OSC,范围:,10MHz,25MHz,;,F,CCLK,范围,:,10MHz,60MHz,;,F,CCO,范围,:,156MHz,320MHz,;,锁相环(,PLL,),注意要点,PLL,在芯片复位或进入掉电模式时被关闭并旁路,在掉电唤醒后不会自动恢复,PLL,的设定;,PLL,只能通过软件使能;,PLL,在激活后必须等待其锁定,然后才能连接;,PLL,如果设置不当将会导致芯片的错误操作。,2 VPB,分频器,VPB,分频器,VPB,分频器将,PLL,输出的时钟信号分频后作为芯片外设的时钟。,PLL,晶体,振荡器,VPB,分频器,F,CCLK,F,PCLK,F,OSC,VPB,分频器,Fpclk,=(Fcclk/4)*Q,其中,Q=1,2,4,VPB,分频器,VPB,分频器决定处理器时钟(,CCLK,),与外设器件所使用的时钟(,PCLK,),之间的关系。,VPB,用途,1,:通过,VPB,总线为外设提供所需的,PCLK,时钟,以便外设在合适的速度下工作;,VPB,用途,2,:在应用不需要任何外设全速运行时使功耗降低。,VPB,分频器相关寄存器,位,7,6,5,4,3,2,1,0,功能,XCLKDIV1:0,VPBDIV1:0,VPB,分频寄存器,(VPBDIV),:,VPBDIV1:0,:,设置分频值,可以设定,3,个值,;,XCLKDIV1:0,:,这些位用于控制,LPC2200,系列微控制器,A23/XCLK,引脚上的时钟驱动,取值编码方式与,VPBDIV,相同;,VPB,分频器相关寄存器,位,7,6,5,4,3,2,1,0,功能,XCLKDIV1:0,VPBDIV1:0,VPB,分频寄存器,(VPBDIV),:,VPBDIV1:0,说明,00,VPB,总线时钟为处理器时钟的,1/4,。,01,VPB,总线时钟与处理器时钟相同。,10,VPB,总线时钟为处理器时钟的,1/2,。,11,保留。写入该值将不改变分频值。,系统时钟初始化,启动代码实例,/,应当与实际一至晶振频率,10MHz25MHz,,,应当与实际一致,#define,Fosc,11059200,/,系统频率,必须为,Fosc,的整数倍,(132),,且,=60MHZ,#define,Fcclk,(,Fosc,*4),/CCO,频率,必须为,Fcclk,的,2,、,4,、,8,、,16,倍,范围为,156MHz320MHz,#define,Fcco,(,Fcclk,*4),/VPB,时钟频率,只能为,(,Fcclk,/4),的,1,、,2,、,4,倍,#define,Fpclk,(,Fcclk,/4)*1,将系统内各时钟的频率定义为宏,方便用户操作。,设置晶振频率,设置内核工作频率,设置,CCO,输出频率,设置外设工作频率,Fcco,=,Fcclk,*2P,其中,p=1,2,4,8,且,156MHz,Fcco,320MHz,Fcclk,=,Fosc,*M,其中,M=132,且,Fcclk60MHz,Fpclk,=Fcclk/4*Q,其中,Q=1,2,4,系统时钟初始化,启动代码实例,使能,PLL,设置,VPB,分频值,PLL,馈送序列,等待,PLL,锁定,设置,PLL,分频值,连接,PLL,PLL,馈送序列,使能,PLL,设置,VPB,分频值,C,代码分析:,PLLCON=1;,#if(,Fpclk,/(,Fcclk,/4)=1,VPBDIV=0;,#,endif,#if(,Fpclk,/(,Fcclk,/4)=2,VPBDIV=2;,#,endif,#if(,Fpclk,/(,Fcclk,/4)=4,VPBDIV=1;,#,endif,.,注意,:在启动代码中很多地方使用了条件编译的方法,根据用户定义的宏来决定要设置的值,可以方便用户使用。,系统时钟初始化,启动代码实例,使能,PLL,设置,VPB,分频值,PLL,馈送序列,等待,PLL,锁定,设置,PLL,分频值,连接,PLL,PLL,馈送序列,设置,PLL,分频值,C,代码分析:,.,#,if(Fcco/Fcclk,)=2,PLLCFG=(Fcclk/Fosc)-1)|(05);,#,endif,#,if(Fcco/Fcclk,)=4,PLLCFG=(Fcclk/Fosc)-1)|(15);,#,endif,#,if(Fcco/Fcclk,)=8,PLLCFG=(Fcclk/Fosc)-1)|(25);,#,endif,#,if(Fcco/Fcclk,)=16,PLLCFG=(Fcclk/Fosc)-1)|(35);,.,系统时钟初始化,启动代码实例,使能,PLL,设置,V
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!