kaiyun官方注册
您所在的位置: 首页> 通信与网络> 设计应用> RU告警信息同步过程的设计与实现
RU告警信息同步过程的设计与实现
2015年微型机与应用第20期
岳长江,赵 霞
同济大学 电子与信息工程学院,上海 201804
摘要:基于循环上报和主动查询相结合的机制,设计了数字光纤直放站中RU的告警信息同步机制及具体方案,并且搭载嵌入式VxWorks操作系统,给出了具体的代码实现。测试结果表明,该系统功能完善,达到了设计目标,大大提高了数字光纤直放站的可靠性和稳定性,同时也非常利于对设备的维护。
Abstract:
Key words :

摘 要: 基于循环上报和主动查询相结合的机制,设计了数字光纤直放站中RU的告警信息同步机制及具体方案,并且搭载嵌入式VxWorks操作系统,给出了具体的代码实现。测试结果表明,该系统功能完善,达到了设计目标,大大提高了数字光纤直放站的可靠性和稳定性,同时也非常利于对设备的维护。

关键词: 数字光纤直放站;VxWorks操作系统;循环上报;告警信息同步

0 引言

  铁道通信网络中,数字光纤直放站是一种分布于铁道沿线为铁路系统内部的通信、调度等工作服务的无线信号中继设备,由近端机和远端机(Remote Unit,RU)组成[1]。图1为数字光纤直放站结构框图,近端机和远端机按照链形组网方式进行连接。近端机由两块时间分布控制单元(Time Distributed Master Unit,TDMU)及射频设备组成。远端机由两块数字处理板(Digital Processing Board,DPB)和射频设备组成,两块DPB之间通过RS232总线通信。远端机的两块DPB按照主备用模式工作,主DPB处于工作状态,备DPB处于关闭备份状态。在主DPB出现故障时,主DPB根据故障类型通过RS232总线开启备DPB的功能开关或执行相应配置,完成主备用的功能切换[2-4]。

Image 001.png

  RU告警信息的同步有两层含义:其一,RU与网管中心告警信息的同步;其二,RU两块DPB之间告警信息的同步。

  实际应用中发现,当一个RU的两块DPB上报的告警信息不一致时,导致网管中心对两块DPB的状况做了错误的判断,误将正常工作的DPB判断为故障DPB,为维修人员的工作带来了麻烦。

  针对RU告警信息的同步问题,通过对数字光纤直放站告警管理功能的深入研究,本文提出在RU与网管中心之间以及在RU的两块DPB之间分别采用循环上报机制[5-7]和主动发送与查询相结合机制的实现方案,同时搭载嵌入式VxWorks操作系统,给出了具体的代码实现。

1 RU告警信息同步的设计与实现

  1.1 RU告警信息同步的实现过程

  图2为告警信息同步方案逻辑框图,告警信息同步方案涉及3个部分:网管中心、告警同步单元和告警处理单元。告警信息同步的实现过程为:主DPB告警检测模块检测各个告警的状态,检测出告警状态发生改变的告警项。告警屏蔽模块首先根据告警项之间的优先级关系对这些告警项进行屏蔽处理,高优先级的告警项优先上报,低优先级的告警项待高优先级的告警项恢复正常后再进行上报;然后将告警项的告警状态上报给各个模块或者单元。一方面,主DPB将告警状态上报给网管中心;另一方面,主DPB将告警状态通知主DPB告警处理单元,主DPB告警处理单元收到信息后进行应急处理。同时,主DPB将告警状态通过RS232总线告知备DPB,备DPB收到信息后,通过告警信息解析模块解析信息。一方面,备DPB将告警状态上报给网管中心;另一方面,备DPB将告警状态告知备DPB告警处理单元,备DPB告警处理单元收到信息后进行应急处理。

Image 002.png

1.2 备DPB通知模块与主DPB告警解析模块的信息交互

  图3为备DPB通知模块与主DPB告警解析模块的信息交互示意图。初始上电时,首先判断DPB的工作状态。若DPB为主DPB,判断告警项的告警状态,如果告警状态发生改变,将告警状态发送给备DPB的主DPB告警信息解析模块。若收不到备DPB的告警回复信息,则下次继续发送;若收到备DPB的告警回复,停止发送。初始上电时,若DPB为备DPB,则向主DPB发同步信息包,主动查询主DPB共享告警项的告警状态,实现初始上电时两块DPB告警信息的同步。此后备DPB通过主DPB告警信息解析模块解析主DPB传来的告警信息,实现两块DPB告警信息的同步。

Image 003.png

 1.3 DPB与网管中心的信息交互

  图4为DPB与网管中心的信息交互示意图。若DPB告警状态发生改变,则DPB将告警状态上报给网管中心。若DPB规定时间内收到网管中心的告警响应信息,则改变告警项的同步状态,停止上报。若没有收到网管中心的告警响应消息,则按照告警重发处理机制继续上报告警消息。

Image 004.png

  告警重发处理过程如图5所示。DPB上报告警信息后,在规定的时间内如果收到网管中心的告警确认,则表明本次告警信息上报成功,停止上报;如果没有收到网管中心的告警确认,则表明本次告警信息上报失败,DPB继续上报告警。如果连续3次告警信息上报失败,DPB停止上报,在间隔一个规定的时间后继续上报告警;如果再连续3次失败,则在间隔一个规定的时间后继续。如此循环上报,直至收到网管中心的告警响应[8]。

Image 005.png

  告警重发特殊情况处理如下:在循环上报告警过程中产生了新的告警,则新的告警信息与原来没有确认的告警信息一起上报,原来已确认的告警信息不上报,循环重新开始[9]。

2 RU告警信息同步的软件实现

  数字光纤直放站选择性能稳定、功耗低的ARM7微处理器作为主控制器,搭载VxWorks操作系统[10-12]来完成软件架构的搭建。

  虽然告警同步实现过程的软件平台已经确定,但如何实现告警项的管理仍然很棘手。对于每个告警项而言,告警项的要素很多,要素之间不是简单地罗列而是有着某种逻辑关系。如何实现告警检测时间的管理,如何实现循环上报中时间的管理,在上报过程中如何实现新旧告警的逻辑关系等,这些都是需要考虑的问题。

  基于以上问题,本文采用单个结构体及结构体数组来实现对告警项各个要素的管理。告警信息管理结构体和告警上报控制结构体如下。其中,成员AlmTimersCnt为告警检测总时间计数器,实现了告警项检测时间的管理;告警上报控制结构体中的成员NextSendTime为告警项下次上报的时间,用来实现循环上报中时间的管理;成员AlmRptTryCnt为告警项上报总次数,与成员NextSendTime一起来实现新旧告警项上报的逻辑关系。

  告警信息管理结构体组成成员:

  typedef struct alarm_info

  {

  UINT8 AlmIndex;/*告警项的索引号*/

  UINT8 AlarmEna;/*告警项的使能开关*/

  UINT8 CurAlmState;/*告警项的当前状态*/

  UINT8 SyncAlmState;/*告警项网管中心的同步状态*/

  UINT8 Rs232SyncAlmState;/*告警项邻板的同步状态*/

  UINT8 AlmProSyncState;/*告警处理单元的同步状态*/

  UINT8 AlmRptState;/*告警项的上报状态*/

  UINT8(*IsAlmRaise)(void);/*告警项检测函数的地址*/

  UINT32 AlmRaiseCnt;/*告警项异常次数计数器*/

  UINT32 AlmIdleCnt;/*告警项正常次数计数器*/

  UINT32 AlmTimersCnt;/*告警项检测总时间计数器*/

  }

  告警上报控制结构体组成成员:

  typedef struct alarm_rpt_ctrl

  {

  UINT32 NextSendTime;/*告警项下次上报的时间*/

  UINT32 AlmRptTryCnt;/*告警项上报的次数*/

  }

  告警信息同步过程的关键代码如下。其中,AlmRaiseCheck函数为告警检测模块的代码实现,AlmMaskCheck函数为告警屏蔽模块的代码实现,AlmRptCheck函数为网管中心上报模块的代码实现,AlmProRptCheck函数为告警处理单元通知模块的代码实现,AlarmSync函数为备DPB告警通知模块与主DPB告警信息解析模块信息交互的代码实现。

  LOCAL void AlarmManTask(void)

  {

  UINT8 AlmProTimer=0;

  wdStart(SampleTimerId,(int)AlmSampleTime,

  (FUNCPTR)AlmSampleTimer,0);

  AlmResetRptTimer();

  while(1){

  semTake(semAlmSampleT,WAIT_FOREVER);

  AlmRaiseCheck();

  AlmMaskCheck();

  AlmRptCheck();

  if(((AlmProFlag==0)&&(AlmProTimer++>8))||

  (AlmProFlag==1)){

  AlmProRptCheck();

  AlmProTimer=0;

  AlmProFlag=1;

  }

  AlarmSync();

  taskDelay(5);

  }

  printf("!!!Exit AlarmManTask...Error,errno=0x%08X\n",

  errnoGet());

  return;

  }

3 告警信息同步实现过程的测试与结果

  测试平台分为硬件平台与软件平台。硬件平台为PC、调试串口和数字光纤直放站;软件平台为串口超级终端软件和网管中心的网管软件。图6为串口的超级终端信息打印图,主DPB检测到告警状态发生改变时,将告警项的状态信息按照图中的组包格式发送给备DPB,主DPB收到告警响应消息后停止发送。图7为网管中心告警监控界面,其中红色按钮表示告警项产生告警,绿色按钮表示告警项告警恢复。

Image 006.png

  告警信息同步过程的测试分为三个层次:告警检测的测试、备DPB通知模块与主DPB告警解析模块的信息交互的测试和DPB与网管中心的信息交互测试[5-7]。测试时,数字光纤直放站按照图1所示连接方式组网。告警检测环节主要测试告警项是否产生误告警及非法告警,采用参考文献[6]中遍历的方法进行测试。经测试发现,没有产生误告警及非法告警。另外两种测试采取手动制造告警的方式进行验证,测试中以电源1故障告警和输入电压过压告警为例进行说明。

  首先,手动制造电源1故障告警、输入电压过压告警,主DPB按照图6所示格式组包,串口打印出主备DPB间的信息交互过程;同时网管中心收到了两块DPB上报的告警数据,电源1故障告警及输入电压过压告警灯变为红色。然后,手动制造电源1故障告警恢复、输入电压过压告警恢复,主DPB按照图6所示格式组包,串口打印出主备DPB间的信息交互过程,同时网管中心收到了两块DPB上报的告警恢复数据,电源1故障告警及输入电压过压告警灯变为绿色。

4 结论

  本文设计了RU告警信息的同步实现方案,在射频设备或者DPB出现故障时,该方案既可以及时将告警状态上报给网管中心,利于设备的维护;又可以在维修人员未到达前,对相关硬件进行调整,保证信号的可靠传输。该方案提高了系统的稳定性与健壮性。通过测试验证了该方案的可行性,可适用于安全性较高的领域。

参考文献

  [1] 刘立海.数字光纤直放站特性及其在GSM-R无线覆盖中的应用分析[J].铁道通信信号,2012(9):30-35.

  [2] 钟杨斌.基站覆盖延伸系统在无线网络覆盖优化中的应用研究[D].北京:北京邮电大学,2008.

  [3] 高婷婷.铁路GPRS系统冗余备份的研究[J].铁路通信信号工程技术,2013(S1):250-254.

  [4] 洪治.浅谈高速铁路GSM-R系统干扰现状及对策[J].中国无线电,2013(3):28-29.

  [5] 苏洁,温蕾.直放站监控管理告警处理机制及测试方法分析[J].电信网技术,2010(3):57-60.

  [6] 敖姣.直放站调测系统软件设计与研究[D].武汉:武汉邮电科学研究院,2009.

  [7] WCDMA直放站嵌入式监控终端研制[D].成都:电子科技大学,2007.

  [8] GB/T 1.1-2009.铁路数字移动通信系统(GSM-R)光纤直放站网络管理系统[S].2009.

  [9] YD/T 2231-2011.2 GHz WCDMA数字蜂窝移动通信网模拟直放站设备网管接口技术要求[S].2011.

  [10] 张培辉.基于VxWorks和MPC565无人机飞行控制软件设计与开发[D].南京:南京航空航天大学,2012.

  [11] 张林,王芙蓉.VxWorks嵌入式实时系统任务机制的研究[J].微型机与应用,2005,24(3):11-13.

  [12] 廖崇琦,文臣,邓文,等.一种基于VxWorks的可重构软件框架设计[J].微型机与应用,2013,32(12):22-24.


此内容为AET网站原创,未经授权禁止转载。
Baidu
map