Linux 电信基站系统解决方案
2022-09-28

  自从1991年Linux第一次面世以来,任何人也不会想到这个不起眼的操作系统现在会应用得如此广泛。无论是从嵌入式领域的智能手机到大型计算服务器都可以找到它的身影,而且无论什么工作它都完成得非常出色,因为Linux的开放性决定了其自身可以根据使用领域而高度定制。作为一个开源软件,当前业界的工业标准可以最快地支持任何刚发布的硬件产品。同时,被世界各地的商业公司和志愿者一起参与开发和测试,它也变成了十分稳定的操作系统之一。

  Linux的设计原则决定了它的无所不能,但是对于特定领域它并不是最优的解决方案。同样对于嵌入式电信领域来说,为了追求满足电信领域的高实时性和高吞吐量要求,大家一般都采用传统的RTOS+Linux+运行环境。

  在传统架构中(参见图1),数据面处理采用RTOS+CPU/DSP方式,主要处理底层协议数据业务,通过RTOS的高实时性及多核CPU/DSP来达到性能需求。Linux自身的实时性较差,但是比较适合于高负载的复杂协议处理,因此一般用于完成用户控制平面协议的处理和IP转发等功能。这个方案在性能上可以保证电信产品的使用需求,但系统中存在多个处理器和多个不同操作系统平台,对于用户的维护和后续升级管理带来很大负担,同时也无法满足当前的低成本和低功耗要求。

 

图1:典型的电信基站系统结构图

  随着近年来处理器硬件技术的飞速发展,处理器的能力越来越强,多核平台已经广泛地应用在电信领域,尤其是在ARM公司将 Cortex A15引入电信基站领域后,整合单芯片解决方案将成为业界主流。但是软件领域的发展相对滞后,尤其是如何在SoC单芯片硬件环境下保证用户已有成熟业务软件的继承使用,是每一个电信设备制造商关心的问题。

  最简单的解决方案是如图2将Linux和RTOS按照AMP方式独立运行在多核CPU的不同核上。这种方案可以保证高实时能力,同时可以避免用户应用软件的修改。但是该方案最大的问题是两个操作系统要求在硬件资源使用上独占,需要在使用前静态分配好,系统运行后则无法动态分配,没有办法做到资源共享。同一个硬件环境下同时运行两个独立的系统也带来了运行安全方面的隐患。综上所述,AMP方案前期设计简单,方便于先前成熟软件集成,但是后期维护成本较高,同时造成了硬件资源的浪费。

 

图2:AMP解决方案架构图

  Linux KVM是基于Linux内核的虚拟机制,通过KVM可以在其上虚拟出原有RTOS所需要的运行环境(参见图3)。例如我们可以将原有业务软件以及原有的RTOS一同移植到KVM的虚拟环境中,这种方式对业务应用软件不需要任何修改。同时,整个系统硬件资源也由Linux统一分配,相对AMP方案避免了硬件资源的浪费。KVM机制可以做到系统的安全隔离,保证了电信系统的运行安全。但是该方案存在实时性较差(尤其是运行在Linux内核上RTOS的实时性),很难应用于电信协议等时隙要求较高的场合。

 

图3:Linux KVM解决方案

 

  如何在Linux基础上提供更加高效的实时处理能力,同时又简化多操作系统并存带来的软件复杂性?为此,Enea(宜能)公司在用户空间实现了LWRT(Light-weight Run-time Threading,轻量级运行环境)。LWRT是针对多核使用场景设计的,它基于Linux用户空间的标准Pthread作为运行载体,并在此基础上实现了可确定的调度方式、信号机制和内存管理。通过这种方式,LWRT内部的线程切换和信号处理不再依靠Linux内核调度机制,而是完全在用户态的LWRT内部实现。这在减少系统开销的同时,也实现了严格意义上的实时切换。图4描述了基于LWRT电信基站软件架构。

 

图4:LWRT多核解决方案

  为了保证整个LWRT的实时性,我们需要将其承载的容器Linux Pthread绑定到一个物理内核上,通过这种方式使LWRT像单独运行在这个物理内核的传统RTOS一样。同时,我们在LWRT上设计了用户态中断处理模型,将整个中断处理过程放在用户态进行。在Linux内核只需要在上半部中向LWRT发出中断信号,而所有的下半部处理完全实现在用户态的LWRT中。整个中断处理不再有内核互斥锁的影响,从而保证了高实时处理能力。

  先进的设计保证了高效的性能,在一个实际测试环境中对于一个简单的“信号触发-线程切换-信号接收”的线程切换模型,LWRT可以在不超过200个周期内完成,且该数据不会随着CPU占用率增高而受到影响,而在同一硬件条件下,采用Linux标准线程完成同样的切换动作需要大约3500个时钟周期,测试解决见图5.整个切换过程达到了高实时性要求。Linux上将不再只是运行控制面代码,用户完全可以将数据面处理迁移到Linux上。基于这种方案我们将不再需要RTOS,而是将RTOS的功能基于LWRT来提供。

 

图5:LWRT线程切换和Pthread线程切换对比

  目前整个电信领域向IP化发展,针对于IP数据处理,Enea实现了PAX(数据包加速基础)解决方案。PAX同样运行在Linux的用户态。

  它实现了基于图形方式现实的IP报文分析处理流程,在PAX中可以完成IP转发、IPSec、流量控制和ARP/WLAN网桥,以及数据包检查DPI等IP通讯中最消耗资源的处理。针对于数据面的这些处理过程不再依赖于原有Linux内核IP协议栈实现,而是由PAX及其相关的硬件加速器一起完成。这样便将原有Linux IP转发能力提高数倍,而非常适合于可扩展、高吞吐量和低时延的IP协议处理,尤其适用于基于IP的无线基站、控制器、智能防火墙、入侵检测系统和防病毒扫描网关等产品中。同时,PAX提供的图像化追踪(tracing)和分析(profiling)功能可以方面用户找出系统瓶颈所在,进行针对性优化。

 

图6:PAX数据处理流程图

  电信级应用对产品的可靠性和稳定性的要求极高,为此Enea将多年成熟的软件开发流程引入了Linux的开发和维护中。这样保证了所有用户的可选软件包都是在不同硬件平台下严格验证过的。作为开源社区成员,我们也密切监视开源社区的安全漏洞和Bugfix修复情况,并在全面验证后将其纳入Enea Linux产品中。为了更好地保护用户在软件领域的投资,在Enea Linux的升级版本中可以保证Enea IPR的向后兼容。这将确保对每一个硬件平台的Linux内核进行长期支持。另外,所有目标平台均采用Linux 3.0.x系列内核,并且每18个月更新一次内核版本。根据与客户达成的协议,Enea也可更加频繁地更新内核版本。

  在Enea Linux提供的中,用户依然可以找到熟悉的Opitma调试分析工具。这缩短了用户学习新开发工具的时间,同时也集成了LTTng、oProfile、Gcov&gprof、valgrind等常用开源分析工具和Qemu主机仿真环境。

  Enea作为一家全球领先的3G和4G基础架构操作系统解决方案供应商,拥有40年通信驱动产品解决方案研发经验,同时,Enea也是高可靠性和性能要求极高的软件平台开发的全球引领者。Enea在实时操作系统和高可靠性中间件方面,必将会将其具有的丰富经验分享给客户,解决客户面临的问题。并且在成就客户的同时,实现自己的价值也是Enea公司一直追求的不变承诺。

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • 单片机
  • 嵌入式
  • MCU
  • STM
  • 高级微控制器总线结构完美解析

    高级微控制器总线结构AdvancedMicrocontrollerBusArchitecture(AMBA)定义了高性能嵌入式微控制器的通信标准。可以将RISC

    11-24
  • 详解:汽车电子技术之汽车仪表盘MCU

      随着汽车电子技术的飞速发展,传统的车用机械仪表盘已呈现出向数字仪表过度的趋势,与之对应的全部功能显示也将被渲染后的高清画面所取代。而引起这一巨大变革的根源,

    11-24
  • 为物联网应用选择合适的8位MCU通信接口

      SiliconLabs已经在"采集、计算和通信"的指导思想下开发出各类兼容8051内核的8位MCU。在之前的文章中,我们已经对模拟采集接口和8051计算引擎

    11-24
  • 基于msp430单片机定时器的使用方法解析

    通过计算设置周期。#includevoidmain(void){//StopwatchdogtimertopreventTImeoutresetWDTCTL=W

    11-24
  • 如何利用51单片机同时扩展RAM和ROM

    下面这个系统中,8051同时扩展片外程序存储器和数据存储器,两片存储器的片选信号都接地,即同时有效,也就是说,这两片存储器无需选择。51同时扩展RAM和ROM下

    11-24
  • PICOCAP 测量原理介绍

    1 前言电容传感器在很多工业和消费类产品中都有非常广泛的应用,因其小尺寸和低功耗以及高精度等方面的特性,在很多领域广受青睐。而对于电容传感器的测量来说,传统的电

    11-23
  • 为什么要选择学习STM32?进来看看了解

    [导读]我对未来的规划是以功能性为主的,在功能和面积之间做以平衡是我的首要选择,而把运算放在第二位,这根我的专业有关系。里面的运算其实并不复杂,在入门阶段想尽量

    11-22
  • STM32学习之启动代码很重要!

    [导读]最近在写一个人机界面,由于硬件同事布板的问题,必须要用到串口4,先开始我还觉得没什么,就是把USART1改成4以及改下开启时钟和配置引脚。但是事实证明我

    11-22
  • STC89c51单片机的定时器T2

    [导读]定时器T2的功能比T1、T0都强大,但描述它的资料不多,可能是使用得比较少的缘故吧。它是一个16位的具有自动重装和捕获能力的定时/计数器,它的计数时钟源

    11-22
  • 怎样混好电子这行?(MCU、ARM、DSP,嵌入式)

    [导读]很多初学者,甚至是混了好几年的老手,都在抱怨,电子这行怎么竞争这么大啊? 颓废,这完全在抹杀自己的激情,没了激情,搞电子,完全就是在浪费生命。其实,竞争

    11-22
  • MCU引脚输出模式中推挽输出与开漏输出电路原理区别

    [导读]开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).推挽结构一

    11-22
  • 基于DSPIC30F6014A单片机的智能家居音频信号分析仪的设计 (1)

    目前,大多数音频信号处理仪不但体积大而且价格贵,在一些特殊方面难以普及使用,而嵌入式系统分析仪具有小巧可靠的特点,所以开发基于特殊功能单片机的音频分析仪器是语音识别的基础,具有很好的现实意义。信号分析原理是将信号从时间域转换成频率域,使原始信号中不明显特性变得明显,便于分析处理。对于音频信号来说,其主要特征参数为幅度谱、功率谱。该音频信号分析仪的工作过程为:对音频信号限幅放大、模数转换、快速傅里叶...

    11-22
下载排行榜
更多
广告