推荐给好友 上一篇 | 下一篇

3G底层核心实时状态检测模块的设计

摘要 本文首先提出了3G底层技术统一平台的概念,介绍了本平台及系统控制子系统的框架结构;然后给出了实时状态检测模块的功能和结构设计,包括其在整个系统中的位置、和其它功能模块的联系等;进而重点分析了该模块各个进程和任务的处理流程,并对它们是如何分工合作、实现对整个底层工作状态的实时性检测和控制等技术做了详细说明。

3G底层技术平台主要是对硬件设备等基本组成元素做底层的封装,组合为各个功能不同的网元,再由上层各个研发机构作二次开发,推出基于各自标准的可供商用的产品。整个平台划分为若干个子系统,其中SCS即系统控制子系统居于核心地位,实现对3G平台的控制和管理。在SCS子系统中,实时状态检测模块主要完成:单板外围电路和单板上资源的状态检测,处理BSP异常中断上报,将检测的结果上报给SMM(状态管理模块)或者OAM网管子系统,使整个系统实时的了解各个单板的状态,以便进行相应操作。本文通过对该模块的研究、规划和设计,给出了实现方案,并分析了各个功能点的实现流程。

1、3G统一平台

1.1平台组成结构

本平台由BSP子系统、支撑子系统系统、系统控制子系统等功能相对独立的11个子系统组成。不同子系统之间通过互发消息、提供或者调用接口函数、中断处理等机制实现整体协作,组成结构见图1。开发环境为Vxworks操作系统和Tornado2.2,程序设计语言为C语言。

VxWorks是由WindRiver公司推出的嵌入式实时操作系统(RTOS),它利用基于主机和目标机的交叉开发平台(Tornado)来编辑、编译、连接和动态加载可执行代码,并运行和调试实时应用程序。

1.2相关术语、定义

进程:支撑系统进行调度的单位,由消息驱动,每个进程拥有自己的消息队列、数据区和栈。

消息:进程通讯信息的载体,指进程通讯时所传递的一块完整的数据,包括消息头和消息体,包括异步和同步消息。进程调用发送异步消息的原语后继续执行以后的指令,进程状态不因调用而有所改变;调用发送同步消息的原语后进入阻塞状态,停止执行下面的指令,直到接收该消息的进程处理完并返回应答后,再从阻塞状态进入就绪状态,等待CPU的调度。

2、系统控制子系统的设计

2.1主要功能和性能

系统控制子系统在系统中的位置如图1所示,该系统完成的功能如下:

(1)系统加电,各个单板加载版本时,通过版本校验保证运行版本的正确性。(2)单板上电后,根据相应的单板配置决定是否需要进行主备竞争,同时从OMP获得本板的基本配置信息,按照顺序启动各个基本进程,完成单板的正常启动。(3)上电成功后,对单板的运行状况进行检测,包括对本板的各个外设进行检测,以及定时与MP进行握手,以便MP能够全面的管理系统中各个单板的运行状态和相关的资源状态,并进行闭塞/解闭塞处理。(4)在正常运行过程中,支持版本的在线更新,并提供一定人工干预的手段,以便在版本更新时保证系统的稳定运行。

系统控制子系统的性能主要体现为系统整体启动的时间(包括软件加载的过程和进程上电过程的控制等)、单板和资源状态变化的检测时间、主备倒换完成的时间。

2.2模块设计

系统控制子系统划分为如下部分:主控制模块、状态管理模块、实时状态检测模块、版本管理模块和Boot。(1)主控制模块:完成单板基本配置信息的获取、进程加载过程的控制、主备倒换的控制。(2)状态管理模块:完成系统中各个单板的在线状态的检测、各种资源的配置信息的获取及其状态的管理。(3)实时状态检测模块:完成单板运行状态的检测,包括CPU的使用情况、内存的使用情况以及单板外设的状态和单板上资源的状态检测。(4)版本管理模块:本模块比较独立,完成系统版本的管理,包括从后台发起的版本更新、前台各个单板的运行版本信息及版本下载。(5)Boot模块:自成体系,完成的功能相对来说比较单一但是非常重要,包括单板的自举、版本下载和加载。

3、实时状态检测模块

实时状态检测模块,作为系统控制子系统的核心部分,驻留在各个物理单板上,包括UIM、TSNB、SPB、SDTB、MRB、MNIC、DTEC、APBE、VTCD、GLI、TMB、PSN、WPBCB、MPX86等。实时状态检测模块在3G统一平台中的位置如图1所示。

图1 实时状态检测模块在3G统一平台中的位置

3.1模块功能和结构

主要功能:定时检测单板外围电路、单板上各个设备模块等实时状态;处理单板的异常中断上报消息;加载微码版本、DSP软件、固件、音资源文件等;该模块还要与版本管理模块交互,对微码版本、DSP软件、固件、音资源文件等进行加载,检测,重下及启动。根据模块的功能和结构划分为:异常处理任务及中断相关处理,实时状态检测进程,版本加载进程和音资源加载进程,耗时查询进程。

(1)如果单板需要加载DSP、固件或微码,则版本加载进程作为上电基本进程,接收主控进程的上电消息,加载完后通知状态查询和音资源加载进程上电;状态查询进程上电完成后则发上电消息给耗时查询进程。

(2)如果单板不需要加载DSP、固件或微码,则状态查询进程作为基本进程,接收主控的上电消息,然后通知耗时查询进程上电。

3.2异常处理任务

由于支撑的接口带有阻塞,在处理异常中断的回调函数内,不能调用支撑的接口直接往某个进程发送消息,所以需要创建一个异常处理任务专门负责处理异常中断。

异常处理任务的功能是处理BSP的异常中断,由两部分组成,即一个回调函数和一个处理任务。回调函数由BSP在异常发生时调用,向处理任务上报各种异常中断信息,同时对于一些有可能大量上报的中断,进行一些过滤。回调函数将中断信息发送给处理任务,在处理任务里面向状态查询进程发送设备异常消息,状态查询进程对该设备异常消息进行处理,并通知OAM或SMM。

3.3版本加载进程

进程涉及到的状态有S_StartUp、S_StateInit、S_StateLoad C6416、S_StateLoadM82620、S_StateLoadTMSC5402、S_StateLoadM80310、S_StateLoadOCT6100、S_StateLoadMicroCode、S_StateIdle。系统启动后,进程创建即S_StartUp,进行分配内存空间等工作,然后进入S_StateInit状态,等待上电消息。获得上电消息后初始化本模块的静态数据区,包括逻辑地址初始化、告警代理进程的配置,并加载DSP软件、微码版本、固件。如果从本地读取的版本加载不成功,则与OMP上的版本管理进程交互,完成版本的下载;然后向状态查询进程和音加载进程发送上电消息,进入S_IdleState状态;同时定时查询DSP状态,发现DSP跑飞后进行重新加载的处理。



TAG: 核心 实时 底层 状态

31/3123>
查看全部2条评论

最新评论

 

评分:0

我来说两句

seccode