天天看点

深入探讨软件定义架构及其意义

在上期文章中,我们了解了现代GNSS模拟中的软件定义架构,并与传统架构进行了对比,本期文章中我们将继续深入探讨软件定义架构及其意义。

所谓软件定义架构,其实是用软件去定义系统的功能,用软件给硬件赋能,最大程度提升系统运行效率和能量效率。软件定义的本质就是在硬件资源数字化、标准化的基础上,通过软件编程去实现灵活多样的虚拟化和定制化功能,对外提供专用智能化、定制化的服务,实现应用软件与硬件的深度融合。当前技术已经具备了实现软件定义架构的两个条件:

  • 首先,硬件越来越成熟,功耗、散热、加工工艺、成本等方面都变得更加的完善,可以更加顺利的完成软件发出的指令。
  • 其次,软件发展速度快,通信网络也已经完全打破了时空的限制,随着技术越来越成熟,软件不但可以控制本地硬件实现各种功能,还可以通过通信网络控制远处的信息系统协同实现各种功能,软件+网络的形式为硬件赋能提供更多可能。
深入探讨软件定义架构及其意义

软件定义的核心是API(Application Programming Interface),并由此引申出软件定义的两大技术发展方向。一种是平台化,也就是说在API之下,“如无必要、勿增实体”,这一方向创造的是一种开放系统架构,软硬件解耦。没有开放的系统架构,就无法提供足够的可扩展性;不解除软硬件之间的耦合关系,软件定义就无法可持续发展。

以GNSS模拟为例,如图所示,在GNSS模拟器中,可以根据不同的信号模拟需求配置不同的硬件和软件功能。

深入探讨软件定义架构及其意义

对于硬件部分,如果需要一个射频端口,就配置一个SDR,如果需要多个射频端口,就可以配置多个SDR。如果模拟的星座和频道过多,一个GPU运转不过来,那么则可以再增加一个GPU。总的来说,硬件是为软件服务的,可根据功能进行配置,完全不同于传统的固定硬件,极大的节省了经济和时间成本。比如多车模拟中,如果需要模拟多个信号并同时模拟多种高级场景,则需要强大的GPU的支持。传统的GNSS模拟器的GPU通道数不够时,就没有办法生成模拟,但软件定义的GNSS模拟器,由于能够实现软硬件解耦,它的SDR和GPU都可以进行集成,如下图,这很好的体现了软硬件解耦的优势。

深入探讨软件定义架构及其意义

另一个技术方向是智能化,也就是说,在API之上,一切皆可编程。智能化的核心要素是算法,随着算法的进步,智能化的水平将越来越高。同样以GNSS模拟器为例,它的软件部分能够实现基础功能,而某些复杂的功能可以通过增加插件来完成,如果有些功能插件无法满足,也可以自行通过提供的API进行编程,实现用户所需功能。软件定义模拟器的插件功能如下:

提供不同功能的插件(闭源):

  • SKY-HIL – 硬件在环模型
  • SKY-EXLI – 扩展限制
  • SKY-IQFILE – 允许保存IQ文件
  • SKY-MULTI – 创建多个实例
  • SKY-ADVJAM – 高级干扰模拟
  • SKY-ADVSP – 高级欺骗模拟
  • SKY-CSI – 用户自定义信号
  • SKY-PLG-SDK – 允许用户开发插件

用户通过二次开发开发自己的插件(开源):

  • API接口用于各种编程语言,如Python\C#\C++\LabVIEW

软件定义的发展势头迅猛,并且快速向各个行业延伸。目前已有软件定义无线电、软件定义网络、软件定义存储、软件定义汽车、软件定义飞行器、软件定义卫星等。可以说,当下的时代是软件定义时代,软件定义将成为科技发展的重要推手。

继续阅读