《无线传感器网络》课件5.9 时钟和电源管理;5.10 看门狗;5.11 DMA_第1页
《无线传感器网络》课件5.9 时钟和电源管理;5.10 看门狗;5.11 DMA_第2页
《无线传感器网络》课件5.9 时钟和电源管理;5.10 看门狗;5.11 DMA_第3页
《无线传感器网络》课件5.9 时钟和电源管理;5.10 看门狗;5.11 DMA_第4页
《无线传感器网络》课件5.9 时钟和电源管理;5.10 看门狗;5.11 DMA_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

5.9时钟和电源管理CC2530不同的运行模式或供电模式用于低功耗运行。超低功耗运行的实现通过关闭电源模块以避免损耗功耗,还通过使用特殊的门控时钟和关闭振荡器来降低动态功耗。CC2530有五种不同的运行模式(供电模式),分别被称作主动模式、空闲模式、PM1、PM2和PM3。主动模式是一般模式,而PM3具有最低的功耗。CC2530电源管理主动模式:完全功能模式。稳压器的数字内核开启,16MHzRC振荡器和32MHz晶体振荡器运行至少一个运行。32kHzRC振荡器或32kHz晶体振荡器也有一个在运行。空闲模式:除了CPU内核停止运行,其他和主动模式一样。PM1:稳压器的数字部分开启。32MHz晶体振荡器和16MHzRC振荡器都不运行。32kHzRC振荡器或32kHz晶体振荡器运行。复位、外部中断或睡眠定时器过期时系统将转到主动模式。PM2:稳压器的数字内核关闭。32MHz晶体振荡器和16MHzRC振荡器都不运行。32kHzRC振荡器或32kHz晶体振荡器运行。复位、外部中断或睡眠定时器到期时系统将转到主动模式。PM3:稳压器的数字内核关闭。所有的振荡器都不运行。复位或外部中断时系统将转到主动模式。CC2530电源管理所需的供电模式通过使用寄存器SLEEPCMD的MODE位和PCON.IDLE位来选择。设置寄存器PCON.IDLE位,进入SLEEPCMD.MODE所选的模式。来自端口引脚或睡眠定时器的使能的中断,或上电复位将从其他供电模式唤醒设备,使它回到主动模式。当进入PM1、PM2或PM3,就运行一个掉电序列。当设备从 PM1、PM2或PM3中出来,它在16MHz开始,如果当进入供电模式(设置PCON.IDLE)且CLKCONCMD.OSC=0时,自动变为32MHz。如果当进入供电模式设置了PCON.IDLE且CLKCONCMD.OSC=1,它继续运行在16MHz。CC2530电源管理控制设备有一个内部系统时钟或主时钟。该系统时钟的源既可以用16MHzRC振荡器,也可以采用32MHz晶体振荡器。时钟的控制可以使用寄存器CLKCONCMD来完成。 设备还有一个32KHz时钟源,可以是RC振荡器或晶振,也由CLKCONCMD寄存器控制。CLKCONSTA寄存器是一个只读的寄存器,用于获得当前时钟状态。振荡器可以选择高精度的晶体振荡器,也可以选择低功耗的高频RC振荡器。CC2530振荡器和时钟32MHz 晶振振荡器16MHzRC振荡器32MHz晶振振荡器启动时间对一些应用程序来说可能比较长,因此设备可以运行在16MHzRC振荡器,直到晶振稳定。16MHzRC振荡器功耗少于晶振振荡器,但是由于不像晶振那么精确,不能用于RF收发器操作。高频振荡器32kHz晶体振荡器用于运行在32.768kHz,为系统需要的时间精度提供一个稳定的时钟信号。校准时 32kHzRC振荡器运行在 32.753kHz。32kHzRC振荡器应用于降低成本和电源消耗。这两个32kHz振荡器不能同时运行。低频振荡器(1)实验目的:了解几种系统电源模式的基本设置及切换。(2)实验现象:程序指定S1为外部中断源唤醒CC2530,每次系统唤醒LED1灯亮,LED2闪烁10下后关闭两LED,进入系统睡眠模式PM3。当然,也可通过系统复位进行系统唤醒。实验1:中断唤醒系统实验实验1:中断唤醒系统实验5.10看门狗当单片机程序可能进入死循环情况下,看门狗定时器(WDT)用作一个恢复的方法。当软件在选定时间间隔内不能清除WDT时,WDT必须复位系统。看门狗可用于容易受到电气噪音、电源故障、静电放电等影响的应用,或需要高可靠性的环境。如果一个应用不需要看门狗功能,可以配置看门狗定时器为一个定时器,这样可以用于在选定的时间间隔产生中断。看门狗在系统复位之后,看门狗定时器就被禁用。要设置WDT在看门狗模式,必须设置WDCTL.MODE[1:0]位为10 。然后看门狗定时器的计数器从0开始递增。在看门狗模式下,一旦定时器使能,就不可以禁用定时器,因此,如果WDT位已经运行在看门狗模式下,再往WDCTL.MODE[1:0]写入00或10就不起作用了。WDT运行在一个频率为32.768kHz(当使用32kHzXOSC)的看门狗定时器时钟上。这个时钟频率的超时期限等于1.9ms,15.625ms,0.25s和1s,分别对应64,512,8192和32768的计数值设置。如果计数器达到选定定时器的间隔值,看门狗定时器就为系统产生一个复位信号。如果在计数器达到选定定时器的间隔值之前,执行了一个看门狗清除序列,计数器就复位到0,并继续递增。看门狗清除的序列包括在一个看门狗时钟周期内,写入0xA到WDCTL.CLR[3:0],然后写入0x5到同一个寄存器位。如果这个序列没有在看门狗周期结束之前执行完毕,看门狗定时器就为系统产生一个复位信号。在看门狗模式下,WDT使能,就不能通过写入WDCTL.MODE[1:0]位改变这个模式,且定时器间隔值也不能改变。在看门狗模式下,WDT不会产生一个中断请求。看门狗模式如果不需要看门狗功能,可以将看门狗定时器设置成普通定时器,必须把WDCTL.MODE[1:0]位设置为11。定时器就开始,且计数器从0开始递增。当计数器达到选定间隔值,定时器将产生一个中断请求。在定时器模式下,可以通过写入1到WDCTL.CLR[0]来清除定时器内容。当定时器被清除,计数器的内容就置为0。写入00或01到WDCTL.MODE[1:0]来停止定时器,并清除它为0。定时器间隔由WDCTL.INT[1:0]位设置。在定时器操作期间,定时器间隔不能改变,且当定时器开始时必须设置。在定时器模式下,当达到定时器间隔时,不会产生复位。注意如果选择了看门狗模式,定时器模式就不能在芯片复位之前选择。定时器模式(1)实验目的:编程实现看门狗周期单片机重启,LED1和LED2不断闪烁。加入喂狗函数后不重启,验证看门狗功能。看门狗实验5.11DMA

DMA是directmemoryaccess的缩写,即“直接内存存取”。这是一种高速的数据传输模式,ADC/UART/RF收发器等外设单元和存储器之间可以直接在“DMA控制器”的控制下交换数据而几乎不需要CPU的干预。除了在数据传输开始和结束时做一点处理外,在传输过程中CPU可以进行其他的工作。这样,在大部分时间里,CPU和这些数据交互处于并行工作状态。因此,系统的整体效率可以得到很大的提高。DMA控制器有5个通道,即DMA通道0到通道4。每个DMA通道能够从DMA存储器空间的一个位置传送数据到另一个位置,比如XDATA位置之间。当DMA通道配置完毕后,在允许任何传输发起之前,必须进入工作状态。DMA通道通过将DMA通道工作状态寄存器DMAARM中指定位置1,就可以进入工作状态。一旦DMA通道进入工作状态,当配置的DMA触发事件发生时,DMA传送就开始了。可能的DMA触发事件有32个,例如UART传输、定时器溢出等。DMA通道要使用的触发事件由DMA通道配置设置,因此直到配置被读取之后,才能知道。DMA操作(1)源地址DMA通道开始读数据的地址,在XDATA存储器中。这可以是任何XDATA地址——在RAM中,在映射的闪存区(cfMEMCTR.XBANK)中,XREG或XDATA寻址的。(2) 目标地址DMA通道从源地址读出的要写数据的首地址。用户必须确认该目标地址可写。这可以是任何XDATA地址——在RAM、XREG或XDATA寻址的SFR中。(3) 传送数量DMA传输完成之前必须传送的字节/字的个数。当达到传送数量,DMA通道重新进入工作状态或者解除工作状态,并警告CPU即将有中断请求到来。传送数量可以在配置中定义,或可以采用可变长度。(4)VLEN设置DMA配置参数(5)DMA通道可以利用源数据中的第一个字节或字(对于字,使用位12:0)作为传送长度。这允许可变长度的传输。当使用可变长度传送时,要给出关于如何计算要传输的字节数的各种选项。在任何情况下,都是设置传送长度(LEN)为传送的最大长度。如果首字节或字指明的传输长度大于LEN,那么LEN个字节/字将被传输。当使用可变长度传输,那么LEN应设置位允许传输的最大长度加一。注意,仅在选择字节长度传送数据时才可以使用M8 位(见8.2.11节)。可以同VLEN一起设置的选项如下:1)传输首字节/字规定的个数+1字节/字(先传输字节/字的长度,然后按照字节/字长度指定的传输尽可能多的字节/字)2)传输首字节/字规定的字节/字3)传输首字节/字规定的个数+2字节/字(先传输字节/字的长度,然后按照字节/字长度指定+1传输尽可能多的字节/字)4)传输首字节/字规定的个数+3字节/字(先传输字节/字的长度,然后按照字节/字长度指定+2传输尽可能多的字节/字)

DMA配置参数(6)源和目标增量当DMA通道进入工作状态或者重新进入工作状态时,源地址和目标地址传送到内部地址指针。其地址增量可能有下列4种:增量为0。每次传送之后,地址指针将保持不变。增量为l。每次传送之后,地址指针将加上1个数。增量为2。每次传送之后,地址指针将加上2个数。 减量为 1。每次传送之后,地址指针将减去1个数。其中一个数在字节模式下等于1个字节,在字模式下等于2个字节。 减量为 1。每次传送之后,地址指针将减去1个数。其中一个数在字节模式下等于1个字节,在字模式下等于2个字节。(7)DMA传输模式传输模式确定当DMA通道开始传输数据时是如何工作的。以下描述了四种传输模式:单一模式:每当触发时,发生一个DMA 传送,DMA通道等待下一个触发。完成指定的传送长度后,传送结束,通报CPU,解除DMA通道的工作状态。块模式:每当触发时,按照传送长度指定的若干DMA传送被尽快传送,此后,通报CPU,解除DMA通道的工作状态。重复的单一模式:每当触发时,发生一个DMA传送,DMA通道等待下一个触发。完成指定的传送长度后,传送结束,通报CPU,且DMA通道重新进入工作状态。重复的块模式:每当触发时,按照传送长度指定的若干DMA传送被尽快传送,此后通报CPU,DMA通道重新进入工作状态。DMA配置参数(8)DMA优先级DMA优先级别对每个DMA通道是可以配置的。DMA优先级别用于判定同时发生的多个内部存储器请求中的哪一个优先级最高,以及DMA存储器存取的优先级别是否超过同时发生的CPU存储器存取的优先级别。在同属内部关系的情况下,采用轮转调度方案应对,确保所有的存取请求。有三种级别的DMA优先级:高级:最高内部优先级别。DMA存取总是优先于CPU存取。一般级:中等内部优先级别。保证DMA存取至少在每秒一次的尝试中优先于CPU存取。低级:最低内部优先级别。DMA存取总是劣于CPU存取。(9)字节或字传输判定已经完成的传送究竟是8 位(字节)还是16位(字)。(10)中断屏蔽在完成DMA传送的基础上,该DMA通道能够产生一个中断到处理器。这个位可以屏蔽该中断。(11)模式8设置这个域的值,决定是采用7位还是8位长的字节来传送数据。此模式仅仅适用于字节传送。DMA配置参数停止DMA传输使用DMAARM寄存器来解除DMA通道工作状态,停止正在运行的DMA传送或进入工作状态的DMA。将1写入DMAARM.ABORT寄存器位,就会停止一个或多个进入工作状态的DMA通道,同时通过设置相应的DMAARM.DMAARMx为1选择停止哪个DMA通道。当设置DMAARM.ABORT为1,非停止通道的DMAARM.DMAARMx位必须写入0。DMA中断每个DMA通道可以配置为一旦完成DMA传送,就产生中断到CPU。该功能由IRQMASK位在通道配置时实现。当中断产生时,寄存器DMAIRQ中所对应的中断标志位置1。当然要处理DMA中断需要设置DMAIE=1和EA=1;一旦DMA通道完成传送,不管在通道配置中IRQMASK位是何值,中断标志都会置1。这样,当通道重新进入工作状态且IRQMASK的设置改变时,软件必须总是清除这个寄存器相应位。DMA配置安装实验现象:程序运行后,在LCD上显示提示信息,按S1键,DMA传输开始,如果传输成功显示提示信息。实验1:DMA传输1)对于DMA传输来说,DMA配置参数非常重要,在dma.h文件中定义了以下结构体#pragmabitfields=reversedtypedefstruct{charSRCADDRH;charSRCADDRL;charDESTADDRH;

charDESTADDRL;charVLEN:3;charLENH:5;

charLENL:8;charWORDSIZE:1;charTMODE:2;charTRIG:5;charSRCINC:2;charDESTINC:2;charIRQMASK:1;charM8:1;charPRIORITY:2;}DMA_DESC;在定义此结构体时,用到了很多冒号(:),后面还跟着一个数字,这种语法叫“位域”:位域是指信息在存储时,并不需要占用一个完整的字节,而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,C语言提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。这样就可以把几个不同的对象用一个字节的二进制位域来表示。配置DMA:首先必须配置DMA,但DMA的配置比较特殊:不是直接对某些SFR赋值,而是在外部定义一个结构体,对其赋值,然后再将此结构体的首地址的高8位赋给

DMA0CFGH,将其低8位赋给

DMA0CFGL。程序分析:2)定义一个结构体,对其赋值//设置DMA通道.SET_WORD(dmaChannel.SRCADDRH,dmaChannel.SRCADDRL,&sourceString);//设置源数据的地址

SET_WORD(dmaChannel.DESTADDRH,dmaChannel.DESTADDRL,&destString);//设置源目的地址.SET_WORD(dmaChannel.LEN

温馨提示

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

评论

0/150

提交评论