软件系统时钟级程序的设计
2011-12-31于雪
于雪
(辽宁省盘锦市辽河油田通信公司网管中心,辽宁 盘锦124010)
1 引言
程控交换机软件是一种实时性、并发性很强的软件,其程序复杂性大,调试困难。由于交换机业务功能很多,彼此之间关系密切,给交换机软件的设计带来了很大的困难,因此选择合理的软件结构是整个交换机软件系统设计的关键所在。程控交换机在电力系统中有着极其重要的作用,特别是小门数程控交换机有着较好的市场前景。由于电力系统对程控交换设备的要求很高,主要要求通信电路具有稳定可靠、畅通无阻、实时性强、接续速度快、调度功能完善等特点。
程控数字交换机是现代数字通信技术、计算机技术与大规模集成电路(LSI)有机结合的产物。先进的硬件与日臻完美的软件综合于一体,赋予程控交换机以众多的功能和特点,使它与机电交换机相比,有以下优点:⑴体积小,重量轻,功耗低。⑵能灵活的向用户提供众多的新型服务功能。⑶工作稳定可靠,维护方便。⑷便于采用新型共路信号方式。⑸易于与数字终端,数字传输系统连接,实现数字终端、传输与交换的综合与统一。
本文编制的是时钟级程序,包括不同模式的定时方式,考虑到采用51单片机作为控制系统(指令为串行方式),因此采用了整体时钟控制(基本周期为8ms)的方法。
2 程控交换软件的基本特点
程控交换软件的基本特点是:实时性强、具有并发性、适应性强、可靠性和可维护性要求高。
2.1 实时性在正常情况下对实时性要求最为严格的是信号接收及信号处理程序(微秒、毫秒级),相对而言对实时性要求最低的是运行管理程序(秒级)。
2.2 并发性和多道程序运行并发性就是在同一时间段内CPU运行多道程序。采用多道程序运行方式可以使CPU在一段时间内保持若干进程处于激活状态。不同用户启动的呼叫处理进程可使用相同的处理代码,各进程的差别仅在于它们处理的数据不同。
2.3 可靠性的要求可靠性指标是99.8%的正确呼叫处理和40年内系统中断运行时间不超过2小时。提高可靠性的措施有:⑴对关键设备(如控制系统、交换网络)采用冗余配置;⑵采用各种措施及时发现已出现的错误,如为软件故障,则采用程序段的重新执行或再启动,予以恢复。
2.4 适应性的要求⑴为使之能适应不同交换局对交换机的具体要求,在交换机的软件设计中采用参数化技术,使描述处理逻辑大程序部分与给出数据处理参量的数据部分分离;⑵可用局数据和用户数据来适应不同的局条件。
2.5 软件的可维护性要求采用模块化、结构化设计方法,使用数据驱动程序结构,在编程时尽量采用有意义的标识符常数,建立完备、清晰的文档资料,把易随硬件更新、扩充而变化的软件部分相分离等都有助于提高软件可维护性。
3 软件系统优先级介绍
软件系统的优先级分为:中断级、时钟级、基本级。
3.1 中断级程序
⑴中断程序的两个特点:一是实时性要求高;二是事件发生的随机性;⑵中断级程序主要用于故障处理和输入/输出处理;⑶中断级程序由硬件中断启动,一般不通过操作系统调度。
3.2 时钟级程序
⑴时钟级程序主要用来发现外部出现的事件,时钟级程序对于发现的事件不进行处理,而是将其送入不同的优先级队列等待基本级程序处理;⑵时钟级程序由时钟调度程序调度执行,而时钟调度程序是由时钟中断启动的。
3.3 基本级程序
⑴基本级程序的功能是对外部发现的各种事件进行处理;⑵应用程序的大部分在运行时构成进程,基本级也称为进程级;⑶呼叫处理各进程具有较高的优先级,管理与维护程序的大部分进程优先级较低;⑷基本级程序由任务调度程序调度执行。
4 时钟级程序的设计
时钟级程序具有一定的执行周期,又称为周期级程序,如摘挂机识别、拨号脉冲识别及各种扫描程序都具有一定的执行周期,均属于时钟级程序。另外,忙音、回铃音和振铃信号的通断也是由CPU控制产生,这种控制方式也于时间有关,同样属于时钟级程序。
本文完成的是系统软件时钟级程序的设计,主要包括对外部事件的检测(摘挂机识别、双音频拨号的识别或拨号脉冲识别)和对服务信号(忙音、回铃音和振铃信号)的时钟通断控制。各种检测方式的时钟周期为:摘挂机识别200ms;双音频拨号识别16ms;拨号脉冲识别8ms;位间隔识别96ms。各种检测方式均使用基本时钟周期8ms,这样设计可以大大提高系统的使用效率。检测结果直接送至基本级程序进行分析处理。由于硬件设置为8用户,相应软件也是依照8用户完成控制,如果需要扩充用户,软件只需稍做变动即可实现相关功能。
用户信息检测内容主要包含用户摘挂机状态检测和对用户拨号信息的检测(识别拨号方式并进行收号)。
4.1 用户摘挂机状态的检测根据硬件电路的设置,用户挂机状态为高电平'1',摘机状态为低电平'0'。程序设定检测确认周期为200ms。为了避免由于干扰而引起的误操作,在识别一个用户是否有摘挂机动作时判断是否能连续25个周期(每一个基本周期为8ms)均能检测到该用户的同一状态,如能够检测到是同一状态则确定用户动作,并将检测结果送至基本级程序分析处理(是否转变用户状态由基本级程序分析处理)。由于每个用户摘、挂机状态只占用一个二进制位,而每次只对一个二进制位进行检测会大大降低系统运行效率,所以采用群处理的方法(每次对8个用户同时进行检测,检测结果送至相应存储单元,然后等待基本级程序处理)。用户摘挂机状态的检测使用96ms的基本时钟周期,连续保持192ms(2个基本周期)同一状态,CPU才进行判断处理(基本级完成)。由于硬件设计系统为8用户,因此系统采用群处理方式对用户进行摘挂机状态的检测只需检测一次。
4.2 拨号脉冲的识别与接收号盘话机送来拨号信息的是脉冲信号,与用户的摘挂机状态一样也是用户线的断、续状态。因此这部分设计仍然使用判别用户线状态的方法来识别拨号脉冲。
4.3 双音频信号的识别在双音频话机号码接收中,由于采用了单片滤波译码芯片MT8870,因此号码的接收比较简单。MT8870芯片从DTMF信号输入至检测识别出其对应的代码的建立时间是40ms左右,因此,采用16ms周期对其进行扫描(仍然使用8ms基本周期)。由于此种方式工作过程比较简单,在此就不再详细介绍。
值得说明的是,在用户摘机之初,时钟级程序对用户同时使用两种拨号检测方法同时进行扫描,直到以一种方式接收到号码之后,才停用另一种收号方式。由于硬件系统只提供了两路双音频收号系统,因此,软件程序就需要对收号资源进行分配,这部分功能主要是由基本级程序实现的。
5 结束语
综上所述,CPU对用户状态(信息)的检测均是通过8ms的基本周期来完成的。用户摘挂机状态采用的是不间断的扫描方式;其它信息的检测是通过相应的启动标志来进行控制,以达到对用户的各种状态在不同周期进行定时扫描的目的。
[1]叶敏.程控数字交换与交换网(第2版)[M].北京:北京邮电大学出版社,1998年
[2]李文海,毛京丽,石方文.数字通信原理[M].北京:中国人民大学出版社,2001年