软件主从架构设计研究

软件主从架构设计研究

数字信号处理器技术正在快速进步,市场上的数字信号处理芯片种类也越来越多,美国德州仪器公司(TexasInstruction,TI)的产品占据了整个数字信号处理器的半壁江山,特别是KeyStone多核系列,完美的结合了DSP芯片的性能优势和SOC芯片的接口通信优势,本文讨论的TMS320C6678是目前KeyStone系列中最主流的高性能多核浮点数字信号处理芯片。随着声纳技术的不断发展,水声系统的阵元数据越来越多,且处理的水声算法也越来越复杂,使得计算量越来越大,因此水声系统对处理平台的要求也越来越高。传统DSP具有强大的数据处理能力,但其控制管理能力较弱。在许多水声应用场合下,要求系统既需要具有强大的数据处理能力,同时也需要具有全面的通信控制能力,因此,许多应用采用DSP+MCU结合的主从系统组合。本文提出一种别具一格的软件设计模式,可在TMS320C6678上同时运行两种操作系统,分别作为主从运行环境,实现了一种既具有全面的管理通信能力,又能发挥DSP优势实现快速处理的软件系统。

1硬件系统

项目开发了一种基于可通过高速SRIO网络和以太网络互联的高性能信号处理模块。该模块基于VPX总线架构实现,设计2片TMS320C6678DSP和1片FPGA作为信号处理模块的核心芯片,每片DSP配置大容量的高速SDRAM和FLASH。TMS320C6678多核DSP是业内处理性能最高的数字信号处理器,拥有8个主频高达1.25GHz内核,每个内核可以运行独立的操作系统,有独立的L2SRAM,芯片总功耗不大于10W,可通过以太网和SRIO与外部设备进行高速通信。信号处理模块硬件框图如图1所示。

2主从系统软件架构设计

由于板卡外设和内存资源有限,同时还要满足声纳处理算法对信号处理平台软件的强实时性、快速响应性的要求,因此能否对有限的资源进行合理划分,设计高效的主从管理和通信方案,将决定系统软件架构的成败和优劣。在整个软件架构的设计过程中需要解决以下几个关键问题:(1)主从核芯功能的划分;(2)内存的规划;(3)核间通信的可靠性保障。

2.1主从核芯功能划分

主从架构设计如下:0核作为主核,负责主控、通信和管理,1~7核作为从核,负责执行水声信号处理算法。各功能集中控制,分布执行。主核使用Linux操作系统运行复杂的任务监控和逻辑控制程序,主要用于加载从核应用,调度分配任务,与外部接口进行数据通信,并及时将数据分发给从核。从核运行国产SylixOS嵌入式实时操作系统,负责接收来自主核分发的数据并进行算法的并行处理,从核之间互不干涉,只是通过核间共享进行数据交互。主从模式示意图如图2所示。

2.2内存分配

每片DSP芯片具有4MB片上8核共享高速内存,每个核包含了32KB的L1P和L1D缓存、512KB的L2,每片芯片配置了2GB的DDR3外存。因此,在程序设计时,需要对每个核所使用的内存、外存进行合理的划分,防止在程序运行过程中同时对一段地址进行访问时因意外操作导致程序奔溃的问题。由于从核需要负责大数据量快速响应的算法运算,因此将主核与从核的L2RAM全部配置成了Cache。对于片上4MB共享内存,1MB留给主核使用,剩下的3MB则分配给从核用于进行快速算法处理。2GB的DDR3中的256MB分配给了主核,512MB分配给了从核,剩下的1GB多的内存则配置成了可Cache缓存的共享空间。本主从软件架构的内存分布表如表1所示。

2.3核间通讯

C6678具有8个核,可通过核间共享内存的方式进行数据交互,本软件架构通讯的原理是:主核为每个从核在主从共享DDR3上创建一个共享的FIFO队列,主从核可根据FIFO的头尾指针进行判断此队列是否有可用的空间和数据,从核只对自己的FIFO队列进行读写操作,不干涉其他从核的FIFO队列。主从核对FIFO队列的读写操作是通过硬件EDMA完成,不需要cpu参与,进而减少了cpu的消耗。以其中一个从核为例,数据通讯流图如图3所示。

3试验测试

在实验室的条件下,对两片DSP之间进行网络和SRIO测试用以验证平台主从系统架构的优劣。测试结果如表2所示。4结语试验结果表明,采用主从系统架构的软件设计模式,充分发挥了TMS320C6678芯片高性能的优势,有效的提高了水声系统信号处理平台软件的通信效率和算法的处理能力,很好的满足了声纳处理算法对平台软件高实时性/快速性的要求。

参考文献

[1]何玉珠,胡景春,江泽涛,周日贵.定点DSP芯片TMS320F206主从系统的设计[J].信息化研究,2003,29(02):18-49

[2]陈宝陵,李悦丽,周智敏.主从式DSP嵌入式系统的实现[J].半导体技术,2001,26(09):32-34.

[3]任志明.基于DSPC6678多核平台的实时任务调度架构设计分析[J].船舶电子对抗,2016,39(05):9-93.

[4]徐松,邹卫军.TMS320C6678多核DSP导航制导软件框架设计[J].工业控制计算机,2016,29(11):37-38.

作者:杨松 漆昭铃 贺亚龙 柴俊