您的位置 首页 培训

根据多核DSP的以太网通讯接口规划

针对8核DSP TMS320C6678与外部设备进行数据通信的需求,以片上集成千兆以太网交换子系统为核心,选取芯片88E1111作为PHY设备,设计了千兆以太网通信接口的硬件电路。在嵌入式操作系统SY

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

要害词 TMS320C6678;千兆以太网;SYS/BIOS;TCP/IP协议

跟着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,该插座内部自带变压器电路,只需在外部衔接滤波网络便可完结网络信号安稳地传输,如图6所示。88E1111和 HR9111130C选用差分衔接,在PCB布线时需求严厉等长,且一般还需运用阻抗匹配网络,如图6中的R1和C1。

4 软件程序规划

TI针对网络开发发布了网络开发套件(Network Development Kit,NDK),能将多个模块的装备操作交给NDK网络结构完结,一起数据分包和解析也无需程序员过多考虑,加快了网络开发进程。NDK构建在实时操作体系SYS/BIOS之上,NDK经过OS笼统层与BIOS进行交互,一起BIOS的cfg装备文件能对NDK各模块进行可视化检查。

本文依据多核DSP实时操作体系SYS/BIOS上,规划了以太网通讯程序。该操作体系可以供给较多的集成模块,便运用户编写程序,且还有软硬件中止办理、多使命同步机制、多核通讯机制和存储器办理机制等,可为用户进行多线程多使命开发供给模块化的结构。以太网通讯接口的软件全体结构如图7所示。

SYS/BIOS为整个软件供给集成开发环境,不只具有合适实时体系的多线程优先抢占机制,还可增加需求的封装库,使得编写程序时可以愈加便利地调用库函数。NDK是DSP的网络程序开发集成东西,其间,stack.lib给出了从顶层socket到底层PPP关于TCP/IP协议栈的封装库;nettool.lib供给用于socket网络套接字和用于网络运用开发东西的封装库;os.lib供给运用于SYS/BIOS和网络编程套件之间的体系和谐的封装库;hal.lib供给外围设备和网协议栈之间接口的封装库;netctrl.lib供给DSP网络编程的全体操控,可用来装备底层驱动和协议。

本文DSP片上体系软件分为3部分:SYS/BIOS渠道和NDK的TCP/IP协议栈树立和装备;用户程序;编制底层驱动程序。

4.1 底层硬件驱动的完结

NDK的根本结构如图7所示,可看出NDK开发套件与用户程序、SYS/BIOS操作体系和底层硬件都有亲近的联络。NDK中网络操控层和操作体系接口层与SYS/BIOS体系相衔接,NDK的硬件驱动层用于操控底层硬件驱动的装备,这些操作和装备均可在网络东西库中找到相应的驱动函数,并可直接由用户运用程序来调用完结。

这些功用首要包含:

(1)底层硬件驱动包含:MDIO模块和EMAC模块的初始化;PHY芯片查找装备和状况监测;EMAC/MDIO中止使能。(2)TCP/IP协议栈的树立,装备接纳和发送缓存区的巨细,完结以太网数据的收发使命。(3)运用MDIO模块,依据MDIO读取的PHY状况寄存器来监测其衔接状况,辨认可以是CPU发生中止的状况改变事情,并将信息反馈。(4)封闭驱动,复位前面临寄存器进行的操作,回收占用资源。

如图7所示,硬件驱动包含在硬件驱动层hal.lib中,用户需求对依照体系对驱动函数进行修正。C6000系列NDK的API封装了许多固定的驱动函数,具有特定的功用,比方_llPacketSerivceCheck()的作用是检测以太网数据包的结构,且将检测到的结构信息反馈给协议栈进行剖析处理。详细的驱动程序需求依照硬件体系的装备来进行规划,在C6678中,可在集成度较高的片上体系直接对网络通讯模块的寄存器进行装备查询,就可以完结硬件底层驱动,使得底层硬件可以有效地运转。

4.2 DSP端网络运用程序

DSP软件规划是依据SYS/BIOS实时多使命操作体系和C言语,选用Socket套接字,创立TCP/IP客户端(Client)和服务器端 (Server),Client担任与外部设备服务器端树立衔接并接纳数据包,Server用来向PC机发送处理后的数据包。接纳使命和发送使命流程如图 8所示。在C6678的内核Core0中树立两个同步线程使命,即数据接纳和发送使命,别离用来接纳TCP服务器发送过来的数据和发送处理后的数据到PC 上位机中进行处理、存储和显现。

4.3 上位机测验程序

上位机测验程依据VC++的MFC界面规划,运用套接字Socket进行网络编程。程序中需规划两个同步线程,用来完结数据的实时接纳和动态显现功用。运用TCP服务器端发送船体结构应力数据,经过DSP的接接纳、处理和发送进程,终究发送到PC上位机进行数据动态显现,成果如图9所示。

5 结束语

本文以8核处理器C6678为中心,对片上集成的以太网交流子体系接口硬件进行了研讨,依照接口的特色规划了包含以太网交流子体系和物理芯片的接口衔接、物理芯片与网络介质接口衔接的硬件体系,并完结了千兆以太网驱动,终究完结多核DSP C6678与上位机进行千兆以太网通讯。经过与上位机进行网络通讯测验,成果显现以太网数据通讯接口能实时高效地进行网络数据传输。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/peixun/282245.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部