赵 博 梁冰冰 郑春胜 张继生
1.北京航天自动控制研究所,北京 100854 2.北京临近空间飞行器系统工程研究所,北京 100076
武器在发射之前由地面测发控装置对弹上控制器进行发射数据诸元装订,是武器发射的固有流程之一。目前使用的有线数据装订方式,在装订过程中,需要在各个设备之间插拔电缆,无法满足快速发射,批量装订的要求。因此,提出了无线装订方法,设计并实现了基于SimpliciTI无线通信协议,以CC2530芯片为核心的无线装订系统。使用无线装订方式不需要插拔电缆,开机即用,有效缩短了诸元装订所需时间。同时,不使用插头连接,节约了成本,使用更加方便。下面阐述了无线装订的方法,及无线装订系统的功能、组成与软件设计。
无线装订系统中的通信网络范围较小,要求功耗低,成本低,数据传输可靠,对数据传输速率要求不高。基于以上特点选择SimpliciTI通信协议。设定无线装订系统有以下功能:1)开机即用,打开电源后,无线通信模块自动连接,自动组网;2)由用户通过地面测发控设备输入指令进行通信检查;3)由地面测发控设备将装订信息传输到弹上控制器,一台地面测发控设备可以同时为多台弹上控制器进行数据装订;4)当前信道有噪声干扰时,系统会跳变到其他信道上通信。
基于SimpliciTI协议组成的网络提供3类设备,分别是:终端节点设备(End Devices简称ED)、数据中心(Access Points,简称AP)和范围扩展设备(Range Extenders,简称RE)。此处所指的设备是逻辑上的设备,而非硬件设备。终端节点设备可以是传感器节点,也可以是控制节点。AP的主要功能是实现网络管理功能,即休眠设备数据的存贮和转发功能管理、加密功能管理和频率跳变功能管理。范围扩展设备在网络中只负责对数据进行转发不进行其它的处理。
SimpliciTI通信协议定义的网络拓朴如图1所示,根据需要可以组成星型网络,也可以组成点对点的对等网络,并且还可以通过RE设备实现对网络拓朴的扩展。
图1 SimpliciTI网络拓朴
无线装订系统组建星型无线网络,实现地面测发控设备同时为多个弹上控制器进行无线装订。通信网络示意图如图2所示,A模块为星型网络的中心,各个Bi模块均与A模块进行通信,而Bi模块相互之间不通信。图中模块A,Bi均为CC2530芯片构成的无线通信收发模块,模块A为网络数据中心(AP),通过线缆与地面测发控设备相连,模块Bi(i=1,2,…,N)为网络终端节点(ED),与弹上控制器通过线缆相连,模块A,Bi间进行无线通信,图2为一台地面测发控设备与N台弹上控制器的星型通信网络。
图2 无线装订系统结构图
装订信息正常传递流程为:1)由用户向地面测发控设备输入指令;2)地面测发控设备通过串口将指令传递给模块A;3)当进行批量装订时,由模块A发出广播帧将指令传给B1,B2,…,BN模块;4)由Bi(i=1,2,…,N)模块通过串口将指令传递给弹上控制器i。弹上控制器收到指令后,将返回一个反馈信息,传回到地面测发控设备,用户在地面测发控设备上检查反馈信息,判断此次装订是否成功。
基于SimpliciTI通信协议,以CC2530芯片为核心搭建起来的无线装订系统,调制解调方式采用2FSK(二相频移键控),扩频方式采用DSSS(直接序列扩频),此外为了避免环境中的噪声干扰,系统中加入了频率跳变机制。频率跳变机制是指在发送与接收双方都设置相同的信道列表,当前信道受噪声干扰较大时,通信网络中的AP节点会切换到其他信道,ED节点随之搜索信道列表中的信道,找到AP切换到的信道,重新组成通信网络继续通信。建立在2FSK与DSSS上的频率跳变机制原理框图如图3~4所示。
图3 发送端
图3~4中信号的传递变化如下所示:
信息发送端信源数字信号为:d(t)={ai}。采用直接序列扩频,将d(t)与伪随机码c(t)相乘,得f1(t)。f1(t)与振荡器产生的载波相乘得到s1(t)=f1(t)*cos2πfit=d(t)c(t)*cos2πfit。由于采用2FSK,f1(t)信号经过倒相得f2(t)。f2(t)与另一个振荡器产生的载波相乘得到:
图4 接收端
发送端发送信号s(t),s(t)=s1(t)+s2(t),经过无线传输,在接收端收到信号r(t)(r(t)信号包括s(t)信号与信道噪声),信号r(t)分别经过2个带通滤波器滤去噪声信号,得到r1(t)=As1(t),r2(t)=As2(t),其中常数A为滤波器产生的增益。
c(t)是接收端产生的伪随机码,与发送端产生的伪随机码相同,用以解扩直接序列扩频。接收端的振荡器产生与发送端频率相同的正弦波,用以解调接收到的信号。当信道切换时,接收端要搜索信道列表中的所有信道,找到切换到的信道频率,才能将信号解调。
接收机接收到的信号经过带通滤波器后与本地载波相乘,同时与用以解扩的伪随机码相乘得:p1(t)=r1(t)*c(t)*cos2πfit=As1(t)*c(t)*cos2πfit,由前可知:
s1(t)=f1(t)*cos2πfit=d(t)c(t)*cos2πfit,
带入上式可得:
如图2可见,“地面测发控设备与模块A”、“模块A与模块B”和“模块B与弹上控制器”之间均有数据通信,需要有通信协议约束。通信数据按照内容可分为4类:网络拓扑查询,地面通信检查,弹地通信检查,弹地数据通信。
2.1.1 通信帧格式
通信帧格式如图5所示。
图5 通讯协议格式
2.1.2 开机网络拓扑检查
开机后无线通信网络自动连接,开机网络拓扑检查是指检查当前网络拓扑情况。当Bi模块与A模块连接时,A模块会记录下该连接的端口号与Bi模块的MAC地址。当A模块收到地面测发控设备发来的命令字为0x00的指令帧时,A模块就会向地面测发控设备返回数据帧,该数据帧记录了当前网络中所有终端节点(即Bi模块)的MAC地址。用户可通过地面测发控设备了解当前网络中终端节点的数量和MAC地址。
2.1.3 弹地通信检查和弹地数据通信
完成网络拓扑检查后,进行弹地通信检查,由地面测发控设备发送命令帧,命令字为0x22,并指明目的节点的MAC地址,命令帧通过串口传到A模块,由A模块通过无线传输发送给指定终端节点Bi,Bi将命令帧通过串口传输给弹上控制器。由于试验中用一台电脑代替弹上控制器,因此可以在电脑上看到地面测发控设备发出的命令帧。在试验中由模拟弹上控制器通过串口发送命令字为0x22的反馈命令帧给Bi模块,再由Bi模块无线传输给A模块,A模块通过串口将命令帧传给地面测发控设备,用户可以在地面测发控设备上看到弹上控制器发出的反馈命令帧。通过以上过程可以确定由地面测发控设备到弹上控制器的双向通路通信正常。确定通信正常后就可以由地面测发控设备向弹上控制器发送数据帧,数据帧的命令字为0x30,其中数据区为所要传输的数据,当数据帧被正常接收后,再由弹上控制器向地面测发控设备发送反馈信息。
2.1.4 网络状态
星型网络中心节点A模块会定时检查网络中各个终端节点的链接情况,当有节点退出网络或是有节点新加入网络时,A模块会自动通过串口向地面测发控设备发送信息,由地面测发控设备显示新退出或者新加入网络节点的MAC地址,用户由此了解整个网络的情况。
数据中心节点与终端节点软件流程图如图6和7所示。
图6 终端节点流程设计
图7 数据中心节点流程设计
在程序设计中,当地面测发控设备通过串口向A模块发送数据时,A模块会自动调用中断服务程序,将接收到的信息加入到串口接收队列中。同样,当无线模块接收到信息时,会将信息加入到无线接收队列中。命令解析程序执行时将逐一读取串口接收队列或者无线接收队列中的字节,当读取的数据满足帧格式时,该指令被执行,否则不能被执行。此外,程序中加入了定时器程序进行定时,在每次时钟周期到达时,A模块查看网络中是否有节点加入或者退出。
在数据中心节点程序中设定定时器周期为800ms。定时器1工作在正计数/倒计数模式,设定的计数值存放在T1CC0H与T1CC0L中,定时器从0开始正计数,当计数到设定值时,开始倒计数至0,此时完成一个计数周期。定时器计数一个周期,主程序会自动进入中断服务程序。
主程序循环执行,并不需要每次循环时都进行网络状态检查,为了节约功耗,每隔一定时钟周期,AP节点对网络中的节点进行一次检查,看是否有节点加入或退出网络,因此需要利用定时器1进行计时。网络状态检查部分的流程图如图8所示。
图8 网络状态检查流程图
无线装订系统通过频率跳变来避免噪声干扰。频率跳变的工作过程如下:在AP与ED节点中设置相同的信道列表,列表中各个信道都有逻辑序号。AP节点检测RSSI值(RSSI值表示接收信号的强度),当一段时间内检测到的RSSI值的平均值大于-70dB时,AP节点进行频率跳变,从当前信道跳到信道列表中的下一个信道。网络中的ED节点连接不上AP节点后,开始自动搜索信道列表中的各个信道,找到新的信道,重新建立连接,继续进行数据通信。AP节点频率跳变流程图如图9所示。
图9 AP节点频率跳变流程图
实验由1个AP节点和2个ED节点组成星型网络,串口设置为:波特率为115200,数据位为8,停止位为1,发送和接收均为HEX显示。实验验证了无线装订系统能够实现所设计的功能。
无线装订系统的通信网络,从开机到组网,最多需要3s时间。组网成功后,用户可以在AP模块所连的计算机上看到网络的拓扑情况,此时,可以进行数据传输,可同时对网络中的多个ED节点进行数据传输,即可同时对多个弹上控制器进行装订。基于SimpliciTI通信协议的无线网络传输速度约为250kbit/s,对于需要装订的发射数据,数据传输的时间很短,可以忽略不计。而有线装订在装订前需要将线缆接到被装订的弹上,一次只能装订一发弹。由此可见,无线装订方法相比有线装订,可以节省时间,提高发射速度。
无线模块有一个内置的接收信号强度指示器(RSSI),RSSI值是个8位有符号的数字值,可以从寄存器读出,或自动追加到接收的帧里。RSSI值是通过计算8个符号周期内(128μs)的信号强度平均值得到。与IEEE802.15.4一致,RSSI值是一个有符号的二进制补码,以1dB的步长为对数等级。
读RSSI寄存器前应先检查状态位RSSI_VALID,RSSI_VALID为有效位时,寄存器中的RSSI值有效,这表明接收机已在至少8个符号周期内接收到信号。相反,当RSSI_VALID为无效位时,RSSI寄存器中值无效,这种情况出现在刚开机时,接收机收到有效信号的时间未到8个符号周期。
通过mrfi_radio.c中的MRFI_Rssi()程序可以获得RSSI值,再将获得的RSSI通过串口显示,从而观测RSSI值。测量RSSI值的程序如下所示。
int8_t MRFI_Rssi(void)
{
int8_t rssi;
MRFI_ASSERT(mrfiRadioState
=MRFI_RADIO_STATE_RX );
MRFI_RSSI_VALID_WAIT();
rssi = RSSI;
rssi = rssi + MRFI_RSSI_OFFSET;
return( rssi );
}
表1 无线性能测试结果
实验中1个AP节点与1个ED节点无线通信,2个节点相距不同距离,测量1组AP节点的RSSI值,绘制成曲线如图8所示。实验环境为实验室环境,不封闭。当通信距离大于3.5m时,通信不稳定,ED节点会经常出现自动退出网络的情况。由图10可见,随着距离的增加,RSSI值越来越小,且曲线变化越来越平缓。
图10 通信距离与RSSI关系曲线
自由空间无线电波的传播模型如下:
实验测量的数据基本符合自由空间无线电波的传播模型,但实验环境并不是完全理想的自由空间,肯定存在传播中的损耗与多径衰落等现象,所以实验结果与理论仍存在偏差。可以看出信号强度变化的趋势为:随着距离的增加,接收到的信号强度越来越小,且变化越来越缓慢。
由理论公式与实验数据可知,若想增大传输距离则需要增强发射功率。而无线装订系统的发射功率有限。随着传输距离的增加,要想保证接收信号强度不变,发射功率需要增加的幅度越来越大。因此,为了使无线装订系统能够工作在较小功率的状态下,且保证通信的质量,需要保证无线通信距离不能很大。
基于SimpliciTI通信协议与CC2530芯片设计实现了无线装订系统。该系统开机即用,组成星型无线通信网络,可由地面计算机同时为网络中的多台弹上控制器进行装订。当环境对当前信道有较大干扰时,可进行频率跳变,以保证通信的可靠性。实验证明无线装订系统中的小范围、低功耗、低速率无线通信网络,能够实现发射信息装订的功能,相较于有线装订方式,可有效提高装订速度。
[1] CC253x Datasheet[Z].Texas Instruments Inc.,2007.
[2] The Institute of Electrical and Electronic Engineers[S].IEEE Standard for Information Technology, 802.15.4 2003.
[3] SimpliciTI: Simple Modular RF Network Specification[Z].Texas Instruments Inc.,2009.
[4] SimpliciTI:Sample Application User’s Guide[Z].Texas Instruments Inc.,2009.
[5] SimpliciTI: Simple Modular RF Network Developers Notes[C].Texas Instruments Inc., 2009.
[6] 成锐,蒋德中.基于ZigBee技术的无线测发控设计[J].航天控制,2011,29(2):81-83.(Cheng Rui,Jiang Dezhong.The Design of Wireless Test Lanch and Control System Based on Zigbee Technology[J].Aerospace Control,2011,29(2):81-83.)
[7] 王军强.基于SimpliciTI的无线传感器网络关键技术研究[D].重庆大学,2009.(Wang Junqiang.Research on Key Technology for Wireless Sensor Network Based on SimpliciTI[D].重庆大学,2009.)