![Rank: 8](images/default/star_level3.gif) ![Rank: 8](images/default/star_level3.gif)
- UID
- 872238
|
![](http://images.eccn.com/silabs/silicon_chip_980x60_202203.jpg)
函数的可重入性
可重入函数是指一个可以同时被多个任务调用而不会发生数据冲突的函数。在多任务环境下,所有可能被多个任务同时调用的函数都必须保证其具有可重入性,此函数可以通过使用局部变量来保证其可重入性。
V5系统设计
V5接口协议的3层中物理层和数据链路层部分功能由硬件实现。物理层可用PMC公司生产的大规模E1接口芯片PMC4354,它是一种可提供4路E1的接口芯片并综合了成帧器和LIU,其重要特性包括数据链路接入、报警、中断、环回和诊断。处理器选用SUMSUNG 公司的KS32C50100,它内置2个HDLC控制器,2个定时器。特别适用在V5接口(封装功能子层功能和HDLC协议类似),V5协议的第三层实现全部基于嵌入式系统编程。
软件实现框架
对于V5接口的5个核心协议中的每个协议都作为一个任务来实现和管理。任务间的消息采用邮件的方式。
软件实现框架包括3个模块,如图2所示。
OS系统模块
此模块由μC/OS-II实现系统功能,包括多任务调度、管理内存分配、任务间通信和定时器。
协议实现模块
块主要实现了V5接口的5个核心协议、第1层有限状态机协议和LAPV5协议。每个协议作为一个单独的任务运行。由于V5接口在运作过程中通话建立和拆除主要由PSTN协议和BCC协议完成,所以这2个任务需要有较高的优先级。LAPV5任务将来自上层需要发送给LE的消息数据封装打包并转发出去。
![](http://embed.chinaitlab.com/UploadFiles_4615/200809/20080905091420946.jpg)
图2 软件实现架构 管理模块
此模块主要完成AN的管理相关任务。其中包括PSTN端口的状态管理,V5界面管理,E1链路上承载时隙资源管理和5个核心协议C-PATH的管理。状态管理完成链路和端口的状态管理,界面管理用来获取V5接口的设定并完成V5接口的启动和保护切换。另外,V5接口通过界面管理任务接受来自控制台或网管系统的维护命令,随时向上层网管报告V5接口目前的状况。C-PATH管理用来建立和维护各个C通路。
接口的具体设计
V5接口协议中每个协议的处理流程按FSM(FinitEStatEMachine)的方式来完成。FSM 是具有马尔可夫性的,其目前状态仅与前一次的状态有关,与其他历史状态无关。它由有限的状态和相互之间的转移构成,在任何时候只能处于给定数目的状态中的一个。当接收到一个输入事件时,状态机产生一个输出,同时也可能伴随着状态的转移,其特点是根据目前的消息和目前的状态决定要做的事和以后的状态。
每个任务用一个结构体数组来维护其各个实体的状态和其他相关的信息。
例如PSTN协议可以用如下类似的结构体数组
struct PSTNPORT{
bytE interfaceid;/*保存该PSNT端口实体所属的V5接口ID*/
unsigned intle portid;/*保存该PSTN端口实体所对应的LE端PSTN实体ID*/
bytE statE;/*该实体的状态*/
TIMER t1;/*保存该实体的t1,t2,t3,tr,tt定时器值*/
TIMER t2;
TIMER t3;
TIMER tr;
TIMER tt;
}
每次完成由FSM 产生的动作时更新该数组,保存该实体相关的新的信息。V5接口中5个主要协议都是以FSM 的方式来运行的。协议根据目前的状态和收到的激励消息在FSM 中找到需要做的动作并完成响应。 |
|