您的当前位置:首页Zigbee无线单片机CC2530介绍

Zigbee无线单片机CC2530介绍

2022-04-21 来源:爱问旅游网
第三章 ZigBee无线单片机

TI 公司的CC2530是真正的系统级SoC芯片,适用于2.4GHz IEEE 802.15.4,ZigBee和RF4CE应用。CC2530包括了极好性能的一流的RF收发器,工业标准增强型8051 MCU,系统中可编程的闪存,8KB RAM,具有不同的运行模式,使得它尤其适应超低功耗要求的系统,以及许多其它功能强大的特性,结合德州仪器的业界领先的黄金单元ZigBee 协议栈(Z-Stack™),提供了一个强大和完整的ZigBee 解决方案。

CC2530可广泛应用在2.4-GHz IEEE 802.15.4系统, RF4CE遥控控制系统,ZigBee系统,家庭/建筑物自动化,照明系统,工业控制和监视,低功耗无线传感器网络,消费类电子和卫生保健等领域。

3.1 CC2530芯片的特点

CC2530是一个真正的用于2.4-GHz IEEE 802.15.4与Zigbee应用的SOC解决方案。这种解决方案能够提高性能并满足以ZigBee为基础的2.4 GHz ISM波段应用对低成本、低功耗的要求。它结合了一个高性能2.4 GHz DSSS(直接序列扩频)射频收发器核心和一颗工业级小巧、高效的8051控制器。

CC2530芯片方框图如图3.1所示。内含模块大致可以分为三类:CPU 和内存相关的模块;外设、时钟和电源管理相关的模块,以及射频率相关的模块。CC2530在单个芯片上整合了8051兼容微控制器、ZigBee射频(RF)前端、内存和FLASH存储器等,还包含串行接口(UART)、模/数转换器(ADC)、多个定时器(Timer)、AESl28安全协处理器、看门狗定时器(WatchDog Timer)、32 kHz晶振的休眠模式定时器、上电复位电路(Power 0n Reset)、掉电检测电路(Brown Out Detection)以及21个可编程IO口等外设接口单元。

CC2530芯片采用O.18um CMOS工艺生产,工作时的电流损耗为20 mA;在接收和发射模式下,电流损耗分别低于30 mA或40 mA。CC2530的休眠模式和转换到主动模式的超短时间的特性,特别适合那些要求电池寿命非常长的应用。

CC2530的主要特点如下:

●高性能、低功耗、带程序预取功能的8051微控制器内核。 ● 32KB/64KB/128KB或256KB的在系统可编程Flash。 ● 8KB在所有模式都带记忆功能的RAM。 ● 2.4GHz IEEE 802.15.4兼容RF收发器。 ● 优秀的接收灵敏度和强大的抗干扰性能力。

● 精确的数字接收信号强度(RSSI)指示/链路质量指示(LQI)支持。 ● 最高到4.5dBm的可编程输出功率。

● 集成AES安全协处理器,硬件支持的CSMA/CA功能。 ● 具有8路输入和可配置分辨率的12位ADC。 ● 强大的5通道DMA。 ● IR发生电路。

● 带有2个强大的支持几组协议的UART。

● 以及1个符合IEEE 802.15.4规范的MAC定时器、1个常规的16位定时器和2个8位定时器。 ● 看门狗定时器,具有捕获功能的32-kHz 睡眠定时器。 ● 较宽的电压工作范围(2.0~3.6V)。 ● 具有电池监测和温度感测功能。

● 在休眠模式下仅0.4uA的电流损耗,外部的中断或RTC能唤醒系统。 ● 在待机模式下低于1uA的电流损耗,外部的中断能唤醒系统。 ● 调试接口支持,强大和灵活的开发工具。 ● 仅需很少的外部元件。

图3.1 CC2530方框图

3.2 CC2530引脚图示及描述

1、CC2530采用6mm×6mm的QFN40 封装,共有40个引脚。引脚如图3.2所示。

图3.2 引脚顶视图

2、引脚描述

CC2530全部引脚可分为I/O端口线引脚、电源线引脚和控制线引脚3类。CC2530有21个可编程的I/O口引脚,PO、P1口是完全的8位口,P2口只有5个可使用的位。通过软件设定一组SFR寄存器的位或字节,可使这些引脚作为通常的I/O口或作为连接ADC、定时器/计数器或UART部件的外围设备接口使用。

CC2530的引脚描述见表3.1所示:

表3.1 CC2530引脚描述

引脚名称 AVDD1 AVDD2 AVDD3 AVDD4 AVDD5 AVDD6 DCOUPL DVDD1 DVDD2 GND GND P0_0 P0_1 P0_2 P0_3 引脚 28 27 24 29 21 31 40 39 10 - 1,2 3,4 19 18 17 16 引脚类型 电源(模拟) 电源(模拟) 电源(模拟) 电源(模拟) 电源(模拟) 电源(模拟) 电源(数字) 电源(数字) 电源(数字) 接地 描述 2V-3.6V 模拟电源连接 2V-3.6V 模拟电源连接 2V-3.6V 模拟电源连接 2V-3.6V 模拟电源连接 2V-3.6V 模拟电源连接 2V-3.6V 模拟电源连接 1.8V 数字电源去耦。不使用外部电路供应。 2V-3.6V 数字电源连接 2V-3.6V 数字电源连接 接地衬垫必须连接到一个坚固的接地面 未使用的引脚 连接到GND 数字I/O 数字I/O 数字I/O 数字I/O 端口0.0 端口0.1 端口0.2 端口0.3 P0_4 P0_5 P0_6 P0_7 P1_0 P1_1 P1_2 P1_3 P1_4 P1_5 P1_6 P1_7 P2_0 P2_1 P2_2 P2_3 P2_4 RBIAS RESET_N RF_N RF_P XOSC_Q1 XOSC_Q2 15 14 13 12 11 9 8 7 6 5 38 37 36 35 34 33 32 30 20 26 25 22 23 数字I/O 数字I/O 数字I/O 数字I/O 数字I/O 数字I/O 数字I/O 数字I/O 数字I/O 数字I/O 数字I/O 数字I/O 数字I/O 数字I/O 数字I/O 数字I/O 数字I/O 模拟I/O 数字输入 RF I/O RF I/O 模拟I/O 模拟I/O 端口0.4 端口0.5 端口0.6 端口0.7 端口1.0-20mA 驱动能力 端口1.1-20mA 驱动能力 端口1.2 端口1.3 端口1.4 端口1.5 端口1.6 端口1.7 端口2.0 端口2.1 端口2.2 端口2.3/32.768 kHz XOSC 端口2.4/32.768 kHz XOSC 参考电流的外部精密偏置电阻 复位,活动到低电平 RX期间负RF输入信号到LNA RX期间正RF输入信号到LNA 32MHz晶振引脚1或RF外部时钟输入 32MHz晶振引脚2 3.3 CC2530片上8051内核

CC2530芯片使用的8051 CPU内核是一个单周期的8051兼容内核。它有三种不同的内存访问总线(SFR,DATA 和CODE/XDATA),单周期访问SFR,DATA 和主SRAM。

它还包括一个调试接口和一个18位输入扩展中断单元。中断控制器总共提供了18个中断源,分为六个中断组,每个与四个中断优先级之一相关。当设备从IDLE模式回到活动模式,任一中断服务请求也能响应。一些中断还可以从睡眠模式(供电模式1-3)唤醒设备。

内存仲裁器位于系统中心,因为它通过SFR总线把CPU和DMA控制器和物理存储器以及所有外设连接起来。内存仲裁器有四个内存访问点,每次访问可以映射到三个物理存储器之一:一个8KB SRAM、闪存存储器和XREG/SFR寄存器。它负责执行仲裁,并确定同时访问同一个物理存储器之间的顺序。

增强型8051内核

增强型8051内核使用8051指令集。指令运行比标准的8051更快,因为: ● 每条指令1个时钟周期,而普通8051为每条指令12个时钟周期。 ● 除去了被浪费掉的总线状态:

因为1条指令周期是和可能的存储器获取对齐的,大部分单指令的执行时间为1个

系统时钟周期。为了速度的提高,CC2530增强型内核还增加了两个部分:另一个数据指针以及扩展的18个源的中断单元。

● CC2530内核的目标代码兼容标准8051微处器。换句话说,CC2530的8051目标码与标准8051完全兼容,可以使用标准8051的汇编器和编译器进行软件开发,所有CC2530的8051指令在目标码和功能上与同类标准的8051产品完全等价。不管怎样,由于CC2530的8051内核使用不同于标准的指令时钟,且外设如定时器、串口等不同于标准的8051,因此在编程时与标准的8051代码略有不同。

存储空间

CC2530包含1个DMA控制器。8 KB静态RAM(SRAM)。32 KB、64 KB、128 KB或256KB的片内提供在系统可编程的非易失性存储器(FLASH)。8051 CPU结构有4个不同的存储器空间。8051有独立的程序存储器和数据存储器空间。

1、CODE程序存储器空间:

一块只读程序存储器空间, 地址空间为64KB。如图3.3所示。

2、DATA数据存储器空间:

一块8位的可读/可写的数据储器空间,可通过单周期的CPU指令直接或间接存取。 地址空间为256字节,低128字节可通过直接或间接寻址访问,

而高128字节只能通过问接寻址访问。

3、XDATA数据存储器空间:

一块16位的可读/可写的数据存储空间,

通常访问需要4、5个指令周期,地址空间为64KB。如图3.4所示。

4、SFR特殊功能寄存器:

一块可通过CPU的单周期指令直接存取的可读/可写寄存器空间。 地址空间为128 字节,特殊功能寄存器可进行位寻址。 以上4块不同的存储空间构成了CC2530的存储器空间,可通过存储管理器来进行统一管理。为方便DMA传送和硬件调试,此4块存储器空间在器件中是部分重叠的。关于这4块存储空间是如何映射到3个物理空间的(FLASH、SRAM、SFR),请查看图3.3和图3.4。

图3.3 程序存储器空间

图3.4 片外数据存储器空间(显示SFR和DATA映射)

特殊功能寄存器

特殊功能寄存器控制CC2530的8051内核以及外设的各种重要功能。大部分的CC2530特殊功能寄存器与标准8051特殊功能寄存器功能相同,小部分与标准8051的不同。不同的特殊功能寄存器主要用于控制外设以及射频收发功能。

表3.2 列出了所有特殊功能寄存器的地址。大写字母为CC2530的特殊功能寄存器,小写字母为标准8051的特殊功能寄存器。

下面我们来了解一下CC2530的8051内核的内在寄存器。 1、数据指针DPTR0与DPTR1

2个数据指针,DPTR0与DPTR1,可加快数据块在存储器之间的交换速度。 2、寄存器R0~R7

CC2530提供了4组工作寄存器,每组包括8个功能寄存器。这4组寄存器分别映射到数据寄存器空间的Ox00~0x07、Ox08~0x0F、OxlO~0x17、Oxl8~OxlF。每个寄存器组包括8个8位寄存器R0~R7。可以通过程序状态字PSW来选择这些寄存器组。

3、程序状态字PSW

程序状态字包含一些反映CPU状态的位,程序状态字可作为特殊功能器访问。 程序状态字包括进位标志、辅助进位标志、寄存器组选择、溢出标志以及奇偶标志等。其余2位没有定义而留给用户定义。

4、累加器ACC

ACC是累加器。.是大部分算术指令、数据传输及其它指令的源及目的存储器。 5、寄存器B

B寄存器用于在乘除法运算指令时,提供第2个8位的参数。 6、堆栈指针SP

堆栈驻留在数据存储器空间并向上生长,通过PUSH和POP指令进行堆栈操作。当

复位时,堆栈初始化到0x07,如进行一次PUSH操作,则其值为0x08,就会和第二个寄存器组的R0重合,所以SP应初始化到一个不同位置,一个不被使用的数据存储器地址。

表3.2 特殊功能寄存器地址对应表

3.4 CC2530主要特征外设

CC2530有21个数字I/O引脚,能被配置为通用数字I/O口或作为外设I/O信号连接

到ADC、定时器、或串口外设。

输入/输出接口

CC2530包括3组输入/输出(I/O)口,分别是P0、P1、P2。其中,P0和P1分别有8个引脚,P2有5个引脚,共21个数字I/O引脚。 这些引脚都可以用作通用的I/O端口,同时通过独立编程还可以作为特殊功能的输人/输出,通过软件设置还可以改变引脚的输入/输出硬件状态配置。

1、CC2530的I/O引脚具有以下功能:

●作输入口时,可选择输入弱上拉或下拉

● 所有I/O引脚均可作为外部中断输入引脚。 ● 外部中断接口也可以用于从睡眠模式唤醒器件,

2、2530的I/O寄存器有:P0、P1、P2、PERCFG、POSEL、P1SEI。P2SEL、PODlR、P1DIR、P2DIR、POINP、P1INP、P2INP、POIFG、P1IFG、P2IFG、PICTL、P1IEN。

Px(x为0、1或2):引脚输出,或输入引脚状态。 PERCFG为外设控制寄存器,选择哪个外设功能。

PxSEL(x为0、1或2):为端口功能选择寄存器,选择是I/O口还是外设接口功能。 PxDIR(x为0、1或2):为端口方向寄存器,选择是输入还是输出。

PxINP(x为0、1或2):为端口模式寄存器,选择输入上拉、下拉,还是三态。 PxIFG(x为0、1或2):端口中断状态标志寄存器,某I/O口有中断时,对应位置1。 PICTL:端口中断控制,是上升沿中断还是下降沿中断

PxIEN(x为0、1或2):中断使能寄存器。某位置1,则对应中断使能。

直接存取(DMA)控制器

中断方式解决了高速内核与低速外设之间的矛盾,从而提高了单片机的效率。但在中断方式中,为了保证可靠地进行数据传送,必须花费一定的时间,如重要信息的保护以及恢复等,而它们都是与输入/输出操作本身无关的操作。因此对于高速外设,采用中断模式就会感到吃力。为了提高数据的存取效率,CC2530专门在内存与外设之间开辟了一条专用数据通道。这条数据通道在DMA控制器硬件的控制下,直接进行数据交换而不通过8051内核,不用I/O指令。

DMA控制器可以把外设(如ADC、射频收发器)的数据移到内存而不需要CC2430内核的干涉。这样,传输数据速度上限取决于存储器的速度。采用DMA方式传送时,由DMA控制器向8051内核发送DMA请求,内核响应DMA请求,这时数据输入/输出完全由DMA控制器指挥。

1、DMA控制器主要具有以下特征:

● 5个独立的DMA通道。

● 3个可配置的通道优先级。 ● 32个可配置的传输触发事件。 ● 独立控制的源与目的地址。

● 单个的、块的、或批传输数据模式。 ● 数据传输长度可变。 ● 可进行字、位操作。

2、DMA控制寄存器有:

DMAARM(DMA通道使能)、DMAREQ(DMA通道初始请求及状态)、DMAIRQ(DMA中断标志)、DMA0CFGL(DMA通道0配置低地址)以及DMA0CFGH(DMA通道0配置高地址),DMA1CFGL(DMA通道1~4配置低地址)、DMA1CFGH(DMA通道1~4配置高地址)。

定时器(Timer)

CC2530包含2个16位的定时器/计数器(Timer1和Timer2)和2个8位的定时器/计数器(Timer3和Timer4)。其中Timer2主要用于MAC的定时器。

Timer1、Timer3、Timer4为支持典型的如输入、捕获、输出比较与PWM功能的定时器/计数器。

这些功能和标准的8051是差不多的。我们下面重点介绍Timer2。

Timer2主要用于802.15.4 CSMA-CA算法与802.15.4 MAC层的计时。如果定时器2与睡眠定时器一起使用,当系统进人低功耗模块时,定时器2将提供定时功能,使用睡眠定时器设置周期。

Timer2的特点如下:

● 16位定时/计数器。提供16ms/320ms的符号/帧周期。

● 可变周期,可精确到31.25 ns。 ● 带2个16位比较功能定时器。 ● 24位溢出计数。

● 带2个24位溢出比较功能。 ● 帧首定界符捕捉功能。

● 定时器启动/停止同步于外部32.768KHz时钟以及由睡眠定时器提供定时。 ● 比较和溢出产生中断。 ● 具有DMA触发能力。

复位后,定时器2处于定时器空闲模式,定时器2停止。当T2CTRL.RUN设置为1时,定时器2启动运行并进入运行模式。此时,定时器2要么立即运行,要么同步于32.768 KHz时钟运行。可通过向T2CTRL.RUN写入O来停止正在运行的定时器2。此时,定时器2将进入空闲模式,定时器2停止要么立即执行,要么同步于32.768KHz时钟执行。

定时器2不仅只用于定时,而且与普通的定时器一样,它也是一个16位的计数器。 定时器2使用的寄存器如下:

T2MSEL: 定时器2多功能选择寄存器。 T2M1: 定时器2多功能计数值高字节。 T2M0: 定时器2多功能计数值低字节。 T2MOVF2: 定时器2溢出计数2。 T2MOVF1: 定时器2溢出计数1。 T2MOVF0: 定时器2溢出计数0。 T2IRQF: 定时器2中断标志。 T2IRQM: 定时器2中断屏蔽。 T2CSPCNF:定时器2事件输出配置。 T2CTRL: 定时器2配置。

14位模/数转换器(ADC)

CC2530的ADC支持14位的模/数转换,这跟一般的单片机8位ADC不同,如图3.5所示。这个ADC包括1个参考电压发生器和8个独立可配置通道。转换结果可通过DMA写到存储器中。有多种操作模式。

图3.5 ADC方框图

1、CC2530的ADC具有以下特征:

● ADC转换位数8~14位可选。

● 8个独立输入通道,可配置为单端或双端输入。 ● 参考电压可选择内部、外部单端、外部双端或AVDD5。 ● 可产生中断; ● 转换完成可触发DMA; ● 温度检测传感输人; ● 电池电压检测输入。

当使用ADC时,P0口必须配置成ADC输入。把P0相应的引脚当作ADC输入使用时,寄存器ADCCFG相应的位应设置为1;否则寄存器ADCCFG的各位初始值为0,则不当作ADC输入使用。ADC完成顺序模/数转换以及把结果送至内存(使用DMA模式)时,不需要CPU的干预 2、ADC寄存器包括:

● ADCL: ADC数据采集值低字节。

● ADCH: ADC数据采集值高字节。

● ADCCONl:ADC控制寄存器1,启动、启动方式设置及转换是否完成指示。 ● ADCCON2: ADC控制寄存器2,顺序转换的通道、分辨率设置,及参考电压选择。 ● ADCCON3: ADC控制寄存器3,单通道转换的通道号、分辨率设置,及参考电压选择。

串行通信接口(USART)

CC2530有2个串行接口:USART0和USART0。可以独立操作在异步UART模式或同步SPI模式。2个USART有相同的功能,对应分配到不同的I/O口,2线制或4线制,硬件流控支持。 1、UART模式时有如下特点:

● 8位或9位数据负载。

● 奇、偶,或无奇偶校验。 ● 可配置起始或停止位位数。 ● 可配置最高位还是最低位先发送。 ● 独立的接收和发送中断。 ● 独立的接收和发送DMA触发。 ● 奇偶错误与帧格式错误状态指示。

2、USART寄存器包括:

● UxCSR: USART x UART及SPI控制及状态寄存器。

● UxUCR: USART x UART 控制寄存器。 ● UxGCR: USART x 处理方式控制寄存器。 ● UxDBUF:USART x 接收/发送数据缓存区。 ● UxBAUD:USART x 波特率控制寄存器。

AES-128安全协处理器

CC2530的数据加密由一个支持先进的高级加密技术标准AES的协处理器来实现。该协处理器允许加密/解密时,最小化CPU的使用率。 1、AES-128安全协处理器具有如下特征:

● 支持IEEE 802.15.4下的所有安全处理。

● ECB、CBC、CFB、OFB、CTR和CBC-MAC多种加密模式。 ● 硬件支持CCM加密模式。 ● 128位数据加密密匙。 ● 具有MDA传输触发能力。

2、加密/解密一组信息,必须经过以下步骤:

1)加载密钥;

2)加载初始化向量(IV); 3)加密/解密上传下载的数据。

AES安全协处理器工作在128位。一组128位的数据下载到协处理器中加密,必须在下一组数据送至协处理器前完成加密。每组数据送至协处理器加密前,必须给协处理器一个开始指令。

由于AES协处理器加密的数据都是以128位为一组的,因此当一组数据不足128位时,必须在后面添加O后才能把数据送至协处理器加密。

3、CC2530的内核CPU使用如下3个特殊功能寄存器与AES协处理器进行通信: 1)ENCCS:加密控制和状态寄存器;

2)ENCDI,加密输入寄存器; 3)ENCDO,加密输出寄存器。

CPU直接读/写寄存器状态;对输入/输出寄存器的访问,应使用DMA执行。当AES协处理器使用DMA时,必须使用2个DMA通道,一个用于数据输入,另一个用于数据输出。在把开始指令写入ENCCS寄存器前必须初始化DMA通道。开始指令写入ENCCS寄存器后,即使用DMA方式传送一次数据。在每一组数据传送完成后产生一个中断。这个中断将把一个新的开始指令写入ENCCS寄存器。

4、下面介绍加密模式。

当使用CFB、0FB和CTR模式时,128位的数据组被划分为4块,每块为32位。在第1块32位数据

块传送至AES协处理器加密完成后,AES把已加密的数据传送出去,再把第2块32位数据块送至AES协处理器加密。就这样,一直完成1组128位数据的加密。解密与加密过程相同。

CBC模式的加密首先也是将明文分成固定长度(128位)的组,然后将前面一个加密块输出的密

文与下一个要加密的明文块进行XOR(异或)操作计算,再将计算结果用密钥进行加密得到密文。第一个明文块加密的时候,因为前面没有加密的密文,所以需要一个初始化向量(IV)。

CBC-MAC模式不同于CBC模式,除了最后一组数据,其他数据组都是一次性地将一组128位数

据送至AES协处理器加密。最后一组数据将用CBC模式加密。最后一组数据是MAC信息,MAC信息必须经过MAC的检验。CBC-MAC加密与解密过程相似。

CCM模式是CBC-MAC和CTR两种模式的结合,因此CCM的部分加密必须由软件完成。 5、使用CCM模式加密数据必须按如下步骤执行(密钥已加载):

1)数据认证,包括加载初始化向量; 2)创建BO数据块;

3)补满数据长度(如果数据位不够128位)等; 4)数据加密。

3.5 CC2530无线收发器

一个基于802.15.4的CC2530无线收发器如图3.6所示。无线核心部分是一个CC2420射频收发器。

图3.6 CC2530无线收发器方框图

CC2530接收器是一款中低频接收器。接收到的射频信号首先被一个低噪放大器(LNA)放大,并把同相正交信号下变频到中频(2MHz),接着复合的同相正交信号被滤波放大,再通过AD 转换器转换成数字信号,其中自动增益控制、最后的信道滤波、扩频、相关标志位、同步字节都是以数字的方法实现的。

CC2530收发器通过直接上变频器来完成发送,待发送的数据存在一个128字节的FIFO发送单元(与FIFO接收单元相互独立)中,其中帧头和帧标识符由硬件自动添加上去。按照IEEE802.15.4中的扩展顺序,每一个字符(4bits)都被扩展成32个码片,并被送到数模转换器以模拟信号的方式输出。

一个模拟低通滤波器把信号传递到积分(quadrature)上变频混频器,得到的射频信号被功率放大器(PA)放大,并被送到天线匹配。 1、CC2530无线部分特点如下: ● 2400-2483.5MHz RF 收发器

● 直接扩频序列收发器 ●●●●●

250 kbps 数据传输速率,2 MChip/s 芯片速率 QPSK 半波正弦调制

极低的电流消耗(发送18.8 mA,接收17.4 mA) 高的灵敏度(-95 dBm)

临近信道冲突排斥(30/45 dB)

●●●●

间隔信道冲突排斥(53/54 dB)

低电压(使用内部电压调节器时2.1-3.6 V) 可编程的输出功率

软件控制的同相正交相(I/Q)信号的低中频(low-IF)接收器

● 同相正交相信号直接上转换传送器 2、独立的发送和接收FIFO

● 128 byte发送数据FIFO

● 128 byte接收数据FIFO 3、硬件支持 802.15.4 MAC层功能

● 自动前导序列产生器

●●●●●●

同步字节插入/侦测

对MAC数据完整的CRC-16校验 空闲信道评估 能量检测/数字RSSI 连接质量指示

全自动的MAC安全机制(CTR, CBC-MAC, CCM)

频率和通道编程

通过7位的频率设置字FREQCTRL.FREQ[6:0]可以设置载波频率。改变在下一次重校准时发生。载波频率fc的计算公式为:fC = (2394 + FREQCTRL.FREQ[6:0]),单位为MHz。编程的步长为1MHz,IEEE 802.15.4-2006在2.4GHz频段给定了16个通道。数字从11到26,5MHz的间距,通道K的RF频率由如下公式给定:fc = 2405 +

5(k-11)[MHz]

,k = 11、

12、...... 26。对于通道K的操作,REQCTRL.FREQ寄存器因此应设置为:FREQCTRL.FREQ = 11 + 5 (k – 11)。

IEEE 802.15.4-2006调制格式

IEEE 802.15.4的数字高频调制使用2.4G直接序列扩频(DSSS)技术。扩展调制功能如图3.7所示:

图3.7 IEEE 802.15.4-2006调制格式方框图

每个字节分为2个符号,每个符号由4个位组成。最低的有效位首先发送。对于多字节区段,最低序字节首先传送,与加密相关的区段除外,它们是高序字节先传送。

在比特-符号转换时,将每个字节中的低4位转换成一个符号,高4位转换成另一个符号。每一个字节都要逐个进行处理,即从它的前同步码字段开始到最后一个字节。在每个字节的处理过程中,优先处理低4位,随后处理高4位。

从32个码元中抽取16个伪随机序列(PN序列),将每个4位的符号数据与其对应。符号到码片的映射关系见表3.3所示。根据所发送连续的数据信息将所选出的PN序列串接起来,并使用O-QFSK的调制方法将这些集合在一起的序列调制到载波上。这些PN序列通过循环移位或相互结合(如奇数位取反)等相互关联。

扩展后的码元序列通过采用半正弦脉冲形式的O-QPSK调制方法,将符号数据信号调制到载波信号上。其中,编码为偶数的码元调制到I相位的载波上,编码为奇数的码元调制到Q相位的载波上。为了使I相位和Q相位的码元调制存在偏移,Q相位的码元相对于I相位的码元要延迟Tc(1/4码元单位)发送。

图3.8所示为半正弦脉冲形式的基带码元序列的样图。

表3.3 IEEE 802.15.4-2006符号到码片映射表

图3.8 传送0符号码元序列的I/Q相位波形 Tc=0.5uS

IEEE 802.15.4-2006帧格式

从图3.9可以看到,IEEE802.15.4定义了物理层以及MAC层的通信数据格式。

图3.9 IEEE802.15.4帧格式原理图

1、物理层

物理层由同步头、物理头和物理服务数据单元组成。

同步头(SHR)由前导序列码和帧开始定界符(SFD)组成。在IEEE 802.15.4规范中,前导序列码有4个字节的0x00组成,帧开始定界符为1个字节,值为0xA7。

物理头仅包含帧长度区,帧长度区定义了MPDU的字节数。帧长度不包含帧长度本身,但包含帧校验序列(FCS),即使帧校验序列是硬件自动插入的。

物理层服务数据单元(PSDU)包含MAC协议数据单元(MPDU), 包含MAC的完整内容。 2、MAC层

下面介绍MAC的数据是如何构成的。从图3.9可以看到,MAC层数据格式包括以下几部分:MAC头、MAC载荷以及MFR。其中,MAC头由帧控制(FCF)、序列号和寻址信息组成。从表3.4可以看出帧控制(FCF)详细数据组成。序列号由软件配置而成,不支持硬件设置。

表3.4 帧控制详细数据格式

Bits:0~2 帧类型 3 4 安全帧待使能 决 5 请求确认 6 PAN 7~9 保留 10~11 目的地址 模式 12~13 保留 14~15 源地址 模式 发送模式 在发送模式中,RFSTATUS.FIFO和RFSTATUS.FIFOP位仅与RXFIFO相关。图3.10所示为RFSTATUS.SFD位在发送数据帧中的状态。

SFD完整发送后,RFIRQF0.SFD中断标志为高,同时产生RF中断。当发送MPDU(MAC Protocol Data Unit MAC协议数据单元)后或检测到下溢发生时,RFIRQF0.SFD中断标志为低。

图3.10 SFD信号定时

接收模式

接收模式中,在开始帧分隔符被接收到后,中断标志RFIRQF0.SFD为高,同时产生射频(RF)中断。如果地址识别禁止或成功,则仅当MPDU的最后一个字节接收到后,RFSTATUS.SFD为低;如果在接收帧中没有地址识别,则RFSTATUS.SFD立即转为低。

当需读出接收帧时,FIFO和FIFOP信号是有用的,如图3.11所示。 在RXFIFO中有一个或多个数据时,FSMSTAT1.FIFO变为高,在接收溢出时,FSMSTAT1.FIFO变为低;在RXFIFO中的有效字节数超过编程进FIFOPCTRL的FIFOP门限值时,或当帧滤波使能,而直到帧已经接收,在帧头中的字节仍不被认为是有效数据时,FSMSTAT1.FIFOP变为高。

一个新的帧的最后一个字节被接收,即使FIFOP门限未超过,FSMSTAT1.FIFOP也变为高。在下一次RXFIFO读访问时,FIFOP变为低。

当用FIFOP作为微处理器的一个中断源时,FIFOP应该在中断服务例程中进行调整,以准备下一次中断。当准备用于一帧的最后一个中断时,门限值应和剩下的字节数一致。

图3.11 SFD、FIFO、FIFOP信号定时

CSMA/CA协处理器

在CC2530中,命令锁存/CSMA-CA处理器(CSP)提供在CPU和射频之间的控制接口。CMSA-CA控制处理器(CSP)通过特殊功能寄存器RFST以及RF寄存器CSPX、CSPY、CSPZ、CSPT、CSPSTAT、CSPCTRL与CSPPROG(其中n的范围为0到23)接口到CPU。CSMA-CA控制处理器(CSP)可向CPU产生中断请求。

另外,通过监测MAC定时器事件,CSP也和MAC定时器接口。CSP允许CPU发出命令到射频,控制射频的操作。

CSP有两种操作模式,描叙如下:1)直接命令操作; 2)程序控制操作。

参考设计电路

CC2530 操作只需要极少的外部元件。图3.12是典型的应用电路。外部元件的典型值和描

述见表3.5。

图3.12 CC2530应用电路

表3.5 外部元件概述(不包括电压去耦电容)

元件 C251 C261 L252 L261 C262 C252 C253 C331 C321 C231 C221 描述 RF 匹配网络的部分 RF 匹配网络的部分 RF 匹配网络的部分 RF 匹配网络的部分 RF 匹配网络的部分 RF 匹配网络的部分 RF 匹配网络的部分 32kHz xtal 负载电容 32kHz xtal 负载电容 32MHz xtal 负载电容 32MHz xtal 负载电容 值 18pF 18pF 2nH 2nH 1pF 1pF 2.2pF 15pF 15pF 27pF 27pF 3.6 CC2530涉及的无线通信技术

为了更好地处理网络和应用操作的带宽,CC2530集成了大多数对定时要求严格的一系列IEEE 802.15.4 MAC协议以减轻微控制器的负担。

清洁信道评估(CCA)

清洁信道评估(CCA)状态信号指示通道是否可用。当接收器已经使能至少8个符号周期时,CCA信号有效。RSSI_VALID状态指示能够用于确认这一点。

CCA基于RSSI值和一个可编程的门限。精确的操作通过CCACTRL0和CCACTRL1寄存器配置。

在ZigBee物理层中可通过如下3种方法来进行清洁信道评估(CCA):

1) 超出阈值的能量:当CCA检测到一个超出能量检测的阈值能量时,给出一个忙的信息。

2) 载波判断:当CCA检测到一个具有IEEE 802.15.4标准特性的扩展调制信号时,给出一个忙的信息。

3) 带有超出阈值能量的载波判断:当CCA检测到一个具有IEEE 802.15.4标准特性并超出阈值能量的扩展调制信号时,给出一个忙的信息。

对于上述模式中的任何一种CCA模式,如果物理层正在接收一个物理层协议数据单元(PPDU)时收到PLME-CCA请求,CCA也给出一个忙的信息。在ZigBee设备中,在帧定界符检测到后,才考虑接收物理层协议数据单元。帧定界符的检测时间为检测到物理层包头的8位数据为止。

一个忙通道将通过带忙状态的PLME-CCA确认原语指示。 一个干净通道将通过带空闲状态的PLME-CCA确认原语指示。

物理层的个人网络信息库(PIB)的属性phyCCAMode表示所选择的清洁信道评估的工作模式。通常清除信道评估的参数符合以下标准:

能量检测阈值最多超出协议标准接收机灵敏度的10 dB; 清洁信道评估的检测时间等于8个符号周期。

无线直接序列扩频技术(DSSS)

CC2530数字高频部分采用了直接序列扩频DSSS(Direct Sequence Spread Spectrum)技术,不仅能够非常方便地与802.15.4短距离无线通信标准兼容;而且大大提高了无线通信的可靠性。

下面简单介绍直接序列扩频DSSS的原理。

直接序列扩频DSSS(Direct seqcuence spread spectrdm),是直接利用具有高码率的扩频码序列、采用各种调制方式、在发端扩展信号的频谱,而在收端,用相同的扩

频码序去进行解码,把扩展宽的扩频信号还原成原始的信息。它是一种数字调制方法,具体说,就是将信源与一定的PN码(伪噪声码)进行摸二加。例如说在发射端将\"1\"用11000100110,而将\"0\"用去代替,这个过程就实现了扩频,而在接收机处只要把收到的序列是11000100110就恢复成\"1\",是就恢复成\"0\",这就是解扩。这样信源速率就被提高了11倍,同时也使处理增益达到10dB以上,从而有效地提高了整机倍噪比。 1、直接序列扩频通信的优点

1) 直扩系统射频带宽很宽。小部分频谱衰落不会使信号频谱严重衰落。

2) 多径干扰是由于电波传播过程中遇到各种反射体(高山,建筑物)引起,使接收端接收信号产生失真,导致码间串扰,引起噪音增加。而直扩系统可以利用这些干扰能量提高系统的性能。

3) 直扩系统除了一般通信系统所要求的同步以外,还必须完成伪随机码的同步,以便接收机用

此同步后的伪随机码去对接收信号进行相关解扩。直扩系统随着伪随机码字的加长,要求的同步精度也就高,因而同步时间就长。

4) 直扩系统有很强的保密性能。对于直扩系统而言,射频带宽很宽,谱密度很低,甚至淹没在噪音中,就很难检查到信号的存在。由于直扩信号的频谱密度很低,直扩系统对其它系统的影响就很小。

5) 直扩系统一般采用相干解调解扩,其调制方式多采用BPSK、DPSK、QPSK、MPSK等调制方式。

而跳频方式由于频率不断变化、频率的驻留时间内都要完成一次载波同步,随着跳频频率的增加,

要求的同步时间就越短。因此跳频多采用非相干解调,采用的解调方式多为FSK或ASK,从性能上

看,直扩系统利用了频率和相位的信息,性能优于跳频。

2、直接序列扩频通信技术特点

直接序列扩频通信开始出现于第二次世界大战,是美军重要的无线保密通信技术。现在直扩技术被广泛应用于包括计算机、无线网等许多领域。

1) 抗干扰性强

抗干扰是扩频通信主要特性之一,比如信号扩频宽度为100倍,窄带干扰基本上不起作用,而宽带干扰的强度降低了100倍,如要保持原干扰强度,则需加大100倍总功率,这实质上是难以实现的。因信号接收需要扩频编码进行相关解扩处理才能得到,所以即使以同类型信号进行干扰,在不知道信号的扩频码的情况下,由于不同扩频编码之间的不同的相关性,干扰也不起作用。正因为扩频技术抗干扰性强,美国军方在海湾战争等处广泛采用扩频技术的无线网桥来连接分布在不同区域的计算机网络。

2) 隐蔽性好

因为信号在很宽的频带上被扩展,单位带宽上的功率很小,即信号功率谱密度很低,信号淹没在白噪声之中,别人难以发现信号的存在,加之不知扩频编码,很难拾取有用信号,而极低的功率谱密度,也很少对于其他电讯设备构成干扰。

3) 易于实现码分多址(CDMA)

直扩通信占用宽带频谱资源通信,改善了抗干扰能力,是否浪费了频段?其实正相反,扩频通信提高了频带的利用率。正是由于直扩通信要用扩频编码进行扩频调制发送,而信号接收需要用相同的扩频编码作相关解扩才能得到,这就给频率复用和多址通信提供了基础。充分利用不同码型的扩频编码之间的相关特性,分配给不同用户不同的扩频编码,就可以区别不同的用户的信号,众多用户,只要配对使用自己的扩频编码,就可以互不干扰地同时使用同一频率通信,从而实现了频率复用,使拥挤的频谱得到充分利用。发送者可用不同的扩频编码,分别向不同的接收者发送数据; 同样,接收者用不同的扩频编码,就可以收到不同的发送者送来的数据,实现了多址通信。美国国家航天管理局(NASA)的技术报告指出:采用扩频通信提高了频谱利用率。另外,扩频码分多址还易于解决随时增加新用户的问题。

4) 抗多径干扰

无线通信中抗多径干扰一直是难以解决的问题,利用扩频编码之间的相关特性,在接收端可以用相关技术从多径信号中提取分离出最强的有用信号,也可把多个路径来的同一码序列的波形相加使之得到加强,从而达到有效的抗多径干扰。

5) 直扩通信速率高

直扩通信速率可达 2M,8M,11M,无须申请频率资源,建网简单,网络性能好。

载波侦听多路访问/防冲突(CSMA/CA)

IEEE802.15.4低速率无线个人区域网(LR-WPAN)使用两种通道访问机制,依赖于网络配置。非信标个人区域网使用一个无时隙CSMA-CA通道访问机制,每次设备想发送数据帧或MAC命令时,它等待一段随机时间,等待的随机时间到且发现通道空闲,设备即发送它的数据;如果等待的随机时间到且发现通道忙,在试图再次访问通道前,设备将等待另一个随机时间。应答帧不用CSMA-CA机制。

带信标个人区域网络使用带时隙的CSMA-CA通道访问机制,其中后退时隙和信标传输的起始对齐。在一个个人区域网中所有设备的后退时隙都和此个人区域网中的协调器对齐。每次设备想在竞争访问期(CAP)时发送数据帧,它定位下一个后退时隙的边界,然后等待一个随机的后退时隙。如果等待的后退时隙到且发现通道忙,在试图再次访问通道前,设备将等待另一个随机时隙;如果通道空闲,设备将在下一个可用的后退时隙边界发送数据。应答帧和信标帧不使用CSMA-CA机制。

因篇幅问题不能全部显示,请点此查看更多更全内容