1.引言
近年来随着数字技术,微电子技术以及通信技术的发展,无线通信技术凭借其组网时受地理环境制约小这一巨大优势,在许多领域逐渐得到重视。ZigBee 是一个符合IEEE802.15.4 标准的新兴无线技术协议,具有优秀无线物理层的全部优点:低功耗,低成本,低复杂度,而且增加了逻辑网络,网络安全和应用层。[1]Zigbee工作在全球通用的2.4GHz的公用频带,传输速率为250Kb/s,40Kb/s,20Kb/s,其支持者联合起来成立了ZigBee 联盟,最初的七个发起者包括:Emer、Honeywell、Invensys、三菱、
摩托罗拉、三星和飞利浦,到现在联盟已经发展到有了70 个成员,他们提供网络层到应用层上的协议,保证ZigBee 有良好的市场前景。[2]ZigBee 主要应用在监测和控制领域,包括:工业控制,消费性电子设备,汽车自动化,家庭和楼宇自动化,以及医用设备控制等。
2.CC2430 简介
CC2430 芯片是Chipcon 公司推出的用来实现嵌入式ZigBee 应用的片上系统。它支持2.4GHz IEEE 802.15.4/ZigBee 协议。根据芯片内置闪存的不同容量,提供给用户3 个版本,即CC2430-F32/64/128,片上flash分别是32k,64k 和128k。[3]CC2430 在片上集成了8 位的8051单片机,模数转换器,定时器,看门狗,ASE 协处理器,Flash控制器,DMA 控制器,复位电路,串行通讯接口以及21 个可编程引脚等。
CC2430 芯片的主要特点是:
(1)采用0.18μm CMOS 工艺生产,工作时的电流损耗为27mA;在接受和发射模式下,电流损耗分别低于27mA 或25mA。CC2430 具有从休眠模式转换到主动模式用时短的特性,特别适合那些要求电池寿命的应用。
(2)硬件支持CSMA/CA 功能。
(3)较宽的电压范围。
(4)数字化的RSSI/LQI 支持和强大的DMA 功能。
(5)具有电池监测和温度感测功能。
(6)强大和灵活的开发工具。
3.片上串行通讯
CC2430 有两个片上串行通讯接口(USART),分别是USART0 和USART1。他们具有相同的功能,分别具有各自的引脚,可以工作在异步UART 模式或者同步SPI 模式下。
3.1 UART 模式
当作为异步串行接口,使用UART 模式时,有两种线路构成可供选择。一种是只包含RXT,TXD 的双线构成,另一种是比双线构成多包含了RTS 和CTS 的四线构成。
UART 模式具有以下特点:
具有8 或者9 位数据位;奇校验,偶校验或者无奇偶校验;可配置起始位和停止位电平;可配置低有效位优先传送或者高有效位优先传送;独立的接受和发送中断;独立的接受和发送DMA 触发;奇偶校验和帧校验错误状态;提供全双工异步传输,接收器中的位同步不影响发送功能。
3.2 SPI 模式
SPI 模式通过3 线或者4 线接口与外部系统进行同步串行通讯。接口由MOSI,MISO,SCK和SS_N 构成。
SPI 模式具有以下特点:分为主从模式;可配置SCK 极性和相位;可配置低有效位优先传送或者高有效位优先传送。
3.3 引脚分配
CC2430 的片上串行通讯接口在每种模式下分别都有两组引脚可供选择,分配情况如表1所示。

4.实现串行通讯
对CC2430 片上USATR 接口的控制是通过对配置寄存器实现的,下面介绍如何实现通讯。
4.1 选择、配置USART 接口和引脚
接口和引脚的选择是通过配置寄存器PERCFG(OxF1)1 位和0 位实现的,假设此时需要用到USART0 的位置1,即P0_2,P0_3,P0_4,P0_5 四个引脚,需要如下语句:
PERCFG = (PERCFG&~0x01)|0x00;
选择好USART 接口和位置后,需要为相应的引脚选择功能,主要分为通用输入/输出功能和外设功能,通过配置P0SEL 或者P1SEL 寄存器实现,以P0SEL 前面我们选择了USART0的位置1,此时就需要把相应的引脚设置为外设功能,语句如下:
P0SEL |= 0x0C;
4.2 设置波特率
通过对寄存器UxBAUD.BAUD_M[7:0]和UxGCR.BAUD_E[4:0](其中x 可为0 或1)的配置完成对波特率的设置。该波特率既适用于UART 模式,也适用于SPI 模式,由以下公式计算得到:

式中:F 是系统时钟频率,等于16MHz 或者32MHz。
4.3 选择模式
通过配置寄存器UxCSR 第7 位(如表2 所示),可以选择USART 接口是工作在UART 模式下还是SPI 模式下。

如果我们选择USART0 为UART 模式,需要如下语句:
U0CSR |= 0x80;
4.4 数据收发
数据的收发是通过对寄存器UxDBUF (x 可为0 或1)读写完成的,具体过程如表3 描述所示。

4.5 其他设置
关于串行通讯的其他设置,如硬件流控制,奇偶校验等由寄存器UxCSR,UxUCR,UxGCR(x可为0 或1)管理。
最后是几个中断,为了让USART 正常收发,正确的配置中断也很重要。

4.6 硬件设计
前面介绍的是软件设计,下面提供一种硬件设计方案如图1 所示。

图1 硬件设计
最后,我们将CC2430 开发办与PC 机相连,通过超级终端测试串口通讯是否正常,经实验证明,软件和硬件设计是可行的,实验结果如图2 所示。

图2 实验结果
5.结语
ZigBee 做为一个新兴的无线技术集多项优势于一身,CHIPCON 推出的CC2430 嵌入式片上ZigBee 系统充分发挥了其在监测和控制领域的特长。本文介绍了如何通过对寄存器的设置,来配置和使用CC2430 自带的USART 接口,以达到ZigBee 网络和终端达良好通讯的效果。
本文作者创新点:通过对寄存器的设置,来配置和使用CC2430 自带的USART 接口,以达到ZigBee 网络和终端达良好通讯的效果。