分类:
2008-10-15 16:28:48
引 言
随着接入网(AN)范围内多种传输媒介、多种接入配置和业务发展的需要,ITU制定了V5.1接口的G.964建议和V5.2接口的G.965建议。这些标准的制定使得机可以通过此接口支持多种类型的用户接入,其开放性使得机和接入网的技术和业务完全独立开来。接入网的发展可以不受交换机的限制,使得接入网市场完全开放。根据速率不同,V5接口分为V5.1和V5.2接口。
V5通信接口
V5.1接口由单个2048kbit/S链路构成,用于支持模拟电话接入以及基于64kbit/S的综合业务数字网(ISDN)基本接入和用于半永久连接的、不加带外信令信息的其他模拟接入或数字接入。
V5.2接口按需要可以由1~16个2048kbit/S链路构成,除了支持V5.1接口提供的接入类型外,还可支持ISDN一次群速率接入。V5.2接口由以下3层组成:第一层,物理层,由1~16个符合ITU的G.703和G.732建议的2Mbit/S的数据链路构成。第二层,数据链路层,仅对C通路而言,使用的规程称为LAPV5,其目的是为了允许灵活地将不同的信息流复用到C通路上去。
它又可进一步分为两个子层,即数据包封装功能子层(LAPV5-EF)和数据链路子层(LAPV5-DL)。LAPV5-DL子层完成对V5.2第三层消息的复用。LAPV5-EF 子层通过映射完成对LAPV5-DL帧和ISDND通路信息的复用。第三层,层,包括PSTN协议、公共控制协议、链路控制协议、BCC协议和保护协议。PSTN协议负责处理与PSTN业务相关的信令;公共控制协议负责协调两端用户端口状态同步及数据指配;链路控制协议负责协调和实现两端链路相关的控制;BCC协议负责AN和LE,协调完成2Mbit/S链路上的承载通路分配;保护协议在链路出现故障时提供通路的切换保护功能。第一层有限状态机协议如图1所示。
μC/OS-II实时多任务系统
V5接口实现中包括5个核心协议的处理和管理许多定时器,所以对操作系统要求很高。笔者选用μC/OS-II作为其操作系统,实现多任务管理及任务间通信等。μC/OS-II最多支持56个任务,任务调度采用优先级抢占调度算法,总是执行就绪态的优先级最高的任务,并支持SemaphorE( 信号量)、Mailbox ( 邮箱)MessageQueuE(消息队列)等多种常用的进程间通信机制。由于系统中代码大多是用C语言写的,有比较好的可移植性。
系统启动
μC/OS中,多任务内核通过调用OSInit函数开始执行内核相关的初始化。OSInit函数将完成任务控块、事件控制块、消息队列和内存管理的初始化等。系统初始化完成后需调用OS-Start函数启动内核,开始多任务运行。在启动多任务内核前需要至少启动一个任务。
图1 协议栈框架图
多任务创建
在μC/OS中,每个任务都是无限循环的,每个任务都处在以下5种状态之一:休眠态、就绪态、运行态、挂起态和中断态。μC/OS中通过调用OSTaskCreatE或OSTaskCreateExt函数创建启动任务。对于每个任务都有惟一的1个优先级标识。
任务间同步和通信
在μC/OS中,提供了消息队列、邮箱和信号量等机制用以实现任务间同步和通信。邮箱可以用来通知一个事件的发生(发送一条信息)。在源端的任务通过调用OSMBoxPost函数向邮箱写,在目的端的任务通过调用OSMBoxPend函数从邮箱读。当邮箱为空时调用OSMBoxPend函数的任务将被挂起。信号量是一种约定机制:两个或多个任务通过简单的信号进行合作,一个任务可以被迫在某一位置停止,直到它接收到一个特定的信号。信号量主要实施3种操作:一个信号量可以初始化为非负数;等待操作使信号量减1,如果值变成负数,则执行等待的任务被阻塞;得到CPU使用权的任务signaL操作使信号量加1,如果值不是正数,则被等待操作阻塞的任务解除阻塞。
[1]