随着接入网(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,如果值不是正数,则被等待操作阻塞的任务解除阻塞。
函数的可重入性
可重入函数是指一个可以同时被多个任务调用而不会发生数据冲突的函数。在多任务环境下,所有可能被多个任务同时调用的函数都必须保证其具有可重入性,此函数可以通过使用局部变量来保证其可重入性。
v5系统设计
v5接口协议的3层中物理层和数据链路层部分功能由硬件实现。物理层可用pmc公司生产的大规模e1接口芯片pmc4354,它是一种可提供4路e1的接口芯片并综合了成帧器和liu,其重要特性包括数据链路接入、报警、中断、环回和诊断。处理器选用sumsung 公司的ks32c50100,它内置2个hdlc控制器,2个定时器。特别适用在v5接口(封装功能子层功能和hdlc协议类似),v5协议的第三层实现全部基于嵌入式系统编程。