收藏 分销(赏)

第五周-CC2530电源及系统时钟的管理(大课).ppt

上传人:精**** 文档编号:12493791 上传时间:2025-10-20 格式:PPT 页数:34 大小:864.54KB 下载积分:10 金币
下载 相关 举报
第五周-CC2530电源及系统时钟的管理(大课).ppt_第1页
第1页 / 共34页
第五周-CC2530电源及系统时钟的管理(大课).ppt_第2页
第2页 / 共34页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单片机原理与应用,教学回顾,大课,(,1,),CC2530和8051的关系,;,(,2,),CC2530结构,;,(,3,),物理存储器的映射,(难点),(,4,),CC2530 GPIO,口编程(,重点),小课,(,1,)点亮一盏发光二极管并闪烁;,(,2,),8051,上的,C,语言,位运算,教学回顾,1.,当变量,X,的第,n,位需清,0,,其它位不变,可使用,:,X,&=(1,n,);,2.,当变量,X,的第,n,位需置,1,,其它位不变,可使用,:,X,|,=(1,n,);,3.,当需要检测,Px,的第,n,位是否为,0,时,可以使用,:,if,(,(,Px&,(,1n,),),=0,),else,输出,4.,当需要检测,Px,的第,n,位是否为,1,时,可以使用,:,if,(,(,Px|,(,(,1n,),),),=1,),else,输出,本周教学主要内容,CC2530,电源的管理,CC2530,系统时钟的编程(难点),教学目标,掌握,CC2530,电源的管理;,掌握,CC2530,系统时钟编程方法,;,一、振荡器,CC2530共有四个振荡器,它们为系统时钟提供时钟源。,16,MHz,内部RC振荡器,32,MHz,外部晶振,32,KHz,外部晶振,32,KHz,内部RC振荡器,两个,低频,振荡器,两个,高频,振荡器,RC振荡器:成本较低,但由于电阻电容的精度导致振荡频率会有误差,同时,受到温度、湿度的影响;,晶体振荡器:振荡频率一般都比较稳定,但价格要稍高点,使用时一般还需,要接两个15-33pF起振电容。,2.系统时钟及寄存器,CLKONCMD时钟控制命令寄存器,位,名称,复位,R/W,描述,7,OSC32K,1,R/W,32KHz,时钟振荡器选择。设置该位只能发起一个时钟源改变。要改变该位,必须选择,16MHz RCOSC,作为系统时钟。,0,:,32KHz XOSC 1,:,32KHz RCOSC,6,OSC,1,R/W,系统时钟源选择。设置该位只能发起一个时钟源改变。,0,:,32MHz XOSC,1,:,16MHz RCOSC,5,:,3,TICKSPD,001,R/W,定时器,标记输出,设置。不能高于通过,OSC,位设置的系统时钟设置。,000,:,32MHz 001,:,16MHz,010,:,8MHz 011,:,4MHz,100,:,2MHz 101,:,1MHz,110,:,500KHz 111,:,250KHz,注:,CLKCONCMD.TICKSPD,可以设置为任意值,但是结果受,CLKCONCMD.OSC,设置的限制。,/,设置时钟晶振为,32MHZ,CLKCONCMD,2.系统时钟及寄存器,CLKONCMD时钟控制命令寄存器,位,名称,复位,R/W,描述,2,:0,CLKSPD,001,R/W,时钟速度,。不能高于通过OSC位设置的系统时钟设置。标识当前系统时钟频率。,000:,32MHz,001,:16MHz,010:8MHz,011:4MHz,100:2MHz,101:1MHz,110:500KHz,111:250KHz,注:CLKCONCMD.TICKSPD可以设置为任意值,但是结果受CLKCONCMD.OSC设置的限制。,2.系统时钟及寄存器,CLKCONSTA时钟控制状态寄存器,位,名称,复位,R/W,描述,7,OSC32K,1,R,当前选择的32KHz时钟源,0:32KHz 晶振,1:32KHz RCOSC,6,OSC,1,R,当前选择系统时钟。,0:32MHz XOSC,1:16MHz RCOSC,/,设置当前时钟为,32MHz,晶振,CLKCONSTA,2.系统时钟及寄存器,CLKCONSTA时钟控制状态寄存器,位,名称,复位,R/W,描述,5,:3,TICKSPD,001,R,当前设定定时器标记输出,000:32MHz,001:16MHz,010:8MHz,011:4MHz,100:2MHz,101:1MHz,110:500KHz,111:250KHz,2,:0,CLKSPD,001,R,当前时钟速度,000:32MHz,001:16MHz,010:8MHz,011:4MHz,100:2MHz,101:1MHz,110:500KHz,111:250KHz,二、电源管理和复位,CC2530,提供多种供电模式,不同的工作方式需要在相应的供电模式下进行,因此,CC2530,在工作时首先要选择供电模式。,1,.,供电模式,CC2530,的供电模式有五种:,主动模式,空闲模式,PM1,、,PM2,和,PM3,其中主动模式又称一般模式或完全功能模式。不同的供电模式对系统运行的影响不同,1,.,供电模式,供电模式,高频振荡器,低频振荡器,稳压器,主动模式,32MHz,晶振或,16MHzRC,振荡器,32KHz,晶振或,32KHzRC,振荡器,ON,空闲模式,32MHz,晶振或,16MHzRC,振荡器,32KHz,晶振或,32KHzRC,振荡器,ON,PM1,无,32KHz,晶振或,32KHzRC,振荡器,ON,PM2,无,32KHz,晶振或,32KHzRC,振荡器,OFF,PM3,无,无,OFF,1,.,供电模式,主动模式:,完全功能模式。稳压器的数字内核开启;,高频振荡器运行行为,:高频振荡器,32MHz,晶振或,16MHz RC,振荡器运行,或者两者都运行;,低频振荡器运行行为:,低频振荡器的,32KHz,晶振或,32KHzRC,振荡器运行。,在此模式下,CPU,、外设和,RF,收发器都是活动的,可通过操作寄存器使,CPU,内核停止运行,,进入空闲模式,;也可通过复位、外部中断或睡眠定时器到期,唤醒空闲模式,。,空闲模式,:除了,CPU,内核停止运行,其他的运行方式和主动模式的运行方式相同。可以通过复位、外部中断或睡眠定时器到期唤醒进入主动模式。,PM1,:在,PM1,模式下,稳压器的数字部分开启;高频振荡器(,32MHz,晶振或,16MHz RC,振荡器)都不运行;低频振荡器的,32KHz,晶振或,32KHz RC,振荡器运行。,当发生复位、外部中断或睡眠定时器到期时系统将转到主动模式。当系统运行在此模式下时,将运行一个掉电序列。由于,PM1,模式使用的上电和掉电序列较快,此模式适合用于等待唤醒事件的时间小于,3ms,的情况下。,1,.,供电模式,1,.,供电模式,PM2,:,具有较低功耗,稳压器的数字部分关闭,,高频振荡器(,32MHz,晶振或,16MHz RC,振荡器)都不运行;,低频振荡器的,32KHz,晶振或,32KHzRC,振荡器运行。当发生复位、外部中断或睡眠定时器到期时系统将转到主动模式。当睡眠时间超过,3ms,时使用此模式。,PM3,:,最低功耗模式,稳压器数字关闭,所有的振荡器都不运行。当发生复位和外部中断时系统将转到主动模式运行。,2,.,电源管理寄存器,电源管理即管理和选择供电模式,供电模式的管理是通过电源管理寄存器来实现的。,CC2530,的电源管理寄存器有,3,个:,PCON,为供电模式控制寄存器;,SLEEPCND,为睡眠模式控制器;,SLEEPSTA,为睡眠模式控制状态寄存器。,2,.,电源管理寄存器,PCON,为供电模式控制寄存器,位,名称,复位,R/W,描述,7,:1,-,000000,R0,保留,0,IDLE,0,R/W,H0,供电模式控制。,1:强制设备进入SLEEP.MODE设置供电模式。如果SLEEP.MODE=0 x00且IDLE=1将停止CPU内核活动。中断可以清除此位。,2,.,电源管理寄存器,SLEEPCND,为睡眠模式控制器,位,名称,复位,R/W,描述,7,OSC32K_CALDIS,0,R/W,禁用32KHz RC振荡器校准,0:使能32KHz RC振荡器校准,1:禁用32KHz RC振荡器校准,此设置可以在任何时间写入,但是在芯片没有运行在16MHz高频RC振荡器时不起作用,6,:3,-,0000,R0,保留,2,-,1,R/W,总为1,关闭不用的RC振荡器,1,:0,MODE1,:0,00,R/W,供电模式设置。,00:主动/空闲模式,01:PM1,10:PM2,11:PM3,/,关闭不用的,RC,振荡器,SLEEPCMD|=0 x04;,在选定主时钟之后,需要关闭不用的,RC,振荡器,此时需要设置,SLEEPCND的哪位?,2.电源管理寄存器,SLEEPSTA,为睡眠模式控制状态寄存器,位,名称,复位,R/W,描述,7,OSC32K_CALDIS,0,R/W,禁用32KHz RC振荡器校准,0:使能32KHz RC振荡器校准,1:禁用32KHz RC振荡器校准,此设置可以在任何时间写入,但是在芯片没有运行在16MHz高频RC振荡器时不起作用,6,XOSC_STB,0,R,32MHz,晶振稳定状态,0:32MHz晶振上电不稳定,1:32MHz晶振上电稳定,5,-,0,R,保留,CC2530数据手册上这部分有错误,2.电源管理寄存器,SLEEPSTA,为睡眠模式控制状态寄存器,位,名称,复位,R/W,描述,4,:3,RST1:0,XX,R,状态位,表示上一次复位的原因,,00:上电复位和掉电探测,01:外部复位,10:看门狗定时器复位,11:时钟丢失复位,2,:1,-,00,R,保留,0,CLK32K,0,R,32KHz,时钟信号(与系统时钟同步),/,等待晶振稳定,while(!(SLEEPSTA,由于32MHz晶振启动时间比较长,因此当选用32MHz晶振作为主时钟源时,内部首先选择16MHz RC振荡器使系统运转起来,当32MHz晶振稳定之后才使用32MHz晶振作为主时钟源。如何判断32MHz晶振是否稳定?,3.,系统时钟初始化,在使用串口、,DMA,、,RF,等功能时需要对系统时钟进行初始化,以系统时钟选择,32MHz,晶振为例来设置系统时钟。,控制要求:,1.,选择外部32MHz晶振作为主时钟源;,2.,等待32MHz晶振稳定:上电后,由于外部32MHz晶振不稳定,因此CC2530芯片内部先启用内部16MHz RC振荡器。等待外部稳定之后,才开始使用外部32MHz晶振,3.,设置定时器时钟输出,128,分频,当前系统时钟不分频,4.,关闭不用的,RC,振荡器,void InitClock(void),CLKCONCMD /,*选择,32MHz,晶振*,/,while(!(SLEEPSTA /*,等待晶振稳定,*/,CLKCONCMD,/*TICHSPD128,分频,,CLKSPD,不分频,*/,SLEEPCMD|=0 x04;/*,关闭不用的,RC,振荡器,*/,3.,系统时钟初始化,4.,复位,CC2530,的复位源有,5,个,这,5,个复位源分别是:,(,1,)强制RESET_N输入引脚为低电平复位,这一复位经常用于复位按键。,(,2,)上电复位,在设备上电期间提供正确的初始化值。,(,3,)布朗输出复位,只能运行在,1.8V,数字电压,此复位是通过布朗输出探测器来进行的。布朗输出探测器在电压变化期间检测到的电压低于布朗输出探测器所规定的最低电压电压时,导致复位。,4.,复位,CC2530,的复位源有,5,个,这,5,个复位源分别是:,(,4,)看门狗定时复位,当使能看门狗定时器,且定时器溢出时产生复位。,(5,)时钟丢失复位,此复位条件是通过时钟丢失探测器来进行的。时钟丢失探测器用于检测时钟源,当时钟源损坏时,系统自动使能时钟丢失探测器,导致复位。,4.复位,CC2530,在复位之后初始状态如下:,I/O,引脚配置为带上拉的输入。,CPU,程序计数器在,0 x0000,,并且程序从这个地址开始。,所有外设寄存器初始化为各自复位值。,看门狗定时器禁用。,时钟丢失探测器禁用。,CC2530,电源管理和时钟的设置,系统时钟除了提供给,CPU,外,还供给大量的,IO,接口,CC2530,电源管理和时钟的设置,系统时钟设置例子:,CLKCONCMD/,设置系统时钟源为,32MHZ,晶振,while(CLKCONSTA/,等待晶振稳定为,32M,CLKCONCMD/,设置当前系统时钟频率为,32M,官方,zstack,上的时钟初始化代码,#define OSC_PD (12),SLEEPCMD /*wait for 32MHz XOSC stable*/,asm(NOP);/*chip bug workaround*/,for(i=0;i504;i+)asm(NOP);/*Require 63us delay for all revs*/,CLKCONCMD=(CLKCONCMD_32MHZ|OSC_32KHZ);/*Select 32MHz XOSC and the source for 32K clock*/,while(CLKCONSTA!=(CLKCONCMD_32MHZ|OSC_32KHZ);/*Wait for the change to be effective*/,SLEEPCMD|=OSC_PD;/*turn off 16MHz RC*/,小结,本次课重讲述了,CC2530,的时钟控制器的原理与编程、电源模式及设置,重点理解相关,SFR,在控制器运行过程中所起的作用,之后才可以正确的编程。,课后作业,结合数据手册(在本人课件区的资料目录下中英文版都有)、课件整理,CC2530,时钟控制、串口控制编程的步骤。,预习内容,CC2530,数据手册,+,网上资料理解,cc2530,的串口控制器的原理与编程。,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服