新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于SDL的通信协议开发平台

基于SDL的通信协议开发平台

作者:时间:2009-03-26来源:网络收藏

l 引 言
是一种用来说明和描述系统的国际通用的标准化语言。它将直观的图形和固定的格式结合起来,使开发人员可以简洁高效地将规范和描述出来,的应用,可以缩短开发周期,降低系统的差错率,提高软件质量。现在越来越多的电信设备开发商开始使用进行软件开发。
但SDL并非编程语言,用SDL描述系统以后最终需要将SDL系统映射成实际程序才有意义,而目前一般是借助于国外的一些开发工具如SDT提供的SDL和C语言的转换工具来完成,开发人员通过编写SDL系统和环境的接口函数来实现所生成的代码和RTOS的集成。这种方法提高了开发的效率,但也有一些缺点:设计依赖于工具,脱离工具则代码难以维护、SDL生成的代码非常复杂,不便于修改和阅读,所以在实际应用中这些工具往往用于协议验证。
为了提高协议开发效率,我们在无线系统开发中建立一套自主的SDL的协议,通过这个平台可以实现SDL基本元素以及之间的和RTOS任务之间的通信,并集成了协议中常用的定时器管理功能、内存管理功能。

本文引用地址:http://www.eepw.com.cn/article/158152.htm


2 SDL介绍
SDL(Specification and Description Language)是1976年至1992年由ITU―T发展和标准化的一种描述系统行为的语言,SDL的数学模型是扩展有限(EFSM),是一种高层泛用型的用于事件驱动、实时和通信系统的描述语言,电信系统和协议是它主要应用领域之一。SDL有图形和文本两种表示形式,SDL/GR和SDL/PR。它既可以用来对系统的功能进行说明,也可以描述系统的内部结构和行为,因而应用范围很广,可以用于协议工程的各个阶段。SDL采用一种层次结构来对系统进行描述和说明,结构和功能被清楚地划分。系统可以分为多个功能块,功能块表示系统内部功能相对独立的几个模块,它们之间通过信道相连。根据系统规模的大小,每个功能块还可以分为子功能块或。与传统FSM类似,SDL进程具有有限数量的被有限数量跃迁连接着的宏控制状态。通过一个输入信号(也可称使能条件)的接收、事先设置的定时器的定时或当前状态变量(连续信号)值所指定条件的确认,跃迁能够被触发。在SDL中,定义了一些基本的数据类型和操作,以及构造新类型的机制,使得SDL拥有和C/C++语言一样的数据操作能力,因此它可以用于系统的设计和实现。


3 SDL构成和实现
SDL建立在嵌入式实时操作系统上,主要包括4个模块:进程管理、消息管理、定时器管理、缓存管理,如图1所示。其中进程管理模块提供了SDL进程的创建、删除等库函数,并提供了SDL功能块和进程的描述表,通过这张表格可以确定任务块和进程的从属关系。在消息管理模块提供了进程间、进程和功能块间、进程和外部任务间的消息通信函数;定时器管理和缓冲管理模块则提供了定时器的创建、删除函数以及缓冲的创建和释放函数。

3.1 功能块和进程的实现
3.1.1 功能块实现
采用SDL描述的系统包含若干个功能块(block),每个功能块内至少有一个进程(process),功能块是用RTOS的任务直接实现的不需要开发者单独创建,只需在功能块中预先定义包含哪些进程,SDL系统在初始化时直接可以创建功能块。每个功能块内进程的并发调度是由功能块的一个调度函数实现,而功能块之间的调度则由操作系统完成。功能块任务内除了完成个进程的轮询调度外,还负责接收外部环境的消息并分发消息到各个进程中;除此外功能块任务还负责本功能块内所有进程的定时器管理工作。功能块内部工作流程图如图2所示。

3.1.2 进程状态机的实现

c++相关文章:c++教程


数字通信相关文章:数字通信原理


通信相关文章:通信原理



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭