第五周 CC2530电源及系统时钟的管理(大课)_第1页
第五周 CC2530电源及系统时钟的管理(大课)_第2页
第五周 CC2530电源及系统时钟的管理(大课)_第3页
第五周 CC2530电源及系统时钟的管理(大课)_第4页
第五周 CC2530电源及系统时钟的管理(大课)_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机原理与应用单片机原理与应用2 大课(1)CC2530和8051的关系;(2)CC2530结构;(3)物理存储器的映射(难点)(4)CC2530 GPIO口编程(重点) 小课(1)点亮一盏发光二极管并闪烁;(2)8051上的C语言位运算31.当变量当变量X的第的第n位需清位需清0,其它位不变,可使用,其它位不变,可使用:X&=(1n);2.当变量当变量X的第的第n位需置位需置1,其它位不变,可使用,其它位不变,可使用:X|=(1n);3.当需要检测当需要检测Px的第的第n位是否为位是否为0时,可以使用时,可以使用 :if(Px & (1n)=0),else 输出输出4.当需

2、要检测当需要检测Px的第的第n位是否为位是否为1时,可以使用时,可以使用 :if(Px|(1n) =1),else 输出输出4本周教学主要内容本周教学主要内容 CC2530电源的管理 CC2530系统时钟的编程(难点)5教学目标教学目标 掌握掌握CC2530CC2530电源的管理;电源的管理; 掌握掌握CC2530CC2530系统时钟编程方法系统时钟编程方法; ;6一、一、 振荡器振荡器CC2530共有四个振荡器,它们为系统时钟提供时钟源。共有四个振荡器,它们为系统时钟提供时钟源。 16MHz内部内部RC振荡器振荡器32MHz外部晶振外部晶振32KHz外部晶振外部晶振32KHz内部内部RC振荡

3、器振荡器两个两个低频低频振荡器振荡器 两个两个高频高频振荡器振荡器RCRC振荡器:成本较低,但由于电阻电容的精度导致振荡频率会有误差,同时振荡器:成本较低,但由于电阻电容的精度导致振荡频率会有误差,同时 受到温度、湿度的影响;受到温度、湿度的影响;晶体振荡器:振荡频率一般都比较稳定,但价格要稍高点,使用时一般还需晶体振荡器:振荡频率一般都比较稳定,但价格要稍高点,使用时一般还需 要接两个要接两个15-33pF15-33pF起振电容。起振电容。71. 振荡器的作用振荡器的作用16MHz内部内部RC振荡器振荡器(简称(简称16MHz RC振荡器振荡器):):32MHz外部晶振外部晶振(简称(简称3

4、2MHz晶振晶振):):32KHz外部晶振外部晶振(简称(简称32KHz晶振晶振)32KHz内部内部RC振荡器振荡器(简称(简称32KHZ RC振荡器振荡器)除了为内部时钟提供时钟源之外,除了为内部时钟提供时钟源之外,主要用于主要用于RF收发器收发器。l 运行在运行在32.753KHz上,当系统时钟需要上,当系统时钟需要校准校准时使用此振时使用此振荡器,校准只能发生在系统时钟工作由荡器,校准只能发生在系统时钟工作由16MHz RC震荡器震荡器转到转到32MHz晶振的时候。晶振的时候。l 也可以为内部时钟提供时钟源,但是也可以为内部时钟提供时钟源,但是16MHz RC振荡器不能用于振荡器不能用于

5、RF收发器收发器操作。对于一些应用程序来说操作。对于一些应用程序来说32MHz晶振的启动时间较长,设备可以采用先晶振的启动时间较长,设备可以采用先运行运行16MHz RC振荡器,直到振荡器,直到32MHz晶振稳定。晶振稳定。 运行在运行在32.768KHz上,为系统需要的时间精度上,为系统需要的时间精度提供一个稳定的时钟信号。提供一个稳定的时钟信号。不能同时使用不能同时使用82. 系统时钟及寄存器系统时钟及寄存器 CC2530内部有一个内部系统时钟或主时钟。内部有一个内部系统时钟或主时钟。 在在CC2530中系统时钟源是从所选的主系统时钟源获得的,主时钟一般由中系统时钟源是从所选的主系统时钟源

6、获得的,主时钟一般由32MHz晶振或晶振或16MHz RC振荡器提供。由于振荡器提供。由于32MHz晶振启动时间比较长,晶振启动时间比较长,因此当选用因此当选用32MHz晶振作为主时钟源时,内部首先选择晶振作为主时钟源时,内部首先选择16MHz RC振荡振荡器使系统运转起来,当器使系统运转起来,当32MHz晶振稳定之后才使用晶振稳定之后才使用32MHz晶振作为主时晶振作为主时钟源钟源 可以通过操作时钟寄存器选择使用哪个时钟源。可以通过操作时钟寄存器选择使用哪个时钟源。 时钟寄存器主要有两个寄存器:时钟寄存器主要有两个寄存器: 时钟控制命令寄存器时钟控制命令寄存器CLKCONCMD 时钟控制状态

7、寄存器时钟控制状态寄存器CLKCONSTA 92. 系统时钟及寄存器系统时钟及寄存器CLKONCMD时钟控制命令寄存器时钟控制命令寄存器 位位名称名称复复位位R/W描述描述7OSC32K1R/W32KHz时钟振荡器选择。设置该位只能发起一个时钟时钟振荡器选择。设置该位只能发起一个时钟源改变。要改变该位,必须选择源改变。要改变该位,必须选择16MHz RCOSC作为系作为系统时钟。统时钟。0:32KHz XOSC 1:32KHz RCOSC6OSC1R/W系统时钟源选择。设置该位只能发起一个时钟源改变。系统时钟源选择。设置该位只能发起一个时钟源改变。0:32MHz XOSC1:16MHz RCO

8、SC5:3TICKSPD001R/W定时器定时器标记输出标记输出设置。不能高于通过设置。不能高于通过OSC位设置的系位设置的系统时钟设置。统时钟设置。 000:32MHz 001:16MHz 010:8MHz 011:4MHz 100:2MHz 101:1MHz 110:500KHz 111:250KHz注:注:CLKCONCMD.TICKSPD可以设置为任意值,但可以设置为任意值,但是结果受是结果受CLKCONCMD.OSC设置的限制。设置的限制。/设置时钟晶振为设置时钟晶振为32MHZCLKCONCMD &= 0 x40;102. 系统时钟及寄存器系统时钟及寄存器CLKONCMD时

9、钟控制命令寄存器时钟控制命令寄存器 位位名称名称复复位位R/W描述描述2:0CLKSPD 001 R/W 时钟速度时钟速度。不能高于通过。不能高于通过OSC位设置的系统时位设置的系统时钟设置。标识当前系统时钟频率。钟设置。标识当前系统时钟频率。000:32MHz001:16MHz010:8MHz011:4MHz100:2MHz101:1MHz110:500KHz111:250KHz注:注:CLKCONCMD.TICKSPD可以设置为任意可以设置为任意值,但是结果受值,但是结果受CLKCONCMD.OSC设置的限设置的限制。制。112. 系统时钟及寄存器系统时钟及寄存器CLKCONSTA时钟控制

10、状态寄存器时钟控制状态寄存器 位位名称名称复位复位R/W描述描述7OSC32K1R当前选择的当前选择的32KHz时钟源时钟源0:32KHz 晶振晶振1:32KHz RCOSC6OSC1R当前选择系统时钟。当前选择系统时钟。0:32MHz XOSC1:16MHz RCOSC/设置当前时钟为设置当前时钟为32MHz晶振晶振CLKCONSTA &= 0 x40;122. 系统时钟及寄存器系统时钟及寄存器CLKCONSTA时钟控制状态寄存器时钟控制状态寄存器 位位名称名称复位复位R/W描述描述5:3TICKSPD001R当前设定定时器标记输出当前设定定时器标记输出000:32MHz001:16

11、MHz010:8MHz011:4MHz100:2MHz101:1MHz110:500KHz111:250KHz2:0CLKSPD001R当前时钟速度当前时钟速度000:32MHz001:16MHz010:8MHz011:4MHz100:2MHz101:1MHz110:500KHz111:250KHz13二、二、 电源管理和复位电源管理和复位CC2530提供多种供电模式,不同的工作方式需要在提供多种供电模式,不同的工作方式需要在相应的供电模式下进行,因此相应的供电模式下进行,因此CC2530在工作时首先在工作时首先要选择供电模式要选择供电模式 。141. 供电模式供电模式CC2530的供电模式有

12、五种:的供电模式有五种:主动模式主动模式空闲模式空闲模式PM1、PM2和和PM3其中主动模式又称一般模式或完全功能模式。不同其中主动模式又称一般模式或完全功能模式。不同的供电模式对系统运行的影响不同的供电模式对系统运行的影响不同 151. 供电模式供电模式供电模式供电模式高频振荡器高频振荡器低频振荡器低频振荡器稳压器稳压器主动模式主动模式32MHz32MHz晶振或晶振或16MHzRC16MHzRC振荡器振荡器32KHz32KHz晶振或晶振或 32KHzRC32KHzRC振荡器振荡器ONON空闲模式空闲模式32MHz32MHz晶振或晶振或16MHzRC16MHzRC振荡器振荡器32KHz32KH

13、z晶振或晶振或 32KHzRC32KHzRC振荡器振荡器ONONPM1PM1无无32KHz32KHz晶振或晶振或 32KHzRC32KHzRC振荡器振荡器ONONPM2PM2无无32KHz32KHz晶振或晶振或 32KHzRC32KHzRC振荡器振荡器OFFOFFPM3PM3无无无无OFFOFF161. 供电模式供电模式主动模式:主动模式:完全功能模式。稳压器的数字内核开启;完全功能模式。稳压器的数字内核开启;高频振荡器运行行为高频振荡器运行行为:高频振荡器:高频振荡器32MHz32MHz晶振或晶振或16MHz RC16MHz RC振荡器运行,或者两者都运行;振荡器运行,或者两者都运行;低频振

14、荡器运行行为:低频振荡器运行行为:低频振荡器的低频振荡器的32KHz32KHz晶振或晶振或32KHzRC32KHzRC振荡器运行。振荡器运行。在此模式下在此模式下CPUCPU、外设和、外设和RFRF收发器都是活动的,可收发器都是活动的,可通过操作寄存器使通过操作寄存器使CPUCPU内核停止运行,内核停止运行,进入空闲模式进入空闲模式;也;也可通过复位、外部中断或睡眠定时器到期可通过复位、外部中断或睡眠定时器到期唤醒空闲模式唤醒空闲模式。17空闲模式空闲模式:除了:除了CPU内核停止运行,其他的运行内核停止运行,其他的运行方式和主动模式的运行方式相同。可以通过复位、方式和主动模式的运行方式相同。

15、可以通过复位、外部中断或睡眠定时器到期唤醒进入主动模式。外部中断或睡眠定时器到期唤醒进入主动模式。PM1:在:在PM1模式下,稳压器的数字部分开启;模式下,稳压器的数字部分开启;高频振荡器(高频振荡器(32MHz晶振或晶振或16MHz RC振荡器)都振荡器)都不运行;低频振荡器的不运行;低频振荡器的32KHz晶振或晶振或32KHz RC振荡振荡器运行。器运行。当发生复位、外部中断或睡眠定时器到期时系统将当发生复位、外部中断或睡眠定时器到期时系统将转到主动模式。当系统运行在此模式下时,将运行转到主动模式。当系统运行在此模式下时,将运行一个掉电序列。由于一个掉电序列。由于PM1模式使用的上电和掉电

16、序模式使用的上电和掉电序列较快,此模式适合用于等待唤醒事件的时间小于列较快,此模式适合用于等待唤醒事件的时间小于3ms的情况下。的情况下。1. 供电模式供电模式181. 供电模式供电模式PM2:具有较低功耗,稳压器的数字部分关闭,具有较低功耗,稳压器的数字部分关闭,高频高频振荡器(振荡器(32MHz晶振或晶振或16MHz RC振荡器)都不运行;振荡器)都不运行;低频振荡器的低频振荡器的32KHz晶振或晶振或32KHzRC振荡器运行。振荡器运行。当发生复位、外部中断或睡眠定时器到期时系统将转当发生复位、外部中断或睡眠定时器到期时系统将转到主动模式。当睡眠时间超过到主动模式。当睡眠时间超过3ms时

17、使用此模式。时使用此模式。PM3:最低功耗模式,稳压器数字关闭,所有的振荡最低功耗模式,稳压器数字关闭,所有的振荡器都不运行。当发生复位和外部中断时系统将转到主器都不运行。当发生复位和外部中断时系统将转到主动模式运行。动模式运行。192. 电源管理寄存器电源管理寄存器电源管理即管理和选择供电模式,供电模式的管理电源管理即管理和选择供电模式,供电模式的管理是通过电源管理寄存器来实现的。是通过电源管理寄存器来实现的。CC2530的电源管理寄存器有的电源管理寄存器有3个:个:u PCON为供电模式控制寄存器;为供电模式控制寄存器;u SLEEPCND为睡眠模式控制器;为睡眠模式控制器;u SLEEP

18、STA为睡眠模式控制状态寄存器。为睡眠模式控制状态寄存器。 202. 电源管理寄存器电源管理寄存器PCON为供电模式控制寄存器为供电模式控制寄存器位位名称名称复位复位R/W描述描述7:1-000000R0保留保留0IDLE0R/WH0供电模式控制。供电模式控制。1:强制设备进入:强制设备进入SLEEP.MODE设设置供电模式。如果置供电模式。如果SLEEP.MODE=0 x00且且IDLE=1将将停止停止CPU内核活动。中断可以清除内核活动。中断可以清除此位。此位。212. 电源管理寄存器电源管理寄存器SLEEPCND为睡眠模式控制器为睡眠模式控制器位位名称名称复位复位R/W描述描述7OSC3

19、2K_CALDIS0R/W禁用禁用32KHz RC振荡器校准振荡器校准0:使能:使能32KHz RC振荡器校准振荡器校准1:禁用:禁用32KHz RC振荡器校准振荡器校准此设置可以在任何时间写入,但是在芯片没此设置可以在任何时间写入,但是在芯片没有运行在有运行在16MHz高频高频RC振荡器时不起作用振荡器时不起作用6:3-0000R0保留保留2-1R/W总为总为1,关闭不用的,关闭不用的RC振荡器振荡器1:0MODE1:000R/W供电模式设置。供电模式设置。00:主动:主动/空闲模式空闲模式01:PM110:PM211:PM3 /关闭不用的关闭不用的RC振荡器振荡器SLEEPCMD |= 0

20、 x04;在选定主时钟之后,需要关闭不用的在选定主时钟之后,需要关闭不用的RC振振荡器,此时需要设置荡器,此时需要设置SLEEPCND的哪位?的哪位?222. 电源管理寄存器电源管理寄存器SLEEPSTA为睡眠模式控制状态寄存器为睡眠模式控制状态寄存器 位位名称名称复位复位R/W描述描述7OSC32K_CALDIS0R/W禁用禁用32KHz RC振荡器校准振荡器校准0:使能:使能32KHz RC振荡器校准振荡器校准1:禁用:禁用32KHz RC振荡器校准振荡器校准此设置可以在任何时间写入,但是在芯片没有运此设置可以在任何时间写入,但是在芯片没有运行在行在16MHz高频高频RC振荡器时不起作用振

21、荡器时不起作用6XOSC_STB0R32MHz晶振稳定状态晶振稳定状态0:32MHz晶振上电不稳定晶振上电不稳定1:32MHz晶振上电稳定晶振上电稳定5-0R保留保留CC2530数据手册上数据手册上这部分有错误这部分有错误232. 电源管理寄存器电源管理寄存器SLEEPSTA为睡眠模式控制状态寄存器为睡眠模式控制状态寄存器 位位名称名称复复位位R/W描述描述4:3RST1:0XXR状态位,表示上一次复位的原因,状态位,表示上一次复位的原因,00:上电复位和掉电探测:上电复位和掉电探测01:外部复位:外部复位10:看门狗定时器复位:看门狗定时器复位11:时钟丢失复位:时钟丢失复位2:1-00R保

22、留保留0CLK32K0R32KHz时钟信号(与系统时钟同步)时钟信号(与系统时钟同步) /等待晶振稳定等待晶振稳定 while(!(SLEEPSTA & 0 x40); 由于由于32MHz晶振启动时间比较长,因此当选用晶振启动时间比较长,因此当选用32MHz晶振作为晶振作为主时钟源时,内部首先选择主时钟源时,内部首先选择16MHz RC振荡器使系统运转起来,振荡器使系统运转起来,当当32MHz晶振稳定之后才使用晶振稳定之后才使用32MHz晶振作为主时钟源。如何晶振作为主时钟源。如何判断判断32MHz晶振是否稳定?晶振是否稳定? 243.系统时钟初始化系统时钟初始化在使用串口、在使用串口

23、、DMA、RF等功能时需要对系统时钟进行初始化,以等功能时需要对系统时钟进行初始化,以系统时钟选择系统时钟选择32MHz晶振为例来设置系统时钟。晶振为例来设置系统时钟。控制要求:控制要求:1.选择外部选择外部32MHz晶振作为主时钟源;晶振作为主时钟源; 2.等待等待32MHz晶振稳定:上电后,由于外部晶振稳定:上电后,由于外部32MHz晶晶振不稳定,因此振不稳定,因此CC2530芯片内部先启用内部芯片内部先启用内部16MHz RC振荡器。振荡器。等待外部稳定之后,才开始使用外部等待外部稳定之后,才开始使用外部32MHz晶振晶振 3.设置定时器时钟输出设置定时器时钟输出128分频,当前系统时钟

24、不分频分频,当前系统时钟不分频 4.关闭不用的关闭不用的RC振荡器振荡器25void InitClock(void)CLKCONCMD &= 0 x40; /*选择选择32MHz晶振晶振*/while(!(SLEEPSTA & 0 x40); /*等待晶振稳定等待晶振稳定*/ CLKCONCMD &= 0 x47; /* TICHSPD128分频,分频,CLKSPD不分频不分频*/ SLEEPCMD |= 0 x04;/*关闭不用的关闭不用的RC振荡器振荡器*/ 3.系统时钟初始化系统时钟初始化264.复位复位CC2530的复位源有的复位源有5个,这个,这5个复位源分别

25、是:个复位源分别是:(1)强制)强制RESET_N输入引脚为低电平复位,这一输入引脚为低电平复位,这一复位经常用于复位按键。复位经常用于复位按键。l (2)上电复位,在设备上电期间提供正确的初始化值。)上电复位,在设备上电期间提供正确的初始化值。l(3)布朗输出复位,只能运行在)布朗输出复位,只能运行在1.8V数字电压,此数字电压,此复位是通过布朗输出探测器来进行的。布朗输出探测器复位是通过布朗输出探测器来进行的。布朗输出探测器在电压变化期间检测到的电压低于布朗输出探测器所规在电压变化期间检测到的电压低于布朗输出探测器所规定的最低电压电压时,导致复位。定的最低电压电压时,导致复位。274.复位

26、复位CC2530的复位源有的复位源有5个,这个,这5个复位源分别是:个复位源分别是:l(4)看门狗定时复位,当使能看门狗定时器,且)看门狗定时复位,当使能看门狗定时器,且定时器溢出时产生复位。定时器溢出时产生复位。l(5)时钟丢失复位,此复位条件是通过时钟丢失探测)时钟丢失复位,此复位条件是通过时钟丢失探测器来进行的。时钟丢失探测器用于检测时钟源,当时器来进行的。时钟丢失探测器用于检测时钟源,当时钟源损坏时,系统自动使能时钟丢失探测器,导致复钟源损坏时,系统自动使能时钟丢失探测器,导致复位。位。284. 复位复位CC2530在复位之后初始状态如下在复位之后初始状态如下 :l I/O引脚配置为带上拉的输入。引脚配置为带上拉的输入。l CPU程序计数器在程序计数器在0 x0000,并且程序从这个地址开始。,并且程序从这个地址开始。l 所有外设寄存器初始化为各自复位值。所有外设寄存器初始化为各自复位值。l 看门狗定时器禁用。看门狗定时器禁用。l 时钟丢失探测器禁用。时钟丢失探测器禁用。29系统时钟除了提供给系统时钟除了提供给CPUCPU外,还供给大量的外,还供给大量的IOIO接口接口30 系统时钟设置例子: CLKCONCMD&=(16

温馨提示

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

评论

0/150

提交评论