首页 | 期刊简介 | 编辑部 | 广告部 | 发行部 | 在线投稿 | 联系我们 | 产品信息索取
2024年3月29日星期五
2011年第01期
 
2010年第12期
 
2010年第11期
2010年第11期
 
2010年第10期
2010年第10期
 
2010年第09期
2010年第09期
 
2010年第09期
2010年第08期
 
2010年第07期
2010年第07期
 
2010年第06期
2010年第06期
 
2010年第05期
2010年第05期
 
2010年第04期
2010年第04期
 
2010年第03期
2010年第03期
 
2010年第02期
2010年第02期
 
2010年第01期
2010年第01期
 
2009年第12期
2009年第12期
 
2009年第11期
2009年第11期
 
2009年第10期
2009年第10期
 
2009年第9期
2009年第9期
 
2009年第8期
2009年第8期
 
2009年第7期
2009年第7期
 
2009年第6期
2009年第6期
 
2009年第5期
2009年第5期
 
2009年第4期
2009年第4期
 
2009年第3期
2009年第3期
 
2009年第2期
2009年第2期
 
2009年第1期
2009年第1期
 
2008年第12期
2008年第12期
 
2008年第11期
2008年第11期
 
2008年第10期
2008年第10期
 
2008年第9期
2008年第9期
 
2008年第8期
2008年第8期
 
2008年第7期
2008年第7期
 
2008年第6期
2008年第6期
 
2008年第5期
2008年第5期
 
2008年第4期
2008年第4期
 
2008年第3期
2008年第3期
 
2008年第2期
2008年第2期
 
2008年第1期
2008年第1期
P89LPC932与无线通信芯片nRF903的接口设计
Design of the Interface between P89LPC932 and Wireless Communication IC nRF903

华南理工大学自动化科学与工程学院 刁宇静 李向阳 肖 迳


摘 要:本文首先介绍了无线通信芯片nRF903的基本原理和主要特点、P89LPC932单片机的I/O接口功能及其低功耗的特点。在此基础上,设计了nRF903与P89LPC932的接口电路,该接口电路简单可靠,并能实现低功耗工作。本文还设计了无线通信过程中的发射和接收流程,可适用于小型无线通信系统。

关键词:nRF903;P89LPC932;低功耗;无线通信


前 言

无线通信因其组网方便快捷,在测控领域的应用越来越广,如小型数据网络、安全防火系统、遥控系统、生物信号采集、水文气象监控、机器人控制等。为实现这些应用,许多无线通信芯片生产厂家开发出性能越来越高的芯片,nRF903就是Nordic公司推出的单片无线收发芯片。在实际应用中,nRF903往往成为微型计算机系统的一个无线接口,因此,实现nRF903与微机(如单片机)的接口就是一个需要解决的问题。本文给出了一个单片机P89LPC932与nRF903的一个接口方案,包括硬件连接和简单通信协议,该方案具有低功耗的特点。


nRF903的简介

nRF903采用蓝牙核心技术设计,工作在433/868/915MHz的ISM频段,其内部组成如图1所示,包括发射电路、接收电路、控制接口电路和串行接口等部分。

从图1可知,nRF903所需要的外围元器件很少,方便用户调试和降低成本。在发射模式中,数字信号经DATA管脚输入,经锁相环(PLL)和压控振荡器(VCO)处理后进入到发射功率放大器(PN)射频输出,最后,射频信号由天线输出。电路所需的基准频率由外接晶体产生。本机震荡采用锁相环方式,压控振荡器由片内的震荡电路和外接的LC谐振回路组成,频率稳定性极好。在接收模式中,由天线接收射频信号,然后信号进入低噪声放大器(LNA);信号被放大后进入二级混频器,第一级中频10.7126MHz,第二级中频345.6KHz。从混频放大器输出的信号进入中频放大器(图中省略);中频放大器的输出信号经中频滤波器(IF-filter)滤波后送入GFSK解调器(GFSK-modulator),解调后的数字信号在DATA管脚输出。

从发射和接收的接口电路可以看出,nRF903发射和接收共用一个管脚(DATA),因此不能同时发射和接收数据,只能进行半双工通信,这是进行单片机接口电路设计时必须考虑的,同时nRF903在发射模式和接收模式之间转换需要几个毫秒的时间,这是在通信软件设计时必须考虑的。nRF903提供了7根I/O线与单片机连接,如图2的左侧所示,它们分别负责nRF903的通信参数配置、工作模式选择和数据通信等。管脚TXEN、STBY和PWR_DWN负责nRF903接收模式、发射模式、掉电模式和标准模式的切换;管脚CS、CFG_CLK和CFG_DATA组成的串行接口将14位的配置字移入相应寄存器,从而实现对频段、通道、输出功率和输出时钟频率的配置;C_SENSE和CLK_OUT可作为外部器件的信号,分别用于初始化控制器中的应答程序和故障诊断。

图1nRF903 内部框图(略)


P89LPC932的特点及与nRF903的连接

P89LPC932是增强型的80C51芯片,运行速度6倍于标准80C51器件,它采用了高性能的处理器结构,集成了许多系统级功能,适用于许多要求高集成度、低成本的场合。LPC932具有P0、P1、P2和P3四组I/O口,P3为2位,其余为8位,它们可以由用户定义输入输出类型。这些类型包括有三种类型的串行通信接口:UART、I2C、和SPI,这使得它非常适合与nRF903进行连接。LPC932的另外一个主要特点是低的工作电压和低功耗,其工作电压为2.4V~3.6V,支持空闲模式、掉电模式和完全掉电模式3种节电模式,特别适合低功耗场合应用。

图2 nRF903与P89LPC932(略)

根据P89LPC932的特点和nRF903的接口要求设计如图2所示的硬件连接。单片机与nRF903之间通常通过UART口进行数据传输。由于单片机的UART口分别从TXD和RXD两线进行发射和接收,而nRF903的发射和接收只有一个引脚DATA,采用图2的方法可以实现半双工的通信方法,10K电阻的作用是实现阻抗匹配和隔离。nRF903的外接晶体要求为11.0592MHz,LPC932的时钟频率可在20KHz~12MHz范围选择。由于nRF903的最大波特率为76.8Kbps,选择低的工作频率可以降低单片机的功耗,经过计算选择单片机的晶振频率1.8432MHz可以满足要求。

LPC932的SPI接口正好与nRF903的SPI接口进行连接,实现该接口进行频段、通道、功率等配置。LPC932的P1.2、P1.3和P1.4分别连接nRF903的TXEN、STBY和PWR_DWN实现对nRF903工作模式进行控制。LPC932的P1.6和P2.0分别连接nRF903的C_SENSE和CLK_OUT,单片机据此可以判断nRF903是否检测到载波和是否有时钟输出。如果有载波信号,则说明通信对方可能在发送数据,单片机需要进行接收处理。如果没有时钟输出,说明nRF903工作不正常。为了更有效地节省功耗,除了对nRF903的工作模式进行选择外,还设计了一个电源电子开关,即nRF903电源由LPC932的P0.0进行开关控制,当不要进行通信时,可以关闭nRF903的电源,这样可以极大地降低整个系统地功耗。

图3 UART的发送和接收程序流程图


无线通信的软件流程设计

LPC932通过nRF903进行无线通信时,除了待机和掉电模式,其他模式都可对nRF903进行配置和初始化。但是在待机和掉电模式时,寄存器的内容仍然保留有效,只有在电源撤离的情况下,配置字数据才会丢失。

在进行数据通信前,需要对nRF903的工作参数和工作模式进行初始化、对LPC932的UART进行工作方式设置、对通信数据帧的格式进行定义。为了便于通信字节的差错控制,选择UART的工作方式3。为了减少无线通信过程中的相互干扰,数据帧不能太长,同时为了提高通信效率,数据帧也不能太短。综合考虑,采用如表1所示的数据帧格式,它由包头(5字节)、地址字(6字节)、数据字(12字节)、校验字(1字节)四个部分组成。

表1 :通信数据帧格式(略)


数据帧中包头定义为CCCCCCCCF0h,该字段进行接收和发射数据帧同步。地址字(address word)是设备地址,该地址要求在本无线通信系统内地址不重复,并且也应该减少与其它同频率通信的系统该部分内容重复,采用以太网的地址字节数,采用6个字节。数据字(message word)是该数据帧要传输的内容,固定为12字节。如果要传输更多的内容,可以采用多个数据帧的方式。校验字(checksum)为一个字节,本文的设计采用XOR方式,即:校验字由数据帧的地址和数据部分通过XOR生成。如果接收到的校验和与本地生成的校验字不匹配,说明数据帧有错误,要求重传。

由LPC932和nRF903组成的通信系统的接收和发送的程序流程图如图3所示,左边流程图是发送程序流程图,右边是接收程序流程图。通信方式为半双工通信,在发射和接收之间切换时需要等待nRF903的稳定时间。根据该流程图可以很好地写出程序。单片机采用先检测后发送地方式,即先检测无线频率是否被其它设备占用(通过C_SENSE引脚),如果被占用,则继续等待,当没有被占用时,才进行发射操作。当发射一个数据包时,将转到接收模式,在接收模式时,也通过C_SENSE引脚判断是否对方已经发射,如果已发射则进行接收操作,并判断接收数据是否正确,不正确则要求重传。


结 论

本文叙述了单片机P89LPC932和无线通信芯片nRF903的接口设计,单片机除了对nRF903进行节电工作方式配置外,还可以对其工作电源进行开关,以便只有在收发的时候才加上电源,在节电的同时也减少了对环境的电磁辐射,单片机还可以对nRF903的时钟输出信号进行检测,据此可以进行一定程度的故障诊断。在软件设计设计方法,对单片机的UART进行了配置,采用了一个定长的简单数据包,这样提高了通信的可靠性和节省了功耗。这些方法都具有普遍意义,可以广泛用在各种类似系统当中。

         
版权所有《世界电子元器件》杂志社
地址:北京市海淀区上地东路35号颐泉汇 邮编:100085
电话:010-62985649
E-mail:dongmei@eccn.com