时间:2024-05-04
文/杨松 漆昭铃 贺亚龙 柴俊
数字信号处理器技术正在快速进步,市场上的数字信号处理芯片种类也越来越多,美国德州仪器公司(Texas Instruction,TI)的产品占据了整个数字信号处理器的半壁江山,特别是KeyStone 多核系列,完美的结合了DSP芯片的性能优势和SOC芯片的接口通信优势,本文讨论的TMS320C6678 是目前KeyStone系列中最主流的高性能多核浮点数字信号处理芯片。
随着声纳技术的不断发展,水声系统的阵元数据越来越多,且处理的水声算法也越来越复杂,使得计算量越来越大,因此水声系统对处理平台的要求也越来越高。传统DSP具有强大的数据处理能力,但其控制管理能力较弱。在许多水声应用场合下,要求系统既需要具有强大的数据处理能力,同时也需要具有全面的通信控制能力,因此,许多应用采用DSP+MCU 结合的主从系统组合。本文提出一种别具一格的软件设计模式,可在TMS320C6678 上同时运行两种操作系统,分别作为主从运行环境,实现了一种既具有全面的管理通信能力,又能发挥DSP 优势实现快速处理的软件系统。
图1:信号处理模块硬件框图
项目开发了一种基于可通过高速SRIO 网络和以太网络互联的高性能信号处理模块。该模块基于VPX 总线架构实现,设计2 片TMS320C6678 DSP和1片FPGA作为信号处理模块的核心芯片,每片DSP 配置大容量的高速SDRAM 和FLASH。TMS320C6678多核DSP 是业内处理性能最高的数字信号处理器,拥有8 个主频高达1.25GHz 内核,每个内核可以运行独立的操作系统,有独立的L2SRAM,芯片总功耗不大于10W,可通过以太网和SRIO 与外部设备进行高速通信。信号处理模块硬件框图如图1所示。
表1:内存分布表
表2:测试结果
由于板卡外设和内存资源有限,同时还要满足声纳处理算法对信号处理平台软件的强实时性、快速响应性的要求,因此能否对有限的资源进行合理划分,设计高效的主从管理和通信方案,将决定系统软件架构的成败和优劣。在整个软件架构的设计过程中需要解决以下几个关键问题:
(1)主从核芯功能的划分;
(2)内存的规划;
(3)核间通信的可靠性保障。
主从架构设计如下:0 核作为主核,负责主控、通信和管理,1~7 核作为从核,负责执行水声信号处理算法。各功能集中控制,分布执行。主核使用Linux 操作系统运行复杂的任务监控和逻辑控制程序,主要用于加载从核应用,调度分配任务,与外部接口进行数据通信,并及时将数据分发给从核。从核运行国产SylixOS 嵌入式实时操作系统,负责接收来自主核分发的数据并进行算法的并行处理,从核之间互不干涉,只是通过核间共享进行数据交互。主从模式示意图如图2所示。
每片DSP 芯片具有4MB 片上8 核共享高速内存,每个核包含了32KB 的L1P 和L1D缓存、512KB 的L2,每片芯片配置了2GB 的DDR3 外存。因此,在程序设计时,需要对每个核所使用的内存、外存进行合理的划分,防止在程序运行过程中同时对一段地址进行访问时因意外操作导致程序奔溃的问题。
由于从核需要负责大数据量快速响应的算法运算,因此将主核与从核的L2RAM 全部配置成了Cache。对于片上4MB 共享内存,1MB 留给主核使用,剩下的3MB 则分配给从核用于进行快速算法处理。2GB 的DDR3 中的256MB 分配给了主核,512MB 分配给了从核,剩下的1GB 多的内存则配置成了可Cache缓存的共享空间。本主从软件架构的内存分布表如表1所示。
C6678 具有8 个核,可通过核间共享内存的方式进行数据交互,本软件架构通讯的原理是:主核为每个从核在主从共享DDR3 上创建一个共享的FIFO 队列,主从核可根据FIFO的头尾指针进行判断此队列是否有可用的空间和数据,从核只对自己的FIFO 队列进行读写操作,不干涉其他从核的FIFO 队列。主从核对FIFO 队列的读写操作是通过硬件EDMA 完成,不需要cpu 参与,进而减少了cpu 的消耗。以其中一个从核为例,数据通讯流图如图3所示。
在实验室的条件下,对两片DSP 之间进行网络和SRIO 测试用以验证平台主从系统架构的优劣。测试结果如表2所示。
试验结果表明,采用主从系统架构的软件设计模式,充分发挥了TMS320C6678 芯片高性能的优势,有效的提高了水声系统信号处理平台软件的通信效率和算法的处理能力,很好的满足了声纳处理算法对平台软件高实时性/快速性的要求。
图2:主从模式示意图
图3:数据通讯流图
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!