0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C6678的芯片特点及其含有的接口资源详解

MCU开发加油站 2017-12-12 09:52 次阅读

DSP的应用

针对8核DSP TMS320C6678与外部设备进行数据通信的需求,以片上集成千兆以太网交换子系统为核心,选取芯片88E1111作为PHY设备,设计了千兆以太网通信接口硬件电路。在嵌入式操作系统SYS/BIOS网络开发环境NDK上,完成了以太网底层驱动和TCP/IP协议的程序设计。通过DSP与上位机进行以太网通信测试,证明了以太网接口电路硬件及软件的正确性和实用性。

随着DSP处理器在现代工业的应用越来越广泛,DSP的功能不仅只有快速运算处理,还需要与其他处理器或者设备之间进行实时数据交换,以实现资源的共享。因此,针对不同设备的需求,选择稳定、快速和高效率的接口方式在当今数字信号处理系统设计中关键的组成部分。

TI公司的8核处理器TMS320C6678(以下简称C6678)提供丰富的片上接口资源用于处理器与外设之间的通信,这些接口都可以用于DSP与外设之间的通信,但是灵活性有差异,使用SGMII接口来实现千兆以太网通信,可使得通信接口一般化,能够适用于众多的设备连接。

本文针对C6678的芯片特点以及含有的接口资源,设计实现了千兆以太网通信,主要设计了以太网接口电路、网络底层硬件驱动、TCP/IP协议的用户程序,并完成了与上位机以太网通信测试,实现了数字信号高速有效地网络传输。

1 C6678以太网交换子系统

C6678是基于KeyStone I构架的8核高性能、定点/浮点处理器,单核最高工作频率可达1.25 GHz。C6678的以太网交换子系统包括2个以太网媒体访问控制(Ethernet Media Access Controller,EMAC)、2个SGMII、1个管理数据输入输出(Management Data Input Output,MDIO)、3-Port以太网交换模块以及网络配置总线,其网络交换子系统如图1所示。

EMAC的作用是将交换子系统的内部信号转换为GMII信号传递给SGMII模块;MDIO控制物理层芯片执行对多数据流的控制输入输出。

2 PHY芯片88E1111

本文选择C6678作为主芯片,由于C6678的千兆网络交换子系统只支持SGMII接口,所以本文选择对SGMII接口的网络数据传输具有较好兼容性的物理芯片88E1111。88E1111芯片的内部结构如图2所示。

88E1111的介质接口有铜介质接口和光纤接口。铜介质接口为MDI[3:0],通过设置HWCFG_MODE[3:0]来选择运行模式。 88E1111集成的MDIO模块与EMAC的MDIO接口相连接,可将方便网络控制端读取物理芯片状态寄存器,达到实时监测的效果。

3 硬件接口设计

本文设计的任务是基于C6678片内以太网交换子系统和片外PHY芯片88E1111及其外围电路的接口设计。主要包括:C6678与88E1111芯片连接、88E1111芯片配置以及88E1111芯片与网络介质连接。

3.1 C6678与88E1111芯片连接

C6678和PHY芯片88E1111的接口电路如图3所示。88E1111工作在SGMII接口模式下,不需要TXCLK时钟输入,更有助于减少电路板上走线的数量,同时也可减少噪声的产生。

主要的接口信号包括时钟和数据信号如下:

MDIO_CLK:管理数据时钟。该时钟信号由C6678片上的MDIO模块提供,该时钟频率通过配置MDIO的控制寄存器CONTROL中的CLKDIV位来控制实现。

SGMII_TXP和SGMII_TXN:串行发送差分数据线。连接DSP内部SerDes和物理芯片的S_IN管脚,DSP的SerDes通过该管脚向物理层发送串行数据,数据中包含发送数据时钟信号。

SGMII_RXP和SGMII_RXN:串行接收差分数据线。连接DSP内部SerDes和物理芯片的S_OUT管脚,物理层芯片通过该接口将数据传送到DSP的SerDes,数据中包含数据接收时钟信号。

MDIO:管理数据I/O。可最多连接32个PHY设备到DSP的EMAC,并且可以枚举所有PHY设备,读取PHY设备状态寄存器来监测PHY的连接状态。数据帧结构符合802.3标准,包含读写指令、PHY地址、寄存器地址和数据等。

因为88E1111上集成的MDIO与C6678集成MDIO模块进行连接时,电压有所差别,前者电压为2.5 V,后者电压为1.8 V,所以在二者之间应该添加电压转换器。本文采用一片PCA9306,实现2.5 V和1.8 V之间的电平转换,其连接电路如图4所示。

3.2 88E1111芯片配置

88E1111与C6678的MDIO模块相连接,MDIO最多可识别32个物理芯片,在使用物理芯片之前需要对其进行配置,配置内容主要包括芯片的地址、模式等。配置CONFTG[6:0]管脚定义可查询文献,本文配置的硬件电路如图5所示,图5中可以不使用电阻,本文为了测试方便,加一个0 Ω的电阻。

88E1111硬件配置完成后,系统将固定为一种接口方式,按照文献的定义,物理芯片的地址为:PHY_ADDRESS=0’b00001,芯片模式为:不带时钟,自动协商的SGMII模式。

3.3 88E1111芯片与RJ45连接

88E1111和网络介质之间无法直接连接,因传输速度在千兆级,所以更加需要设计合适的网络隔离变压器来降低传输损耗、回音和串扰。本文选择千兆网口插座HR911130C,该插座内部自带变压器电路,只需在外部连接滤波网络便可实现网络信号稳定地传输。88E1111和 HR9111130C采用差分连接,在PCB布线时需要严格等长,且一般还需使用阻抗匹配网络,如图6中的R1和C1。

4 软件程序设计

TI针对网络开发发布了网络开发套件(Network Development Kit,NDK),能将多个模块的配置操作交给NDK网络框架实现,同时数据分包和解析也无需程序员过多考虑,加速了网络开发进程。NDK构建在实时操作系统SYS/BIOS之上,NDK通过OS抽象层与BIOS进行交互,同时BIOS的cfg配置文件能对NDK各模块进行可视化查看。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • dsp
    dsp
    +关注

    关注

    544

    文章

    7681

    浏览量

    344332
  • 以太网
    +关注

    关注

    40

    文章

    5075

    浏览量

    166212
  • C6678
    +关注

    关注

    3

    文章

    3

    浏览量

    13190

原文标题:基于多核DSP的以太网通信接口设计

文章出处:【微信号:mcugeek,微信公众号:MCU开发加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    C6678通过PCIe与windows xp主机连接及设备资源分配的问题!!!

    我现在尝试让C6678与运行windows xp系统的计算机连接。共尝试了两种方法,遇到如下问题: 1.利用PCIe的exampledesign工程,把6678设置成EP模式,主机进入windows
    发表于 05-25 02:43

    C6678芯片是否有带Secure Boot的版本

    请问,C6678芯片是否有带Secure Boot的版本,对应的型号是? 有关于C6678 Secure Boot的介绍资料吗?
    发表于 06-21 01:23

    C6678 .stack的问题

    .stack分在shared memory 或者是DDR3会是什么情况? 2、c6678的.stack建议放在哪里最好呢? 3、c6678的8个核能不能只用一个.stack,如果可以该怎样做啊? 新手提问,描述不清还请海涵啊。
    发表于 06-21 06:01

    c6678硬件信号量的问题

    c6678中共有32个硬件信号量,请问这32个硬件信号量与C6678资源是怎么对应的呢?在哪个文档里可以查,谢谢!
    发表于 06-21 14:15

    C6678 EMIF接FPGA

    打算用C6678的EMIF连接FPGA,FPGA做个FIFO逻辑 想问问:C6678的EMIF带宽能做到多大?能实现200MB/S吗?
    发表于 06-21 12:49

    C6678与TVP5158互联

    Hi,all. 我想将C6678与TVP5158直接互联,将采集到的视频信号经TVP5158格式转换后送至C6678进行算法处理。 请问这样是否可行?若可行,则连接到C6678的哪个接口
    发表于 06-21 16:49

    关于C6678的问题

    我正在进行C6678的方案设计,现在又两个问题: (1)核电压供电能不能不采用SmartReflex方式,而固定地供1.0V??? (2)C6678是不是在工作时发热量很大,如果不采用风扇或散热片能不能保证DSP正常工作?
    发表于 06-24 05:02

    C6678的应用问题

    1、应用需求:本来系统采用6片C6416芯片进行数据并行处理,现在想采用1片C6678芯片来替代,但对用户来说还是相当于6片DSP,这种方案可行吗? 2、如果方案可行,
    发表于 06-24 04:34

    C6678设计遇到一些问题,求解答

    芯片的输出端做个桥接,桥接到C6678的EMIF口,把摄像头的数据传输进C6678。大体上走的是DM系列中VP口的原来,FPGA内部RAM缓存一行的图像,一行缓存完了之后,通知C6678
    发表于 07-24 10:02

    请问如何获取C6678的MAC地址?

    你好, 我现在的情况是,对于板子从网口接受标准以太网帧,我想把C6678芯片厂家烧写的MAC地址读取出来并填写到以太网帧的源MAC地址字段。请问我可以通过什么途径获取C6678的MAC地址?我需要看哪些模块的文档?有没有设计到这
    发表于 08-03 06:53

    请教关于C6678的PCIe的问题

    相互之间不能有效通信,C6678更不能与其他厂家的芯片进行正常通信。又因国内几个先行几年工作的研究组均未使用PCIe接口,所以请确认:C6678的PCIe到底有没有问题,能否正常使用,
    发表于 08-03 08:16

    关于C6678仿真器

    我正在设计两种类型的板卡,一种带2片C6678,一种带5片C6678,现在的XDS560的仿真器(TI原装、BlackHawk或闻亭的)可以用来调试我的板卡吗?我的JTAG对外接口设计为14芯接插件,并且是3.3v电平的。是否必
    发表于 08-06 06:00

    项目前期求助(C6678)

    因项目需要,公司打算使用C6678,因我是这方面的新手,想请各位解答一下我的疑问,多谢各位1. DSP用于视频处理,相机接口为cameralink接口,以前用的DM642,资源到了瓶颈
    发表于 08-07 06:17

    请问C6678芯片的功耗差异有多少?

    您好!我使用C6678处理器时,同一批板卡上,板卡的功耗差异很大,请问C6678芯片的功耗差异大约多少瓦?请问是什么原因导致板卡间的功耗差异?有哪些因素?谢谢!Hello! I use
    发表于 01-15 10:48

    C6678芯片有什么特点

    针对8核DSP TMS320C6678与外部设备进行数据通信的需求,以片上集成千兆以太网交换子系统为核心,选取芯片88E1111作为PHY设备,设计了千兆以太网通信接口的硬件电路。
    发表于 10-22 08:31