一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

面向VxWorks实时进程的调制解调器硬件抽象层的制作方法

2021-12-18 02:27:00 来源:中国专利 TAG:

面向vxworks实时进程的调制解调器硬件抽象层
技术领域
1.本发明涉及软件无线电(software defined radio,简称sdr)系统中基于软件通信架构(software communication architecture,简称sca)的调制解调硬件抽象层(modem hardware abstraction layer,简称mhal),尤其是面向vxworks实时进程的sca mhal。


背景技术:

2.sdr通过硬件和软件的结合使射频设备具有了可重配置的能力,在不改变硬件的前提下,可以通过改变软件来实现不同的射频功能。它改变了传统观念,从软件化、智能化、通用化、个人化和兼容性等各个方面为无线通信带来深远的影响,逐渐形成和计算机及程控交换机相当的巨大产业。
3.sca通过面向对象方法划分软件/硬件结构,建立了开放的系统标准,提供了与具体实现无关的软件无线电开发框架,保证了软、硬件的可移植、可重构及设备的互操作性。
4.sdr平台采用多种器件构成异构计算网络,节点之间通过高速总线完成通信。mhal是为了解决不同处理单元之间能够无障碍数据传输而设计的,通过互联总线将用户层的数据打包成统一的格式发送出去或将接收到的数据解析出来传递给用户。为了实现软硬件解耦,实现应用按需部署,需要通过mhal来封装各个器件的通信接口,进而实现一致的通信接口、应用的统一控制等相关功能。
5.为了实时性及可靠性,通常采用vxworks嵌入式实时操作系统作为计算节点的软件运行环境。受到可靠性及性能的约束,在以往的产品中,通常一个处理器节点只部署一个波形应用,波形应用运行在vxworks的内核态上,作为内核程序,以获取最高的计算及内存性能。
6.随着硬件技术的发展,处理器开始向多核、高频、多接口的方向发展,单片处理器的性能往往已经超出了单个应用的需求,依旧采用一个处理器运行一个节点的部署方式,系统资源利用率较低,也不利于提高系统的集成度。因此,单个处理器部署多个应用成为当前sdr系统的一个突出需求。作为实时操作系统,在vxworks部署多个内核态的应用,由于应用间没有隔离,容易引发各类冲突和故障。
7.vxworks从6.x版本开始,引入实时进程技术(real time process project,rtp),作为一个新的软件运行模式。这种模式的优点是应用程序相互独立,互不影响,增加了内核的稳定性。每个应用均运行在用户态上,应用间相互不可见,且不会影响系统运行,提高了多应用下的节点可靠性。用户态的应用无法直接访问内核态程序的接口,只能够通过系统调用进行访问,因此面向实时进程的mhal设计与传统方式有所差别。鉴于目前没有该类的设计,本文提出的一种面向vxworks实时进程的调制解调硬件抽象层用于解决单处理器部署多个应用的问题。


技术实现要素:

8.本发明提供一种面向vxworks实时进程的调制解调硬件抽象层,实现实时进程形
式的波形应用通过mhal对外通信的功能,并且完成波形应用的加卸载控制,解决单个处理器节点部署多个应用的工程问题,提升系统的集成度。
9.本发明的发明目的通过以下技术方案实现。
10.一种面向vxworks实时进程的调制解调器硬件抽象层,包含通信服务库和控制服务模块,通信服务库以vxworks应用共享库的形式存在,将控制服务模块提供给波形应用的内核接口向操作系统注册为系统调用,并按照sca标准的封装为的软件接口,该软件接口供实时进程形式的波形应用进行动态调用;
11.控制服务模块以vxworks可加载内核模块的形式,加载驻留在vxworks操作系统中,提供调制解调硬件抽象层的各种功能,并提供相关的内核接口供通信服务库进行注册。
12.依据上述特征,控制服务模块由节点启动时,由内核加载运行;波形应用启动后,波形应用通过vxworks操作系统完成对通信服务库的动态链接,以便调用通信服务库的软件接口。
13.依据上述特征,控制服务模块提供的内核接口包含通信内核接口,对应通信服务库封装后的软件接口为通信软件接口;当控制服务模块接收到通信服务库中的通信软件接口传递的各波形应用发来的数据后,通过查找映射表判断是否是同节点的两个波形应用间进行通信,如果不是同节点通信则根据指定的总线参数从总线上发送出去,如果是同节点的,则通过共享内存进行波形应用间的通信;当接收到从总线上传递的数据,通过查找映射表找到接收数据的波形应用后,通过通信服务库中的通信软件接口传递给对应的波形应用。
14.依据上述特征,控制服务模块提供的内核接口还包含远程调用内核接口,对应通信服务库封装后的软件接口为远程调用软件接口;
15.当控制服务模块收到上级节点的远程调用消息后,判断需要调用波形应用的哪些函数后,通过通信服务库中的远程调用软件接口供波形应用注册相关函数,或获取相关调用指令完成指定函数的执行。
16.依据上述特征,控制服务模块收到上级节点发出的应用加载指令后,从本地的存储设备中调用相应的波形应用文件,加载运行指定的波形应用。
17.依据上述特征,控制服务模块收到上级节点发出的映射表更新指令后,完成映射表更新,以便提供控制服务模块的波形应用间通信的功能。
18.依据上述特征,控制服务模块接收到上级节点发出的应用启动指令后,通知波形应用开始启动功能,波形应用通过通信服务库调用相关软件接口,经由控制服务模块,进行对外通信或本地通信。
19.依据上述特征,控制服务模块接收到上级节点发出的应用停止指令后,通知波形应用停止功能,断开波形应用与通信服务库的链接,使波形应用停止对外通信。
20.依据上述特征,控制服务模块接收到上级节点发出的应用卸载指令后,卸载指定的波形应用,并释放资源。
21.本发明的有益效果在于:
22.1.本发明提出的一种面向vxworks实时进程的调制解调硬件抽象层可以供节点部署多个波形应用;
23.2.本发明提出的一种面向vxworks实时进程的调制解调硬件抽象层可以提供可
靠、安全的多波形部署环境,可以很好地提升sdr系统的集成度,有效的实现减重、减功耗;
24.3.本发明提出的一种面向vxworks实时进程的调制解调器硬件抽象层具有通用性,可以适用与多种运行vxworks的处理器,同时可以扩展到运行其他操作系统的场景。
附图说明
25.图1为面向vxworks实时进程的调制解调硬件抽象层的组成及交联关系。
26.图2为在节点上部署波形应用的流程示意图。
具体实施方式
27.下面结合附图和实施例对本发明作进一步的详细说明。
28.先给出如下说明:
29.波形应用:运行在sdr平台上执行一个特定的遵从sca功能的程序,实现期望的无线电功能。
30.内核模块:运行在vxworks内核态的软件模块,作为内核库加载到vxworks系统内运行。
31.应用共享库:运行在vxworks用户态的软件模块,作为共享库由波形应用调用。
32.参见图1所示,本实施例所示的一种面向vxworks实时进程的调制解调硬件抽象层包含控制服务模块和通信服务库(“控制服务模块”、“通信服务库”只是一个便于识别的名称,实际中可以使用其他名称)。
33.1.通信服务库
34.通信服务库以vxworks应用共享库的形式存在,将控制服务模块提供给波形应用的内核接口向操作系统注册为系统调用,并按照sca标准封装为软件接口,该软件接口供实时进程形式的波形应用进行动态调用,将波形应用对通信资源的访问需求传递给控制服务模块。每个波形应用可以独立连接、调用通信服务库中的软件接口。其中,控制服务模块提供的内核接口包含通信内核接口和远程调用内核接口,对应通信服务库封装后的软件接口分别为通信软件接口和远程调用软件接口。
35.2.控制服务模块
36.控制服务模块以vxworks可加载内核模块的形式,加载驻留在vxworks操作系统中,提供调制解调硬件抽象层的各种功能,并提供相关的内核接口供通信服务库进行注册。
37.控制服务模块的功能有:
38.1)波用应用间的通信:提供对总线的输入输出能力及总线的状态判断能力,完成计算节点的对外总线通信功能;提供共享内存,从而提高本地应用间数据交互能力。控制服务模块提供通信内核接口供通信服务库进行注册并封装为通信软件接口。当接收到通信服务库中的通信软件接口传递的各波形应用发来的数据后,通过查找映射表判断是否是同节点的两个波形应用间进行通信,如果不是同节点通信则根据指定的总线参数从总线上发送出去,如果是同节点的,则通过共享内存进行波形应用间的通信;当接收到从总线上传递的数据,通过查找映射表找到接收数据的波形应用后,通过通信服务库中的通信软件接口传递给对应的波形应用。其中映射表提供逻辑通信地址与实际物理地址的映射。
39.2)远程调用:为上级节点提供远程过程调用的服务,上级节点可以远程调用本地
波形应用的指定函数过程。控制服务模块提供远程调用内核接口供通信服务库进行注册并封装为远程调用软件接口。控制服务模块收到上级节点的远程调用消息后,判断需要调用波形应用的哪些函数后,通过通信服务库中的远程调用软件接口供波形应用注册相关函数,或获取相关调用指令完成指定函数的执行。
40.3)指令处理:该模块能够解析上级节点下发的指令,包括映射表更新、应用加载、应用卸载、应用启动、应用停止等,实现上级节点对计算节点的控制。执行完指令后,控制服务模块会将执行结果向指令发出方反馈,以便发出方确认结果,并进行决策。
41.4)其他功能。
[0042]“控制服务模块”由节点启动时,由内核加载运行;“通信服务库”由波形应用加载时完成连接。
[0043]
参见图2所示,通过本发明面向vxworks实时进程的调制解调硬件抽象层在节点上部署波形应用的流程如下:
[0044]
第一步,节点启动,完成控制服务模块的初始化:
[0045]
1.节点上电,vxworks操作系统启动;
[0046]
2.节点内核加载“控制服务模块”,并启动该控制服务模块提供的相关任务作为后台任务驻留在内核中,控制服务模块提供的相关内核接口等待波形应用通过通信服务库进行调用。
[0047]
第二步,应用启动:
[0048]
1.控制服务模块收到上级节点发出的应用加载指令后,从本地的存储设备中调用相应的波形应用文件,加载运行指定的波形应用;
[0049]
2.控制服务模块收到上级节点发出的映射表更新指令后,完成控制服务模块的映射表更新,以便提供控制服务模块的波形应用间通信的功能;
[0050]
3.波形应用启动后,波形应用通过vxworks操作系统完成对“通信服务库”的动态链接,以便调用通信服务库的软件接口。
[0051]
4.控制服务模块收到上级节点发出的应用启动指令后,通知波形应用开始启动功能,波形应用通过通信服务库,调用相关软件接口,经由控制服务模块,进行对外通信或本地通信。
[0052]
第三步,应用停止:
[0053]
1.控制服务模块收到上级节点发出的应用停止指令后,告知波形应用停止功能,断开波形应用与通信服务库的链接,使波形应用停止对外通信;
[0054]
2.控制服务模块收到上级节点发出的应用卸载指令后,卸载指定的波形应用,并释放资源。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献