图1TMS320C6678内部结构图
TMS320C6678的其他片内设备包括PLL、仿真口、信号量、电源管理和复位管理等模块。其中PLL配置CPU和外设的工作时钟;仿真口用于连接仿真器,实现对软件运行的监控;信号量实现对DSP/BIOS操作系统中信号量的控制;电源管理实现整个芯片电流电压的控制;复位管理配置启动的方式,硬复位进行全启动,软复位进行部分启动。
288E1111及其结构
网络物理层芯片很多,一般都兼容MII、RMII以及SGMII等接口标准之一或者多个。但TMS320C6678只提供了SGMII接口,所以和TMS320C6678连接的物理层芯片必须具有SGMII接口。本文使用两片Marvell公司的88E1111物理层芯片进行双千兆网络的连接。88E1111的片内结构如图2所示。
图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接口连接到物理层芯片。
图3TMS320C6678网络模块结构
图4TMS320C6678和88E1111的接口TMS320C6678和两片88E1111的接口电路如图4所示。TMS320C6678采用SGMII(SerialGigabitMediaIndependentInterface)接口,兼容10/100/1000M工作方式。SGMII为串行数据收发方式,具有较少的引脚连接。从图4中可以看出,实际上只有两对收发的差分线,分别连接到对应的88E1111引脚上。读写时钟隐含在数据上传输,由硬件自动识别,无须软件参与。