国产自主“软件定义”框架——openSCA核心框架永久开源

转自介方技术团队 软件定义世界2019年6月14日

  

一、什么是openSCA(openSCA不局限于无线电)

SCA(软件通信体系结构),起源于海湾战争之后的五角大楼,为了解决美国军方和北约各国多达上百种军用无线电设备之间的信息互通问题。它就像是给来自不同厂家的、不同型号的设备安装了一套类似“安卓”的操作系统,而那个时候,还没有“安卓”。

“软件定义”的概念从此兴起,来自不同领域的系统集成商们,越来越倾向于使用一套框架(或者有些领域被称之为操作系统)将硬件高度抽象并进行标准化的封装,以优化产业分工、优化生态、降低成本。

介于硬件和应用软件之间的这层框架,成为了一个行业/领域是否能够走进“软件定义”的最直接技术门槛。

openSCA是介方信息推出的用于军用无线电设备的“软件定义”框架,然而,我们对openSCA的架构做了深度的调整,它除了能够很好地适配无线电应用场景外,我们鼓励开发者大胆地将它应用到更多的“软件定义“领域中,譬如汽车、机器人、无人机等等。这一点,我们期待开发者去进一步挖掘和发现更多的惊喜!

二、openSCA的特性

作为一款纯嵌入式的框架软件,openSCA核心框架拥有9.1万行源代码,ROS2.0目前的代码行数已经达到18.9万行,我们期待这次的开源能够吸引开发者们在这个基础上,不断对框架进行优化,并丰富即插即用的场景化组件和增强组件。

相比较国外OSSIE(RedHawk开源项目)来说,openSCA拥有高质量的代码和更开放、更灵活的架构,并在功能上做了很多强化。

亮点1:即插即用的增强型功能扩展

用户可单独编译自定义服务,例如新增事件服务,将可执行文件及配置文件放置平台包的Services目录下,如下图所示:

 

然后在openSCA/frameworks/BootLoader/Bootloader.cpp中增加启动事件服务的接口即可,如下图所示:

 

亮点2:灵活的传输机制(确保平滑替换中间件)

openSCA对传输机制重新进行了标准化封装,在替换中间件时,无需修改框架代码和上层应用的代码。

这样,开发者在替换传输机制(中间件),再也无需担心为此付出昂贵的代价。

目前,开源版虽然只支持TAO,但是其架构能够支撑对中间件的平滑替换,后续开源版将支持更多中间件,包括国产中间件。

亮点3:支持一个应用、多个实例

openSCA特有的机制,解决了人工智能场景和多部同型电台/数据链场景下对同一个应用/波形进行N次实例化的问题。

亮点4:纯国产,自主可控

亮点5:后续将支持国产嵌入式操作系统

三、openSCA能够运行在什么硬件上?

openSCA可以免费地运行在任何硬件平台上,开发者只需要将Linux操作系统在对应的硬件平台上成功运行即可。

此外,介方公司还为开发者提供了专用的开发板——jLabSDR,它由一片Zynq SOC处理器和一片AD9371构成,能够适用目前市面上90%以上的通信场景(包括用来做5G终端),该产品的详细情况可以登录介方信息官网查看。

 

👆 介方jLabSDR开发板实物图

四、openSCA项目的贡献者有哪些?

实际上,这是一个无效的问题,因为你可以为openSCA贡献任何可以贡献的。我们概括了以下几类贡献者:

第一类:增强型功能及服务 贡献者

对openSCA框架本身,以及基于框架的各类共性服务很感兴趣,他们往往来自计算机、自动化与控制专业等。

第二类:通信算法/波形 贡献者

对通信算法和波形感兴趣,往往来自通信、信号处理、网络等专业。

第三类:人工智能场景下的算法 贡献者

对智能无线电、认知无线电、人工智能感兴趣,往往来自人工智能、计算机、通信、信号处理、网络等专业。

第四类:场景扩展 贡献者

对所在场景下的“软件定义”感兴趣,正在寻求或者开发一款对应于自己场景的“软件定义”框架。如果你是这一类开发者,事实上,openSCA已经帮你完成了9.1万行的代码开发工作,你只需要基于openSCA展开与你所在场景相关的适应性开发即可。

对于所有的开发者,我们提醒您,openSCA采用GNU GPL v3开源协议,您在加入该项目开发时,请务必认真了解该协议内容。

五、你可以用openSCA做什么?

硬件设计/制造商:

如果你是硬件设计/制造商,你不妨尝试将openSCA移植到你的硬件上,使你的用户能够免费共享openSCA及其生态的成果。这个过程,你无需向任何人付费。

算法/波形设计商:

你可以在openSCA的平台上开发和验证你的算法和波形,不仅仅因为我们为你提供了免费的软件框架和免费开发工具,更因为你的波形一旦在openSCA验证成功,它将能够很快被移植到客户所要求的其他平台上。同样,这个过程,你无需向任何人付费。

六、介方信息为开发者提供哪些支持?

支持1:免费的远程技术支持

无论你是开发者,还是使用者,可以将问题发布到开源社区(介方后续将会推出对应的技术论坛),介方的工程师会及时答复你的问题。

支持2:终身免费使用介方的开发工具

介方为openSCA开源提供了可终身免费使用的开发工具sdrIDE版本,并且会定期进行维护升级。

支持3:提供成果交易机会,回报优质开发者

开发者可以将自己在openSCA的成果形成“开源版”和“商业版”,“开源版”可以通过openSCA实现演示和验证。

支持4:即将发布开源硬件项目

帮助开发者快速进行更加系统的开发工作。

支持5:持续的项目版本升级

介方信息将对openSCA开源项目进行持续、频繁的更新。

七、不同版本的SCA/SDS框架对比

 

八、开源项目获取和参与方式

进入GitHub搜索openSCA,因该项目6月15日刚刚公开,GitHub可能无法搜索到,你也可以点击以下链接:

https://github.com/JFounderSDR/openSCA