千兆网络接口具有数据传输速率快、衔接便利、能够即插即用的长处,使得其运用较为广泛。跟着电子技术和处理器的开展,许多运用场合的数据通讯速率超越千兆网口的实践传输速率。例如,在A/D采样中,需求直接存储A/D转化的采样数据,假如A/D转化位数为16位,作业在100MHz,则实践数据量为1.6Gbps。为了完成高速传输,有必要选用更高传输速率的接口,例如PCIe或许RapidIO接口。但这些接口不具有即插即用功用,与许多工业既有设备不能直接衔接,约束了其运用场合。
DSP(数字信号处理器)具有较高的作业频率,其内部集成硬件网络MAC接口,外接一个物理层芯片就能够便利地完成千兆网络通讯。多核DSP芯片能够衔接多个千兆网口,使得其能够运用到高速数据传输场合。本文介绍一种根据多核数字信号处理器TMS320C6678的嵌入式双千兆网络接口,完成单个芯片衔接两个千兆网口,这两个网口能够各自独立传输数据,也能够联合传输数据,进步了实践的数据传输速率。
1. C6678及其结构
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、EMIF、SPI、I2 C总线等接口。这些接口经过片内的高速互联总线和各个处理器交互数据。
和网络相关的片内设备如图1右下角灰色模块所示,首要包含两个对外的SGMII接口、以太交流和网络交流模块,以及用于数据办理的安全加速器和包加速器,能够快速检测数据的校验以及协议是否遵从网络规范,关于过错的数据直接丢掉,下降CPU 的担负。为了加速网络和CPU的数据交流,片内的行列办理器用于办理网络包或许网络帧的缓存、分发等功用。这些数据都选用数据包DMA读写,不需求CPU参加。
图1 TMS320C6678内部结构图
TMS320C6678的其他片内设备包含PLL、仿真口、信号量、电源办理和复位办理等模块。其间PLL装备CPU和外设的作业时钟;仿真口用于衔接仿真器,完成对软件运转的监控;信号量完成对DSP/BIOS操作系统中信号量的操控;电源办理完成整个芯片电流电压的操控;复位办理装备发动的方法,硬复位进行全发动,软复位进行部分发动。
2. 88E1111及其结构
网络物理层芯片许多,一般都兼容MII、RMII以及SGMII等接口规范之一或许多个。但TMS320C6678只供给了SGMII接口,所以和TMS320C6678衔接的物理层芯片有必要具有SGMII接口。本文运用两片Marvell公司的88E1111 物理层芯片进行双千兆网络的衔接。88E1111的片内结构如图2所示。
图2 88E1111内部结构图
网络RJ45接口发送过来的带有调制数据的模拟信号经过A/D转化变成数字信号,然后顺次经过均衡、整形滤波和译码后由接纳单元传输到MAC芯片,完成数据的接纳。MAC发送的数据经过整形滤波后由D/A转化成模拟信号发送到RJ45接口。为了下降误码率,88E1111内部具有锁相环(PLL)、自动增益操控(AGC)、时序/相位操控、回音抵消等模块,这些模块都是为了进步数据传输的可靠性,在不同环境或许不同外接设备下,都能够高速可靠地通讯。图2中的LED操控模块完成数据传输时的灯火显现,MDIO模块完成链接树立和状况监测,时钟模块供给作业时钟。
3. 硬件规划
硬件规划首要包含TMS320C6678和两个88E1111的接口、88E1111和RJ45的接口、88E1111的硬件装备规划等几个部分。
TMS320C6678的网络模块结构如图3所示。片内集成了一个3口的以太交流机,担任将两个千兆网口的数据交流到主机,一起供给交流中止到主机,主机经过中止能够实时接纳和发送数据。主机经过总线装备或许监控外部的物理层芯片,装备和监控数据经过MDIO接口衔接到物理层芯片。
图3 TMS320C6678网络模块结构
图4 TMS320C6678和88E1111的接口TMS320C6678和两片88E1111的接口电路如图4所示。TMS320C6678 选用SGMII(Serial Gigabit Media Independent Interface)接口,兼容10/100/1000M 作业方法。SGMII为串行数据收发方法,具有较少的引脚衔接。从图4中能够看出,实践上只要两对收发的差分线,别离衔接到对应的88E1111引脚上。读写时钟隐含在数据上传输,由硬件自动识别,无须软件参加。
图4 TMS320C6678和88E1111的接口
MDIO和MDCLK 为TMS320C6678内部MDIO 模块的数据和时钟,用于TMS320C6678和88E1111树立衔接,TMS320C6678能够经过该接口装备88E1111,或许读取88E1111的信息。因为88E1111的MDIO模块接口电平为2.5V,而TMS320C6678的MDIO模块接口电平选用1.8V电压,所以两者之间需求添加电压转化芯片,本规划选用PCA9306完成电压转化,接口电路如图5所示。