基于OMAP架构的无线终端双核通信设计及优化

2022-03-03 18:11冀峰
计算机与网络 2022年1期
关键词:优化

冀峰

摘要:针对OMAP架构处理器中Linux操作系统无法满足强实时性应用的技术难题,提出了一种通用可靠、实时性强的双核通信设计方法。通过事件同步和自陷中断的方式提高了处理器的响应速度,通过乒乓缓冲设计实现了数据的零拷贝,显著提高了操作系统的实时响应速度和稳定度,为双核通信机制提供了一种标准化的设计方法,对于低成本、高性能无线终端的研制,具有积极的参考意义。

关键词:OMAP架构;双核通信;优化

中图分类号:TN912.3文献标志码:A文章编号:1008-1739(2022)01-56-4

0引言

随着PDT及LTE等通信技术的日益成熟,基于无线通信方式的终端应用需求也变得越来越广泛[1-2],其中,TI公司的OMAP架构是以DSP为基础的开放式多媒体应用框架,采用双核设计,把高运算性能的DSP核与控制性能强的ARM核结合起来,既可以实现多任务的调度管理,又可以满足高算力的需求,在终端的设计中得到了广泛应用[3-4]。

但是,针对无线通信而言,随着时隙长度的缩小,其对空中接口的时延敏感度要求也更加严苛,因此,高可靠、低延迟的双核通信机制设计成为制约终端业务性能的关键环节[5]。业内相关的研究主要集中在2个方面:一是更换操作系统,如采用美国风河公司的商用实时操作系统VxWorks来提高系统响应速度[6-7];二是新增Linux实时补丁,但是由于占用较多的系统资源,对通信终端的实时性与业务性能都有一定的影响[8-9]。

因此,研究和设计原生、可靠、实时性高的双核通信方式,是提高无线终端业务性能、降低设计成本的重要手段[10]。

1基于OMAP架构的终端双核通信设计

1.1基于OMAP架构的终端软件架构设计

采用集成SoC的硬件设计模式,选取异构双核工业级处理器OMAPLI38作为无线终端的主处理器。

在OMAP芯片的设计中,非实时性任务和系统控制工作由ARM核完成,实时性任务一般由DSP核完成。ARM核和DSP核分别承担应用处理(AP)和基带处理(BP)的相应功能,二者具有独立的快速指令缓冲存储器、数据快速缓冲存储器和DRAM,并带有存储器管理单元。此外,芯片还设计了统一的时钟电源控制单元控制,可对芯片独立进行时钟和电源管理。

基于上述芯片的功能和特性,无线终端软件架构设计如图1所示。

ARM核作為无线终端的主控处理器,主要完成人机交互、界面呈现、外设控制、呼叫控制及用户配置等功能。DSP核作为协议栈Layer1和音频信号处理器,主要完成协议物理层处理和音频处理等功能,完成中频信号采集、信令编解码、底层协议解析、音频和空口数据收发控制等功能。

ARM核与DSP核之间通过DSP/BIOSlink进行通信。无线终端功能设计如图2所示。

在OMAP架构下,ARM核与DSP核通过DSP/BIOS实现了双核的无缝连接。首先ARM内核通过嵌入式Linux操作系统被开放,从而实现了外部应用通过操作系统API调用内部资源的需求。同时,通过DSP/BIOS接口,使得DSP的内部资源如ARM外设一样,实现了整个芯片的资源共享。

1.2双核通信机制及DSPLINK

OMAP架构的芯片中,DSPLINK组件提供了一套通用的API,从应用层抽象出ARM与DSP的物理连接特性。在ARM端,DSPLINK作为驱动层的一部分,用户控件只需要调用DSPLINK组件提供的接口API就可以实现和DSP之间的通信。在DSP端,DSPLINK Driver是操作系统DSP/BIOS中驱动的一部分,只负责基于物理连接之上与ARM之间的交互。DSP端没有提供基于组件DSPLINK的接口API,通信功能的发起是基于DSP/BIOS中的SIO,GIO,MSGQ等模块来实现的。

1.3基于NOTIFY事件同步的双核通信设计

在DSPLINK组件中,NOTIFY是作用于ARM和DSP双核之间的通信事件,该事件可以同时传递32 bit的信息,一般作为核间通信的同步事件[11]。

在传统的设计中,基于DSP/BIOS及DSPLINK,ARM与DSP的通信机制采用共享内存的方式进行数据交换,同时选择使用NOTIFY事件进行处理器间的信息同步和处理[12-13],双核通信设计如图3所示。

核间通信的共享内存分配在DSP的RAM地址空间中,该地址空间物理上位于Shared Memory存储器中。在ARM端,对共享内存的读写采用PROC_write与PROC_read两个接口API进行,在DSP端对共享内存的读写采用物理内存直接读写方式进行。

2双核通信的缓冲及同步机制的优化

由于ARM上运行的嵌入式Linux操作系统并不是一个实时操作系统,因此在对实时性要求较高的通信设备中使用会受到较多限制,如在DSP核频繁地向ARM核发起中断时,可能出现响应不及时的情况。

以PDT无线数字集群通信终端为例,空口数据的时隙长度为30 ms,在实际的系统测试中,发现了多次的数据传输拥塞,导致空中接口的数据传输延迟、信令响应错乱等问题。为提升无线终端的实时响应性能,设计做了如下改进。

2.1数据接收乒乓缓冲区切换

在接收空口数据侧,由EDMA根据发送数据传输结束产生的内部中断事件,作为发送语音缓冲区乒乓切换的信号。在中断服务程序中根据乒乓标志对EDMA的源地址进行重新配置,源地址指向新的缓冲区,开始搬移新时隙的语音数据;而声码器新解码的语音数据则根据乒乓标志放到另外一个缓冲区。乒乓缓冲区设置如图4所示。

同时,针对较大数据量的传输,将接收缓冲区内的数据直接进行解码处理,实现了数据的零拷贝,避免了内存的2次读取和复制,提高了空口数据的处理效率,空口数据处理的乒乓机制如图5所示。

2.2自陷软中断

在DSPLINK中,通过NOTIFY组件的事件通知(Notification)注册功能,DSP应用程序通过发送事件同步通知ARM处理器。但是在Linux操作系统层面,事件的优先级要低于中断,在实际测试中,存在CPU因调度繁忙而响应延迟的情况。

因此,本文通过将空口数据接收完成的事件触发ARM核的高优先级中断,以此来提高响应的优先级,在Linux内核中,将NOTIFY事件与软中断类型HI_SOFTIRQ相关联,采用open_softirq(HI_SOFTIRQ,run_airdata_softirq)完成事件通知与中断服务程序的绑定。

当NOTIFY事件产生时,内核自动通过raise_softirq(HI_SOFTIRQ)触发软中断,进而进行空口数据的实时处理。在该设计中,操作系统通过高优先级系统调用的执行使用户程序陷入内核,提高ARM核的处理优先级,保证响应的实时性。

2.3双核通信的维护接口设计

为保证无线终端在运行过程中的稳定性及可靠性,设计中增加了相应的维护接口。

(1)心跳监测接口(KeepAlive)

为保证ARM与DSP两个独立处理器之间的功能同步正常,需要设置系统心跳接口。本文共享内存区开辟1个Word的空间,由DSP维护一个心跳计数器,按照接收空口时隙的数量进行计数,用于ARM核和DSP核之间的心跳监测。

(2)调试日志接口

基于DSPLINK的MSGQ接口,利用多线程实现DSP向ARM输出日志的通道,由ARM核在低实时响应的条件下将调试日志输出,避免了频繁的日志输出中断对ARM核性能的影响,提供了全面的调试日志接口,解决了黑盒调试DSP的难题。

3试验验证

为验证本文提出的双核通信设计方法的可行性和有效性,在PDT窄带无线数字集群终端上进行双核通信实时性的相关试验。在PDT的通信体制下,空口的时隙长度为30 ms,以此作为基准,通过测量集群终端处理器ARM端实际输出的响应时间,来验证双核通信的实时性能。试验结果如图6和图7所示。

图6中,采用传统的双核通信方式,双核之间通过NOTIFY事件同步,通过试验结果可以看出,ARM端输出的响应时间在30 ms上下波动,个别时刻抖动比较严重,峰值延迟达到5 ms左右,说明ARM核响应空中接口的实时性较差,无法保证持续、平稳、及时地响应DSP核的时隙驱动节拍,特别是在ARM端的负荷较重、多任务并发调度的情况下,经常会出现空口响应滞后,数据延迟等现象。

从图7可以看出,采用改进的双核通信方式,ARM端输出的响应时间维持在30 ms,峰值波動范围在±1 ms以内,相对于传统的双核通信方式,具有更好的连续性和平稳度。试验证明,基于该模式的设计,无线终端对于空口时隙驱动响应时间维持在较高的水平,基本达到了实时响应的要求。

4结束语

本文提出的双核通信改进设计方法已经在数字集群移动通信终端上完成工程应用,经过长时间的实际使用,双核之间的通信稳定、可靠、实时性高,终端的通信效果良好,满足OMAP架构下,DSP核与ARM核之间的大数据量、高频度、强实时的通信要求。因此,改进后的双核通信设计方法,为高性能、低成本的装备和应用提供了设计思路,具有重要的工程参考意义。

参考文献

[1]申梓昂.通信技术的应用与发展[J].通讯世界,2018(7): 106-107.

[2]刘洪玉.PDT警用数字集群技术发展及应用[J].信息安全与技术,2013,4(7):13-14,17.

[3]张贵庭.4G网络发展的关键技术及前景[J].电子技术与软件工程,2015(2):15-16.

[4]龙志伟.基于4G技术在数据通信中的应用与发展分析[J].通讯世界,2017(9):92-93.

[5]周创业.基于OMAP-L138的DMR数字集群通信协议基带设计[D].成都:电子科技大学,2016.

[6]林淦,刘建群,许东伟,等.OMAPL138的双核通信设计[J].机床与液压,2014,42(22):146-149,193.

[7]冯强,胡毅,于东,等.基于OMAP处理器的核间通信机制设计与实现[J].计算机工程,2014,40(4):281-286.

[8]杨剑波,赵东标,刘念.基于OMAP3530数控系统的双核通信设计[J].电子技术应用,2015,41(9):33-35,38.

[9]罗云宜,奭陈,付威威,等.OMAP-L138核间通信高吞吐量图像处理平台及应用[J].单片机与嵌入式系统应用,2016,16(10):36-39.

[10]陈剑飞,刘胜旺.嵌入式虚拟化实时系统的研究与应用[J].机电信息,2019(24):54-55.

[11]卢一光.基于OMAP-L138的六关节喷涂机器人控制系统研究与开发[D].广州:广东工业大学,2020.

[12]葛科勇,陈坚,傅正财.基于直接中断触发的OMAP-L138双核通信设计[J].现代电子技术,2018,41(21):16-20.

[13]付雪飞.基于OMAP-L138处理器的启动驱动开发———双核启动NorFlash[J].数字技术与应用,2018,36(4):166-167.

猜你喜欢
优化
博物馆临时展览中的展柜优化设计思考
重卡车门关闭力优化及验证
基于ADAMS/Insight的汽车前悬架仿真与优化
基于NETMAX的基站网络优化
重型汽车热伤害分析及优化
优化问题设计
由“形”启“数”优化运算
营商环境五方面持续优化
优化英语课堂教学策略的探索
促进学生认识发展 优化初中化学复习