8核浮点型DSP双千兆网接口硬软件设计
2022-06-16

  千兆网络接口具有数据传输速率快、连接方便、可以即插即用的优点,使得其应用较为广泛。随着和处理器的发展,很多应用场合的数据通信速率超过千兆网口的实际传输速率。例如,在A/D采样中,需要直接存储A/D转换的采样数据,如果A/D转换位数为16位,工作在100MHz,则实际数据量为1.6Gbps。为了实现高速传输,必须采用更高传输速率的接口,例如PCIe或者RapidIO接口。但这些接口不具有即插即用功能,与很多工业既有设备不能直接连接,限制了其应用场合。

  DSP(器)具有较高的工作频率,其内部集成硬件网络MAC接口,外接一个物理层芯片就可以方便地实现千兆网络通信。多核DSP芯片可以连接多个千兆网口,使得其可以应用到高速数据传输场合。本文介绍一种基于多核数字信号处理器TMS320C6678的嵌入式双千兆网络接口,实现单个芯片连接两个千兆网口,这两个网口可以各自独立传输数据,也可以联合传输数据,提高了实际的数据传输速率。

  1C6678及其结构

  TMS320C6678是TI公司多核处理器中的一款8核浮点型DSP,每个核最高工作频率可达1.25GHz,每个核可以提供40GMAC定点计算或者20GFLOP浮点计算能力,单个芯片可以提供320GMAC或者160GFLOP计算能力。TMS320C6678的片内结构如图1所示。

  TMS320C6678的每个核具有32KB的程序、32KB的数据以及512KB的2级Cache存储空间,芯片片内具有一个4MB的共享SRAM。TMS320C6678具有DDR3控制器接口,可以外接DDR3,直接寻址范围达到8GB。TMS320C6678的片内外设有RapidIO、PCIe、F、SPI、I2C总线等接口。这些接口通过片内的高速互联总线和各个处理器交互数据。

  和网络相关的片内设备如图1右下角灰色模块所示,主要包括两个对外的SGMII接口、以太交换和网络交换模块,以及用于数据管理的安全加速器和包加速器,可以快速检测数据的校验以及协议是否遵循网络标准,对于错误的数据直接丢弃,降低CPU的负担。为了加快网络和CPU的数据交换,片内的队列管理器用于管理网络包或者网络帧的缓存、分发等功能。这些数据都采用数据包DMA读写,不需要CPU参与。

八核浮点型DSP的双千兆网接口设计

  图1TMS320C6678内部结构图

  TMS320C6678的其他片内设备包括PLL、仿真口、信号量、电源管理和复位管理等模块。其中PLL配置CPU和外设的工作时钟;仿真口用于连接仿真器,实现对软件运行的监控;信号量实现对DSP/BIOS操作系统中信号量的控制;电源管理实现整个芯片电流电压的控制;复位管理配置启动的方式,硬复位进行全启动,软复位进行部分启动。

  288E1111及其结构

  网络物理层芯片很多,一般都兼容MII、RMII以及SGMII等接口标准之一或者多个。但TMS320C6678只提供了SGMII接口,所以和TMS320C6678连接的物理层芯片必须具有SGMII接口。本文使用两片Marvell公司的88E1111物理层芯片进行双千兆网络的连接。88E1111的片内结构如图2所示。

八核浮点型DSP的双千兆网接口设计

  图288E1111内部结构图

  网络RJ45接口发送过来的带有调制数据的模拟信号经过A/D转换变成数字信号,然后依次经过均衡、整形滤波和译码后由接收单元传输到MAC芯片,实现数据的接收。MAC发送的数据经过整形滤波后由D/A转换成模拟信号发送到RJ45接口。为了降低误码率,88E1111内部具有锁相环(PLL)、自动增益控制(AGC)、时序/相位控制、回音抵消等模块,这些模块都是为了提高数据传输的可靠性,在不同环境或者不同外接设备下,都可以高速可靠地通信。图2中的LED控制模块实现数据传输时的灯光显示,MDIO模块实现链接建立和状态监测,时钟模块提供工作时钟。

  3硬件设计

  硬件设计主要包括TMS320C6678和两个88E1111的接口、88E1111和RJ45的接口、88E1111的硬件配置设计等几个部分。

  TMS320C6678的网络模块结构如图3所示。片内集成了一个3口的以太交换机,负责将两个千兆网口的数据交换到主机,同时提供交换中断到主机,主机通过中断可以实时接收和发送数据。主机通过总线配置或者监控外部的物理层芯片,配置和监控数据通过MDIO接口连接到物理层芯片。

八核浮点型DSP的双千兆网接口设计

  图3TMS320C6678网络模块结构

  图4TMS320C6678和88E1111的接口TMS320C6678和两片88E1111的接口电路如图4所示。TMS320C6678采用SGMII(SerialGigabitMediaIndependentInterface)接口,兼容10/100/1000M工作方式。SGMII为串行数据收发方式,具有较少的引脚连接。从图4中可以看出,实际上只有两对收发的差分线,分别连接到对应的88E1111引脚上。读写时钟隐含在数据上传输,由硬件自动识别,无须软件参与。

八核浮点型DSP的双千兆网接口设计

  图4TMS320C6678和88E1111的接口

  MDIO和MDCLK为TMS320C6678内部MDIO模块的数据和时钟,用于TMS320C6678和88E1111建立连接,TMS320C6678可以通过该接口配置88E1111,或者读取88E1111的信息。由于88E1111的MDIO模块接口电平为2.5V,而TMS320C6678的MDIO模块接口电平采用1.8V电压,所以两者之间需要增加电压转换芯片,本设计采用PCA9306实现电压转换,接口电路如图5所示。

八核浮点型DSP的双千兆网接口设计

  图5MDIO接口的电压转换电路

  需要注意的是,由于存在两个88E111芯片,MDIO和MDCLK引脚直接连接到两个芯片上,MDIO可以最多控制32个物理层芯片,物理层芯片地址分别为1~32。88E1111的地址配置如图6所示。

八核浮点型DSP的双千兆网接口设计

  图688E1111的硬件配置

  表1为对应的配置信息,根据图6和表1,可以看出88E111的地址分别为4和8。

八核浮点型DSP的双千兆网接口设计

  表1配置引脚设置

  4软件设计

  系统软件设计包括硬件初始化、网络配置以及数据通信流程等。TMS320C6678复位后的工作流程如图7所示。首先配置第一个网口,记录其状态后配置第二个网口。只要两个网口有一个配置成功,将配置TMS320C6678的EMAC模块,为成功配置的网口设置收发缓冲和收发任务。这些配置好后,就可以实现网络的数据收发。需要注意的是,在用户应用程序中,需要考虑到网口配置失败的情况。例如,用户应用程序通过双网口实时传输1.2Gbps的数据,如果一个网口配置失败,则应用程序应有相应的机制将实时传输速率降低到0.8Gbps以下(单网口实际传输速率可能低于0.8Gbps)。本文硬件系统在没有其他任务开销情况下,实测可以传输1.5Gbps的数据(传输过程中不考虑错误,不进行重发)。

八核浮点型DSP的双千兆网接口设计

  图7数据通信流程

  结语

  超过1Gbps传输速率的通信接口一般采用光纤、PCE、PCIe等接口方式。本文采用双网口方式可以降低设备要求,和既有设备方便连接。使用多核DSP提高处理器工作能力,在保证大容量数据传输过程中,处理器仍然具有对数据的计算能力。双网口设计方案可以弥补单网口的传输速率不足,又可以降低其他接口的硬件复杂度,是介于两者之间的有益补充。在嵌入式设备中具有一定的应用价值。

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • 处理器
  • DSP
  • CPU
  • GPU
  • 基于DSP的运动控制器的研究

      由于DSP将超强的高速实时处理能力和丰富的外设功能集于一身,目前,以DSP为核心的嵌入式运动控制器已经成为开放式运动控制器的发展主流,并获得广泛的应用。本文

    08-03
  • DSP在自动目标识别中的应用

      自动目标识别(ATR)算法通常包括自动地对目标进行检测、跟踪、识别和选择攻击点等算法。战场环境的复杂性和目标类型的不断增长使ATR算法的运算量越来越大,因此

    08-03
  • 多核DSP提升RNC分组处理能力

      由于与频率提高相关的功耗/散热问题日益突出,指令级并行架构(ILP)及存储能力已近极限,硅芯片已难以支撑处理器性能的大幅度提升。在单芯片上集成多个核,每个核

    08-03
  • DSP编程代码优化技巧

      前面我们提到了使用编译器的优化选项进行不同级别的代码优化的方法。俗话说“好马配好鞍”,即使我们有了强大的代码优化工具,使得我们书写的符合ANSI/ISOC/

    08-02
  • 基于DSP的JPEG图像压缩设计

      一、引言    JPEG算法是一种数字图像压缩编码算法,具有压缩比例高、失真小的特点,并已被确定为国际标准。该标准被广泛应用于数码相机、监视系统、手机、可视

    08-01
  • DSP在电能表中的应用

      实时数字信号处理、超大规模集成电路技术的飞速发展,不断地推动着数字信号处理器性能的提高,使其在信号处理、军事及民用电子技术领域发挥着越来越重要的作用,其应用

    08-01
  • 流式数据处理,它能做什么?怎么使用它最好?

      今日,流式数据处理是大数据里的很重要一环。原因有不少,其中包括:  1.商业(竞争)极度渴望更快的数据,而转换成流计算则是一个好的方法来降低延迟。  2.海

    07-19
  • CPU、GPU5个被误解的概念

      从英特尔1971年推出第一款商用微处理器4004到现在,处理器已经走过了三十多年的历程,目前,CPU处理器已经从服务器、PC发展到嵌入式、工控、消费、医疗等

    07-19
  • 数据指针DPTR的应用特性是什么?

    [导读]它用于存放即将发送或者已经接收的数据,它在SFR块中,只有一个字节地址,但实际上是由发送缓冲器和接收缓冲器组成。这两个缓冲器都是独立的寄存器,当即将发送

    07-12
  • DSP编程技巧的一些问题

      在我们有关DSP的论坛、博客和一些互动活动中,网友经常会问一些有关“编程技巧”的问题。  关于编程技巧的定义,也没有一个统一的标准,例如实现一个很复杂的多层

    07-07
  • LEC对ASIC的重要性

    "ASIC芯片是用于供专门应用的集成电路(ASIC,ApplicationSpecificIntegratedCircuit)芯片技术,在集成电路界被认为是一种

    07-06
  • 采用DSP的谐波控制器设计方案

      当今电力系统中的电能质量问题越来越突出,一方面,大量敏感性负荷对电能质量的要求越来越高,而另一方面,越来越多的非线性负荷不断接入电网,使电力系统总体的电能质

    07-04
下载排行榜
更多
广告