当前位置:首页 > 通信技术 > 通信技术
[导读]l 引 言 SDL是一种用来说明和描述系统的国际通用的标准化语言。它将直观的图形和固定的格式结合起来,使开发人员可以简洁高效地将规范和协议描述出来,SDL的应用,可以缩短开发周期,降低系统的差错率,提高软件

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


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 进程状态机的实现
    进程是并行执行的扩展的有限状态机,它规定一个系统的动态行为,进程基本上是处于等待信号的状态,收到信号则立刻进行状态之间的转移,进程的这一概念非常类似于操作系统中进程或者任务的概念。进程之间,进程与系统环境之间通过异步信号进行通信,这些信号可携带不同类型的参数。虽然进程的特点和RTOS中任务有点相似,但实际开发中一个SDL的进程会同时存在上百个甚至上千个,这显然不能用任务去直接实现SDL进程。
    在SDL平台上采用一个C函数对应一个SDL的进程,该进程所在的功能块负责调度该进程的运行。在SDL语言中进程可以看作是一个有限状态机,状态机的状态跃迁是由一系列信号触发的,在进程的入口函数采用swicht—case架构的实现状态机。在平台规定了一个标准的进程状态机函数模板,协议开发中每个进程按照这个模板编写SDL进程的代码。
3.1.3 进程并发性的实现
    进程并发性是通过在功能块任务内的进程调度函数实现的,在调度函数内按照消息的触发次序轮流调用进程的状态机函数。在实际应用中还会碰到一个状态机函数,需要并发调用的情况,比如在WiMAX系统中每个用户站入网过程都是一样的,包含下行同步参数获取、上行参数获取、初始测距、能力协商、注册等状态跃迁过程,所以对基站来说只要一个进程状态机就可以完成一个用户站的入网接入过程,但对基站来说又需要同时接人多个用户,这就需要进程状态机函数允许被重用,就像面向对象就是类和对象的关系,我们把这种需要被重用的进程称做进程类型,而每个实际使用的进程称作进程实例,在协议开发过程中开发者调用平台提供接口函数就可以创建一个或者多个进程实例。在程序中要实现状态机函数的重用就需要解决函数的重入问题,我们采用在每个状态机函数中保留一个私有存储区方法解决函数重人过程中私有变量的保存问题,如图3所示。

3.2 通信机制的实现
    在SDL中系统通过信道与环境连接。系统由许多用信道连接起来的功能块组成,每个功能块相对于其他功能块而言是独立的。在两个不同功能块中的进程之间,通信的惟一手段是靠发送信号,信号通过信道来传递。信号是系统的不同功能块之间或功能块和环境之间进行通信的手段。
    根据信号发送的目的采用两种不同方式实现SDL的通信:
    (1)同一功能块内部的进程通讯,这种情况下进程之间的通信是由功能块内部的消息分发机制实现的;
    (2)不同功能块之间进程的通信,在这种情况下先通过调用操作系统的消息发送机制将消息发送给目标进程所在功能块,由功能块再分发给进程。
    这种两种方式不管是哪种方式都使用了统一消息发送接口函数,对开发者来说是透明的。
3.3 定时器管理
    定时器是SDL语言中一个重要元素在通信协议开发中被大量应用,比如在WiMAX系统开发中周期测距需要一个定时器周期触发周期测距进程进行信号质量的检测,在网口地址过滤中需要周期进行地址老化。在SDL协议开发平台中,我们将定时器绑定在进程状态机上,通过静态分配的方法将在平台初始化时分配定时器给每个进程,定时器的定时功能由进程所在的功能块任务维护,这种方法避免了采用一个任务管理所有定时器带来任务负荷过大的问题。另外为了降低功能块的任务负荷,在功能任务内没有采用传统的在一个固定tick周期内检查是否有定时器超时的方法,而是利用功能块任务已经有的等待外部任务消息超时来实现定时器的定时检查。具体说就是在SDL的功能任务内采用差值定时的方法维护定时器,在每个功能块任务内维护一个定时器链表,当定时器启动时就插入到这个定时器链表中并根据时间进行排序。在功能块任务等待外部消息超时后就检查是否链表中有定时器超时,如果有则向相应的进程发送超时消息_并删除该定时器,然后更新下一个定时器超时周期并把这个周期设置成等待外部消息超时的时间。采用这种定时器管理机制的好处是定时器管理任务只在下一个定时器超时的时候被激活,而不需要每隔一个固定周期就需要激活去检查定时器链表,大大节省了任务的切换时间。


4 结 语
    基于SDL协议开发平台提供一套将SDL语言直接映射成协议代码的高效方法,使通信协议软件开发人员在协议开发过程中将主要精力集中在前期的SDL对系统的描述阶段,而无需关心系统底层的实现,较好地提高了协议开发的效率和代码的可维护性、可移植性,这些优点已经在基于IEEE802.16d的固定宽带无线接入系统的开发中得到了充分的体现。目前SDL协议开发平台还只是实现了基本的SDL进程、功能块、定时器等元素,对SDL中通信只实现了消息的交互,没有实现远端过程(Remote Pro—eedure)调用和远端变量(Remote Variable),这会限制SDL平台在一些复杂通信协议开发中的使用,针对这些问题我们将在后续的工作逐步完善。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

蔡司在苏州工业园区奠基启动"凤栖"工程建设,这是蔡司在国内首次购地自建项目,标志着蔡司在中国本土化进程的进一步深化与扩展。 "凤栖"工程建成后,蔡司苏州将成为蔡司在中国更高规格的研发与制造的重要据点,为其工业质量、研究显...

关键字: 显微镜 进程

广东佛山2022年10月19日 /美通社/ -- 空间是人居生活的基础单元,承载着生存与活动的最基本功能。而对于理想空间的解构意义却在物理性容器之外,体现出人们对于空间和生活深层关系的思考,同时也塑造着人与空间的新型连接...

关键字: 温度 BSP 智能化 进程

摘要:随着我国城镇化进程加快,汽车保用量剧增,土地资源紧缺,停车难问题日益严重,提升车位空间的利用率是目前解决这个问题的有效途径之一。鉴于此,设计了一种基于PLC与小程序的自助立体停车库,以PLC为控制系统的核心,服务器...

关键字: 控制系统 PLC 通信协议

助力再生农业转型、温室气体减排并改善农民生计  北京2022年10月13日 /美通社/ -- 雀巢咖啡作为雀巢集团最大且广受全球消费者喜爱的咖啡品牌,近期推出了使咖啡种植更加可持续的延展计划:雀巢咖啡2030...

关键字: 可持续发展 BSP 路线图 进程

(全球TMT2022年10月12日讯)Exyte已完成对美国废气净化技术专家Airgard Inc.的收购。Airgard成立于1988年,总部位于加利福尼亚州的Milpitas,是 "湿式" 洗涤器开发和制造领域的领...

关键字: TE AIR 进程 半导体行业

上海2022年10月10日 /美通社/ -- 2022 年 9 月 15 日,中国欧盟商会2022年可持续商业大奖(2022 Sustainable Business Awards Conference and Cere...

关键字: 可持续发展 ISO BSP SD

大连2022年9月30日 /美通社/ -- 近日,国际独立第三方检测、检验和认证机构德国莱茵TUV(简称"TUV莱茵")大连分公司总经理张孝宽受邀出席了由...

关键字: 能源管理 ISO 控制 进程

默沙东(MSD)和国药集团联合宣布,双方签署合作框架协议,默沙东将其和Ridgeback公司合作研发的抗新冠病毒口服药物莫诺拉韦的经销权和独家进口权授予国药集团,同时双方将评估技术转让的可行性,以便该药物在中国境内生产、...

关键字: SD GE CK AC

佛山2022年9月23日 /美通社/ -- 近日,由恒洁卫浴集团有限公司(以下简称:恒洁)发起的"这空间很中国"公共空间改造计划正式拉开序幕,联合权威党媒及新华书店,以重庆、北京等城市为起点,陆续在全...

关键字: 中国制造 进程 防护 色环

(全球TMT2022年9月22日讯)建筑项目管理软件领域企业InEight Inc.宣布了最新的软件创新,包括范围、设计和资源管理方面的新流程标准化,以及新的进展跟踪功能和创建基准验证型进程预估和时间表的能力。该更新还...

关键字: 软件 进程 应用程序 模板

通信技术

120595 篇文章

关注

发布文章

编辑精选

技术子站

关闭