第3章-CC2530接口之TinyOS组件编程0(CC2530简介+电源管理)_第1页
第3章-CC2530接口之TinyOS组件编程0(CC2530简介+电源管理)_第2页
第3章-CC2530接口之TinyOS组件编程0(CC2530简介+电源管理)_第3页
第3章-CC2530接口之TinyOS组件编程0(CC2530简介+电源管理)_第4页
第3章-CC2530接口之TinyOS组件编程0(CC2530简介+电源管理)_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

第3章_CC2530接口之TinyOS组件编程0(CC2530简介+电源管理)第一页,共37页。1.1CC2530简介CC2530是基于2.4-GHzIEEE802.15.4、ZigBee和RF4CE上的一个片上系统解决方案。其特点是以极低的总材料成本建立较为强大的网络节点。CC2530芯片结合了RF收发器,增强型8051CPU,系统内可编程闪存,8-KBRAM和许多其他模块的强大的功能。如今CC2530主要有四种不同的闪存版本:CC2530F32/64/128/256,分别具有32/64/128/256KB的闪存。其具有多种运行模式,使得它能满足超低功耗系统的要求。同时CC2530运行模式之间的转换时间很短,使其进一步降低能源消耗。第二页,共37页。1.2CC2530片内结构方框图第三页,共37页。1.3CC2530极限参数最小值最大值单位供电电压所有供电引脚的电压必须相同-0.33.9V任何数字引脚上的电压-0.3VDD+0.3,≤3.9V输入RF级别10dbm储存温度范围-40125℃ESD所有焊盘,根据人体模型,JEDECSTD22,方法A1142kV根据被控器件模型JEDECSTD22,方法C101500V第四页,共37页。1.4推荐运行条件最小值最大值单位运行环境温度范围,-40125℃运行供电电压23.6V第五页,共37页。1.5CC2530的电气特性

参数

测试条件典型

最大

单位

Icore内核电流消耗数字稳压器开启,16-MHzRCOSC运行,没有无线模块,晶振或外设活动。中等CPU活动:正常内存访问,没有RAM访问

3.4

mA32-MHzXOCS运行,没有无线模块或外设活跃。中等CPU活动;正常内存访问,没有RAM访问。

6.58.9

mA32-MHzXOCS运行,无线模块处于RX模式,-50-dBm输入功率,没有外设活跃,CPU空闲。

20.5

mA32-MHzXOCS运行,无线模块处于RX模式,-100-dBm输入功率(等待信号),没有外设活跃,CPU空闲。

24.329.6

mA32-MHzXOCS运行,无线模块处于TX模式,1-dBm输出功率,没有外设活跃,CPU空闲。

28.7

mA32-MHzXOCS运行,无线模块处于TX模式,4.5-dBm输出功率,没有外设活跃,CPU空闲。

33.539.6

mA供电模式1.数字稳压器开启;16-MHzRC振荡器和32-MHz晶振关闭;32.768-kHzXOSC,掉电检测,上电复位和睡眠定时器有效,RAM和寄存器保持。

0.20.3

mA供电模式2.数字稳压器关闭;16-MHzRCOSC和32-MHz晶振关闭;32.768-kHzXOSC,POR和睡眠定时器有效,RAM和寄存器保持。

12

uA供电模式3.数字稳压器关闭;没有时钟;POR有效;RAM和寄存器保持。

0.41

uA第六页,共37页。1.5CC2530电气特性

参数

测试条件

典型

单位

Iperi内核电流消耗外设电流消耗(为激活的每个外设单元添加到内核Icore)定时器1定时器运行,32-MHXOSC使用90uA定时器2定时器运行,32-MHXOSC使用90uA定时器3定时器运行,32-MHXOSC使用60uA定时器4定时器运行,32-MHXOSC使用70uA睡眠定时器包括32.753kHzRCOSC0.6uAADC转换时1.2mA

闪存擦除1mA突发写峰值电流6mA第七页,共37页。1.6CC2530的一般特性参数测试条件数值单位供电模式1活动数字稳压器开启,16—MHzRCOSC和32—MHz晶振关闭。启动16—MHzRCOSC4μs供电模式2或3活动数字稳压器关闭,16—MHzRCOSC和32—MHz晶振关闭。启动16—MHzRCOSC0.1ms活动TX或RX初始运行在16—MHzRCOSC,32—MHzXOSC关闭0.5ms32—MHzXOSC初始开启192μsTX/RX和TX/RX转换192μs第八页,共37页。1.7CC2530引脚描述第九页,共37页。1.7CC2530引脚描述

引脚名称

引脚引脚类型描述AVDD128电源(模拟)2-3.6V模拟电源连接,为模拟电路供电AVDD2 27电源(模拟)2-3.6V模拟电源连接,为模拟电路供电AVDD3 24电源(模拟)2-3.6V模拟电源连接AVDD4 29电源(模拟)2-3.6V模拟电源连接AVDD5 21电源(模拟)2-3.6V模拟电源连接AVDD6 31电源(模拟)2-3.6V模拟电源连接

DCOUPL40

电源(数字)1.8数字电源去耦。不使用外部电路供应DVDD139电源(数字)2-3.6V数字电源连接,为引脚供电DVDD210电源(数字)2-3.6V数字电源连接,为引脚供电GND-接地接地面GND1,2,3,4未使用引脚连接到GNDP2_333数字I/O端口2.3/32.768kHzXOSCP2_432数字I/O端口2.4/32.768kHzXOSCRBIAS30模拟I/O参考电流的外部精密偏置电阻RESET_N20数字输入复位,活动到低电平RF_N26RFI/ORX期间负RF输入信号到LNARF_P25RFI/ORX期间正RF输入信号到LNAXOSC_Q122模拟I/O32-MHz晶振引脚1或外部时钟输入XOSC_Q223模拟I/O32-MHz晶振引脚2P0,P1,P2P0,P1全部P2_0~P2_2数字I/O对应引脚号第十页,共37页。1.8CC2530芯片内部结构CC2530需要极少的外部连接元件,同时有很多典型电路,其模块大致可以分为三类:1、CPU和内存相关模块2、外设,时钟和电源管理相关模块3、无线信号收发相关模块第十一页,共37页。1.8.1CPU和内存

CC2530使用的8051CPU是一个单周期的兼容内核,它有三种不同的访问总线。其中包括中断控制器,内存仲裁器,8KBSRAM,32/64/128/256KB闪存块。中断控制器:其为18个中断源提供服务,它们中的每个中断都被赋予4个中断优先级中的某一个。内存仲裁器:位于系统中心,它负责执行仲裁,即决定同时访问系统物理存储器时的顺序,便于系统效率的提高。8KBSRAM:为超低功耗的SRAM,使数字部分即使掉电也能保存其中内容,是芯片低功耗原因所在。闪存块:用于保存电脑传输进入的程序代码以及常量数据,节约了搜寻时间。第十二页,共37页。1.8.2CC2530外设强大的5通道DMAIEEE802.15.4MAC定时器,通用定时器(一个16位定时器,两个8位定时器)IR发生电路(IR中断)具有捕获功能的32-kHz睡眠定时器硬件支持CSMA/CA支持精确的数字化RSSI/LQI第十三页,共37页。CC2530外设电池监视器和温度传感器8路输入,12位分辨率ADCAES安全协议2个支持多种串行通信协议的强大的USART21个通用I/O引脚看门狗定时第十四页,共37页。CC2530外设两个8位定时器:定时器3,4为8位定时器,有两个捕获/比较通道,一个8位的周期值,一个计数器通道。MAC定时器:专为MAC或其他协议而设的定时器,可以跟踪已过周期,同时可以记录收发某一的帧精确时间和传输结束时间,以便产生不同的选通命令到无线模块ADC:支持7到12位的分辨率,带宽范围为7-30kHz,在DC与音频转换时,能够使用8个输入通道。AES加密/解密内核:CC2530用128位的AES算法进行加密或解密数据,从而保证了ZigBee网络层和应用层的安全要求。USART0和USART1分别被配置为一个主从或一个UART,其功能是为RX和TX提供双缓冲,以及硬件流控制。调试接口:用于内部电路调试,具有两线串形接口I/O控制器:负责所有的通用的I/O引脚第十五页,共37页。1.8.3无线设备CC2530具备一个IEEE802.15.4兼容无线收发器,其中的RF内核控制模拟无线模块,另外它还提供了一个连接外部设备的端口,从而可以发出命令和读取状态,操纵各执行电路的事件顺序。同时无线设备还包括数据包过虑模块和地址识别模块。第十六页,共37页。1.9.1CC2530的典型应用第十七页,共37页。输入输出匹配:当使用单极子的一个不平衡天线,需要用一个巴伦来对性能进行优化,我们可以采用低成本分立电感或电容来实现,这里主要运用C262,L261,C252,L252.如果使用了诸如折叠偶极子这样的平衡天线,巴伦可以忽略。1.8V片上稳压器:用以提供1.8V的数字逻辑电压,采用这一个稳压器要求用一个去耦电容C401来获得稳定运行效果。电源去耦和过滤必须使用合适的电源去耦以获得最佳的性能。在一个应用中去耦电容和电源过滤的位置和尺寸对获得最佳性能是非常重要的。TI提供了一个紧凑的参考设计,应该很好地遵循。晶振32-MHz晶振使用了一个外部32-MHz振荡器XTAL1和两个负载电容(C221和C231)。32-MHz晶振看到的负载电容由下式给定:XTAL2是一个可选的32.768-kHz晶振,有两个负载电容(C321和C331)用于32.768-kHz晶振。32.768-kHz晶振用于要求非常低的睡眠电流消耗和精确唤醒时间的应用。32.768-kHz晶振看到的负载电容由下式给定:第十八页,共37页。1.9.2CC2530的应用2.4-GHzIEEE802.15.4系统RF4CE远程控制系统ZigBee系统(256-kB闪存)家庭/楼宇自动化照明系统工业控制和监控低功耗无线传感网络消费型电子医疗保健第十九页,共37页。2CC2530中断系统CC2530的中断系统是为了让CPU对内部或外部的突发事件及时地作出响应,并执行相应的中断程序。中断由中断源引起,中断源由相应的寄存器来控制。当需要使用中断时,需配置相应的中断寄存器来开启中断,当中断发生时将跳入中断服务函数中执行此中断所需要处理的事件。20第二十页,共37页。中断源与中断向量

CC2530有18个中断源,每个中断源都可以产生中断请求,中断请求可以通过设置中断使能SFR寄存器的中断使能位IEN0、IEN1或IEN2使能或禁止中断。2CC2530中断系统21第二十一页,共37页。中断号码描述中断名称中断向量中断屏蔽中断标志0RFTXRFIO下溢或RXFIFO溢出RFERR03HIEN0.RFERRIETCON.RFERRIF1ADC转换结束ADC0BHIEN0.ADCIETCON.ADCIF2USART0RX完成URX013HIEN0.URX0IETCON.URX0IF3USART1RX完成URX11BHIEN0.URX1IETCON.URX1IF4AES加密/解密完成ENC23HIEN0.ENCIES0CON.ENCIF5睡眠计时器比较ST2BHIEN0.STIEIRCON.STIF6端口2输入/USBP2INT33HIEN2.P2IEIRCON2.P2IF7USART0TX完成UTX03BHIEN2.UTX0IEIRCON2.UTX0IF8DMA传送完成DMA43HIEN1.DMAIEIRCON.DMAIF9定时器1(16位)捕获/比较/溢出T14BHIEN1.T1IEIRCON.T1IF10定时器2T253HIEN1.T2IEIRCON.T2IF11定时器3(8位)捕获/比较/溢出T35BHIEN1.T3IEIRCON.T3IF12定时器4(8位)捕获/比较/溢出T463HIEN1.T4IEIRCON.T4IF13端口0输入P0INT6BHIEN1.P0IEIRCON.P0IF14USART1TX完成UTX173HIEN2.UTXIEIRCON2.UTX1IF15端口1输入P1INT7BHIEN2.P1IEIRCON2.P1IF16RF通用中断RF83HIEN2.RFIES1CON.RFIF17看门狗定时器溢出WDT8BHIEN2.WDTIEIRCON.WDTIF2CC2530中断系统22第二十二页,共37页。中断源与中断向量

当相应的中断源使能并发生时,中断标志位将自动置1,然后程序跳往中断服务程序的入口地址执行中断服务程序。待中断服务程序处理完毕后,由硬件清除中断标志位

中断服务程序的入口地址即中断向量,CC2530的18个中断源对应了18个中断向量,中断向量定义在头文件“ioCC2530.h”中2CC2530中断系统23第二十三页,共37页。中断优先级

中断优先级将决定中断响应的先后顺序,在CC2530中分为六个中断优先组,即IPG0~IPG5,每一组中断优先组中有三个中断源

组中断IPG0RFERRRFDMAIPG1ADCT1P2INTIPG2URX0T2UTX0IPG3URX1T3UTX1IPG4ENCT4P1INTIPG5STP0INTWDT2CC2530中断系统24第二十四页,共37页。中断优先级

中断优先组的优先级设定由寄存器IP0和IP1来设置。CC2530的优先级有4级,即0~3级,其中0级的优先级最低,3级的优先级最高。

IP1_XIP0_X优先级000(优先级别最低)011102113(优先级别最高)其中X为六个中断优先组IPG0~IPG5中的任何一个

设置IPG0优先级最高IP1_IPG0=1;IP0_IPG0=1;2CC2530中断系统25第二十五页,共37页。中断优先级

如果同时收到相同优先级或同一优先级组中的中断请求时,将采用轮流检测顺序来判断中断优先级别的响应

2CC2530中断系统26第二十六页,共37页。中断优先级

中断向量编号中断名称优先级排序0RFERR轮流探测顺序为自上向下优先级依次降低16RF8DMA1ADC9T12URX010T23URX111T34ENC12T45ST13P0INT6P2INT7UTX014UTX115P1INT17WDT例如:在中断优先级组IPG0中的中断RFERR、RF和DMA的中断优先级是相同的,如果同时使用这三个中断,就需要使用轮流探测顺序来判断哪一优先级最高。由轮流探测顺序表查得RFERR中断优先级最高,RF中断次之,DMA中断与其他两个中断相比中断优先级最低

2CC2530中断系统27第二十七页,共37页。中断处理过程

中断发生时,CC2530硬件自动完成以下处理中断申请:中断源向CPU发出中断请求信号(中断申请一般需要在程序初始化中配置相应的中断寄存器开启中断)

中断响应:CPU检测中断申请,把主程序中断的地址保存到堆栈,转入中断向量入口地址

中断处理:按照中断向量中设定好的地址,转入相应的中断服务程序

中断返回:中断服务程序执行完毕后,CPU执行中断返回指令,把堆栈中保存的数据从堆栈弹出,返回原来程序

2CC2530中断系统28第二十八页,共37页。中断编程

中断编程的一般过程如下:中断设置:根据外设的不同,具体的设置是不同的,一般至少包含启用中断

中断函数编写;这是中断编程的主要工作,需要注意的是,中断函数尽可能的减少耗时或不进行耗时操作

以CC2530的外部中断为例

//P0中断标志清0P0IFG|=0x00;//P0.4有上拉、下拉能力

P0INP&=~0X30;//P0.4和P0.5中断使能

P0IEN|=0x30;//P0.4和P0.5,下降沿触发

PICTL|=0X01;//开中断

EA=1;//端口0中断使能

IEN1|=0X20;2CC2530中断系统29第二十九页,共37页。中断编程

中断编程的一般过程如下:CC2530所使用的编译器为IAR,在IAR编译器中用关键字__interrupt来定义一个中断函数。使用#progmavector来提供中断函数的入口地址,并且中断函数没有返回值,没有函数参数

#pragmavector=P0INT_VECTOR__interruptvoidP0_ISR

(void){//中断程序代码}2CC2530中断系统30第三十页,共37页。中断编程

在中断函数编写中,当程序进入中断服务程序之后,需要执行以下几个步骤

:将对应的中断关掉(不是必须的,需要根据具体情况来处理);如果需要判断具体的中断源,则根据中断标志位进行判断(例如所有I/O中断共用1个中断向量,需要通过中断标志区分是哪个引脚引起的中断)清中断标志(不是必须的,CC2530中中断发生后由硬件自动清中断标志位)处理中断事件,此过程要尽可能的少耗时最后如果在第一步中关闭了相应的中断源,需要在退出中断服务程序之前打开对应的中断//中断函数入口地址#pragmavector=P0INT_V

温馨提示

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

评论

0/150

提交评论